*** tkajinam is now known as Guest299 | 04:46 | |
opendevreview | Hervé Beraud proposed openstack/oslo.cache master: Get ready for tox 4 https://review.opendev.org/c/openstack/oslo.cache/+/869083 | 09:00 |
---|---|---|
opendevreview | Hervé Beraud proposed openstack/oslo.messaging master: Get ready for tox 4 https://review.opendev.org/c/openstack/oslo.messaging/+/869071 | 09:07 |
opendevreview | Hervé Beraud proposed openstack/oslo.db master: Get ready for tox 4 https://review.opendev.org/c/openstack/oslo.db/+/869072 | 09:12 |
opendevreview | Hervé Beraud proposed openstack/oslo.vmware master: Get ready for tox 4 https://review.opendev.org/c/openstack/oslo.vmware/+/869341 | 10:26 |
opendevreview | Hervé Beraud proposed openstack/oslo.limit master: Get ready for tox 4 https://review.opendev.org/c/openstack/oslo.limit/+/869342 | 10:31 |
opendevreview | Hervé 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/+/869344 | 10:36 |
opendevreview | Hervé Beraud proposed openstack/oslo.versionedobjects master: Get ready for tox 4 https://review.opendev.org/c/openstack/oslo.versionedobjects/+/869344 | 10:37 |
opendevreview | Hervé Beraud proposed openstack/oslo.utils master: Get ready for tox 4 https://review.opendev.org/c/openstack/oslo.utils/+/869345 | 10:39 |
opendevreview | Hervé Beraud proposed openstack/oslo.upgradecheck master: Get ready for tox 4 https://review.opendev.org/c/openstack/oslo.upgradecheck/+/869347 | 10:45 |
opendevreview | Stephen Finucane proposed openstack/pbr master: Update tox.ini to work with tox 4 https://review.opendev.org/c/openstack/pbr/+/869190 | 13:41 |
opendevreview | Stephen Finucane proposed openstack/pbr master: Tie recursion calls to Dist object, not module https://review.opendev.org/c/openstack/pbr/+/869082 | 13:41 |
opendevreview | Scott Solkhon proposed openstack/castellan master: Add support for specifying Vault KV path https://review.opendev.org/c/openstack/castellan/+/869386 | 16:19 |
opendevreview | Julia Kreger proposed openstack/pbr master: DNM: Make envlist py3-ey https://review.opendev.org/c/openstack/pbr/+/869389 | 16:26 |
TheJulia | stephenfin: o/ do the CI failures for your patches on pbr make any sense at all to you? | 17:13 |
TheJulia | I'm unable to reproduce locally, fwiw | 17:13 |
stephenfin | TheJulia: Nope. I am also unable to reproduce | 17:14 |
TheJulia | okay, so I'm not alone \o/ | 17:15 |
fungi | tox.tox_env.python.api.NoInterpreter: could not find python interpreter matching any of the specs py27 | 17:15 |
fungi | that error? | 17:15 |
TheJulia | yeah | 17:16 |
TheJulia | and then similar for py37 | 17:16 |
JayF | envlist contains py27 and py37 | 17:16 |
TheJulia | and py39 complains py27 is not available (which makes sense) | 17:16 |
fungi | i don't see py37 mentioned in the pep8 job log | 17:16 |
TheJulia | already tried removing it | 17:16 |
JayF | https://github.com/openstack/pbr/blob/master/tox.ini#L3 | 17:16 |
JayF | it's not removed in any of the patches I've seen, e.g. https://review.opendev.org/c/openstack/pbr/+/869190/3/tox.ini | 17:17 |
fungi | https://review.opendev.org/869389 | 17:17 |
JayF | that still has py27 and py37 in envlist, which will cause this behavior if tox is executed without TOX_ENV environment or any direct args, yeah | 17:17 |
stephenfin | Oh, JayF - you're right | 17:17 |
JayF | good stuff | 17:17 |
* TheJulia raises an eyebrow | 17:18 | |
JayF | So here's my question: should our CI *ever* be running tox without an environment specified | 17:18 |
stephenfin | TheJulia: Add e.g. 'py33' to envlist | 17:18 |
TheJulia | so... it looks like virtualenv also gets loaded up and locally I had to remove virtualenv | 17:18 |
TheJulia | which is... curious | 17:18 |
stephenfin | or py312 or something else your local host (Fedora?) doesn't have | 17:18 |
TheJulia | debian locally | 17:19 |
stephenfin | oh, and you need to pass '--skip-missing-interpreters=false' like the zuul job is doing | 17:19 |
fungi | the pep8 job is raising that error when running `tox --notest -epep8 -vv --skip-missing-interpreters=false` | 17:19 |
stephenfin | so it seems like --skip-missing-interpreters=false means the envlist is validated, even if we're only running a single job | 17:19 |
JayF | those pieces add up to a root cause; I would expect 869389 to pass or at least fail differently lol | 17:20 |
stephenfin | whereas previously it only validated against things that actually ran | 17:21 |
fungi | it 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 present | 17:21 |
TheJulia | bingo | 17:21 |
TheJulia | when set, it fails | 17:21 |
fungi | er, end up running zero tests (successfully) | 17:21 |
stephenfin | fungi: I assume that hasn't changed | 17:21 |
TheJulia | tox.tox_env.python.api.NoInterpreter: could not find python interpreter matching any of the specs py33 <-- with --skip-missing-interpreters=false | 17:21 |
JayF | Yeah; the break here is the envlist, and the explanation of the behavior we're seeing (and why we want is) makes sense | 17:21 |
TheJulia | but without, passes | 17:21 |
TheJulia | or at least, doesn't detonate completely | 17:22 |
JayF | **why we want it | 17:22 |
stephenfin | TheJulia: 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 |
TheJulia | it 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 versions | 17:23 |
stephenfin | ...or fix tox | 17:23 |
JayF | tox doesn't want to be fixed | 17:23 |
fungi | or strip down the envlist | 17:24 |
JayF | TheJulia: it doesn't run it with all versions AIUI; it just checks that all the envlist versions exist (yeah?) | 17:24 |
TheJulia | strip down the envlist to only match the running system of the job? | 17:24 |
fungi | or switch to nox (zuul has already stopped using tox in favor of nox for its own testing) | 17:24 |
stephenfin | Yeah, stripping down the envlist would do the trick. Everything should be able to handle 'py3' | 17:24 |
TheJulia | JayF: it trys to get version info for everything in the list | 17:24 |
TheJulia | stephenfin: ++ | 17:24 |
JayF | envlist is only for determining what runs when you run `tox` | 17:24 |
JayF | you can still have tests run against versions not in envlist | 17:24 |
stephenfin | yuup | 17:24 |
JayF | in any tox project, try tox -epy3{something} | 17:24 |
TheJulia | testing | 17:24 |
TheJulia | yeah, stripping to py3 works | 17:25 |
fungi | yes, 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 jobs | 17:25 |
TheJulia | so, we finally drop py2.7 from the classifer list as well ? | 17:25 |
fungi | as long as we don't run our python 2.7 tests on nodes with no python3 interpreter, that should work | 17:26 |
fungi | we can still run py27 jobs of course | 17:26 |
fungi | even if it's not in the envlist | 17:26 |
TheJulia | yeah, that should work to keep it then | 17:26 |
TheJulia | okay, 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 |
stephenfin | go for it | 17:27 |
TheJulia | ack | 17:27 |
* fungi is happy to review once we have fresh test results | 17:27 | |
fungi | thanks! | 17:27 |
JayF | Man, this was like, textbook nice group irc troubleshooting | 17:27 |
JayF | gold stars for everyone | 17:27 |
JayF | except the tox developers, they get coal | 17:27 |
TheJulia | oh wait | 17:27 |
TheJulia | so... all VMs that run 3.x jobs will also need py27 | 17:27 |
TheJulia | that is why I raised the question | 17:28 |
fungi | not if we remove ",py27" from the envlist line | 17:28 |
JayF | ++ | 17:28 |
TheJulia | okay | 17:28 |
fungi | but we do also need to replace py37 with py3 | 17:29 |
fungi | otherwise all nodes need to have python3.7 available | 17:29 |
fungi | maybe that's what you meant | 17:29 |
opendevreview | Julia Kreger proposed openstack/pbr master: Update tox.ini to work with tox 4 https://review.opendev.org/c/openstack/pbr/+/869190 | 17:29 |
TheJulia | both, which I think sort of added to the overall confusion | 17:30 |
TheJulia | because I had one job I was looking at where no py37 was present | 17:30 |
fungi | yeah, that new rev looks like what we need | 17:30 |
TheJulia | and another where it was 2.7 | 17:30 |
TheJulia | and yeah | 17:30 |
fungi | fingers crossed | 17:30 |
* TheJulia also crosses fingers | 17:30 | |
TheJulia | JayF: so... coal + heat + pressure.... so maybe not coal. Perhaps... cold water? | 17:31 |
JayF | I'd rather find something nice to give nox developers | 17:31 |
JayF | like a bunch of new users | 17:31 |
JayF | but I don't think we can/should go down that path as individual openstack projects :/ | 17:32 |
fungi | yeah, 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 migration | 17:33 |
fungi | but longer term it's probably still a good idea, just a lot of work (especially for projects with large/complicated tox configs) | 17:34 |
stephenfin | Not 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 |
TheJulia | still painful, but not "everything is broken" painful | 17:35 |
fungi | to 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 behaviors | 17:37 |
fungi | the pain stems from needing to do it in a very compressed timeframe | 17:38 |
stephenfin | fungi: 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 necessary | 18:24 |
fungi | oh, nice! | 18:24 |
stephenfin | Also, there's a bug open for the behaviour we're seeing in pbr https://github.com/tox-dev/tox/issues/2811 | 18:35 |
opendevreview | Stephen Finucane proposed openstack/pbr master: Update tox.ini to work with tox 4 https://review.opendev.org/c/openstack/pbr/+/869190 | 20:27 |
opendevreview | Stephen Finucane proposed openstack/pbr master: Remove numpy dependencies https://review.opendev.org/c/openstack/pbr/+/869402 | 20:31 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!