On Thu, Oct 24, 2019 at 3:58 PM Ghanshyam Mann <gmann@ghanshyammann.com> wrote:
---- On Thu, 24 Oct 2019 16:57:55 -0500 Jeremy Stanley <fungi@yuggoth.org> wrote ----
On 2019-10-24 14:32:03 -0500 (-0500), Ghanshyam Mann wrote: [...]
- Projects can start dropping the py2.7 support. Common lib and testing tools need to wait until milestone-2. [...]
This doesn't match the intent behind what I originally suggested nor my subsequent interpretation of what we discussed, and unfortunately the plan on the etherpad is slightly vague here too. I thought what we were agreeing to was that leaf projects (services and the like) had *until* milestone 1 (~2019-12-12) to remove Python 2.7 testing if they depend on shared libraries which are planning to remove support for it in Ussuri. From then until milestone 2 (~2020-02-13) shared libraries could work on dropping support for Python 2.7. If libs are allowed to drop support for it *after* milestone 2 then that doesn't leave much time before they're released at milestone 3 to stabilize or reverse course.
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.
This is a milestone later than I expected, unless you mean they should be done by this point. It's just about removing jobs, so projects should be on the ball and do this quickly.
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.
This leaves less than 2 months where libraries are allowed to complete the necessary work before they get released for Ussuri (remember the final release for libraries is at R-6, the week before milestone 3).
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. [...]
Libraries are released the week before this, so no, that doesn't really provide any auditing opportunity.
Sorry for the confusion in the schedule. Below one is what I meant.
Phase-1: Now -> Ussuri-1 milestone (deadline R-22 ) ** Project to dropping the py2 support along with all the py2 CI jobs.
Phase-2: milestone-1 -> milestone-2 ( deadline R-13 ) ** This includes Oslo, QA tools (or any other testing tools), common lib (os-brick), Client library.
Phase-3: at milestone-2 ** 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 a break or anything extra to do before Ussuri final release.
Awesome, thank you for stating this very clearly. For OpenStack manila, I've lined up the patches like you've indicated: Phase-1: Now -> Ussuri-1 milestone (deadline R-22 ) ** openstack/manila will drop support for python2.7: https://review.opendev.org/#/c/691134/ Phase-2: milestone-1 -> milestone-2 ( deadline R-13 ) ** Client projects and tempest plugin will drop support for python2.7: https://review.opendev.org/#/c/691183/ (openstack/python-manilaclient) https://review.opendev.org/#/c/691186/ (openstack/manila-tempest-plugin) https://review.opendev.org/#/c/691184/ (openstack/manila-ui) Phase-3: at milestone-2 ** Final audit on Phase-1 and Phase-2 plan and make sure everything is done without breaking anything. I'm using the Gerrit topic "drop-py2" to track these.
-gmann
I apologize, in retrospect I realize that the distinction between "by" and "at" in English could be too subtle for a lot of folks to pick up on, and I should have been more explicit in my original proposal. -- Jeremy Stanley