Define testing runtime for 2025.2 release
Adding python 3.13 testing with non-voting jobs, and removing support for python3.9 as it will go EOL before the 2025.2 release. Change-Id: I8c3e09e45544bcae99c2a0c7befde8381b363f10
This commit is contained in:
91
reference/runtimes/2025.2.rst
Normal file
91
reference/runtimes/2025.2.rst
Normal file
@ -0,0 +1,91 @@
|
||||
.. _2025-2-testing-runtime:
|
||||
|
||||
==========================
|
||||
Tested Runtimes for 2025.2
|
||||
==========================
|
||||
|
||||
Linux Distribution
|
||||
==================
|
||||
|
||||
At the start of the 2025.2 development cycle, the current :ref:`LTS or stable
|
||||
distribution <pti-linux-distros>` versions are:
|
||||
|
||||
* Ubuntu 24.04
|
||||
* Debian 12
|
||||
|
||||
Additional testing for a smooth upgrade
|
||||
---------------------------------------
|
||||
|
||||
* None
|
||||
|
||||
Python
|
||||
======
|
||||
|
||||
It is the :doc:`policy <../../resolutions/20181024-python-update-process>` that
|
||||
each OpenStack release cycle will target the latest available version of
|
||||
Python; default Python runtime on the distributions listed above; and versions
|
||||
used in integration tests at the start of the cycle, at least until the point
|
||||
when all projects have migrated to a later version.
|
||||
|
||||
Also, as per the Python testing requirements defined in :ref:`pti-python`,
|
||||
projects should avoid removing Python versions that have not reached EOL
|
||||
without a solid reason.
|
||||
|
||||
Based on the criteria above, all Python-based projects must target and test
|
||||
against, at a minimum:
|
||||
|
||||
* Python 3.10 (available as default in Ubuntu 22.04)
|
||||
|
||||
Python 3.10 is the the minimum supported/required version for 2025.2.
|
||||
This does not imply that Ubuntu 22.04 is the minimum supported distribution
|
||||
but it may be used for tox testing. Supporting Python 3.10 does not require
|
||||
full tempest testing, but py310 unit tests are expected as a minimum
|
||||
requirement for all Python projects. The minimal requirement for
|
||||
testing jobs against Python versions above is to ensure language compatibility,
|
||||
having more extensive testing is allowed.
|
||||
|
||||
* Python 3.11 (available as default in Debian 12)
|
||||
|
||||
In previous cycle testing, we have not seen many incompatible changes between
|
||||
Python 3.10 and Python 3.11. It is okay to skip running the Python 3.11
|
||||
testing jobs assuming that anything that works on Python 3.10 and 3.12 will
|
||||
also work on 3.11. Periodic testing should be enough for this.
|
||||
|
||||
* Python 3.12 (available as default in Ubuntu 24.04)
|
||||
|
||||
This is the upper bound of required testing for 2025.2.
|
||||
|
||||
* Python 3.13 (available as default in Debian 13)
|
||||
|
||||
This is not mandatory testing in the 2025.2 cycle, and there is no guarantee
|
||||
that the OpenStack 2025.2 release will support Python 3.13. Debian 13
|
||||
("Trixie") is expected to ship prior to the OpenStack 2025.2 release
|
||||
and will include Python 3.13 as the default.
|
||||
|
||||
.. warning::
|
||||
|
||||
There is a high chance that we might see a lot of failures with Python
|
||||
3.13 and need a good amount of time to fix them. Adding testing with
|
||||
non-voting jobs is an effort to start finding and addressing the issues
|
||||
in advance. It is recommended to start the minimal testing in the 2025.2
|
||||
cycle.
|
||||
|
||||
Python 3.13 will be mandatory testing in a future release.
|
||||
|
||||
More details on Python requirements can be found in :ref:`pti-python`.
|
||||
|
||||
Advance/Unstable Testing
|
||||
========================
|
||||
|
||||
The below list is for the distribution/python advance or unstable versions
|
||||
to test them in OpenStack CI/CD. These may not be part of integrated testing
|
||||
and may be tested as non-blockers or periodically only. The main idea is to
|
||||
test them in advance to be part of integrated testing in future
|
||||
cycles.
|
||||
|
||||
Based on their testing infra setup, instability, or their future
|
||||
releases, we can modify the list during any phase of the current development
|
||||
cycle.
|
||||
|
||||
* CentOS Stream 10
|
||||
* Rocky Linux 10
|
Reference in New Issue
Block a user