Merge "clarify 2024.1 testing runtime requirements"

This commit is contained in:
Zuul
2023-10-18 19:42:18 +00:00
committed by Gerrit Code Review
+33 -14
View File
@@ -10,15 +10,16 @@ distribution <pti-linux-distros>` versions are:
* Ubuntu 22.04
* Debian 12
Additional testing for smooth upgrade
-------------------------------------
Additional testing for a smooth upgrade
---------------------------------------
* Debian 11 (Supported in previous SLURP release 2023.1)
Best Effort
-----------
This distribution list is the best effort to test them in OpenStack CI/CD. These may not be part of integrated testing and may be tested periodically only.
This distribution list is the best effort to test them in OpenStack CI/CD.
These may not be part of integrated testing and may be tested periodically only.
* CentOS Stream 9
* Rocky Linux 9
@@ -28,41 +29,59 @@ Python Runtimes for 2024.1
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 runtimes on the distributions listed above; and versions
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 version that have not reacohed EOL
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.8 (available as default in Ubuntu 20.04)
Python 3.8 should be the minimum supported/required version for 2024.1.
This does not imply that Ubuntu 20.04 is the minimum supported distribution
but it may be used for tox testing. supporting Python 3.8 does not require
full tempest testing on Ubuntu 20.04, but py38 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.
Minimal requirement on testing jobs against Python versions above is to
ensure language compatibility, for example by running unit tests. Having
more extensive testing is allowed.
* Python 3.9 (available as default in Debian 11)
* Python 3.9 (available as default in Debian 11 and Centos 9 stream)
This will become the future minimum supported version for 2024.2
When Python 3.8 is EOL. This will remain the minimum supported version
until 2025.2 when Python 3.9 is EOL.
In previous cycle testing, we have not seen much incompatible change between
Python3.8 and Python3.10, it is ok to skip running the Python3.9 testing
jobs assuming that anything that works on Python 3.8 and 3.10 will also
work on 3.9.
Python3.8 and Python3.10, it is okay to skip running the Python3.9 testing
jobs assuming that anything that works on Python 3.8 and 3.11 coverage is
provided.
* Python 3.10 (available as default in Ubuntu 22.04)
In previous cycle testing, we have not seen much incompatible change between
Python3.8 and Python3.10, it is okay to skip running the Python3.10 testing
jobs assuming that anything that works on Python 3.8 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.1.
More details on Python requirements can be found in :ref:`pti-python`.
Node.js Runtime for 2024.1
==========================
Based on the available and supported versions of Node.js (in either our :ref:`LTS or stable
distributions <pti-linux-distros>` or in external source) all JavaScript testing should target:
distributions <pti-linux-distros>` or an external source) all JavaScript testing should target:
Ref: https://nodejs.org/en/about/releases/