
This patch adds the logic to sync a Member entity from the Octavia database, correcting any discrepancies in fields or creating it if it does not exist in the OVN LB related on OVN Northbound (NB) database. Future patches will incrementally add support for syncing the remaining entities. Related-Bug: #2045415 Co-authored-by: Fernando Royo <froyo@redhat.com> Co-authored-by: Rico Lin <ricolin@ricolky.com> Change-Id: I0c0b92b89e9ff6b3623d50637fe4bb82d1cae69d
168 lines
5.3 KiB
INI
168 lines
5.3 KiB
INI
[tox]
|
|
minversion = 3.18.0
|
|
envlist = docs,py38,pep8
|
|
skipsdist = False
|
|
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:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
|
|
-r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
allowlist_externals = bash
|
|
{toxinidir}/tools/pip_install_src_modules.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]
|
|
commands = flake8
|
|
{toxinidir}/tools/check_unit_test_structure.sh
|
|
{toxinidir}/tools/coding-checks.sh --pylint '{posargs}'
|
|
{[testenv:bandit]commands}
|
|
{[testenv:genconfig]commands}
|
|
allowlist_externals =
|
|
{toxinidir}/tools/check_unit_test_structure.sh
|
|
{toxinidir}/tools/coding-checks.sh
|
|
{toxinidir}/tools/generate_config_file_samples.sh
|
|
|
|
[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 --isolated {posargs}
|
|
|
|
[testenv:cover]
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run --source ovn_octavia_provider --parallel-mode
|
|
commands =
|
|
stestr run --no-subunit-trace {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.x
|
|
coverage report --fail-under=92 --skip-covered
|
|
|
|
[testenv:docs]
|
|
deps =
|
|
-c{env:TOX_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]
|
|
deps = {[testenv:docs]deps}
|
|
allowlist_externals =
|
|
make
|
|
commands =
|
|
sphinx-build -W -b latex doc/source doc/build/pdf
|
|
make -C doc/build/pdf
|
|
|
|
[testenv:debug]
|
|
commands = oslo_debug_helper -t ovn_octavia_provider/tests {posargs}
|
|
|
|
[testenv:releasenotes]
|
|
deps = -r{toxinidir}/doc/requirements.txt
|
|
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
|
|
|
[flake8]
|
|
# I202 Additional newline in a group of imports
|
|
# W504 line break after binary operator
|
|
ignore = W504,I202
|
|
# 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
|
|
N348 = checks:check_assertcountequal
|
|
paths =./ovn_octavia_provider/hacking
|
|
|
|
[testenv:genconfig]
|
|
commands = {toxinidir}/tools/generate_config_file_samples.sh
|
|
allowlist_externals =
|
|
{toxinidir}/tools/generate_config_file_samples.sh
|
|
|
|
# This environment can be used to quickly validate that all needed system
|
|
# packages required to successfully execute test targets are installed
|
|
[testenv:bindep]
|
|
# Do not install any requirements. We want this to be fast and work even if
|
|
# system dependencies are missing, since it's used to tell you what system
|
|
# dependencies are missing! This also means that bindep must be installed
|
|
# separately, outside of the requirements files.
|
|
deps = bindep
|
|
commands = bindep test
|
|
|
|
[testenv:requirements]
|
|
deps =
|
|
-egit+https://opendev.org/openstack/requirements#egg=openstack-requirements
|
|
allowlist_externals = bash
|
|
commands =
|
|
bash -c '{envdir}/src/openstack-requirements/playbooks/files/project-requirements-change.py --req {envdir}/src/openstack-requirements --local {toxinidir} master'
|
|
|
|
[testenv:bandit]
|
|
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}
|