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:

* Yoga
* Xena
* Wallaby
* Victoria

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.8
* Python 3.9
