Stable branch tox now installed with Python 3 in gate Bionic nodes

Ian Wienand iwienand at redhat.com
Wed Nov 20 02:00:32 UTC 2019


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.log.html#l-102
[2] https://review.opendev.org/#/c/686524/




More information about the openstack-discuss mailing list