[openstack-dev] [all] How to handle python3 only projects

Doug Hellmann doug at doughellmann.com
Tue Apr 17 13:55:56 UTC 2018


Excerpts from Graham Hayes's message of 2018-04-17 13:40:05 +0100:
> On 17/04/18 07:10, Adrian Turjak wrote:
> > Hello devs,
> > 
> > The python27 clock of doom ticks closer to zero
> > (https://pythonclock.org/) and officially dropping python27 support is
> > going to have to happen eventually, that though is a bigger topic.
> > 
> > Before we get there outright what we should think about is what place
> > python3 only projects have in OpenStack alongside ones that support both.
> > 
> > Given that python27's life is nearing the end, we should probably
> > support a project either transitioning to only python3 or new projects
> > that are only python3. Not to mention the potential inclusion of python3
> > only libraries in global-requirements.
> > 
> > Potentially we should even encourage python3 only projects, and
> > encourage deployers and distro providers to focus on python3 only (do
> > we?). Python3 only projects are now a reality, python3 only libraries
> > are now a reality, and most of OpenStack already supports python3. Major
> > libraries are dropping python27 support in newer versions, and we should
> > think about how we want to do it too.
> > 
> > So where do projects that want to stop supporting python27 fit in the
> > OpenStack ecosystem? Or given the impending end of python27, why should
> > new projects be required to support it at all, or should we heavily
> > encourage new projects to be python3 only (if not require it)?
> > 
> > It's not an easy topic, and there are likely lots of opinions on the
> > matter, but it's something to start considering.
> > 
> > Cheers!
> > 
> > - Adrian Turjak
> 
> I think the time has definitely come to allow projects be py3 only.
> 
> https://review.openstack.org/#/c/561922/ should allow that from a
> governance perspective.
> 
> - Graham

(I replied on the patch because I saw that first, but I'll repeat myself
here for continuity.)

I don't think we're ready to make python 2 support optional. I do
think we should shift to emphasizing python 3 "first", though.

In order to allow projects to drop python 2 support I think we need
to wait for both distributions we claim to support to have good
python 3 support. Ubuntu has 3.5, but CentOS/RHEL does not, yet.
Red Hat has announced in the release notes for RHEL 7.5 that "the
next major release" of RHEL will not include python 2 and will
include python 3. At that point we can reasonably expect deployers
to start deploying OpenStack on python 3, and dropping python 2
support will become a realistic option.

I should add that we have plenty of constructive things to do yet
to prepare for that date. The Oslo team is currently working on
making python 3 the default for all of our secondary jobs (docs,
release notes, pep8, etc.). The next step will be to update the
functional test jobs to ensure they are all running under python 3
(at least).

Doug



More information about the OpenStack-dev mailing list