[all][tc] Planning for dropping the Python2 support in OpenStack

Ghanshyam Mann gmann at ghanshyammann.com
Tue Oct 15 18:18:03 UTC 2019

Hello Everyone,

Python 2.7 is going to retire in Jan 2020 [1] and we planned to drop the python 2 support from OpenStack
during the start of the Ussuri cycle[2].

Time has come now to start the planning on dropping the Python2. It needs to be coordinated among various
Projects, libraries, vendors driver, third party CI and testing frameworks.  

* Preparation for the Plan & Schedule:

Etherpad: https://etherpad.openstack.org/p/drop-python2-support

We discussed it in TC to come up with the plan, execute it smoothly and avoid breaking any dependent projects.
I have prepared an etherpad[3](mentioned above also) to capture all the points related to this topic and most importantly
the draft schedule about who can drop the support and when. The schedule is in the draft state and not final yet. 
The most important points are if you are dropping the support then all your consumers (OpenStack Projects, Vendors drivers etc)
are ready for that. For example, oslo, os-bricks, client lib, testing framework projects will keep the python2 support until we make
sure all the consumers of those projects do not require py2 support. If anyone require then how long they can support py2. 
These libraries, testing frameworks will be the last one to drop py2.

We have planned to have a dedicated discussion in TC office hours on the 24th Thursday  #openstack-tc channel. We will
discuss what all need to be done and the schedules.  

You do not have to drop it immediately and keep eyes on this ML thread till we get the consensus on the
community-level plan and schedule. 

Meanwhile, you can always start pre-planning for your projects, for example, stephenfin has started for Nova[4] to
migrate the third party CI etc. Cinder has coordinated with all vendor drivers & their CI to migrate from py2 to py3.

* Projects want to keep the py2 support?
There is no mandate that projects have to drop the py2 support right now. If you want to keep the support then key things
to discuss are what all you need and does all your dependent projects/libs provide the support of py2. This is something needs to be
discussed case by case. If any project wants to keep the support, add that in the etherpad with a brief reason which will
be helpful to discuss the need and feasibility. 

Feel free to provide feedback or add the missing point on the etherpad. Do not forget to attend the 24th Oct 2019, TC
office hour on Thursday at 1500 UTC in #openstack-tc.

[1] https://pythonclock.org/
[2] https://governance.openstack.org/tc/resolutions/20180529-python2-deprecation-timeline.html
[3] https://etherpad.openstack.org/p/drop-python2-support
[4] http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010109.html


More information about the openstack-discuss mailing list