[openstack-dev] [all] Status of the OpenStack port to Python 3

Thomas Goirand zigo at debian.org
Mon Jun 27 08:28:02 UTC 2016

On 06/24/2016 12:13 PM, Amrith Kumar wrote:
>> -----Original Message-----
>> From: Doug Hellmann [mailto:doug at doughellmann.com]
>> Sent: Thursday, June 23, 2016 5:16 PM
>> To: openstack-dev <openstack-dev at lists.openstack.org>
>> Subject: Re: [openstack-dev] [all] Status of the OpenStack port to Python 3
> [... snip ...]
>> Let's see what PTLs have to say about planning, but I think if not
>> Ocata then we'd want to set one for the P release. We're running
>> out of supported lifetime for Python 2.7.
>> Doug
> Doug, I believe py27 will be supported till end of 2020 but distribution
> vendors (os people) are not yet deploying py3 as the default.

*I* am not (in Debian) doing Py3 by default because there's no
functional test yet. As soon as there is, and I can prove that Debian
packages can work with Py3, I'll flip the switch.

> Could someone share the best information on when we may see Python3
> be the default from the various os distribution providers.

In Debian, we're suppose to deprecate Py3 in Stretch (aka: Debian 9, the
next stable, currently testing), and remove support for Py3 in Buster
(aka: Debian 10). From my stand point, the sooner we switch to Py3 the

On 06/24/2016 05:43 PM, Doug Hellmann wrote:
> Some of the distros are starting to split the version of python
> they use for their operating system tools from the packages
> applications use, so the "default" version of Python isn't necessarily
> what we care about

Exactly! What counts isn't what interpreter (ie: Py2 or Py3) is the
default implementation for /usr/bin/python. What counts is what we
decide to use for as shebang for let's say /usr/bin/trove-conductor.
That, I can switch to Py3 whenever I decide.

On 06/24/2016 12:13 PM, Amrith Kumar wrote:
> The date of 2020 for EOS leads me to believe that we're good until about
> the U or V release (assuming two per year) but I don't believe that's
> the correct way to plan for this, yes?

That would be significantly too late from a distribution vendor
perspective. For Debian, we will have Stretch frozen early next year, so
Buster may be frozen in 2019, but we may remove Py2 before that. So,
IMO, it'd be reasonable to at least deprecate Py2 support for the "Q"
release of OpenStack (that's the first release of 2018). So, altogether,
it would make a lot of sense to make sure everything is working
correctly with Py3 for the O or P release of OpenStack, so we have
enough time to make sure everything is in order.

Therefore, the current goal of having everything (including functional
tests) Py3 ready for the O release is completely realistic, so we can
have all functional tests gating on Py3 for the P release.

On 06/24/2016 05:10 PM, Clint Byrum wrote:
> Fedora, Ubuntu, and Gentoo are already defaulting to python3 for all
> of their OS tools, so you can have a fully functioning system without
> python2.

Debian doesn't have Python in its default install (ie: if you
debootstrap a system without additional packages, Python isn't there).
Our own tooling are in the way of being ported, and even most are indeed
already Py3 by default (python3-debian is a good example).

On 06/24/2016 10:25 AM, Daniel P. Berrange wrote:
> Please lets not derail discussions about completing Py3 support by
> opening up the can of worms wrt dropping Py2.

The point I was trying to make is that the foreseeable drop of Py2
should be a great incentive to quickly finish the work on Py3, so we can
use features only seen on Py3. And indeed, dropping Py2 can only happen
after everything fully runs on Py3, including in distros and deployments.


Thomas Goirand (zigo)

More information about the OpenStack-dev mailing list