[openstack-dev] [all][python3][tc][infra] Python 3.6
doug at doughellmann.com
Tue Jun 5 20:38:51 UTC 2018
Excerpts from Zane Bitter's message of 2018-06-05 15:55:49 -0400:
> We've talked a bit about migrating to Python 3, but (unless I missed it)
> not a lot about which version of Python 3. Currently all projects that
> support Python 3 are gating against 3.5. However, Ubuntu Artful and
> Fedora 26 already ship Python 3.6 by default. (And Bionic and F28 have
> been released since then.) The one time it did come up in a thread, we
> decided it was blocked on the availability of 3.6 in Ubuntu to run on
> the test nodes, so it's time to discuss it again.
> AIUI we're planning to switch the test nodes to Bionic, since it's the
> latest LTS release, so I'd assume that means that when we talk about
> running docs jobs, pep8 &c. with Python3 (under the python3-first
> project-wide goal) that means 3.6. And while 3.5 jobs should continue to
> work, it seems like we ought to start testing ASAP with the version that
> users are going to get by default if they choose to use our Python3
> The list of breaking changes in 3.6 is quite short (although not zero),
> so I wouldn't expect too many roadblocks:
> I think we can split the problem into two parts:
> * How can we detect any issues ASAP.
> Would it be sane to give all projects with a py35 unit tests job a
> non-voting py36 job so that they can start fixing any issues right away?
> Like this: https://review.openstack.org/572535
That seems like a good way to start.
Maybe we want to rename that project template to openstack-python3-jobs
to keep it version-agnostic?
> * How can we ensure every project fixes any issues and migrates to
> voting gates, including for functional test jobs?
> Would it make sense to make this part of the 'python3-first'
> project-wide goal?
Yes, that seems like a good idea. We can be specific about the version
of python 3 to be used to achieve that goal (assuming it is selected as
The instructions I've been putting together are based on just using
"python3" in the tox.ini file because I didn't want to have to update
that every time we update to a new version of python. Do you think we
should be more specific there, too?
> (Disclaimer for the conspiracy-minded: you might assume that I'm
> cleverly concealing inside knowledge of which version of Python 3 will
> replace Python 2 in the next major release of RHEL/CentOS, but in fact
> you would be mistaken. The truth is I've been too lazy to find out, so
> I'm as much in the dark as anybody. Really. Anyway, this isn't about
> that, it's about testing within upstream OpenStack.)
More information about the OpenStack-dev