Thursday, 2023-01-05

*** tkajinam is now known as Guest29904:46
opendevreviewHervé Beraud proposed openstack/oslo.cache master: Get ready for tox 4  https://review.opendev.org/c/openstack/oslo.cache/+/86908309:00
opendevreviewHervé Beraud proposed openstack/oslo.messaging master: Get ready for tox 4  https://review.opendev.org/c/openstack/oslo.messaging/+/86907109:07
opendevreviewHervé Beraud proposed openstack/oslo.db master: Get ready for tox 4  https://review.opendev.org/c/openstack/oslo.db/+/86907209:12
opendevreviewHervé Beraud proposed openstack/oslo.vmware master: Get ready for tox 4  https://review.opendev.org/c/openstack/oslo.vmware/+/86934110:26
opendevreviewHervé Beraud proposed openstack/oslo.limit master: Get ready for tox 4  https://review.opendev.org/c/openstack/oslo.limit/+/86934210:31
opendevreviewHervé Beraud proposed openstack/oslo.versionedobjects master: Get ready for tox 4 Changes: - made 4.0.0 the tox minversion - disabling auto discovery by explicitly setting py_modules=[] in   setup.py to prevent a setuptools issue   https://github.com/pypa/setuptools/issues/3197#issuecomment-1078770109  https://review.opendev.org/c/openstack/oslo.versionedobjects/+/86934410:36
opendevreviewHervé Beraud proposed openstack/oslo.versionedobjects master: Get ready for tox 4  https://review.opendev.org/c/openstack/oslo.versionedobjects/+/86934410:37
opendevreviewHervé Beraud proposed openstack/oslo.utils master: Get ready for tox 4  https://review.opendev.org/c/openstack/oslo.utils/+/86934510:39
opendevreviewHervé Beraud proposed openstack/oslo.upgradecheck master: Get ready for tox 4  https://review.opendev.org/c/openstack/oslo.upgradecheck/+/86934710:45
opendevreviewStephen Finucane proposed openstack/pbr master: Update tox.ini to work with tox 4  https://review.opendev.org/c/openstack/pbr/+/86919013:41
opendevreviewStephen Finucane proposed openstack/pbr master: Tie recursion calls to Dist object, not module  https://review.opendev.org/c/openstack/pbr/+/86908213:41
opendevreviewScott Solkhon proposed openstack/castellan master: Add support for specifying Vault KV path  https://review.opendev.org/c/openstack/castellan/+/86938616:19
opendevreviewJulia Kreger proposed openstack/pbr master: DNM: Make envlist py3-ey  https://review.opendev.org/c/openstack/pbr/+/86938916:26
TheJuliastephenfin: o/ do the CI failures for your patches on pbr make any sense at all to you?17:13
TheJuliaI'm unable to reproduce locally, fwiw17:13
stephenfinTheJulia: Nope. I am also unable to reproduce17:14
TheJuliaokay, so I'm not alone \o/17:15
fungitox.tox_env.python.api.NoInterpreter: could not find python interpreter matching any of the specs py2717:15
fungithat error?17:15
TheJuliayeah17:16
TheJuliaand then similar for py3717:16
JayFenvlist contains py27 and py3717:16
TheJuliaand py39 complains py27 is not available (which makes sense)17:16
fungii don't see py37 mentioned in the pep8 job log17:16
TheJuliaalready tried removing it17:16
JayFhttps://github.com/openstack/pbr/blob/master/tox.ini#L317:16
JayFit's not removed in any of the patches I've seen, e.g. https://review.opendev.org/c/openstack/pbr/+/869190/3/tox.ini17:17
fungihttps://review.opendev.org/86938917:17
JayFthat still has py27 and py37 in envlist, which will cause this behavior if tox is executed without TOX_ENV environment or any direct args, yeah17:17
stephenfinOh, JayF - you're right17:17
JayFgood stuff17:17
* TheJulia raises an eyebrow17:18
JayFSo here's my question: should our CI *ever* be running tox without an environment specified17:18
stephenfinTheJulia: Add e.g. 'py33' to envlist17:18
TheJuliaso... it looks like virtualenv also gets loaded up and locally I had to remove virtualenv17:18
TheJuliawhich is... curious17:18
stephenfinor py312 or something else your local host (Fedora?) doesn't have17:18
TheJuliadebian locally17:19
stephenfinoh, and you need to pass '--skip-missing-interpreters=false' like the zuul job is doing17:19
fungithe pep8 job is raising that error when running `tox --notest -epep8 -vv --skip-missing-interpreters=false`17:19
stephenfinso it seems like --skip-missing-interpreters=false means the envlist is validated, even if we're only running a single job17:19
JayFthose pieces add up to a root cause; I would expect 869389 to pass or at least fail differently lol17:20
stephenfinwhereas previously it only validated against things that actually ran17:21
fungiit used to be that we needed --skip-missing-interpreters=false in order to override the equivalent tox.ini option because many projects set it and then you could end up running no jobs if you tox -e py39 when there's no python3.9 interpreter present17:21
TheJuliabingo17:21
TheJuliawhen set, it fails17:21
fungier, end up running zero tests (successfully)17:21
stephenfinfungi: I assume that hasn't changed17:21
TheJuliatox.tox_env.python.api.NoInterpreter: could not find python interpreter matching any of the specs py33 <-- with --skip-missing-interpreters=false17:21
JayFYeah; the break here is the envlist, and the explanation of the behavior we're seeing (and why we want is) makes sense17:21
TheJuliabut without, passes17:21
TheJuliaor at least, doesn't detonate completely17:22
JayF**why we want it17:22
stephenfinTheJulia: so my bet is that 869389 will still fail, only now it'll complain about python39 being missing in the 16.04 environments (or whatever we're using in the openstack-tox-py27 job)17:23
TheJuliait would seem to me that the path forward is to remove --skip-missing-interpreters unless we want to run all the jobs with all of the python versions17:23
stephenfin...or fix tox17:23
JayFtox doesn't want to be fixed17:23
fungior strip down the envlist17:24
JayFTheJulia: it doesn't run it with all versions AIUI; it just checks that all the envlist versions exist (yeah?)17:24
TheJuliastrip down the envlist to only match the running system of the job?17:24
fungior switch to nox (zuul has already stopped using tox in favor of nox for its own testing)17:24
stephenfinYeah, stripping down the envlist would do the trick. Everything should be able to handle 'py3'17:24
TheJuliaJayF: it trys to get version info for everything in the list17:24
TheJuliastephenfin: ++17:24
JayFenvlist is only for determining what runs when you run `tox`17:24
JayFyou can still have tests run against versions not in envlist17:24
stephenfinyuup17:24
JayFin any tox project, try tox -epy3{something}17:24
TheJuliatesting17:24
TheJuliayeah, stripping to py3 works17:25
fungiyes, the envlist setting is a suggestion for what tests devs should run locally, it has (well, modulo this new bug) no bearing on our use of tox in ci jobs17:25
TheJuliaso, we finally drop py2.7 from the classifer list as well ?17:25
fungias long as we don't run our python 2.7 tests on nodes with no python3 interpreter, that should work17:26
fungiwe can still run py27 jobs of course17:26
fungieven if it's not in the envlist17:26
TheJuliayeah, that should work to keep it then17:26
TheJuliaokay, stephenfin looks like the tox4 compatability patch is the one that needs to be edited, do you want to or do you want me to?17:26
stephenfingo for it17:27
TheJuliaack17:27
* fungi is happy to review once we have fresh test results17:27
fungithanks!17:27
JayFMan, this was like, textbook nice group irc troubleshooting17:27
JayFgold stars for everyone17:27
JayFexcept the tox developers, they get coal17:27
TheJuliaoh wait17:27
TheJuliaso... all VMs that run 3.x jobs will also need py2717:27
TheJuliathat is why I raised the question17:28
funginot if we remove ",py27" from the envlist line17:28
JayF++17:28
TheJuliaokay17:28
fungibut we do also need to replace py37 with py317:29
fungiotherwise all nodes need to have python3.7 available17:29
fungimaybe that's what you meant17:29
opendevreviewJulia Kreger proposed openstack/pbr master: Update tox.ini to work with tox 4  https://review.opendev.org/c/openstack/pbr/+/86919017:29
TheJuliaboth, which I think sort of added to the overall confusion17:30
TheJuliabecause I had one job I was looking at where no py37 was present17:30
fungiyeah, that new rev looks like what we need17:30
TheJuliaand another where it was 2.717:30
TheJuliaand yeah17:30
fungifingers crossed17:30
* TheJulia also crosses fingers17:30
TheJuliaJayF: so... coal + heat + pressure.... so maybe not coal. Perhaps... cold water?17:31
JayFI'd rather find something nice to give nox developers17:31
JayFlike a bunch of new users17:31
JayFbut I don't think we can/should go down that path as individual openstack projects :/ 17:32
fungiyeah, to me that's something that needs some buy-in at the tc level, in order to amend the pti and get some central things updated to support such a migration17:33
fungibut longer term it's probably still a good idea, just a lot of work (especially for projects with large/complicated tox configs)17:34
stephenfinNot entirely related but I'm not a fan of nox, personally. I do like the idea of things being declarative. It's just a pity that the tox devs didn't learn anything from e.g. the py2 -> py3 migration wrt not breaking people unnecessarily :(17:34
* stephenfin looks at zzzeek and SQLA 2.x as a way to do it "properly"17:34
TheJulia++17:34
TheJuliastill painful, but not "everything is broken" painful17:35
fungito be fair, our tox configs overall are many years of accumulated workarounds for odd and undocumented tox v3 behaviors, and we're having to work out new and different ugly workarounds for tox v4's different undocumented behaviors17:37
fungithe pain stems from needing to do it in a very compressed timeframe17:38
stephenfinfungi: Fixed that base_python issue https://github.com/tox-dev/tox/pull/2824 Agree we should start stripping it from most projects though as it's no longer necessary18:24
fungioh, nice!18:24
stephenfinAlso, there's a bug open for the behaviour we're seeing in pbr https://github.com/tox-dev/tox/issues/281118:35
opendevreviewStephen Finucane proposed openstack/pbr master: Update tox.ini to work with tox 4  https://review.opendev.org/c/openstack/pbr/+/86919020:27
opendevreviewStephen Finucane proposed openstack/pbr master: Remove numpy dependencies  https://review.opendev.org/c/openstack/pbr/+/86940220:31

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