Wednesday, 2023-05-03

opendevreviewJianjian Huo proposed openstack/swift master: Sharder: add timing metrics for individual steps and total time spent.  https://review.opendev.org/c/openstack/swift/+/88211303:22
opendevreviewMerged openstack/swift stable/zed: CI: fix lower-constraints job  https://review.opendev.org/c/openstack/swift/+/88175304:38
opendevreviewTim Burke proposed openstack/swift master: ring: Introduce a v2 ring format  https://review.opendev.org/c/openstack/swift/+/83426119:09
opendevreviewTim Burke proposed openstack/swift master: ring: Add a rebalance history in the ring  https://review.opendev.org/c/openstack/swift/+/83462119:09
timburke#startmeeting swift21:00
opendevmeetMeeting started Wed May  3 21:00:35 2023 UTC and is due to finish in 60 minutes.  The chair is timburke. Information about MeetBot at http://wiki.debian.org/MeetBot.21:00
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.21:00
opendevmeetThe meeting name has been set to 'swift'21:00
timburkewho's here for the swift meeting?21:00
timburkewell, i'll go ahead and call out some things going on for the record, anyway ;-)21:03
timburke#topic gate issues21:03
timburkethe remaining flakey probe test has been resolved21:03
timburke#link https://bugs.launchpad.net/swift/+bug/201702121:04
timburkethe issue was in how we were determining which reconstructors to run21:05
timburkein retrospect, it's amazing it *ever* passed (and probably a testament to how constrained the SAIO environment is; we should consider how we can get more virtual nodes in there)21:05
timburke#link https://review.opendev.org/c/openstack/swift/+/88167221:06
mattolivero/21:06
timburke^^^ the fix, if anyone wants more details21:06
timburkemattoliver, o/21:06
timburke#topic EC "generator already executing" errors21:06
mattoliverNice21:06
timburkelooks like we have a fix in hand!21:07
timburke#link https://review.opendev.org/c/openstack/swift/+/88035621:07
timburkegood job indianwhocodes and clayg for running that down -- might still be good for us to write up an upstream bug we can point people at later if someone reports this for an older version of swift21:08
mattoliver+121:08
timburkefix seems to make sense to me; the test change needed to demonstrate it was pretty subtle and a reminder that it's hard to really be *sure* that tests demonstrate what we *think* they do21:09
timburke#topic infinite recursion error in tests21:09
mattoliverThat topic around ominous21:10
timburkefor a while now, i (and others) have noticed an infinite recursion error down in ssl handling when trying to run func tests in my SAIO21:11
timburkeclayg and shreeya (who i don't think is on IRC yet) found a good way to avoid it, though!21:11
mattoliveroh cool, nice work Shreeya! we should get her on here21:12
timburkethe core trouble was that requests-mock (required by some tests for s3token) incudes a pytest plugin which would cause requests to get imported before we get a chance to call eventlet.monkey_patch()21:13
timburkethere was some debate about explicitly reloading ssl so it'd be properly monkey-patched, or pinning to an older requests-mock that didn't include the plugin...21:14
timburkethen clayg noticed that we could just disable the thing via config options in tox.ini!21:15
timburke#link https://review.opendev.org/c/openstack/swift/+/88210521:15
mattoliveroh cool21:15
timburkethat's currently stacked on another change, though -- i think i'll swap the order if no one gets to it before me21:16
timburkelast up21:16
timburke#topic reading py2 non-ascii metadata from py321:17
timburke#link https://launchpad.net/bugs/201253121:17
timburkewe got a bug report about this more than a month ago -- it took longer than i wanted, but i think i've finally got a decent fix now21:18
timburke#link https://review.opendev.org/c/openstack/swift/+/87855821:18
mattolivercould we squash it down?21:18
mattoliveroh yeah, that bug! 21:18
timburkemattoliver, i was thinking keep 'em separate -- the pytest plugin fix will be really nice all on its own; i'm tired of uninstalling/reinstalling requests-mock depending on which tests i want to run :P21:19
mattoliverlol, fair enough! 21:19
mattoliverether way lets get a +2/+A on it ;) 21:19
timburkethe metadata fix is a little gross -- and feels brittle, like some future cpython change could come along and throw off our assumptions21:20
mattoliverI do have it on my todo list to review.. just got distracted with a downstream release this week. 21:20
timburkeso i might try to do a follow-up to add some third way of writing down metadata that wouldn't require this heuristic to determine whether (some) metadata was written down with wsgi strings or not21:22
timburkebut i think we could have that as a separate piece of work, and try to get edausq unblocked before then21:23
timburkeso if you've got time to review, mattoliver, that'd be great -- thanks!21:23
timburkethat's all i've got by way of updates21:23
timburke#topic open discussion21:23
timburkeanything else you'd like to bring up mattoliver?21:23
jrosserhello - i have a question which came up relating to swift deployed using openstack-ansible, and this https://opendev.org/openstack/swift/commit/3053c53ef7e9dd3efea10c535021786f7e6e92f221:25
mattoliverI'm still writing tracing unit tests that confirm the expected spans are present in the middlewares that I've instrumented. Just working through versioned writes. atm. So tedius and boring, but getting through it slowly21:25
jrosserfor a use case where all things need to be TLS, is the warning about not using TLS in that patch correct?21:26
timburkethanks for continuing to push on it mattoliver21:26
timburkejrosser, i think i'd still recommend using an external TLS-terminator (haproxy, nginx, hitch, etc.) over eventlet's (which is what you'd get by configuring cert_file/key_file in swift)21:27
jrosserthe thing is we can run into, for example, regulatory requirements that mandate TLS everywhere21:28
mattoliverjrosser: the proxy already does a bunch cpu (we find) so we use a terminator that speaks the proxy protocol21:28
mattoliverthe terminator can be on the same server. so the last hop is loop back. 21:28
mattoliverI gues21:29
mattoliverI guess that'll still be TLS everywhere21:29
timburkeand you can couple it with something like the proxy protocol from https://github.com/openstack/swift/commit/661838d968c163cec716cd5c8bcce9f5c69d18d4 if you're worried about preserving client ip info21:29
jrosseryes, we would normally do that with uwsgi for other services in OSA21:29
jrosseri am just checking if there is a preferred / tested setup for these scenarios21:30
mattoliverWell we have a very large (proably the biggest) prod and thats what we do. We use hitch on each proxy node and use the proxy protocol that tim mentions. If that helps.21:32
jrosserok thats useful info - thanks21:32
timburke"external terminator using proxy protocol v1" is the best solution i know of. fwiw, i run hitch at work (as mattoliver mentioned) and haproxy at home. i seem to recall OVH doing soemthing similar (though if they told me which terminator they use, i don't recall)21:33
timburkethe bigger thing to watch out for with "TLS everywhere" is backend communications. might be able to call it good with a wireguard network, though?21:34
jrossertbh we need to look at this in more detail21:35
mattolivergood point. and yeah, if you need/want a software solution.21:35
jrosserthe focus so far has been getting everything between the frontend loadbalancer (haproxy) and the backends covered21:36
timburkei seem to recall some interested parties years ago looking at using https connections for proxy <-> backend communication, but don't think it gained much traction (unfortunately)21:37
jrosseranyway - this has been insightful and gives a direction to look in, thankyou21:37
mattolivernps, hit us up if you need any more info or anything else21:38
jrossersure, will do21:38
timburkehappy to help! keep us posted21:38
timburkeall right, i think i'll wrap it up a little early21:40
mattolivertimburke: I think that's all I got, or I can think of atm.. been a bit distracted (as I've said). 21:40
timburkethank you all for coming, and thank you for working on swift!21:40
timburke#endmeeting21:40
opendevmeetMeeting ended Wed May  3 21:40:19 2023 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)21:40
opendevmeetMinutes:        https://meetings.opendev.org/meetings/swift/2023/swift.2023-05-03-21.00.html21:40
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/swift/2023/swift.2023-05-03-21.00.txt21:40
opendevmeetLog:            https://meetings.opendev.org/meetings/swift/2023/swift.2023-05-03-21.00.log.html21:40
*** zaitcev_ is now known as zaitcev22:50
opendevreviewTim Burke proposed openstack/swift master: ring: Introduce a v2 ring format  https://review.opendev.org/c/openstack/swift/+/83426122:55
opendevreviewTim Burke proposed openstack/swift master: ring-v2: Make RingReader a subclass of ZlibReader  https://review.opendev.org/c/openstack/swift/+/88218422:55

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!