Stable branch tox now installed with Python 3 in gate Bionic nodes
Hello,
In the infra meeting we discussed that tox is installed with Python 3 on Bionic hosts in the gate now [1]. This can lead to tox jobs that do not specify a basepython running under python3.
This was an unintentional change that came from [2] which uses the python version diskimage-builder thinks is the default on the platform to install tox. On Bionic this is Python 3.
(The reasoning behind this was because of CentOS 8; where we are shipping a true Python3 only distribution)
Opinion was mixed; this can be fixed by setting basepython=2 in the tox.ini. It's arguable this is the most correct solution and what should have been done, as it makes it agnostic to platform changes. This includes anyone who might be running *outside* the gate trying to replicate jobs.
However, I'm sympathetic to the argument that things changing on stable jobs is very annoying too. We could put in a workaround to install tox under python2 on Bionic, restoring the old behaviour.
Personally I'm of the opinion this just hides what is a real failure; that the test is only compatible with Python 2 but doesn't specify it. I feel like we should come down on the side of just fixing tests so they are isolated from this, be it in the gate or otherwise. Better to fix the gate quickly than have potential users struggling with running tests in incompatible environments, for mine.
However, I'll take advice if the problems are just too big to fix piecemeal, and we need a workaround.
Thanks,
-i
[1] http://eavesdrop.openstack.org/meetings/infra/2019/infra.2019-11-19-19.05.lo... [2] https://review.opendev.org/#/c/686524/
participants (1)
-
Ian Wienand