Tuesday, 2019-09-24

openstackgerritMerged openstack/swift stable/rocky: py2/3: Stop using stdlib's putrequest(); it only does ASCII  https://review.opendev.org/68375301:10
*** diablo_rojo has quit IRC01:43
openstackgerritMerged openstack/swift stable/rocky: bufferedhttp: ensure query params are properly quoted  https://review.opendev.org/68375402:36
*** BjoernT has joined #openstack-swift02:40
*** BjoernT has quit IRC02:43
*** BjoernT has joined #openstack-swift02:45
*** BjoernT has quit IRC02:53
*** BjoernT has joined #openstack-swift03:02
*** BjoernT has quit IRC03:17
*** BjoernT has joined #openstack-swift03:22
*** BjoernT_ has joined #openstack-swift03:43
*** BjoernT has quit IRC03:45
*** BjoernT_ has quit IRC04:17
*** early has quit IRC04:53
*** early` has joined #openstack-swift05:00
*** pcaruana has joined #openstack-swift06:56
*** e0ne has joined #openstack-swift07:04
*** donnyd has quit IRC07:07
*** tesseract has joined #openstack-swift07:07
*** donnyd has joined #openstack-swift07:08
*** e0ne has quit IRC07:09
*** psachin has joined #openstack-swift07:59
*** tkajinam has quit IRC08:14
*** zaitcev_ has joined #openstack-swift08:23
*** ChanServ sets mode: +v zaitcev_08:23
*** zaitcev has quit IRC08:27
*** dosaboy has quit IRC08:45
*** dosaboy has joined #openstack-swift08:45
*** ccamacho has joined #openstack-swift09:01
*** rcernin has quit IRC09:04
*** e0ne has joined #openstack-swift09:54
*** e0ne has quit IRC09:55
*** e0ne has joined #openstack-swift09:55
*** new_student1411 has joined #openstack-swift10:04
new_student1411Is there a way to set account level `ACLs` when keystone auth is used? Also any way to block users from setting some specific metadata like `making a container public`?10:06
*** openstackstatus has quit IRC10:12
*** openstack has joined #openstack-swift10:15
*** ChanServ sets mode: +o openstack10:15
*** new_student1411 has quit IRC10:21
*** new_student1411 has joined #openstack-swift10:22
*** pcaruana has quit IRC10:24
DHEmaybe you just want to make a distinct "administrative" user that actually own the account and then give specific unrelated users read/write permissions on the containers?10:29
*** pcaruana has joined #openstack-swift10:48
new_student1411DHE, Suppose I am11:01
new_student1411DHE suppose I am a domain admin and I want any new user in that domain not to be able to make a container public, how to handle this?11:04
DHEwell a keystone domain is different from a keystone project which is what actually owns a swift accoun11:57
*** new_student1411 has quit IRC12:01
openstackgerritThiago da Silva proposed openstack/swift master: Add func test of changes versionining modes  https://review.opendev.org/67827712:23
*** new_student1411 has joined #openstack-swift12:25
new_student1411DHE to make it more clear, the scenario is like:12:35
*** new_student1411 has quit IRC12:46
*** psachin has quit IRC12:49
DHE....12:56
*** NM has joined #openstack-swift12:57
*** henriqueof1 has joined #openstack-swift13:04
*** henriqueof has quit IRC13:05
tdasilvatimburke: what's interesting is that for a given object, you can only have one 'null' version object, which is honestly a bit funky as I was able to "lose" data. Although to their credit, I had uploaded that lost data while versioning was not enabled, but the confusing part is that after enabling versioning, the data was kept around giving me the understanding that the object was now "versioned"13:14
tdasilvatimburke, clayg: Test went like this: http://paste.openstack.org/show/779176/13:14
*** psachin has joined #openstack-swift13:19
tdasilvaThe way I had thought about p 682382. I was assigning (sysmeta) 'null' version only to Delete markers when versioning was suspended. This meant that if user uploaded data when versioning was suspended, it simply wrote directly to container (ie., no version-id), but if they then enabled versioning and uploaded a new object, while copying the object to the versions container, I'd assign it a version-id.13:19
patchbothttps://review.opendev.org/#/c/682382/ - swift - WIP: New Object Versioning mode - 6 patch sets13:19
tdasilvaso if user decides to enable versioning on a given container that already has data in it, the current data will be version "1" and never be lost13:22
*** BjoernT has joined #openstack-swift13:26
*** NM has quit IRC13:50
*** NM has joined #openstack-swift13:56
*** BjoernT has quit IRC13:58
*** BjoernT has joined #openstack-swift14:20
*** BjoernT_ has joined #openstack-swift14:22
*** BjoernT has quit IRC14:25
*** NM has quit IRC14:28
*** NM has joined #openstack-swift14:31
*** pcaruana has quit IRC15:01
timburketdasilva, good data points, thanks for investigating! that matches my mental model of what AWS would do -- but i wonder if we could make some simplifications for Swift. in particular, after overwriting v1, we could "promote" its null version to have a real id15:02
timburkeonce we suspend versioning and start issuing deletes, we could not only delete whatever symlink might be there, but also write down a "real" delete marker (if, when we do a listing, the most-recent version is not already a delete marker)15:02
*** ccamacho has quit IRC15:05
tdasilvatimburke: I believe what you described is "pretty close" to how I had coded in the patch15:05
tdasilvatimburke: what's the link to the etherpad ?15:05
timburkehttps://etherpad.openstack.org/p/swift-object-versioning15:06
timburkei think we can get away with not writing any sysmeta down in that case -- let null-ness be a property of whether it's in the primary container or not15:07
tdasilvatimburke: correct, that's the case currently for a real object IIRC, only a delete marker gets a 'null' sysmeta because it gets stored in the versions container15:17
timburkei see the null in handle_put, too -- but i was even thinking of dropping the sysmeta *entirely*, even for "real" ids15:21
timburkewanted to get buy-in from you before doing it, though. unlike my other hack jobs yesterday ;-)15:21
timburkei should probably work on getting https://review.opendev.org/#/c/678962/3/test/functional/test_versioned_writes.py@1148 (or something like it) moved to the new patch15:23
patchbotpatch 678962 - swift - WIP: Add two more versioning modes that feature a ... - 3 patch sets15:23
*** BjoernT_ is now known as BjoernT15:27
tdasilvatimburke: yeah, I saw your patch about getting the version-id from the name, but the only question I had for that was the delete_marker with 'null' id?15:31
timburke*shrug* never write it down as such?15:32
*** diablo_rojo has joined #openstack-swift15:33
timburkeyou could still try to *GET* the null version -- and we can either do the listing or not, but we'll certainly 40415:33
timburkei guess if we do the listing, we ought to respond with the real version id? i'm kinda tempted to say we skip the listing and just look in the primary15:34
*** NM has quit IRC15:37
*** gyee has joined #openstack-swift15:44
*** NM has joined #openstack-swift16:40
*** tesseract has quit IRC16:46
*** e0ne has quit IRC16:57
*** NM has quit IRC17:12
openstackgerritTim Burke proposed openstack/swift master: Add func test for changing versionining modes  https://review.opendev.org/67827717:16
*** NM has joined #openstack-swift17:17
*** e0ne has joined #openstack-swift17:47
openstackgerritTim Burke proposed openstack/swift master: func tests: Add more UTF8 tests for versioning  https://review.opendev.org/68414617:57
*** psachin has quit IRC17:59
timburkeoh yeah, tdasilva -- what's your opinion on the name of the header for "FYI, this is the version you're manipulating"?18:02
timburkei was thinking "X-Object-Version" instead of just "Version"...18:02
tdasilvaor 'X-Object-Version-Id' ?18:06
timburkesure, either's good by me. i was wanting something more in line with our existing (sys)meta practices18:07
*** e0ne has quit IRC18:09
timburke(also, easier to grep for)18:15
*** e0ne has joined #openstack-swift18:32
*** e0ne has quit IRC18:33
timburketdasilva, do you have changes pending that you want to push up, or am i clear to start hacking away?18:46
tdasilvaYou are clear. I’m just hacking on a new functional test file.18:47
*** e0ne has joined #openstack-swift18:54
timburkehmm... clayg, tdasilva -- i realized container DELETE isn't the only place where i get nervous about having a second container -- even enablement get hairy...19:16
timburkethe separate stats and separate storage policies are nice ideas... but atomicity is really handy, particularly since we've been approaching this with a mindset where we don't want to let the client go behind our backs to fix things19:18
claygtimburke: yeah as I was thining about secondary containers I was also thinking there's a mess down there19:20
claygI haven't decided yet if it helps at all if we somehow force things to converge to always having the same policy, or at least write down how we'd like things to converge19:21
claygI think we can definately encourage "near atomicity" by making requests in the "right" order and try maybe even having some unwinding - but even if that get's us 99.99%19:22
claygwe still have to deal with using two containers19:22
claygI say all this mostly still sure that we'll be happier with two indexes for list-objects and list-versions APIs19:23
claygbut if it turns out to just be "unimplementable" - I guess we can look at sticking everything in one container a little harder?19:23
*** NM has quit IRC19:29
tdasilvaThis is where I was hoping having a uuid in the name would help. You could still have a dangling container, but at least it is possible to identify it and the mess doesn’t prolong for too long, maybe??19:31
tdasilvaAnd by identify it, I mean manually (operator) would have to get involved.19:32
*** NM has joined #openstack-swift19:45
*** e0ne has quit IRC19:59
claygi'm certainly open to punting to the operator if it's incredibly rare and that's the best we think we can do?20:21
claygwe can always tool it up if it becomes a hassle (like dealing with quarantine except, at least the data there fixes itself, so maybe that's not a good example 🤔)20:22
timburkeclayg, you ever get https://review.opendev.org/#/c/658444/ to be something useful for you? i *did* manage to get it to work for me, though i had to run it at least once without --tags to get the s3compat repo & venv set up...20:25
patchbotpatch 658444 - swift - Make ceph tests more portable - 2 patch sets20:25
timburkei'm inclined to just go ahead and merge it -- but figure it'd be nice to have an N>1 that it's useful for devs :-)20:26
claygyeah I saw it got re-spun, I'll take it for anothing spin and get it merged 👍20:26
timburkecool, thanks. seems like it may be useful for tdasilva and i ;-)20:27
claygthat would be *awesome*20:28
*** e0ne has joined #openstack-swift20:38
*** NM has quit IRC20:41
openstackgerritTim Burke proposed openstack/swift master: PDF Documentation Build tox target  https://review.opendev.org/67989820:42
claygtimburke: so I don't have a `{{ ansible_env.HOME }}/venv`20:43
claygI'm guessing that must be something zuul sets up?20:44
claygfor me `{{ ansible_env.HOME }}` seems to evaluate to `/home/vagrant` - in my `/etc/ansible/hosts` I have `ansible_user: vagrant` so maybe that 🤔20:47
openstackgerritTim Burke proposed openstack/swift stable/rocky: Modifying URL errors in installation deployment documents  https://review.opendev.org/68442520:58
openstackgerritTim Burke proposed openstack/swift stable/queens: Modifying URL errors in installation deployment documents  https://review.opendev.org/68443021:02
timburkeclayg, i thought that venv business gets set up w/ lines 31-36 ...21:04
*** NM has joined #openstack-swift21:04
timburkethat's why i had to run it once *without* --tags test, but subsequent runs could be limited like that21:04
timburkeer, `--tags tests`, i suppose. w/e, you get what i mean21:05
timburkethat also took care of cloning the s3compat repo for me21:05
*** NM has quit IRC21:27
*** e0ne has quit IRC22:04
*** rcernin has joined #openstack-swift22:07
timburkeclayg, what do you think about me breaking out https://review.opendev.org/#/c/682953/1/test/s3api/test_versioning.py to a new patch just touching the test/s3api tree? i feel like that's a solid test that does a pretty good job of characterizing versioning -- so lets just merge it! or are we worried about having test/s3api suites that don't pass against swift master?22:07
patchbotpatch 682953 - swift - s3api: Implement object versioning API - 1 patch set22:07
*** biyiklioglu has joined #openstack-swift22:21
*** biyiklioglu has quit IRC22:23
*** ccamel has joined #openstack-swift22:44
*** camelCaser has quit IRC22:47
*** tkajinam has joined #openstack-swift22:51
claygtimburke: *oh* - i didn't know what the pip directive does - yeah the clone worked - or I had something stale from another job?  🤷‍♂️22:55
claygi actually like that better - the command is just `ansible-playbook /path/to/the/play` - I'd love if it they all basically worked like that!22:56
claygtimburke: i love it!22:57
*** BjoernT has quit IRC23:15
openstackgerritTim Burke proposed openstack/swift master: func tests: Add more UTF8 tests for versioning  https://review.opendev.org/68414623:16
openstackgerritMerged openstack/swift stable/queens: bufferedhttp: ensure query params are properly quoted  https://review.opendev.org/68375623:40
openstackgerritMerged openstack/swift master: Add func test for changing versionining modes  https://review.opendev.org/67827723:41
*** BjoernT has joined #openstack-swift23:45
*** diablo_rojo has quit IRC23:47
*** BjoernT_ has joined #openstack-swift23:49
*** BjoernT has quit IRC23:50

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