The cloud-compute relation uses the private-address setting to reflect the hostname/address to be used for vm migrations. This can be the default management network or an alternate one. When this charm populates ssh known_hosts entries for compute hosts it needs to ensure hostname, address and fqdn for the mgmt network is included so that Nova resize operations can work if they use the hostname from the db (which will always be from the mgmt network). Also adds requirements.txt to default tox [testenv] to get netaddr constraints applied to others that were removed as part of https://review.opendev.org/q/topic:%22batch-update%22. This is needed for -epy38 which is only run by gate. Change-Id: Ic9e4657453d8f53d1ecbee23475c7b11549ebc14 Closes-Bug: #1969971 (cherry picked from commit05b081bf5f) (cherry picked from commitb6809e75e1) (cherry picked from commit61a7dd0bbd)
135 lines
3.4 KiB
INI
135 lines
3.4 KiB
INI
# Classic charm (with zaza): ./tox.ini
|
|
# This file is managed centrally by release-tools and should not be modified
|
|
# within individual charm repos. See the 'global' dir contents for available
|
|
# choices of tox.ini for OpenStack Charms:
|
|
# https://github.com/openstack-charmers/release-tools
|
|
#
|
|
# TODO: Distill the func test requirements from the lint/unit test
|
|
# requirements. They are intertwined. Also, Zaza itself should specify
|
|
# all of its own requirements and if it doesn't, fix it there.
|
|
[tox]
|
|
envlist = pep8,py3
|
|
skipsdist = True
|
|
# NOTE: Avoid build/test env pollution by not enabling sitepackages.
|
|
sitepackages = False
|
|
# NOTE: Avoid false positives by not skipping missing interpreters.
|
|
skip_missing_interpreters = False
|
|
# NOTES:
|
|
# * We avoid the new dependency resolver by pinning pip < 20.3, see
|
|
# https://github.com/pypa/pip/issues/9187
|
|
# * Pinning dependencies requires tox >= 3.2.0, see
|
|
# https://tox.readthedocs.io/en/latest/config.html#conf-requires
|
|
# * It is also necessary to pin virtualenv as a newer virtualenv would still
|
|
# lead to fetching the latest pip in the func* tox targets, see
|
|
# https://stackoverflow.com/a/38133283
|
|
requires =
|
|
pip < 20.3
|
|
virtualenv < 20.0
|
|
setuptools < 50.0.0
|
|
tox < 4.0.0
|
|
|
|
# NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci
|
|
minversion = 3.18.0
|
|
|
|
[testenv]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONHASHSEED=0
|
|
CHARM_DIR={envdir}
|
|
install_command =
|
|
{toxinidir}/pip.sh install {opts} {packages}
|
|
commands = stestr run --slowest {posargs}
|
|
allowlist_externals =
|
|
charmcraft
|
|
rename.sh
|
|
passenv = HOME TERM CS_* OS_* TEST_*
|
|
deps =
|
|
-r{toxinidir}/test-requirements.txt
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
[testenv:build]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/build-requirements.txt
|
|
commands =
|
|
charmcraft clean
|
|
charmcraft -v pack
|
|
{toxinidir}/rename.sh
|
|
|
|
[testenv:py310]
|
|
basepython = python3.10
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:py3]
|
|
basepython = python3
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
deps = flake8==3.9.2
|
|
PyYAML==6.0.1
|
|
git+https://github.com/juju/charm-tools.git
|
|
commands = flake8 {posargs} hooks unit_tests tests actions lib files
|
|
charm-proof
|
|
|
|
[testenv:cover]
|
|
# Technique based heavily upon
|
|
# https://github.com/openstack/nova/blob/master/tox.ini
|
|
basepython = python3
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run
|
|
commands =
|
|
coverage erase
|
|
stestr run --slowest {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
coverage report
|
|
|
|
[coverage:run]
|
|
branch = True
|
|
concurrency = multiprocessing
|
|
parallel = True
|
|
source =
|
|
.
|
|
omit =
|
|
.tox/*
|
|
*/charmhelpers/*
|
|
unit_tests/*
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[testenv:func-noop]
|
|
basepython = python3
|
|
commands =
|
|
functest-run-suite --help
|
|
|
|
[testenv:func]
|
|
basepython = python3
|
|
commands =
|
|
functest-run-suite --keep-model
|
|
|
|
[testenv:func-smoke]
|
|
basepython = python3
|
|
commands =
|
|
functest-run-suite --keep-model --smoke
|
|
|
|
[testenv:func-dev]
|
|
basepython = python3
|
|
commands =
|
|
functest-run-suite --keep-model --dev
|
|
|
|
[testenv:func-target]
|
|
basepython = python3
|
|
commands =
|
|
functest-run-suite --keep-model --bundle {posargs}
|
|
|
|
[flake8]
|
|
ignore = E402,E226,W503,W504
|
|
exclude = */charmhelpers
|