Monday, 2020-04-27

seongsoochomorning~00:05
*** rdejoux has quit IRC00:46
*** rdejoux has joined #openstack-swift01:01
kota_morning~02:15
*** threestrands has joined #openstack-swift02:51
*** psachin has joined #openstack-swift03:31
*** evrardjp has quit IRC04:35
*** evrardjp has joined #openstack-swift04:35
f0omorning07:14
f0oIs there a way to update an object while retaining it's metadata?07:14
*** rpittau|afk is now known as rpittau07:22
*** ccamacho has joined #openstack-swift07:43
*** rcernin has quit IRC08:13
*** threestrands has quit IRC08:20
*** tkajinam has quit IRC08:23
*** dtantsur|afk is now known as dtantsur09:49
*** rpittau is now known as rpittau|bbl10:32
*** rledisez has quit IRC11:45
*** rledisez has joined #openstack-swift11:49
*** ChanServ sets mode: +v rledisez11:49
*** rledisez has quit IRC12:05
*** rledisez has joined #openstack-swift12:09
*** ChanServ sets mode: +v rledisez12:09
f0oAlso, I noticed that Large Files (with manifest) have a weird handling when using X-Delete-At/After Headers... I expected that the Manifest with X-Delete-At would also delete the partial objects that it references but it seems that only the Manifest is being delted. So how is the ideal way of expiring large objects? Do all partials need their X-Delete-* headers? How would those be kept12:16
f0oin-sync?12:16
*** alecuyer has quit IRC12:25
*** alecuyer has joined #openstack-swift12:40
*** rpittau|bbl is now known as rpittau12:49
*** psachin has quit IRC13:35
*** tkajinam has joined #openstack-swift13:42
*** mikecmpbll has joined #openstack-swift13:52
*** irclogbot_2 has joined #openstack-swift14:09
*** irclogbot_2 has quit IRC14:13
*** irclogbot_2 has joined #openstack-swift14:24
*** irclogbot_2 has quit IRC14:25
*** irclogbot_2 has joined #openstack-swift14:27
*** irclogbot_2 has quit IRC14:29
*** irclogbot_2 has joined #openstack-swift14:31
*** manuvakery has joined #openstack-swift14:32
*** irclogbot_2 has quit IRC14:35
*** irclogbot_1 has joined #openstack-swift14:37
*** irclogbot_1 has quit IRC14:39
*** irclogbot_3 has joined #openstack-swift14:41
*** irclogbot_3 has quit IRC14:45
*** irclogbot_0 has joined #openstack-swift14:47
*** irclogbot_0 has quit IRC14:51
*** irclogbot_1 has joined #openstack-swift14:53
*** tkajinam has quit IRC14:54
*** irclogbot_1 has quit IRC14:55
*** irclogbot_0 has joined #openstack-swift14:58
*** irclogbot_0 has quit IRC14:59
*** irclogbot_2 has joined #openstack-swift15:10
*** irclogbot_2 has quit IRC15:11
*** irclogbot_2 has joined #openstack-swift15:18
*** irclogbot_2 has quit IRC15:19
*** irclogbot_2 has joined #openstack-swift15:38
claygtdasilva: do you remember anything about what we decided with ACL's on the new object versoining mode?15:49
claygf0o: a metadata update to an object always replaced all metadata15:49
claygf0o: yes you need to set expiration on any segments you want to expire15:49
claygf0o: changing the metaata on a manifest won't change the metadata on any segements - there's no mechinism to keep the x-delete-at "in sync" between a manifest and segments15:50
claygN.B. you can have a segment referenced from more than one manifests - they don't really "belong" to any multi-part object like s3 MPUs15:51
f0oDamn15:56
f0oI mean it all makes sense and it just kills my usecase right now haha15:57
f0oI was trying to pre-allocate object from a priviledged service and pass a tempurl to PUT data into that object to the client so it can directly upload files/content to it without needing permissions so to say15:58
*** rpittau is now known as rpittau|afk16:07
*** alecuyer has quit IRC16:26
*** mikecmpbll has quit IRC16:26
*** hoonetorg has quit IRC16:26
*** noonedeadpunk has quit IRC16:26
*** tonyb has quit IRC16:26
*** irclogbot_2 has quit IRC16:28
*** irclogbot_1 has joined #openstack-swift16:30
*** hoonetorg has joined #openstack-swift16:31
*** mikecmpbll has joined #openstack-swift16:32
*** noonedeadpunk has joined #openstack-swift16:32
*** tonyb has joined #openstack-swift16:32
claygthat sounds awesome!16:32
claygI guess the problem with PUT tempurls is you can't set x-delete-at, or just that you can't do SLOs with PUT tempurls at all?  ðŸ¤”16:33
DHEI've been using tempurl PUTs with x-delete-at for a while now. let me look...16:34
f0owell I could do X-* but that would allow the client to override TTL and such :/ hence why I hoped the preallocation would solve that16:34
f0oI think I will end up writing a midleware to either re-set the TTL or allow adding data to objects without replacing them16:35
*** evrardjp has quit IRC16:35
DHEfor non-slo/dlo objects my PUT works just fine with delete16:36
f0oI mean it all works right now that way, it just wont expire the objects haha. A super cheap way to solve it is to configue with the manifest route and have a cron checking those and delete the linked objects (semantic naming here) when they're gone - but that's unsatisfying hehe16:37
f0ocontinue* typoday... mondays...16:37
openstackgerritAlexandre Lécuyer proposed openstack/swift feature/losf: New key format for objects in the index-server  https://review.opendev.org/72360916:39
*** ChanServ has quit IRC16:42
*** ChanServ has joined #openstack-swift16:45
*** tepper.freenode.net sets mode: +o ChanServ16:45
*** evrardjp has joined #openstack-swift16:46
*** alecuyer has joined #openstack-swift16:46
*** dtantsur is now known as dtantsur|afk17:18
*** noonedeadpunk has quit IRC17:26
*** tonyb has quit IRC17:26
*** ccamel has quit IRC17:29
*** noonedeadpunk has joined #openstack-swift17:29
*** tonyb has joined #openstack-swift17:29
*** ChanServ has quit IRC17:39
*** ChanServ has joined #openstack-swift17:42
*** tepper.freenode.net sets mode: +o ChanServ17:42
*** manuvakery has quit IRC17:42
*** camelCaser has joined #openstack-swift17:42
*** ccamel has joined #openstack-swift17:48
*** camelCaser has quit IRC17:49
*** hoonetorg has quit IRC18:02
f0ook so I ended up implementing a cronjob on the service side. Abusing the fact that an object can also be a directory... I hope this never changes haha18:18
f0obasically I got /foo as object with x-delete-after/at and the client gets a tempurl to upload to /foo/blob and it will put files in there. the cronjob will then recursively delete /foo/ if /foo is expired or deleted18:19
*** rdejoux has quit IRC18:19
f0oat least now it still works with upstream swift and is vendor neutral as oposed to implementing my own middleware haha18:19
f0oSo tempurl is evaluated when the whole request is done it seems... it takes me 1.3 minutes to upload 2G and the tempurl expires in 1m. This means my upload will never be accepted... This is good to know but also slightly annoying because the request was made before the TTL expires just not parsed by swift-proxy in time18:36
DHEare you doing 100-continue?18:43
f0ono just a plain PUT with 2G data18:43
DHEI am, and while I haven't run into this kind of issue (I have much smaller objects) the 100-continue response fails if my headers are bad18:43
f0oI can see that the PUT gets sent in full and then the request shows up in the proxy log with a 4xx error as if the tempurl expired18:44
f0owhich is technically correct as by the time the log entry is generated the ttl has expired. but at the time of request init it isnt expired yet, so I was expecting it to pass regardless of the end of the data stream arriving after expiry18:45
*** rdejoux has joined #openstack-swift18:45
f0oI think we should parse the headers early and not wait for the full data to be loaded as this varies grately depending on bandwith availability from clients18:46
f0oI dont think signing longer TTLs (which would be up to 10+m here for 2G data) is a good solution as it would allow any bearer to just override the data if it gets leaked18:46
*** mikecmpbll has quit IRC19:35
*** mikecmpbll has joined #openstack-swift19:37
*** ccamacho has quit IRC20:38
*** rcernin has joined #openstack-swift21:14
openstackgerritTim Burke proposed openstack/swift master: Use separate name for HeaderKeyDict var vs list of response headers  https://review.opendev.org/72373622:20
timburke^^^ WIP; needs tests22:20
*** tkajinam has joined #openstack-swift22:49
*** tkajinam has quit IRC22:49
*** tkajinam has joined #openstack-swift22:50
mattoliveraumorning23:04
openstackgerritMerged openstack/swift master: obj: _finalize_durable may succeed even when data file is missing  https://review.opendev.org/72212823:26

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