python_requires >= 3.8 during Yoga
Ghanshyam Mann
gmann at ghanshyammann.com
Fri Nov 26 17:24:59 UTC 2021
---- On Fri, 26 Nov 2021 10:18:16 -0600 Ghanshyam Mann <gmann at ghanshyammann.com> wrote ----
> ---- On Fri, 26 Nov 2021 10:05:15 -0600 Lee Yarwood <lyarwood at redhat.com> wrote ----
> > On 26-11-21 09:37:44, Ghanshyam Mann wrote:
> > > ---- On Fri, 26 Nov 2021 06:29:42 -0600 Lee Yarwood <lyarwood at redhat.com> wrote ----
> > > > On 26-11-21 10:54:26, Alfredo Moralejo Alonso wrote:
> > > > > On Thu, Nov 25, 2021 at 10:23 PM Ghanshyam Mann <gmann at ghanshyammann.com>
> > > > > wrote:
> > > > >
> > > > > > ---- On Thu, 25 Nov 2021 13:58:28 -0600 Marcin Juszkiewicz <
> > > > > > marcin.juszkiewicz at linaro.org> wrote ----
> > > > > > > W dniu 25.11.2021 o 19:13, Stephen Finucane pisze:
> > > > > > > > gmann has been helpfully proposing patches to change the
> > > > > > > > versions of Python we're testing against in Yoga. I've
> > > > > > > > suggested that we might want to bump 'python_requires' in
> > > > > > > > 'setup.cfg' to indicate that we no longer support any version
> > > > > > > > of Python before 3.8
> > > > > > >
> > > > > > > CentOS Stream 8 has Python 3.6 by default and RDO team is doing
> > > > > > > CS8 -> CS9 migration during Yoga cycle. Can we postpone it to Z
> > > > > > > when there will be no distribution with Py 3.6 to care about?
> > > >
> > > > Stupid question that I should know the answer to but does RDO really
> > > > support RPM based installations anymore? IOW couldn't we just workaround
> > > > this by providing CS8 py38 based containers during the upgrade?
> > > >
> > > > > As Marcin posted, the plan in RDO is to support both CentOS Stream 8 and
> > > > > CentOS Stream 9 in Yoga. This is how we have managed previous major CentOS
> > > > > version upgrades in the past providing support for both releases in an
> > > > > OpenStack version to ease the upgrade so I'd like to keep yoga working on
> > > > > py3.6 included in CS8 and CS9.
> > > >
> > > > If this was the plan why wasn't it made clear to the TC before they
> > > > dropped CS8 from the Yoga runtimes? Would it even be possible for the TC
> > > > to add CS8 and py36 back in to the Yoga runtimes?
> > > >
> > > > > > Postponing to Z, you mean dropping the py3.6 tests or bumping it in
> > > > > > in 'setup.cfg' so that no one can install on py3.6 ?
> > > > > >
> > > > > > First one we already did and as per Yoga testing runtime we are
> > > > > > targeting centos9-stream[1] in Yoga itself.
> > > > > >
> > > > > > For making 'python_requires' >=py3.8 in 'setup.cfg', I have no
> > > > > > string opinion on this but I prefer to have flexible here that 'yes
> > > > > > OpenStack is installable in py3.6 but we do not test it anymore from
> > > > > > Yoga onwards so no guarantee'. Our testing runtime main goal is
> > > > > > that we document the version we are testing *at least* which means
> > > > > > it can work on lower or higher versions too but we just do not test
> > > > > > them.
> > > > > >
> > > > >
> > > > > May it be possible to keep py3.6 jobs to make sure patches are not
> > > > > introducing py3.8-only features that would break deployment in CS8?
> > > >
> > > > We should keep CS8 and py36 as supported runtimes if we are keeping the
> > > > jobs, otherwise this just sets super confusing.
> > >
> > > Yeah, I think it create confusion as I can see in this ML thread so
> > > agree on keeping 'python_requires' also in sycn with what we test.
> >
> > Cool thanks!
> >
> > > Now question on going back to centos stream 8 support in Yoga, is it
> > > not centos stream 9 is stable released or is it experimental only? If
> > > stable then we can keep the latest available version which can be
> > > centos stream 9.
> >
> > I honestly don't know and can't find any docs to point to.
> >
> > > Our project interface testing doc clearly stats 'latest LTS' to
> > > consider for testing[1] whenever we are ready. I am not very strongly
> > > against of reverting back to centos stream 8 but we should not add two
> > > version of same distro in testing which can be a lot of we consider
> > > below three distro
> >
> > How do we expect operators to upgrade between Xena where CentOS 8 stream
> > is a supported runtime and Yoga where CentOS 9 stream is currently the
> > equivalent supported runtime without supporting both for a single
> > release?
>
> This is really good question on upgrade testing we do at upstream and I remember
> it cameup and discussed a lot during py2.7 drop also that how we are testing the
> upgrade from py2.7 to py3. Can we do in grenade? But that we answered as we did
> not tested directly but stein and train tested both version so should not be any issue
> if you upgrade from there (one of FAQ in my blog[1]).
>
> But on distro upgrade testing, as you know we do not test those in upstream neither
> in grenade where upgrade are done on old node distro only not from old distro version to
> new distro version with new code. It is not like we do not want to test but if anyone
> from any distro would like to setup grenade for that and maintain then we are more happy.
> In summary, yes we cannot guarantee distro upgrade testing from OpenStack upstream testing
> due to resource bandwidth issue but we will welcome any help here.
We discussed with amoralej about moving the testing runtime to CentOS stream 8 and py36 or not in TC IRC channel[1].
As we at upstream do not test distro two versions in same release, amoralej agreed to keep CentOS stream 9 if one to choose which is
our current testing runtime is. So no change in the direction of current testing runtime and dropping the py3.6 but there is possibility
of some trade off here. If any py3.6 breaking changes are happening then it is up to projects goodness, bandwidth, or flexibility about
accepting the fix or not or even add a py36 unit test job. As our testing runtime is the minimum things to test and it does not put
any max limit of testing, any project can extend their testing as per their bandwidth.
In summary:
(This is what we agreed today in TC channel but as most of the folks are on leave today, I will keep it
open until next week so see if any objections from the community and will conclude it accordingly)
* No change in Yoga testing runtime and we move to cs9 and drop py36.
* We will not put hard stop on cs8 support and we can:
** Devstack keep supporting cs8 in Yoga
** It can be negotiated with project to add py36 job or fix if any py36 breaking changes are observed by RDO (or any distro interested in py36)
but it depends on the project decision and bandwidth.
As next, how we can improve the upgrade testing from distro versions is something we will explore next and see what
all we can test to make upgrade easier.
[1] https://meetings.opendev.org/irclogs/%23openstack-tc/%23openstack-tc.2021-11-26.log.html#t2021-11-26T16:04:59
-gmann
>
>
> [1] https://superuser.openstack.org/articles/openstack-ussuri-is-python3-only-upgrade-impact/
>
> -gmann
>
> >
> > I appreciate it bloats the support matrix a little but the rest of the
> > thread suggests we need to keep py36 around for now anyway.
> >
> > Cheers,
> >
> > --
> > Lee Yarwood A5D1 9385 88CB 7E5F BE64 6618 BCA6 6E33 F672 2D76
> >
>
>
More information about the openstack-discuss
mailing list