Add goal to drop Python 2.7 Support
Change-Id: Ifa9234c0ce85d51427b8e1f71573cd4a498bdc22
This commit is contained in:
111
goals/selected/ussuri/drop-py27.rst
Normal file
111
goals/selected/ussuri/drop-py27.rst
Normal file
@@ -0,0 +1,111 @@
|
||||
=======================
|
||||
Drop Python 2.7 Support
|
||||
=======================
|
||||
|
||||
Ussuri cycle is the time to drop the python2 support from OpenStack.
|
||||
All the projects have completed all of the work of updating all of
|
||||
their CI jobs to work under Python 3. This goal accomplishes the drop
|
||||
of support for python2 by removing testing python2, as well as
|
||||
configuration required for that testing. The only changes to the code
|
||||
a project would run in production are those required to fix py3
|
||||
compatibility, in the event that a job is converted to py3 that was
|
||||
not already.
|
||||
|
||||
Along with py2.7 drop, we will use this goal to update the Python 3
|
||||
test runtimes for Ussuri :doc:`../../../reference/runtimes/ussuri`.
|
||||
|
||||
* Storyboard stories TODO
|
||||
|
||||
Champion
|
||||
========
|
||||
|
||||
Ghanshyam Mann(gmann) <gmann@ghanshyammann.com> has volunteered to drive this goal.
|
||||
|
||||
Gerrit Topic
|
||||
============
|
||||
|
||||
To facilitate tracking, commits related to this goal should use the
|
||||
gerrit topic::
|
||||
|
||||
drop-py27-support
|
||||
|
||||
Completion Criteria
|
||||
===================
|
||||
|
||||
In order for a project to call this goal complete it must:
|
||||
|
||||
#. Drop the python 2.7 unit, functional & integration testing.
|
||||
|
||||
This will update the python testing template from Train to Ussuri template.
|
||||
|
||||
#. Migrate the python 2.7 job if no corresponding py3 job yet.
|
||||
|
||||
#. Update tox.ini and setup.cfg to remove the py2.7
|
||||
|
||||
#. Update requirements file to drop py2.7 specific dependency.
|
||||
|
||||
#. Add release notes saying dropping py2.7 explicitly.
|
||||
|
||||
Python 2.7 support has been dropped. Last release <of project to> support
|
||||
py2.7 is OpenStack Train. The minimum version of Python now
|
||||
supported by <project> is Python 3.6.
|
||||
|
||||
All these updates will go in a single patch.
|
||||
|
||||
Projects keeping py2.7 support
|
||||
------------------------------
|
||||
|
||||
#. Swift
|
||||
|
||||
* Swift is still fixing py3 bugs, want more than a single OpenStack release with both py2 and py3
|
||||
support, and want to continue to support xenial.
|
||||
|
||||
|
||||
Schedule
|
||||
--------
|
||||
|
||||
This will be divided into three phases. 3rd phase will be to audit the completion criteria.
|
||||
|
||||
#. Phase-1: Now -> Ussuri-1 milestone (deadline R-22 )
|
||||
|
||||
* Project to start dropping the py2.7 support and finish by milestone-1.
|
||||
Project needs to coordinate with third party CI or any backend drivers.
|
||||
Example: Nova - http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010109.html
|
||||
|
||||
* If there is any cross project dependency and removing the py2.7 support causing other projects
|
||||
py27 jobs then failing job can be dropped immediately to unblock the gate and proceed on complete
|
||||
cleanup in another patch.
|
||||
|
||||
* This includes horizon and its plugins.
|
||||
|
||||
#. Phase-2: milestone-1 -> milestone-2 (deadline R-13 )
|
||||
|
||||
* Common libraries and testing tooling.
|
||||
|
||||
* This includes Oslo, QA tools (including Tempest plugins or any other testing tools), common lib
|
||||
used among projects (os-brick), Client libraries. Tempest will drop the support during Feb as
|
||||
discussed with TripleO.
|
||||
|
||||
* By milestone 1 which is phase-1 all the projects using those lib and testing tools should have
|
||||
completed the removal of py2.7 support.
|
||||
|
||||
#. Phase-3: at milestone-2
|
||||
|
||||
* openstack/requirements has to be the last one and will drop the support in phase-3.
|
||||
|
||||
* Final audit on Phase-1 and Phase-2 plan and make sure everything is done without breaking anything.
|
||||
This is enough time to measure any break or anything extra to do before Ussuri final release.
|
||||
|
||||
Details discussion: https://etherpad.openstack.org/p/drop-python2-support
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
* https://etherpad.openstack.org/p/drop-python2-support
|
||||
|
||||
* http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010142.html
|
||||
|
||||
Current State / Anticipated Impact
|
||||
==================================
|
||||
|
||||
Few projects started dropping the py2.7 support.
|
||||
9
goals/selected/ussuri/index.rst
Normal file
9
goals/selected/ussuri/index.rst
Normal file
@@ -0,0 +1,9 @@
|
||||
======
|
||||
Ussuri
|
||||
======
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 1
|
||||
|
||||
*
|
||||
Reference in New Issue
Block a user