Monday, 2024-04-15

clarkbmy gerrit show-queue isn't going through to see what it is spinning on. I've manually stopped apache to see if that backs off some of the demand in order to get that info. If it doesn't help I may just go ahwad and stop gerrit00:04
*** dtantsur_ is now known as dtantsur00:08
SamuelAllan[m]Hi, who should I talk to about requesting a username change on opendev?  Thanks. 🙂00:21
clarkbSamuelAllan[m]: I'm in the middle of trying to get gerrit into a happy state again. But we will need more specifics. What service?00:23
clarkbmnaser: I identified a problematic IP address, blocked them, then restarted gerrit and apache. I think things are coming back now00:24
clarkbmnaser: if you are still around can you confirm (or not) if things are looking better for you too?00:25
clarkb#status log Restarted Gerrit and apache on review02 to unstuck Gerrit in an unhappy state consuming all the CPU00:25
opendevstatusclarkb: finished logging00:25
SamuelAllan[m]clarkb: ah no rush, all the best.  This is for https://review.opendev.org/ though.00:28
mnaserclarkb: yeah, things are loading properly now. 00:30
opendevreviewClark Boylan proposed opendev/system-config master: Update Gerrit 3.8 to 3.8.5 and 3.9 to 3.9.4  https://review.opendev.org/c/opendev/system-config/+/91247000:33
clarkbmnaser: thanks for confirming ^ I used to check things out a bit more and pushing works00:33
clarkbSamuelAllan[m]: Gerrit doesn't support username changes. The username is fairly opaque though and is really only something that you need to set when talking to Gerrit via ssh or the http api00:34
clarkbSamuelAllan[m]: https://groups.google.com/g/repo-discuss/c/y3Kq0YiKC7Q/m/1HT6w6QA7tQJ there is more info in this thread upstream as to why this is the case00:35
SamuelAllan[m]Ah that's sad, too bad the branch names aren't on some numeric user IDs :/00:36
SamuelAllan[m]Guess I'm stuck with it then.  Thanks for checking.00:37
clarkbSamuelAllan[m]: you can stick the username in your .gitreview file then in theory never think about it again00:37
clarkber no your .gitconfig00:37
clarkb`git config --global gitreview.username YOURUSERNAMEHERE`00:37
SamuelAllan[m]Yep that's what I have, so it's not a big deal.  It's just that I'd changed my surname, so I've been trying to update everywhere that references my old name where possible.00:38
clarkbya there are definitely reasons it would be nice to do so. Unfortunately they made some explicit choices to not support it (and even removed the functionality...)00:39
SamuelAllan[m]Fair enough :)00:39
clarkbSamuelAllan[m]: you should be able to change your Full Name and add extra email addresses to the gerrit account though00:45
clarkband typically that is what humans will see day to day00:45
clarkbthat can be done under the settings page in gerrit once you login00:45
SamuelAllan[m]Yep I've done that, thanks :)00:50
opendevreviewDr. Jens Harbott proposed opendev/glean master: Add tox jobs on modern python versions  https://review.opendev.org/c/opendev/glean/+/91582706:59
fricklerinfra-root: glean no longer works on py3.12, sadly this isn't covered by unittests though, see ^^ vs. https://paste.opendev.org/show/bXcyjOeCWzQFvYOY3tXR/09:00
fungihopefully we can reuse one of the other importlib replacement patterns we've already applied elsewhere11:22
dtantsurHi folks! Not exactly the right channel, but people here may know, sooo.. Does anyone still use gertty? Were you able to make it work with Python 3.12 and latest dependencies?11:46
dtantsurI miss it a lot :(11:46
fungidtantsur: yeah, i'm running it on python 3.1211:54
fungihave you tried installing the current branch tip? that might help11:55
dtantsurfungi: yep, just did git pull, running of 5b577fd11608b8e62e272f54e239722725b6d940 Merge "Fix urwid > 2.4.2 compatibility"12:23
dtantsur(or rather "not running" since the sync loop crashes with broken pipe, among other problems)12:23
dtantsurmmm, interesting, it works better inside a venv than with `pip install --user`12:26
dtantsurI wonder if some Fedora packages get in the way12:27
fungidtantsur: oh, yeeah i just totally run it from a dedicated venv, always have12:37
dtantsurlesson learned, thanks for confirming :)12:37
fungii think the python language ecosystem as a whole has come to the conclusion that pip install --user was almost as bad an idea as sudo pip install12:41
fungievery python-based tool i install that isn't packaged by my distro gets its own venv in ~/lib and then i put symlinks to the relevant entrypoints in ~/bin12:42
clarkbinfra-root if we can get reviews on https://review.opendev.org/c/opendev/system-config/+/912470 and get that landed today I should be able to do a gerrit service restart onto the new 3.8.5 image15:10
clarkbI believe the 3.9 updates will also address our existing concerns with the 3.9 upgrade path (and results) so we'll be able to start testing that properly afterwards too15:11
fungilgtm, i'm around for a restart whenever15:14
dtantsurI haven't enjoyed gerrty for long: sqlalchemy.exc.ArgumentError: Additional keyword arguments are not accepted by this function/method.  The presence of **kw is for pep-484 typing purposes15:17
dtantsurThis is literally clicking on any project. So it's still completely broken, just in a different way than before :(15:17
dtantsurfungi: do you know if it's actually working with SQLA 2?15:18
fungicurrent branch state should be, sqla v2 support merged in february15:19
fungii'll check which version i have in my venv15:19
dtantsurmy pip freeze https://paste.opendev.org/show/bh4WWDVMhC9wmok78x7B/15:23
fungidtantsur: my workstation's gertty venv is apparently still using SQLAlchemy==1.4.4915:23
dtantsurhmm, lemme try with that15:23
fungiand indeed if i try with a venv containing SQLAlchemy==2.0.29 it doesn't even start for me before i get a traceback15:24
fungisqlalchemy.exc.InvalidRequestError: The 'sqlalchemy.orm.mapper()' function is removed as of SQLAlchemy 2.0.  Use the 'sqlalchemy.orm.registry.map_imperatively()` method of the ``sqlalchemy.orm.registry`` class to perform classical mapping.15:24
dtantsuryep, 1.4.52 works15:24
fungiprometheanfire: ^ do you happen to know if your patch for sqla v2 was incomplete in some way?15:25
fungioh, wait, my test was only with released gertty15:26
dtantsurI'm using git master15:26
fungiyeah, i'm rebuilding my venv now15:30
fungirealized the system where i had a newer venv built for it was installing git master older than when the sqla v2 patch merged15:31
fungi(not a machine where i run it often)15:32
clarkbfrickler: fungi: this importlib vs pkg_resources thing is actually a bit annoying beacuse the importlib stuff doesn't supprot what we need until python3.12. So we basically have to use pkg_resources until pkg_resources is gone which inverts the import checks from how I would prefer to do it...15:41
fungithat's similar to how we did it in pbr though, yes?15:44
fungiisn't there a specific importlib submodule we need which doesn't exist until 3.12 and we can try to import that first?15:45
clarkbfungi: the submodule exists in 3.7, but then adds methods we need in 3.9 but doesn't support functioanlity we need until 3.1215:45
fungior is it just a new feature that's suddenly supported by an pre-existing part of importlib15:45
fungiaha, okay, yeah that's ugly15:46
clarkbits kidna like they said "we're deleting the odl thing" then last minute realized the new thing was nowhere near as useful15:46
clarkbspecifically we need to be able to copy directories out of package installs15:46
fungiwell, they've also walked back some of the deprecation plans for parts of importlib in 3.13, so still can't seem to make up their minds as to what they want15:46
fungistuff that's been deprecated is apparently going to get un-deprecated15:47
clarkbfun15:49
clarkbthe deprecated stuff can't do directories either though15:50
fricklerso ... maybe we can finally switch to cloud-init?15:56
fungidid cloud-init drop all its python dependencies finally?15:56
fungior i suppose we could try to run it from an isolated venv15:57
fricklerwell we run devstack in an isolated venv now15:57
fungii guess it's really distro-packaged cloud-init which was causing the dependency painpoint for us15:57
frickleror should, if it weren't for centos15:57
clarkbI don't have any desire to use cloud init fwiw15:58
clarkbits not just the dependency problem. cloud init changes its behavior under you when your cloud changes what goes into metadata15:58
clarkband I have what i think is a working patch I'm just doing testing15:59
fungiyeah, we'd be playing whack-a-mole with figuring out how to force disable a bunch of cloud-init features in order to ensure as much cross-cloud and cross-platform behavior consistency as possible15:59
clarkbmy comments were moer that python hasn't planned out this deprecation path properly not that glean is a dead end16:00
opendevreviewClark Boylan proposed opendev/glean master: Use importlib when pkg_resources isn't available  https://review.opendev.org/c/opendev/glean/+/91590716:05
clarkbsomething like that should work I think. The dib image build functional testing should be good coverage of that at least covering that it doesn't regress python 3.11 and odler16:06
opendevreviewClark Boylan proposed opendev/glean master: Use importlib when pkg_resources isn't available  https://review.opendev.org/c/opendev/glean/+/91590716:11
clarkbit helps to write syntactically correct python though16:11
fungiprometheanfire: with new enough gertty to include your sqla v2 support patch, i'm still getting "TypeError: MetaData.__init__() got an unexpected keyword argument 'bind'" from https://opendev.org/ttygroup/gertty/src/branch/master/gertty/dbsupport.py#L36 under latest sqla, any ideas?16:13
clarkbfungi: the gerrit 3.8.5 screenshots lgtm. Maybe we give that another 45 mintues or so for anyone else to review it and if no one does by then we approve it and plan a restart later today?16:13
fungisgtm, yep16:14
fungireviewers still have plenty of opportunity to object and call a halt to the restart later, worst case16:15
fungii'll plan to +3 it at 17:00 utc16:15
opendevreviewClark Boylan proposed opendev/glean master: Use importlib when pkg_resources isn't available  https://review.opendev.org/c/opendev/glean/+/91590716:22
clarkbfrickler: where were you testing glean with python3.12? I wonder if I can set a depends on or similar to get that covered or if it was manual?16:24
fungiapproved 912470 just now17:00
clarkbthanks17:09
clarkbI've just finished up another round of debugging on my held etherpad node https://github.com/ether/etherpad-lite/issues/6320#issuecomment-2057419506 is the result17:09
clarkbI'll see what they say in response then possibly update the change and hold another node17:10
opendevreviewClark Boylan proposed opendev/glean master: Use importlib when pkg_resources isn't available  https://review.opendev.org/c/opendev/glean/+/91590717:11
fricklerclarkb: I tried building noble downstream, I can see if I can test with your patch tomorrow17:15
clarkbfrickler: sounds good17:15
opendevreviewDr. Jens Harbott proposed openstack/diskimage-builder master: Add Ubuntu 24.04 (noble) build to testing  https://review.opendev.org/c/openstack/diskimage-builder/+/91591517:19
fricklerclarkb: maybe ^^ shows the issue, too. on my older local nodepool I needed to fix the older debootstrap first17:20
clarkback we shall see. I'll update with depends on if it looks like that is the next fix17:21
opendevreviewMerged opendev/system-config master: Update Gerrit 3.8 to 3.8.5 and 3.9 to 3.9.4  https://review.opendev.org/c/opendev/system-config/+/91247018:07
fricklerseems we need debootstrap from unstable again: E: No such script: /usr/share/debootstrap/scripts/noble https://zuul.opendev.org/t/openstack/build/ef4d15ca9beb4733a6eee91a6d350d0518:08
clarkbfrickler: I guess that should be expected though I'm always surprised that debootstrap isn't more flexible.18:12
clarkbfungi: gerrit image change has landed I've got lunch coming up but after that may be a good time for a restart18:12
fungiclarkb: yeah, it's deployed now18:26
fungiso we can start whenever. after your lunch works for me18:26
fungimy only afk agenda is to cook dinner, but that's probably at least a few hours out still18:26
clarkbfungi: we could also just do it right now?18:30
fungiwfm18:30
fungistatus notice The Gerrit service on review.opendev.org will be offline momentarily for a restart in order to apply a patch update18:30
fungisomething like that work?18:30
fungi`sudo mv /home/gerrit2/review_site/data/replication/ref-updates/waiting /home/gerrit2/tmp/upgrade-3.8.5/` between the down and the up -d?18:31
clarkbya that all looks good. We also need to pull the new image18:33
clarkbI don't think the docker-compose pull is automatic18:33
fungiah, i probably assumed incorrectly that the deploy job would18:33
fungiso this...18:33
fungisudo docker-compose pull && sudo mkdir -p /home/gerrit2/tmp/upgrade-3.8.5 && sudo docker-compose -f /etc/gerrit-compose/docker-compose.yaml down && sudo mv /home/gerrit2/review_site/data/replication/ref-updates/waiting /home/gerrit2/tmp/upgrade-3.8.5/ && sudo docker-compose -f /etc/gerrit-compose/docker-compose.yaml up -d18:33
clarkbyup that looks right. As a general rule I avoid using docker-compose -f in case I forget that there are env vars that amtter but in this case gerrit's compose file doesn't use them iirc18:34
fungi#status notice The Gerrit service on review.opendev.org will be offline momentarily for a restart in order to apply a patch update18:34
opendevstatusfungi: sending notice18:34
-opendevstatus- NOTICE: The Gerrit service on review.opendev.org will be offline momentarily for a restart in order to apply a patch update18:35
fungipull completed and `docker image list` mentions "opendevorg/gerrit   3.8       8da8e1247944   58 minutes ago   682MB"18:35
fungithat seems to be the one we expect18:35
fungirestarting on it now with the queue mv in the middle18:36
clarkbthanks18:36
clarkbINFO  com.google.gerrit.pgm.Daemon : Gerrit Code Review 3.8.5-2-g7e93b96923-dirty ready18:36
fungiwebui is up again and says "Powered by Gerrit Code Review (3.8.5-2-g7e93b96923-dirty)"18:37
opendevstatusfungi: finished sending notice18:37
fungiall done18:38
clarkbdiffs load for me as well18:39
fungiyeah, poking around everything seems to be working as usual18:39
opendevreviewClark Boylan proposed opendev/glean master: Use importlib when pkg_resources isn't available  https://review.opendev.org/c/opendev/glean/+/91590719:21
mnaserquestion: how does opendev get the ability to have multiple python versions to test against?20:13
mnaseris there some ppa you preload or something along those lines?20:13
fungimnaser: mostly we map abstract job definitions to specific nodesets for platforms where those versions are available already20:14
mnaseraaaaah20:15
fungimnaser: in some cases we set ensure-python to use its pyenv method instead of distro packages20:15
mnaserso py311 jobs are .. debian i guess?20:15
mnaseroh i see20:15
mnaserhttps://opendev.org/openstack/openstack-zuul-jobs/src/branch/master/zuul.d/jobs.yaml#L351-L36720:16
mnaseri see20:16
fungiif you pull up an example build you can easily see what platform it used, though some ubuntu lts versions provide more than one python minor version in their package repositories already20:16
mnaserjammy for 3.10, bookwarm for 3.11 and 3.12 bookworm but using pyenv20:16
mnaserthat makes a lot of sense20:16
mnaserok thats super handy, thank you20:17
fungithose behaviors are mostly descended from openstack's testing needs, where "such and such python version" has really meant "a popular platform which provides this python version"20:18
mnaseryeah, well i'm slowly moving our magnum-cluster-api driver into zuul and one of the challenges is testing across multiple python versions (because it runs with openstack :))20:18
fungiif we were much more strict about it, we'd probably pre-build stow images for the latest of each minor cpython interpreter on a consistent platform and use ensure-pythons stow method, or something20:19
mnaserso needed to tackle the same thing, but realized that just running the job doesn't do the trick, it tries to apt install and flips its hand20:19
mnaseras much of a big overhead it is, this feels like something that a container would benefit from20:19
fungithe benefit of the current approach is that we're testing on a variety of platforms, so getting different libvirt, qemu, kernel, and so on20:20
mnaseryeah that is an extra layer of coverage20:20
mnaserin my case its pure python unit tests so it doesnt matter (in theory..) but yeah20:20
fungiit's a bigger concern for frameworks like devstack which are calling system-installed tools, c libs, kernel interfaces, and so on20:21
clarkbpyenv has been working for zuul to test against py312 fwiw20:24
clarkbit adds a couple minutes to each job but then the runtime is inline with the packaed 311 jobs20:24
fungibut even beyond that, the distro-packaged cpythons have a variety of distro-specific packages, so cpython as distributed by rocky isn't identical to cpython as distributed by debian, even for similar versions20:29
fungiback in the bad old days, openstack used to have to work around behavior differences due to things red hat was backporting into their cpython builds, for example20:30
fungier, distro-specific patches i meant20:31
opendevreviewClark Boylan proposed opendev/system-config master: DNM Update etherpad to future v2.0.3  https://review.opendev.org/c/opendev/system-config/+/91411920:39
opendevreviewClark Boylan proposed opendev/system-config master: DNM force etherpad failure to hold node  https://review.opendev.org/c/opendev/system-config/+/84097220:39
clarkbI'm going to rotate the held node now20:39
clarkbI don't expect that to be working yet but should be close in terms of shape20:40
clarkbfungi: should I pull the proposal bot discussion off the meeting agenda or do you think we've got more to discuss there?20:54
fungiit can come off. we provided direct feedback on the proposed change20:54
clarkbthanks20:58
clarkbok just made edits to the meeting agenda. Anything else we need to add?21:07
prometheanfirefungi: honestly, not really, I'm starting to think that using it from a venv is the only stable way to use gertty anymore22:02
fungiprometheanfire: well, that was from a venv22:22
fungijust with the latest sqlalchemy, and starting it with no configuration cache, so maybe it's hitting additional code paths?22:23
fungier, starting it with no configuration *and no* cache22:23
opendevreviewClark Boylan proposed opendev/system-config master: DNM Update etherpad to future v2.0.3  https://review.opendev.org/c/opendev/system-config/+/91411923:04
opendevreviewClark Boylan proposed opendev/system-config master: DNM force etherpad failure to hold node  https://review.opendev.org/c/opendev/system-config/+/84097223:04
clarkbafter manually fixing the settings.json on the held node the process of getting a bearer token then authenticating with ti seems to work23:05
clarkbI suspect that this will pass now and we can start planning an etherpad upgrade as soon as etherpad has a release with this new functioanlity in it23:05
clarkbI'll rotate the hold now 23:05
clarkbthat passes testing now and meeting agenda is sent23:39
clarkbwe'll need to decide how we want to document the easiest path for etherpad admin tasks but I think other than that we're ready to upgrade after some manaul testing of the service itself once 2.0.3 or newer shows up23:40

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