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

Ghanshyam Mann gmann at ghanshyammann.com
Thu Oct 24 19:32:03 UTC 2019

Hello Everyone,

We had good amount of discussion on the final plan and schedule in today's TC office hour[1].

I captured the agreement on each point in etherpad (you can see the AGREE:). Also summarizing
the discussions here. Imp point is if your projects are planning to keep the py2.7 support then do not delay
to tell us. Reply on this ML thread or add your project in etherpad. 

- Projects can start dropping the py2.7 support. Common lib and testing tools need to wait until milestone-2.
   ** pepe8 job to be included in openstack-python3-ussuri-jobs-* templates - https://review.opendev.org/#/c/688997/
   ** You can drop openstack-python-jobs template and start using ussuri template once 688997 patch is merged. 
   ** Cross projects dependency (if any ) can be sync up among dependent projects. 

- I will add this plan and schedule as a community goal. The goal is more about what all things to do and when.
   ** If any project keeping the support then it has to be notified explicitly for its consumer. 

- Schedule: 
 The schedule is aligned with the Ussuri cycle milestone[2]. I will add the plan in the release schedule also. 
 Phase-1: Dec 09 - Dec 13 R-22 Ussuri-1 milestone
  ** Project to start dropping the py2 support along with all the py2 CI jobs.
 Phase-2: Feb 10 - Feb 14 R-13 Ussuri-2 milestone
  ** This includes Oslo, QA tools (or any other testing tools), common lib (os-brick), Client library.
  ** This will give enough time to projects to drop the py2 support.
 Phase-3: Apr 06 - Apr 10 R-5 Ussuri-3 milestone
  ** Final audit on Phase-1 and Phase-2 plan and make sure everything is done without breaking anything.
      This is enough time to measure such break or anything extra to do before ussuri final release.

Other discussions points and agreement:
- Projects want to keep python 2 support and need oslo, QA or any other dependent projects/lib support:
  ** swift.  AI: gmann to reach out to swift team about the plan and exact required things from its dependency
       (the common lib/testing tool).
  ** List your project if you want to keep the py2 support. 
  ** Action item:  TC liaisons to reach out to their projects and make sure they are aware of this plan[3].

- How to test the upgrade from python2 -> python3
  ** AGREE: let's drop the integrated testing for py2->py3 and oslo can check if they can do functional testing of
       oslo.messaging - https://bugs.launchpad.net/oslo.messaging/+bug/1792977

- What are our guidelines to backport fixes to stable branches?
   ** AGREE: This will be rare case and if that happen then tweaking for py27 in the backport is fine. The stable
        branch backport policy does not need any changing for this

- What is the tactics of dropping openstack-tox-py27 in our gate?
  ** AGREE: on merging the pep8 job in ussuri job template  https://review.opendev.org/#/c/688997/

[1] http://eavesdrop.openstack.org/irclogs/%23openstack-tc/%23openstack-tc.2019-10-24.log.html#t2019-10-24T14:49:12
[2] https://releases.openstack.org/ussuri/schedule.html
[3]  https://governance.openstack.org/tc/reference/tc-liaisons.html 


 ---- On Thu, 24 Oct 2019 09:55:58 -0500 Ghanshyam Mann <gmann at ghanshyammann.com> wrote ----
 > Just a reminder, discussion for this is going to start in #openstack-tc  channel in another 5 min. 
 > -gmann
 >  ---- On Tue, 15 Oct 2019 13:18:03 -0500 Ghanshyam Mann <gmann at ghanshyammann.com> wrote ----
 >  > 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
 >  > 
 >  > -gmann
 >  > 
 >  > 
 >  > 
 >  > 

More information about the openstack-discuss mailing list