Supported OpenStack Releases and Python Versions
================================================

This document lists the officially supported OpenStack releases
and python versions by Tempest.

Compatible OpenStack Releases
-----------------------------

Tempest master supports the below OpenStack Releases:

* 2024.2
* 2024.1
* 2023.2

For older OpenStack Release:

For any older OpenStack Release than the listed above, Tempest master might work. But if
Tempest master starts failing then, you can use the respective Tempest tag listed in OpenStack
release page.

For example: OpenStack Stein: Tempest 20.0.0

* https://releases.openstack.org/stein/index.html#stein-tempest

How to use Tempest tag on Extended Maintenance stable branch:

* https://review.opendev.org/#/c/705098/

Supported Python Versions
-------------------------

Tempest master supports the below python versions:

* Python 3.9
* Python 3.10
* Python 3.11
* Python 3.12
