Define python3 as basepython for Tempest tox env

While OpenStack is in transition to drop py2, many
lib or dependency of Tempest or its plugins cannot
be installed on python 2.7.

To install Tempest on py3 evnv, let's change the basepython
as python 3 for tox env.

Defining basepython as python3.6 for all venv using
.tox/tempest.

Depends-On: https://review.opendev.org/#/c/703476/
Depends-On: https://review.opendev.org/#/c/703679/

Closes-Bug: 1860033
Change-Id: If3ff71dbe636ef98072b15f6599e6e641c222f30
This commit is contained in:
Ghanshyam
2020-01-20 11:43:29 -06:00
parent fd328a4f21
commit 1c680fdb72

30
tox.ini
View File

@@ -1,9 +1,11 @@
[tox] [tox]
envlist = pep8,py36,py37,py27,bashate,pip-check-reqs envlist = pep8,py36,py37,py27,bashate,pip-check-reqs
minversion = 2.3.1 minversion = 3.1.1
skipsdist = True skipsdist = True
ignore_basepython_conflict = True
[tempestenv] [tempestenv]
basepython = python3.6
sitepackages = False sitepackages = False
setenv = setenv =
VIRTUAL_ENV={envdir} VIRTUAL_ENV={envdir}
@@ -13,6 +15,7 @@ deps =
-r{toxinidir}/requirements.txt -r{toxinidir}/requirements.txt
[testenv] [testenv]
basepython = python3
setenv = setenv =
VIRTUAL_ENV={envdir} VIRTUAL_ENV={envdir}
OS_LOG_CAPTURE=1 OS_LOG_CAPTURE=1
@@ -49,12 +52,12 @@ commands =
coverage report coverage report
[testenv:debug] [testenv:debug]
basepython = python3
commands = oslo_debug_helper -t tempest/tests {posargs} commands = oslo_debug_helper -t tempest/tests {posargs}
[testenv:all] [testenv:all]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
# 'all' includes slow tests # 'all' includes slow tests
setenv = setenv =
{[tempestenv]setenv} {[tempestenv]setenv}
@@ -77,6 +80,7 @@ sitepackages = True
setenv = setenv =
{[tempestenv]setenv} {[tempestenv]setenv}
OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200} OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200}
basepython = {[tempestenv]basepython}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
commands = commands =
echo "WARNING: The all-plugin env is deprecated and will be removed" echo "WARNING: The all-plugin env is deprecated and will be removed"
@@ -90,6 +94,7 @@ sitepackages = True
setenv = setenv =
{[tempestenv]setenv} {[tempestenv]setenv}
OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200} OS_TEST_TIMEOUT={env:OS_TEST_TIMEOUT:1200}
basepython = {[tempestenv]basepython}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
commands = commands =
find . -type f -name "*.pyc" -delete find . -type f -name "*.pyc" -delete
@@ -98,6 +103,7 @@ commands =
[testenv:full] [testenv:full]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# The regex below is used to select which tests to run and exclude the slow tag: # The regex below is used to select which tests to run and exclude the slow tag:
@@ -111,6 +117,7 @@ commands =
[testenv:full-parallel] [testenv:full-parallel]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# The regex below is used to select all tempest scenario and including the non slow api tests # The regex below is used to select all tempest scenario and including the non slow api tests
@@ -121,6 +128,7 @@ commands =
[testenv:integrated-network] [testenv:integrated-network]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# The regex below is used to select which tests to run and exclude the slow tag and # The regex below is used to select which tests to run and exclude the slow tag and
@@ -133,6 +141,7 @@ commands =
[testenv:integrated-compute] [testenv:integrated-compute]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# The regex below is used to select which tests to run and exclude the slow tag and # The regex below is used to select which tests to run and exclude the slow tag and
@@ -145,6 +154,7 @@ commands =
[testenv:integrated-placement] [testenv:integrated-placement]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# The regex below is used to select which tests to run and exclude the slow tag and # The regex below is used to select which tests to run and exclude the slow tag and
@@ -157,6 +167,7 @@ commands =
[testenv:integrated-storage] [testenv:integrated-storage]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# The regex below is used to select which tests to run and exclude the slow tag and # The regex below is used to select which tests to run and exclude the slow tag and
@@ -169,6 +180,7 @@ commands =
[testenv:integrated-object-storage] [testenv:integrated-object-storage]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# The regex below is used to select which tests to run and exclude the slow tag and # The regex below is used to select which tests to run and exclude the slow tag and
@@ -181,6 +193,7 @@ commands =
[testenv:full-serial] [testenv:full-serial]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# The regex below is used to select which tests to run and exclude the slow tag: # The regex below is used to select which tests to run and exclude the slow tag:
@@ -193,6 +206,7 @@ commands =
[testenv:scenario] [testenv:scenario]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# The regex below is used to select all scenario tests # The regex below is used to select all scenario tests
@@ -203,6 +217,7 @@ commands =
[testenv:smoke] [testenv:smoke]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
commands = commands =
@@ -212,6 +227,7 @@ commands =
[testenv:smoke-serial] [testenv:smoke-serial]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# This is still serial because neutron doesn't work with parallel. See: # This is still serial because neutron doesn't work with parallel. See:
@@ -224,6 +240,7 @@ commands =
[testenv:slow-serial] [testenv:slow-serial]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# The regex below is used to select the slow tagged tests to run serially: # The regex below is used to select the slow tagged tests to run serially:
@@ -234,6 +251,7 @@ commands =
[testenv:ipv6-only] [testenv:ipv6-only]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
# Run only smoke and ipv6 tests. This env is used to tests # Run only smoke and ipv6 tests. This env is used to tests
@@ -253,12 +271,12 @@ commands = {posargs}
[testenv:venv-tempest] [testenv:venv-tempest]
envdir = .tox/tempest envdir = .tox/tempest
sitepackages = {[tempestenv]sitepackages} sitepackages = {[tempestenv]sitepackages}
basepython = {[tempestenv]basepython}
setenv = {[tempestenv]setenv} setenv = {[tempestenv]setenv}
deps = {[tempestenv]deps} deps = {[tempestenv]deps}
commands = {posargs} commands = {posargs}
[testenv:docs] [testenv:docs]
basepython = python3
deps = deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt -r{toxinidir}/requirements.txt
@@ -269,7 +287,6 @@ commands =
whitelist_externals = rm whitelist_externals = rm
[testenv:pdf-docs] [testenv:pdf-docs]
basepython = python3
deps = {[testenv:docs]deps} deps = {[testenv:docs]deps}
whitelist_externals = whitelist_externals =
make make
@@ -281,7 +298,6 @@ commands =
deps = deps =
-r{toxinidir}/test-requirements.txt -r{toxinidir}/test-requirements.txt
autopep8 autopep8
basepython = python3
commands = commands =
autopep8 --exit-code --max-line-length=79 --experimental --diff -r tempest setup.py autopep8 --exit-code --max-line-length=79 --experimental --diff -r tempest setup.py
flake8 {posargs} flake8 {posargs}
@@ -289,7 +305,6 @@ commands =
[testenv:autopep8] [testenv:autopep8]
deps = autopep8 deps = autopep8
basepython = python3
commands = commands =
{toxinidir}/tools/format.sh {toxinidir}/tools/format.sh
@@ -313,7 +328,6 @@ enable-extensions = H106,H203,H904
import-order-style = pep8 import-order-style = pep8
[testenv:releasenotes] [testenv:releasenotes]
basepython = python3
deps = deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
-r{toxinidir}/requirements.txt -r{toxinidir}/requirements.txt
@@ -325,7 +339,6 @@ commands =
whitelist_externals = rm whitelist_externals = rm
[testenv:bashate] [testenv:bashate]
basepython = python3
# if you want to test out some changes you have made to bashate # if you want to test out some changes you have made to bashate
# against tempest, just set BASHATE_INSTALL_PATH=/path/... to your # against tempest, just set BASHATE_INSTALL_PATH=/path/... to your
# modified bashate tree # modified bashate tree
@@ -360,7 +373,6 @@ commands = bindep test
[testenv:plugin-sanity-check] [testenv:plugin-sanity-check]
# perform tempest plugin sanity # perform tempest plugin sanity
basepython = python3
whitelist_externals = bash whitelist_externals = bash
commands = commands =
bash tools/tempest-plugin-sanity.sh bash tools/tempest-plugin-sanity.sh