[all][tc] Planning for dropping the Python2 support in OpenStack
Ghanshyam Mann
gmann at ghanshyammann.com
Tue Oct 29 19:53:11 UTC 2019
---- On Thu, 24 Oct 2019 14:32:03 -0500 Ghanshyam Mann <gmann at ghanshyammann.com> wrote ----
> 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).
I chated with timburke on IRC about things required by swift to keep the py2.7 support[1]. Below are
client lib/middleware swift required for py2 testing.
@timburke, feel free to update if any missing point.
- devstack. able to keep running swift on py2 and rest all services can be on py3
- keystonemiddleware and its dependency
- keystoneclient and openstackclient (dep of keystonemiddleware)
- castellan and barbicanclient
As those lib/middleware going to drop the py2.7 support in phase-2, we need to cap them for swift.
I think capping them for python2.7 in upper constraint file would not affect any other users but Matthew Thode can
explain better how that will work from the requirement constraint perspective.
[1] http://eavesdrop.openstack.org/irclogs/%23openstack-swift/%23openstack-swift.2019-10-28.log.html#t2019-10-28T16:37:33
-gmann
> ** 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
>
> -gmann
>
>
> ---- 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