Sync charm/ceph helpers, tox, and requirements

Change-Id: Ib116be42e6ddebb747324470339c0f85b7fb0dbd
This commit is contained in:
Ryan Beisner 2019-09-30 17:06:51 -05:00
parent a374844898
commit 1b6e560404
No known key found for this signature in database
GPG Key ID: 952BACDC1C1A05FB
4 changed files with 32 additions and 39 deletions

0
src/files/.gitkeep Normal file
View File

View File

@ -15,7 +15,7 @@ aodhclient>=0.1.0
gnocchiclient>=3.1.0,<3.2.0 gnocchiclient>=3.1.0,<3.2.0
python-barbicanclient>=4.0.1 python-barbicanclient>=4.0.1
python-ceilometerclient>=1.5.0 python-ceilometerclient>=1.5.0
python-cinderclient>=1.4.0 python-cinderclient>=1.4.0,<5.0.0
python-designateclient>=1.5 python-designateclient>=1.5
python-glanceclient>=1.1.0 python-glanceclient>=1.1.0
python-heatclient>=0.8.0 python-heatclient>=0.8.0

View File

@ -1,53 +1,51 @@
# Source charm: ./src/tox.ini # Source charm (with amulet): ./src/tox.ini
# This file is managed centrally by release-tools and should not be modified # This file is managed centrally by release-tools and should not be modified
# within individual charm repos. # 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
[tox] [tox]
envlist = pep8 envlist = pep8
skipsdist = True skipsdist = True
# NOTE(beisner): Avoid build/test env pollution by not enabling sitepackages. # NOTE: Avoid build/test env pollution by not enabling sitepackages.
sitepackages = False sitepackages = False
# NOTE(beisner): Avoid false positives by not skipping missing interpreters. # NOTE: Avoid false positives by not skipping missing interpreters.
skip_missing_interpreters = False skip_missing_interpreters = False
[testenv] [testenv]
setenv = VIRTUAL_ENV={envdir} setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0 PYTHONHASHSEED=0
CHARM_DIR={envdir}
AMULET_SETUP_TIMEOUT=5400 AMULET_SETUP_TIMEOUT=5400
whitelist_externals = juju whitelist_externals = juju
passenv = HOME TERM AMULET_* CS_* passenv = HOME TERM AMULET_* CS_* OS_* TEST_*
deps = -r{toxinidir}/test-requirements.txt deps = -r{toxinidir}/test-requirements.txt
install_command = install_command =
pip install {opts} {packages} pip install {opts} {packages}
[testenv:pep8] [testenv:pep8]
basepython = python2.7 basepython = python3
commands = charm-proof commands = charm-proof
[testenv:func27-noop] [testenv:func-noop]
# DRY RUN - For Debug # DRY RUN - For Debug
basepython = python2.7 basepython = python2.7
commands = commands =
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "gate-*" -n --no-destroy bundletester -vl DEBUG -r json -o func-results.json --test-pattern "gate-*" -n --no-destroy
[testenv:func27] [testenv:func]
# Run all gate tests which are +x (expected to always pass) # Run all gate tests which are +x (expected to always pass)
basepython = python2.7 basepython = python2.7
commands = commands =
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "gate-*" --no-destroy bundletester -vl DEBUG -r json -o func-results.json --test-pattern "gate-*" --no-destroy
[testenv:func27-smoke] [testenv:func-smoke]
# Run a specific test as an Amulet smoke test (expected to always pass) # Run a specific test as an Amulet smoke test (expected to always pass)
basepython = python2.7 basepython = python2.7
commands = commands =
bundletester -vl DEBUG -r json -o func-results.json gate-basic-bionic-stein --no-destroy bundletester -vl DEBUG -r json -o func-results.json gate-basic-bionic-stein --no-destroy
[testenv:func27-dfs] [testenv:func-dev]
# Run all deploy-from-source tests which are +x (may not always pass!)
basepython = python2.7
commands =
bundletester -vl DEBUG -r json -o func-results.json --test-pattern "dfs-*" --no-destroy
[testenv:func27-dev]
# Run all development test targets which are +x (may not always pass!) # Run all development test targets which are +x (may not always pass!)
basepython = python2.7 basepython = python2.7
commands = commands =

