[all][tc] Planning for dropping the Python2 support in OpenStack
On 19-10-29 14:53:11, Ghanshyam Mann wrote:
> ---- 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.
> > 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. 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. 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.
>  http://eavesdrop.openstack.org/irclogs/%23openstack-swift/%23openstack-swift.2019-10-28.log.html#t2019-10-28T16:37:33
ya, there are examples already for libs that have dropped py2 support.
What you need to do is update global requirements to be something like
sphinx!=1.6.6,!=1.6.7,<2.0.0;python_version=='2.7' # BSD
sphinx!=1.6.6,!=1.6.7,!=2.1.0;python_version>='3.4' # BSD
keyring<19.0.0;python_version=='2.7' # MIT/PSF
keyring;python_version>='3.4' # MIT/PSF
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 833 bytes
Desc: not available