[all] Debian unstable has Python 3.11: please help support it.

Alex Kavanagh alex.kavanagh at canonical.com
Tue Jul 19 19:57:08 UTC 2022

On Fri, Jul 15, 2022 at 1:11 PM Jeremy Stanley <fungi at yuggoth.org> wrote:

> On 2022-07-15 12:05:31 +0200 (+0200), Thomas Goirand wrote:
> [...]
> > All what I'm asking, is that when Python RC releases are out, and
> > I report a bug, the community has the intention to fix it as early
> > as possible, at least in master (and maybe help with backports if
> > it's very tricky: I can manage trivial backporting by myself).
> > That's enough for me, really (at least it has been enough in the
> > past...).
> [...]
> I don't think fixes have been refused in the past simply because
> they address a problem observed with a newer Python interpreter than
> we test on. Just be aware that when it comes to pre-merge testing of
> proposed changes for OpenStack, the time to decide what platforms
> and interpreter versions we'll test with is at the end of the
> previous cycle. For Zed that's Python 3.8 and 3.9, though projects
> are encouraged to also try 3.10 if they can (we got the ability to
> test that partway into the development cycle). We have to set these
> expectations before we begin work on a new version of OpenStack, so
> that we don't change our testing goals for developers while they're
> in the middle of trying to write the software.
> --
> Jeremy Stanley

Just to add to the "what python version where" discussion, I wanted to add
the situation with Ubuntu packages and distro versions:

As a quick summary for the Ubuntu cloud archive and distro packages for
OpenStack, for yoga we ship the packages for 20.04 LTS (focal) - in the
focal-yoga cloud archive [1] and 22.04 LTS (jammy) as part of distro.
20.04 LTS (focal) shipped with py3.8 so the packages work with that, but
22.04 LTS (jammy) shipped with py3.10, which means that (ultimately) we try
very hard to get all the Ubuntu OpenStack yoga packages to work on py3.10.

Ubuntu Kinetic (22.10) currently looks like it will also ship with py3.10
[2].  OpenStack Zed is 'partnered' with 22.10/kinetic as the Zed packages
will be shipped in distro for 22.10/kinetic and as jammy-kinetic in the
cloud archive.  Therefore, we'll also be supporting py3.10 for Zed.  py3.11
is slated for release on 3rd October 2022, so it won't make Kinetic (with
luck), but it will almost certainly make "L" (23.04), which will be against
(for us) OpenStack "A".  I guess this is going to be quite challenging for

Why is it like this? Well, the latest current stable version of python is
selected for each distro version to ensure that each LTS is running the
latest stable version; thus each interim updates so that it is easier to
work towards the next LTS stable release.  Thus, for the Ubuntu packages,
we have to support that version for each of the OpenStack releases during
the LTS (e.g. for jammy, py3.10) for Y->B versions of OpenStack.

So as a summary (for the Ubuntu packages/python versions):

   - Yoga: py3.8: focal-yoga=py3.8, py3.10: jammy (distro)
   - Zed: py3.10 (jammy-zed, kinetic(distro))
   - "A": py3.10 (jammy-"A"), py3.11 ("L"/22.10 (distro))
   - "B": py3.10 (jammy-"B"), py3.11 (py3.12?)
   - etc

Essentially, for each LTS release (every 2 years, April), we eventually
ship 4 versions of OpenStack, one with the distro packages, and 3 in the
cloud archive.  Also, each interim release of Ubuntu also gets a
corresponding OpenStack release set of packages for the python version in
that release.  We do additional testing (which we call distro-regression)
where we check the packages against each version of Ubuntu and run tempest
to "ensure" that they work.

Hope this is useful.

[2] https://packages.ubuntu.com/kinetic/python/

Alex Kavanagh - Software Engineer
OpenStack Engineering - Data Centre Development - Canonical Ltd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20220719/4f8aa772/attachment-0001.htm>

More information about the openstack-discuss mailing list