b7930ae821
vmware-nsx specific policies are defined as policy-in-code. - vmware_nsx/policies/lsn.py, qos_queue.py and maclearning.py are moved from the neutron repo. - vmware_nsx/policies/providersecuritygroup.py is based on the difference between etc/policy.json and the old neutron policy.json - vmware_nsx/policies/security_group.py is based on etc/policy.d/security-groups.json - vmware_nsx/policies/network_gateway.py is based on etc/policy.d/network-gateways.json etc/policy.d/dynamic-routing.json and etc/policy.d/neutron-fwaas.json have no policies specific to vmware-nsx, so they can be dropped and we can use policy-in-code definitions in neutron-fwaas and neutron-dynamic-routing. etc/policy.d/routers.json and flow-classifier.json cannot be converted into policy-in-code because the default policies are different from those defined in neutron and networking-sfc. Note that etc/policy.d/routers.json now has policies which are different from the default policies defined in the neutron repo. (Others are clean up by this commit.) This commit depends on the following patches under review: (neutron-fwaas policy-in-code support) Depends-On: https://review.openstack.org/527282 (neutron-dynamic-routing policy-in-code support) Depends-On: https://review.openstack.org/625429 (networking-sfc policy-in-code support) Depends-On: https://review.openstack.org/625431 (Drop 3rd-party plugin specific policies) Depends-On: https://review.openstack.org/625394 Partially Implements: blueprint neutron-policy-in-code Co-Authored-By: Michal Kelner Mishali <mkelnermishal@vmware.com> Co-Authored-By: Adit Sarfaty <asarfaty@vmware.com> Change-Id: I96a9dbd759d54308abbc12ce65c97b06a76453cd
209 lines
6.3 KiB
INI
209 lines
6.3 KiB
INI
[tox]
|
||
envlist = py35,py36,py27,pep8,docs
|
||
minversion = 2.0
|
||
skipsdist = True
|
||
|
||
[testenv]
|
||
setenv = VIRTUAL_ENV={envdir}
|
||
PYTHONWARNINGS=default::DeprecationWarning
|
||
passenv = TRACE_FAILONLY GENERATE_HASHES http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
|
||
usedevelop = True
|
||
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
||
-r{toxinidir}/requirements.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
whitelist_externals =
|
||
sh
|
||
stestr
|
||
commands =
|
||
stestr run {posargs}
|
||
stestr slowest
|
||
|
||
[testenv:common]
|
||
# Fake job to define environment variables shared between dsvm/non-dsvm jobs
|
||
setenv = OS_TEST_TIMEOUT=180
|
||
commands = false
|
||
|
||
[testenv:dev]
|
||
# run locally (not in the gate) using editable mode
|
||
# https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs
|
||
# note that order is important to ensure dependencies don't override
|
||
commands =
|
||
pip install -q -e "git+https://git.openstack.org/openstack/networking-l2gw#egg=networking_l2gw"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/networking-sfc#egg=networking_sfc"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/neutron-lbaas#egg=neutron_lbaas"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/neutron-fwaas#egg=neutron_fwaas"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/neutron-dynamic-routing#egg=neutron_dynamic_routing"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/neutron-vpnaas#egg=neutron_vpnaas"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/octavia#egg=octavia"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/vmware-nsxlib#egg=vmware_nsxlib"
|
||
pip install -q -e "git+https://git.openstack.org/openstack/neutron#egg=neutron"
|
||
|
||
|
||
[testenv:functional]
|
||
basepython = python3
|
||
setenv = {[testenv]setenv}
|
||
{[testenv:common]setenv}
|
||
OS_TEST_PATH=./vmware_nsx/tests/functional
|
||
OS_LOG_PATH={env:OS_LOG_PATH:/opt/stack/logs}
|
||
deps =
|
||
{[testenv]deps}
|
||
-r{toxinidir}/vmware_nsx/tests/functional/requirements.txt
|
||
|
||
[testenv:dsvm-functional]
|
||
basepython = python3
|
||
setenv = OS_SUDO_TESTING=1
|
||
OS_FAIL_ON_MISSING_DEPS=1
|
||
OS_TEST_TIMEOUT=180
|
||
sitepackages=True
|
||
deps =
|
||
{[testenv:functional]deps}
|
||
commands =
|
||
stestr run {posargs}
|
||
stestr slowest
|
||
|
||
[tox:jenkins]
|
||
sitepackages = True
|
||
|
||
[testenv:releasenotes]
|
||
basepython = python3
|
||
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
||
-r{toxinidir}/doc/requirements.txt
|
||
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
|
||
|
||
[testenv:py27]
|
||
basepython = python2.7
|
||
setenv = OS_FAIL_ON_MISSING_DEPS=1
|
||
|
||
[testenv:py36]
|
||
basepython = python3.6
|
||
setenv = OS_FAIL_ON_MISSING_DEPS=1
|
||
|
||
[testenv:py27-dev]
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
pip freeze
|
||
stestr run {posargs}
|
||
whitelist_externals =
|
||
stestr
|
||
|
||
[testenv:py3-dev]
|
||
basepython = python3.5
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
pip freeze
|
||
stestr run {posargs}
|
||
whitelist_externals =
|
||
stestr
|
||
|
||
[testenv:py36-dev]
|
||
basepython = python3.6
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
pip freeze
|
||
stestr run {posargs}
|
||
whitelist_externals =
|
||
stestr
|
||
|
||
[testenv:pep8]
|
||
basepython = python3
|
||
commands =
|
||
# If it is easier to add a check via a shell script, consider adding it in this file
|
||
sh ./tools/misc-sanity-checks.sh
|
||
# Checks for coding and style guidelines
|
||
flake8
|
||
sh ./tools/coding-checks.sh --pylint '{posargs}'
|
||
neutron-db-manage --subproject vmware-nsx check_migration
|
||
{[testenv:genconfig]commands}
|
||
{[testenv:genpolicy]commands}
|
||
whitelist_externals =
|
||
sh
|
||
bash
|
||
|
||
[testenv:pep8-dev]
|
||
basepython = python3
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
pip freeze
|
||
# If it is easier to add a check via a shell script, consider adding it in this file
|
||
sh ./tools/misc-sanity-checks.sh
|
||
# Checks for coding and style guidelines
|
||
flake8 {toxinidir}/vmware_nsx
|
||
sh ./tools/coding-checks.sh --pylint '{posargs}'
|
||
neutron-db-manage --subproject vmware-nsx check_migration
|
||
{[testenv:genconfig]commands}
|
||
{[testenv:genpolicy]commands}
|
||
whitelist_externals =
|
||
sh
|
||
|
||
[testenv:bandit]
|
||
commands = bandit -r vmware_nsx -n 5 -ll
|
||
|
||
[testenv:cover]
|
||
basepython = python3
|
||
commands =
|
||
python setup.py testr --coverage --testr-args='{posargs}'
|
||
coverage report
|
||
|
||
[testenv:docs]
|
||
basepython = python3
|
||
deps = -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
|
||
-r{toxinidir}/doc/requirements.txt
|
||
commands = sphinx-build -b html doc/source doc/build/html
|
||
|
||
[flake8]
|
||
# E125 continuation line does not distinguish itself from next logical line
|
||
# E126 continuation line over-indented for hanging indent
|
||
# E128 continuation line under-indented for visual indent
|
||
# E129 visually indented line with same indent as next logical line
|
||
# E265 block comment should start with ‘# ‘
|
||
# H305 imports not grouped correctly
|
||
# H307 like imports should be grouped together
|
||
# H404 multi line docstring should start with a summary
|
||
# H405 multi line docstring summary not separated with an empty line
|
||
# H904 Wrap long lines in parentheses instead of a backslash
|
||
# TODO(dougwig) -- uncomment this to test for remaining linkages
|
||
# N530 direct neutron imports not allowed
|
||
# N531 translations hints
|
||
ignore = E125,E126,E128,E129,E265,H305,H307,H404,H405,H904,N530,N531
|
||
show-source = true
|
||
builtins = _
|
||
exclude = .venv,.git,.tox,dist,doc,*lib/python*,*egg,build,.ropeproject
|
||
import-order-style = pep8
|
||
|
||
[hacking]
|
||
import_exceptions = vmware_nsx._i18n,
|
||
local-check-factory = neutron_lib.hacking.checks.factory
|
||
|
||
[testenv:genconfig]
|
||
commands = {toxinidir}/tools/generate_config_file_samples.sh
|
||
|
||
[testenv:genpolicy]
|
||
commands = oslopolicy-sample-generator --config-file=etc/oslo-policy-generator/policy.conf
|
||
|
||
[testenv:uuidgen]
|
||
commands =
|
||
check-uuid --fix
|
||
|
||
[testenv:lower-constraints]
|
||
basepython = python3
|
||
deps =
|
||
-c{toxinidir}/lower-constraints.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
-r{toxinidir}/doc/requirements.txt
|
||
-r{toxinidir}/requirements.txt
|
||
|
||
[testenv:lower-constraints-dev]
|
||
basepython = python3
|
||
commands =
|
||
{[testenv:dev]commands}
|
||
pip freeze
|
||
stestr run {posargs}
|
||
deps =
|
||
-c{toxinidir}/lower-constraints.txt
|
||
-r{toxinidir}/test-requirements.txt
|
||
-r{toxinidir}/doc/requirements.txt
|
||
-r{toxinidir}/requirements.txt
|
||
|
||
[testenv:venv]
|
||
commands = {posargs}
|