Tuesday, 2020-03-03

*** diablo_rojo has quit IRC00:01
timburkeseongsoocho, o/00:02
timburkeinteresting: http://lists.openstack.org/pipermail/openstack-discuss/2020-March/012950.html00:02
timburkewith more discussion going on around http://eavesdrop.openstack.org/irclogs/%23openstack-tc/%23openstack-tc.2020-03-02.log.html#t2020-03-02T20:00:2200:02
*** threestrands has joined #openstack-swift00:03
*** DHE has joined #openstack-swift00:32
*** diablo_rojo has joined #openstack-swift00:47
DHEminor question. a lot of stale partition directories remain after some significant rebalancing with large hashes.invalid files, but otherwise largely empty. what does that file actually do?00:53
timburkeDHE, it flags suffix directories that need to have their hash (recorded in hashes.pkl) recalculated -- i'm a little surprised it got left there, i thought we had code to clean it up...00:56
DHE(apologies if I crash out again, power outage here)00:56
timburkei'd expect the next replication run to clear it all out, though00:57
DHEI've been rather aggressively running replicators in handsoff-only mode after a rebalance... that might be related...00:57
DHEactually that could be double replicators...00:57
DHEwell it's not causing any real harm so I'll leave it be and wait01:04
*** gyee has quit IRC02:08
*** diablo_rojo has quit IRC02:33
*** jvisser has quit IRC02:46
*** rcernin_ has joined #openstack-swift02:52
*** rcernin has quit IRC02:55
openstackgerritTim Burke proposed openstack/swift stable/train: tests: Use timedelta to adjust dates, not string manipulations  https://review.opendev.org/71090105:03
openstackgerritTim Burke proposed openstack/swift stable/stein: tests: Use timedelta to adjust dates, not string manipulations  https://review.opendev.org/71090205:04
openstackgerritTim Burke proposed openstack/swift stable/train: Ensure domain stored in memcached gets utf8 decoded on py2  https://review.opendev.org/71090405:14
openstackgerritTim Burke proposed openstack/swift stable/stein: Ensure domain stored in memcached gets utf8 decoded on py2  https://review.opendev.org/71090505:20
*** rahul_sg has joined #openstack-swift05:21
*** rcernin_ has quit IRC05:24
rahul_sgIs there any bucket policy patch available for s3api?05:32
*** ccamel has quit IRC05:34
*** evrardjp has quit IRC05:35
*** evrardjp has joined #openstack-swift05:35
*** camelCaser has joined #openstack-swift05:37
pawan-guptaclayg:  thanks for the response, I was looking bucket and object operations e.g https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-buckets and https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-objects06:20
*** diablo_rojo has joined #openstack-swift06:33
*** diablo_rojo has quit IRC07:09
*** rcernin has joined #openstack-swift07:13
*** rdejoux has quit IRC07:17
*** rdejoux has joined #openstack-swift08:16
*** manuvakery has quit IRC08:27
*** tesseract has joined #openstack-swift08:30
*** rpittau|afk is now known as rpittau08:41
*** rcernin has quit IRC08:41
*** ccamacho has quit IRC09:02
*** FlorianFa has quit IRC09:05
*** threestrands has quit IRC09:09
*** tesseract has quit IRC09:25
*** tesseract has joined #openstack-swift09:26
*** rcernin has joined #openstack-swift10:05
*** rcernin has quit IRC10:37
*** rcernin has joined #openstack-swift10:38
*** ccamacho has joined #openstack-swift10:52
*** ccamacho has quit IRC10:53
*** ccamacho has joined #openstack-swift10:54
*** openstackstatus has quit IRC10:59
*** rpittau is now known as rpittau|bbl11:17
*** rcernin has quit IRC11:52
*** jvisser has joined #openstack-swift12:33
*** rpittau|bbl is now known as rpittau13:04
*** DHE has quit IRC13:04
*** jvisser_ has joined #openstack-swift13:18
*** jvisser has quit IRC13:19
*** DHE has joined #openstack-swift13:24
*** jvisser_ has quit IRC13:25
*** jvisser_ has joined #openstack-swift13:38
*** zigo has quit IRC13:58
*** tkajinam has quit IRC14:30
*** tkajinam has joined #openstack-swift14:31
*** zigo has joined #openstack-swift14:33
*** tkajinam has quit IRC15:09
*** tesseract has quit IRC15:43
*** tesseract has joined #openstack-swift15:53
*** gyee has joined #openstack-swift16:27
*** rdejoux has quit IRC16:43
*** tesseract has quit IRC16:58
*** rdejoux has joined #openstack-swift17:02
*** rpittau is now known as rpittau|afk17:10
*** rdejoux has quit IRC17:20
*** evrardjp has quit IRC17:35
*** evrardjp has joined #openstack-swift17:35
*** guimaluf has joined #openstack-swift17:42
guimalufclayg, timburke hi folks, I'm here available to give all needed info for idenitifying and fixing this O_TMPFILE issue... let me know if you guys are available17:45
*** diablo_rojo has joined #openstack-swift17:57
claygbooo p 710492 - do I just type recheck again?18:32
patchbothttps://review.opendev.org/#/c/710492/ - swift - Apply limit to list versioned containers - 4 patch sets18:32
timburkehmm... maybe i should just squash in the follow-up...19:22
openstackgerritTim Burke proposed openstack/swift master: Apply limit to list versioned containers  https://review.opendev.org/71049219:27
*** mvkr has quit IRC19:28
claygyeah, squash is good 👍19:51
*** mvkr has joined #openstack-swift19:53
guimalufclayg, timburke how can I enable/disable that O_TMPFILE support on xfs?20:33
DHEI think you have to modify swift/obj/diskfile.py and indicate that tmpfile support isn't available20:34
guimalufDHE, that mean I'll have to change each of my storage node code and change that part? isn't there another more elegant solution?20:36
DHEnothing I noticed...20:37
DHE(I needed to disable this myself for ZFS)20:37
claygwell that's at least two use-cases for a patch to make it a config option20:37
guimaluf:( what is the cause of this O_TMPFILE been disabled?20:37
guimalufI tought it was something in my environment... some missing kernel, lib or somethingselse.20:38
* clayg FWIW originally it was a config option:20:40
clayghttps://review.opendev.org/#/c/162243/11/etc/object-server.conf-sample20:40
patchbotpatch 162243 - swift - Make object creation more atomic in Linux (MERGED) - 21 patch sets20:40
claygbut everyone got behind the auto identification20:41
claygguimaluf: it's still not clear to me why o_tmpfile support or your system doesn't seem to be working like we've observed on other systems20:41
claygit's a nice improvement and should be quite mainstream by now - just trying to not use it might be a good strategy, but may not be the best long term20:42
DHEThe ZFS thing was just a performance issue. https://github.com/openzfs/zfs/pull/10005   (accepted, so I guess the next version will fix it...)20:42
* clayg guimaluf: are you the same:20:43
claygvagrant@saio:~$ uname -a20:43
claygLinux saio 4.15.0-88-generic #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux20:43
claygvagrant@saio:~$ ldd --version20:43
claygldd (Ubuntu GLIBC 2.27-3ubuntu1) 2.2720:43
guimalufclayg, Linux storage-dev-01 4.15.0-88-generic #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux20:48
guimalufldd (Ubuntu GLIBC 2.27-3ubuntu1) 2.2720:49
guimalufclayg, I would like to try to identify why my system doesn't have that support... this is so wierd20:49
guimalufthe only "detail" is that system was upgraded from 14.04 to 18.0420:50
*** jvisser_ has quit IRC20:53
*** rdejoux has joined #openstack-swift21:05
guimalufDHE, clayg do you guys know where does the TMPFILE is created? /tmp /var/tmp or something similar?21:05
guimalufisn't this permission denied a sign that the place being available for the TMPFILE hasn't the right permissions?21:06
DHEguimaluf: the feature involves making a file appear out of nowhere with all file contents already intact. you start with a file that's already deleted, populate it, then use hardlinking to make it appear where you really want it.21:18
DHEso basically it involves undeleting a file21:18
DHEbut the hardlink means it MUST be done in the filesystem where it's being kept. so /srv/node/$DEVICENAME is mandatory, not /tmp21:19
guimalufmake sense, does this mean to /srv/node/object/tmp for instance?21:19
DHEumm.. maybe. I'm not actually sure. I'm not a dev, just a user who's not afraid to get his hands any dirtier.21:20
guimalufthe permissions are right... that's odd...21:20
guimalufDHE, I like that kind of user :)21:20
guimalufthe object/tmp permissions are right21:22
*** jvisser has joined #openstack-swift21:26
timburkeso the tempfile should have a parent directory of the object's hash dir -- ie, the directory that will container the .data once we've called linkat21:39
timburkeguimaluf, i think you already left when i posted it last night, but mind adding something like st = os.fstat(dfw._fd); print('%r (mode=0o%o)' % (st, st.st_mode))` between the write() and the put() in that test script?21:40
* guimaluf doing...21:41
guimaluftimburke, posix.stat_result(st_mode=32768, st_ino=140288475, st_dev=51776, st_nlink=0, st_uid=106, st_gid=113, st_size=4, st_atime=1583271804, st_mtime=1583271804, st_ctime=1583271804) (mode=0o100000)21:43
mattoliverauMorning21:44
timburke!! mode=0o100000 🤔21:44
openstacktimburke: Error: "!" is not a valid command.21:44
timburkequiet, you21:44
guimalufhahahahaha21:45
guimaluftimburke, what that means?21:45
timburkewell, i can see how that'd explain the EACCES... but how did the write succeed??21:45
guimalufthe write didn't21:45
guimalufI'm getting the same error21:45
guimalufIOError: [Errno 13] Permission denied21:46
guimaluf`sudo -u swift python /var/tmp/otmpfile.py /var/storage/node/xvdf/tmp/`21:46
guimalufthat's how I'm executing21:46
timburkesorry, i meant the write() -- like, we could put down the data, just couldn't do the metadata, the put()21:46
timburkeright?21:46
guimalufyes. exactly. the put() is failing21:47
guimalufdfw.put() that raise the execption21:48
timburkeso the mode says that *no one* gets to read, write, or execute -- if i try the script on my system, i see something more like mode=0o10077521:48
guimalufand where this mode come from?21:48
guimalufwho sets this? mount time? xfs?21:50
timburkethat's my question, too21:50
guimalufeverything works fine as root hehehe21:50
guimalufthe put() and write()21:50
guimalufbut I don't think I would like to run swift-object server as root21:51
timburkemaybe try doing the print before the write(), too? just to spot-check that we didn't somehow manage to change perms there21:51
timburkeheh, yeah -- that tends to lead to accidentally full root drives...21:51
guimaluftimburke, same output, only difference: st_size=021:53
guimalufsame mode21:53
openstackgerritMerged openstack/swift master: middlewares: Clean up app iters better  https://review.opendev.org/70095921:53
timburkei'm confused about why https://github.com/openstack/swift/blob/master/swift/obj/diskfile.py#L1764 doesn't *also* raise EACCES21:53
guimalufI would love to help more, but I'm really with my hands tie...21:55
*** rcernin has joined #openstack-swift21:56
timburkeguimaluf, when you said your umask was set to 0022, was that as your swift user? or as the user running your `sudo -u swift ...` commands?22:05
guimaluftimburke, was with `sudo -u swift /bin/bash; umask -l`22:06
guimalufwithout the -l heheh22:06
timburketry `sudo -u swift bash -c umask`22:06
guimalufthe same22:07
guimaluf002222:07
timburkejust double checking :-)22:07
guimalufsure :) ask whatever you want I'm here to help22:08
guimalufand to be helped hehehe22:08
timburkeany chance you're running with selinux enabled?22:09
guimalufno22:10
guimalufCommand 'getenforce' not found, but can be installed with:22:10
guimalufCommand 'sestatus' not found22:10
timburke👍22:10
*** jvisser has quit IRC22:22
timburkemaybe time to try running `strace -e trace=%file` on our repro-script? there's going to be a bunch of extra info to dig through, though22:27
guimalufthat's getting interesting... xD22:27
guimaluftimburke, http://paste.openstack.org/show/790278/22:32
guimaluftimburke, uuu not the full file there... :/22:33
timburkebah, truncated. just as well, though -- i realized i needed *even more* info -- we want a -f on that strace, since we do the writes in pthreads22:33
*** ormandj has joined #openstack-swift22:34
ormandjanybody know if WORM/immutability is in the near/mid-term plans? : https://blueprints.launchpad.net/swift/+spec/immutability-middleware22:34
ormandjwe're seeing a lot more requests from this from legitimate need/users (not just people that have read about it in an industry blog)22:35
guimaluftimburke, https://gist.github.com/guimaluf/a4f4bdbbae20df5edd78a0c861e282fa22:35
ormandjthey even still want it even after discussing costs :)22:35
*** tkajinam has joined #openstack-swift22:48
guimaluftimburke, FYI I've just launched a new VM with ubuntu 18.04, dist-upgraded with the same kernel 4.15.0-88, mkfs.xfs with a disk and mount with same options. running as swift. I'm getting the error on `with df.create()`22:54
guimalufops, my bad... forgot to change permissions after mounting22:55
guimaluftimburke, the same scenario above, the script run smoothly: (mode=0o100755)22:56
timburkeweird!22:56
guimalufsome issue related with the upgrade....22:56
guimalufI'll swap disks between vms22:56
timburkeand maybe check `grep swift /etc/passwd` between the two?22:57
timburkeand `mount | grep xvdf` maybe?22:58
timburkeormandj, i think the new object-versioning mode may get you close -- since it uses reserved names for the data, users can't normally poke at data after it's written; they have to go through the new api23:03
timburkemight "just" be a matter of having a middleware that disables the put & delete w/ version_id api calls for protected containers?23:05
guimaluftimburke, I could write in the xfs filesystem when move the disk to the new vm... I'll try the opposite now23:07
guimaluftimburke, same error... so seems like is something strongly related to my system...  very wierd... well, time to go... I'll be back tomorrow :) cya23:17
*** guimaluf has quit IRC23:22

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!