openstacksdk-functional-devstack jobs use master constraints and also supposed to be run on stable branches. But sometimes master constraints does not match with the versions present in old nodeset in stable branches. For example, new constraints of 'coverage' 6.4 I80d5c5bc2f379a9bac41e4bb40594a253853ee12 broke this job run on stable/ussuri. If we are using the master constraints then it can break anytime when new constraints which are not compatible with old branch supported distro. Pinning this job to use stable/ussuri openstacksdk and constraints. This squash the lower-constraints job removal fix - https://review.opendev.org/c/openstack/openstacksdk/+/844096 NOTE(elod.illes): python2 binary is not needed in ussuri, besides causing errors with requirements-check job. So binary is replaced to python3 versions. Story: 2010057 Tasks: 45501 Co-authored-by: Elod Illes <elod.illes@est.tech> Change-Id: I11d60e42a83122b0e53b1d436ed4beca22bce5d4
129 lines
4.0 KiB
INI
129 lines
4.0 KiB
INI
[tox]
|
|
minversion = 3.1
|
|
envlist = pep8,py37
|
|
skipsdist = True
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
usedevelop = True
|
|
install_command = pip install {opts} {packages}
|
|
passenv = OS_* OPENSTACKSDK_*
|
|
basepython = python3
|
|
setenv =
|
|
VIRTUAL_ENV={envdir}
|
|
LANG=en_US.UTF-8
|
|
LANGUAGE=en_US:en
|
|
LC_ALL=C
|
|
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:false}
|
|
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
|
|
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
commands = stestr run {posargs}
|
|
stestr slowest
|
|
|
|
[testenv:examples]
|
|
commands = stestr --test-path ./openstack/tests/examples run {posargs}
|
|
stestr slowest
|
|
|
|
[testenv:functional]
|
|
# Some jobs (especially heat) takes longer, therefore increase default timeout
|
|
# This timeout should not be smaller, than the longest individual timeout
|
|
setenv =
|
|
{[testenv]setenv}
|
|
OS_TEST_TIMEOUT=600
|
|
OPENSTACKSDK_FUNC_TEST_TIMEOUT_LOAD_BALANCER=600
|
|
OPENSTACKSDK_EXAMPLE_CONFIG_KEY=functional
|
|
OPENSTACKSDK_FUNC_TEST_TIMEOUT_PROJECT_CLEANUP=1200
|
|
commands = stestr --test-path ./openstack/tests/functional/{env:OPENSTACKSDK_TESTS_SUBDIR:} run --serial {posargs}
|
|
stestr slowest
|
|
|
|
[testenv:pep8]
|
|
commands =
|
|
flake8
|
|
doc8 doc/source README.rst
|
|
|
|
[testenv:venv]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri}
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands = {posargs}
|
|
|
|
[testenv:debug]
|
|
# allow 1 year, or 31536000 seconds, to debug a test before it times out
|
|
setenv = OS_TEST_TIMEOUT=31536000
|
|
whitelist_externals = find
|
|
commands =
|
|
find . -type f -name "*.pyc" -delete
|
|
oslo_debug_helper -t openstack/tests {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source openstack --parallel-mode
|
|
commands =
|
|
stestr run {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:ansible]
|
|
# Need to pass some env vars for the Ansible playbooks
|
|
passenv = HOME USER ANSIBLE_VAR_*
|
|
deps =
|
|
{[testenv]deps}
|
|
ansible
|
|
commands = {toxinidir}/extras/run-ansible-tests.sh -e {envdir} {posargs}
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -W -d doc/build/doctrees --keep-going -b html doc/source/ doc/build/html
|
|
|
|
[testenv:pdf-docs]
|
|
deps = {[testenv:docs]deps}
|
|
whitelist_externals =
|
|
make
|
|
commands =
|
|
sphinx-build -W -d doc/build/doctrees --keep-going -b latex doc/source/ doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:releasenotes]
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/ussuri}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/doc/requirements.txt
|
|
commands =
|
|
sphinx-build -a -E -W -d releasenotes/build/doctrees --keep-going -b html releasenotes/source releasenotes/build/html
|
|
|
|
[flake8]
|
|
# The following are ignored on purpose. It's not super worth it to fix them.
|
|
# However, if you feel strongly about it, patches will be accepted to fix them
|
|
# if they fix ALL of the occurances of one and only one of them.
|
|
# H306 Is about alphabetical imports - there's a lot to fix.
|
|
# H4 Are about docstrings and there's just a huge pile of pre-existing issues.
|
|
# W503 Is supposed to be off by default but in the latest pycodestyle isn't.
|
|
# Also, both openstacksdk and Donald Knuth disagree with the rule. Line
|
|
# breaks should occur before the binary operator for readability.
|
|
ignore = H306,H4,W503
|
|
show-source = True
|
|
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,openstack/_services_mixin.py
|
|
|
|
[flake8:local-plugins]
|
|
extension =
|
|
O300 = _hacking:assert_no_setupclass
|
|
paths = ./openstack
|
|
|
|
[doc8]
|
|
extensions = .rst, .yaml
|
|
|
|
[testenv:py35]
|
|
basepython = python3.5
|