39
tox.ini
View File

@ -1,12 +1,15 @@
# Source charm: ./tox.ini # Source charm: ./tox.ini
# This file is managed centrally by release-tools and should not be modified # This file is managed centrally by release-tools and should not be modified
# within individual charm repos. # 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
[tox] [tox]
skipsdist = True skipsdist = True
envlist = pep8,py37 envlist = pep8,py3
# NOTE(beisner): Avoid build/test env pollution by not enabling sitepackages. # NOTE: Avoid build/test env pollution by not enabling sitepackages.
sitepackages = False sitepackages = False
# NOTE(beisner): Avoid false positives by not skipping missing interpreters. # NOTE: Avoid false positives by not skipping missing interpreters.
skip_missing_interpreters = False skip_missing_interpreters = False
[testenv] [testenv]
@ -16,44 +19,36 @@ setenv = VIRTUAL_ENV={envdir}
LAYER_PATH={toxinidir}/layers LAYER_PATH={toxinidir}/layers
INTERFACE_PATH={toxinidir}/interfaces INTERFACE_PATH={toxinidir}/interfaces
JUJU_REPOSITORY={toxinidir}/build JUJU_REPOSITORY={toxinidir}/build
passenv = http_proxy https_proxy passenv = http_proxy https_proxy INTERFACE_PATH LAYER_PATH JUJU_REPOSITORY
install_command = install_command =
pip install {opts} {packages} pip install {opts} {packages}
deps = deps =
-r{toxinidir}/requirements.txt -r{toxinidir}/requirements.txt
[testenv:build] [testenv:build]
basepython = python2.7 basepython = python3
commands = commands =
charm-build --log-level DEBUG -o {toxinidir}/build src {posargs} charm-build --log-level DEBUG -o {toxinidir}/build src {posargs}
[testenv:py27] [testenv:py3]
basepython = python2.7 basepython = python3
# Reactive source charms are Python3-only, but a py27 unit test target
# is required by OpenStack Governance. Remove this shim as soon as
# permitted. http://governance.openstack.org/reference/cti/python_cti.html
whitelist_externals = true
commands = true
[testenv:py34]
basepython = python3.4
deps = -r{toxinidir}/test-requirements.txt deps = -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs} commands = stestr run --slowest {posargs}
[testenv:py35] [testenv:py35]
basepython = python3.5 basepython = python3.5
deps = -r{toxinidir}/test-requirements.txt deps = -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs} commands = stestr run --slowest {posargs}
[testenv:py36] [testenv:py36]
basepython = python3.6 basepython = python3.6
deps = -r{toxinidir}/test-requirements.txt deps = -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs} commands = stestr run --slowest {posargs}
[testenv:py37] [testenv:py37]
basepython = python3.7 basepython = python3.7
deps = -r{toxinidir}/test-requirements.txt deps = -r{toxinidir}/test-requirements.txt
commands = stestr run {posargs} commands = stestr run --slowest {posargs}
[testenv:pep8] [testenv:pep8]
basepython = python3 basepython = python3
@ -71,7 +66,7 @@ setenv =
PYTHON=coverage run PYTHON=coverage run
commands = commands =
coverage erase coverage erase
stestr run {posargs} stestr run --slowest {posargs}
coverage combine coverage combine
coverage html -d cover coverage html -d cover
coverage xml -o cover/coverage.xml coverage xml -o cover/coverage.xml
@ -94,4 +89,4 @@ commands = {posargs}
[flake8] [flake8]
# E402 ignore necessary for path append before sys module import in actions # E402 ignore necessary for path append before sys module import in actions
ignore = E402 ignore = E402,W504