Define testing runtime for 2024.2 release
Below are the changes from previous cycle testing runtime: * Removing python 3.8 support because it is EOLing in oct 2024[1] which means python 3.9 will be the minimum python version in testing runtime. * Add Python 3.12 as non voting testing. * Remove Debian 11 from Additional testing support because 2024.2 is non-SLURP release and previous SLURP release 2024.1 supported Debian 12 also which is what can be used as smooth upgrade to future SLURP release 2025.1 * Removing Nodejs from runtime: Nodejs is not a runtime requirement for Horizon instead it is one of the test dependency. It does not fit as a runtime and can be handle by Horizon team based. * For better clarity, changed the 'Best Effort' section to 'Advance/Unstable Testing'. Adding Ubuntu 24.04 in that list. [1] https://devguide.python.org/versions/ Change-Id: I77dbbf2413074ce0cddbfe6ac2f29d0ee1d71921
This commit is contained in:
parent
edda9a4f11
commit
42fdf0095c
|
@ -0,0 +1,92 @@
|
||||||
|
.. _2024-2-testing-runtime:
|
||||||
|
|
||||||
|
==========================
|
||||||
|
Tested Runtimes for 2024.2
|
||||||
|
==========================
|
||||||
|
|
||||||
|
Linux Distribution
|
||||||
|
==================
|
||||||
|
|
||||||
|
At the start of the 2024.2 development cycle, the current :ref:`LTS or stable
|
||||||
|
distribution <pti-linux-distros>` versions are:
|
||||||
|
|
||||||
|
* Ubuntu 22.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.9 (available as default in Debian 11 and Centos 9 Stream)
|
||||||
|
Python 3.9 is the the minimum supported/required version for 2024.2.
|
||||||
|
This does not imply that Debian 11 is the minimum supported distribution
|
||||||
|
but it may be used for tox testing. supporting Python 3.9 does not require
|
||||||
|
full tempest testing, but py39 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.10 (available as default in Ubuntu 22.04)
|
||||||
|
|
||||||
|
In previous cycle testing, we have not seen many incompatible changes between
|
||||||
|
Python 3.9 and Python 3.10. It is okay to skip running the Python 3.10 testing
|
||||||
|
jobs assuming that anything that works on Python 3.9 and 3.11 will also
|
||||||
|
work on 3.10.
|
||||||
|
|
||||||
|
Note: as most tempest jobs run on Ubuntu 22.04, it is expected that python
|
||||||
|
3.10 will be tested in tempest jobs. As such, it will be transitively tested
|
||||||
|
for compatibility even without explicit unit and functional tests.
|
||||||
|
|
||||||
|
* Python 3.11 (available as default in Debian 12)
|
||||||
|
|
||||||
|
This is the upper bound of required testing for 2024.2.
|
||||||
|
|
||||||
|
* Python 3.12 (going to be available as default in Ubuntu 24.02)
|
||||||
|
|
||||||
|
This is not mandatory testing in the 2024.2 cycle, and there is no guarantee
|
||||||
|
that the OpenStack 2024.2 release will support Python 3.12.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
There is a high chance that we might see a lot of failure in Python 3.12
|
||||||
|
and need a good amount of time to fix them. Adding it as non-voting is an
|
||||||
|
effort to start testing and fixing the issues in advance. It is
|
||||||
|
recommended to start the minimal testing in the 2024.2 cycle.
|
||||||
|
|
||||||
|
Python 3.12 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 9
|
||||||
|
* Rocky Linux 9
|
||||||
|
* Ubuntu 24.04 (supposed to be released at the end of April 2024)
|
Loading…
Reference in New Issue