bfd98048cf
This is a combination of a number of fixes required to fix the broken gate. Fix lower-constraints job for focal, bumping requirements and fixing resultant failuers as necessary. The devstack module for OVN has now been moved to the devstack repository, so include it from there so the functional jobs can run. Set not_implemented_is_error to False. The Octavia tempest plugin tests are being changed to better skip tests for not implemented features. Setting this to False will treat NotImplemented failures as skips and not errors. Fix tempest blacklist regex. Raise error on listener create with 'allowed_cidrs' present. Change-Id: I70adcfad3f4d489d94da171670c23dba51d6f2a1
158 lines
4.8 KiB
INI
158 lines
4.8 KiB
INI
[tox]
|
|
minversion = 3.8.0
|
|
envlist = docs,py38,pep8
|
|
skipsdist = True
|
|
ignore_basepython_conflict = True
|
|
|
|
[testenv]
|
|
basepython = python3
|
|
usedevelop = True
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
OS_LOG_CAPTURE={env:OS_LOG_CAPTURE:true}
|
|
OS_STDOUT_CAPTURE={env:OS_STDOUT_CAPTURE:true}
|
|
OS_STDERR_CAPTURE={env:OS_STDERR_CAPTURE:true}
|
|
PYTHONWARNINGS=default::DeprecationWarning,ignore::DeprecationWarning:distutils,ignore::DeprecationWarning:site
|
|
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
whitelist_externals = bash
|
|
sh
|
|
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY TOX_ENV_SRC_MODULES
|
|
commands =
|
|
{toxinidir}/tools/pip_install_src_modules.sh "{toxinidir}"
|
|
stestr run {posargs}
|
|
|
|
[testenv:pep8]
|
|
envdir = {toxworkdir}/shared
|
|
commands = flake8
|
|
{toxinidir}/tools/check_unit_test_structure.sh
|
|
{toxinidir}/tools/coding-checks.sh --pylint '{posargs}'
|
|
{[testenv:bandit]commands}
|
|
{[testenv:genconfig]commands}
|
|
|
|
[testenv:venv]
|
|
commands = {posargs}
|
|
|
|
[testenv:functional]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
OS_TEST_PATH=./ovn_octavia_provider/tests/functional
|
|
OS_TEST_TIMEOUT=240
|
|
deps = {[testenv]deps}
|
|
-r{toxinidir}/ovn_octavia_provider/tests/functional/requirements.txt
|
|
|
|
[testenv:dsvm]
|
|
# Fake job to define environment variables shared between dsvm jobs
|
|
setenv = OS_TEST_TIMEOUT=240
|
|
OS_LOG_PATH={env:OS_LOG_PATH:/opt/stack/logs}
|
|
commands = false
|
|
|
|
[testenv:dsvm-functional]
|
|
setenv = {[testenv:functional]setenv}
|
|
{[testenv:dsvm]setenv}
|
|
deps = {[testenv:functional]deps}
|
|
commands =
|
|
stestr run {posargs}
|
|
|
|
[testenv:cover]
|
|
envdir = {toxworkdir}/shared
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source ovn_octavia_provider --parallel-mode
|
|
commands =
|
|
stestr run --no-subunit-trace {posargs}
|
|
coverage combine
|
|
coverage report --fail-under=90 --skip-covered
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
|
|
[testenv:docs]
|
|
envdir = {toxworkdir}/docs
|
|
deps =
|
|
-c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/doc/requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
commands = sphinx-build -W -b html doc/source doc/build/html
|
|
|
|
[testenv:pdf-docs]
|
|
envdir = {toxworkdir}/docs
|
|
deps = {[testenv:docs]deps}
|
|
whitelist_externals =
|
|
make
|
|
commands =
|
|
sphinx-build -W -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:debug]
|
|
envdir = {toxworkdir}/shared
|
|
commands = oslo_debug_helper -t ovn_octavia_provider/tests {posargs}
|
|
|
|
[testenv:releasenotes]
|
|
envdir = {toxworkdir}/docs
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[flake8]
|
|
# W504 line break after binary operator
|
|
ignore = W504
|
|
# H106: Don't put vim configuration in source files
|
|
# H203: Use assertIs(Not)None to check for None
|
|
# H204: Use assert(Not)Equal to check for equality
|
|
# H205: Use assert(Greater|Less)(Equal) for comparison
|
|
# H904: Delay string interpolations at logging calls
|
|
enable-extensions=H106,H203,H204,H205,H904
|
|
show-source = True
|
|
exclude=./.*,dist,doc,*egg*,build,releasenotes
|
|
import-order-style = pep8
|
|
|
|
[hacking]
|
|
import_exceptions = ovn_octavia_provider.i18n
|
|
|
|
[flake8:local-plugins]
|
|
extension =
|
|
N322 = checks:check_assert_called_once_with
|
|
N328 = checks:check_asserttruefalse
|
|
N330 = checks:check_assertempty
|
|
N331 = checks:check_assertisinstance
|
|
N332 = checks:check_assertequal_for_httpcode
|
|
N343 = checks:check_no_imports_from_tests
|
|
N344 = checks:check_python3_no_filter
|
|
N347 = checks:check_no_import_mock
|
|
paths =./ovn_octavia_provider/hacking
|
|
|
|
[testenv:genconfig]
|
|
envdir = {toxworkdir}/shared
|
|
commands = {toxinidir}/tools/generate_config_file_samples.sh
|
|
|
|
[testenv:lower-constraints]
|
|
deps =
|
|
-c{toxinidir}/lower-constraints.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
[testenv:requirements]
|
|
deps =
|
|
-egit+https://opendev.org/openstack/requirements#egg=openstack-requirements
|
|
whitelist_externals = sh
|
|
commands =
|
|
sh -c '{envdir}/src/openstack-requirements/playbooks/files/project-requirements-change.py --req {envdir}/src/openstack-requirements --local {toxinidir} master'
|
|
|
|
[testenv:bandit]
|
|
envdir = {toxworkdir}/shared
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
commands = bandit -r ovn_octavia_provider -x tests -n5
|
|
|
|
[testenv:dev]
|
|
# run locally (not in the gate) using editable mode
|
|
# https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs
|
|
commands =
|
|
pip install -q -e "git+https://git.openstack.org/openstack/neutron#egg=neutron"
|
|
{[testenv]commands}
|
|
|
|
[testenv:pep8-dev]
|
|
deps =
|
|
{[testenv]deps}
|
|
commands =
|
|
{[testenv:dev]commands}
|
|
{[testenv:pep8]commands}
|