Sync charm/ceph helpers, tox, and requirements

Change-Id: I1099edb7df4eaaa2b3674f99902df6862bdc99c0
This commit is contained in:
Ryan Beisner 2019-09-30 17:08:26 -05:00
parent e90aacfa1d
commit 0947cb7f86
No known key found for this signature in database
GPG Key ID: 952BACDC1C1A05FB
6 changed files with 92 additions and 34 deletions

View File

@ -1,13 +1,8 @@
# The order of packages is significant, because pip processes them in the order # This file is managed centrally by release-tools and should not be modified
# of appearance. Changing the order has an impact on the overall integration # within individual charm repos. See the 'global' dir contents for available
# process, which may cause wedges in the gate later. # choices of *requirements.txt files for OpenStack Charms:
pbr>=1.8.0,<1.9.0 # https://github.com/openstack-charmers/release-tools
PyYAML>=3.1.0 #
simplejson>=2.2.0 # Build requirements
netifaces>=0.10.4 charm-tools>=2.4.4
netaddr>=0.7.12,!=0.7.16 simplejson
Jinja2>=2.6 # BSD License (3 clause)
six>=1.9.0
dnspython>=1.12.0
psutil>=1.1.1,<2.0.0
charm-tools

0
src/files/.gitkeep Normal file
View File

View File

@ -1,10 +1,8 @@
charm-tools>=2.4.4 # This file is managed centrally by release-tools and should not be modified
requests>=2.18.4 # within individual charm repos. See the 'global' dir contents for available
mock>=1.2 # choices of *requirements.txt files for OpenStack Charms:
flake8>=2.2.4,<=2.4.1 # https://github.com/openstack-charmers/release-tools
stestr>=2.2.0 #
python-keystoneclient>=1.7.1 # Functional Test Requirements (let Zaza's dependencies solve all dependencies here!)
python-swiftclient
lxml
git+https://github.com/openstack-charmers/zaza.git#egg=zaza git+https://github.com/openstack-charmers/zaza.git#egg=zaza
git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack

View File

@ -1,12 +1,22 @@
# Source charm (with zaza): ./src/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
[tox] [tox]
envlist = pep8 envlist = pep8
skipsdist = True 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
[testenv] [testenv]
setenv = VIRTUAL_ENV={envdir} setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0 PYTHONHASHSEED=0
whitelist_externals = juju whitelist_externals = juju
passenv = HOME TERM CS_API_* OS_* AMULET_* passenv = HOME TERM 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}
@ -19,7 +29,7 @@ commands = charm-proof
[testenv:func-noop] [testenv:func-noop]
basepython = python3 basepython = python3
commands = commands =
true functest-run-suite --help
[testenv:func] [testenv:func]
basepython = python3 basepython = python3
@ -31,5 +41,10 @@ basepython = python3
commands = commands =
functest-run-suite --keep-model --smoke functest-run-suite --keep-model --smoke
[testenv:func-target]
basepython = python3
commands =
functest-run-suite --keep-model --bundle {posargs}
[testenv:venv] [testenv:venv]
commands = {posargs} commands = {posargs}

View File

@ -1,10 +1,23 @@
# 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 *requirements.txt files for OpenStack Charms:
# https://github.com/openstack-charmers/release-tools
#
# Lint and unit test requirements # Lint and unit test requirements
flake8 flake8>=2.2.4,<=2.4.1
stestr>=2.2.0 stestr>=2.2.0
requests>=2.18.4
charms.reactive charms.reactive
mock>=1.2 mock>=1.2
nose>=1.3.7 nose>=1.3.7
coverage>=3.6 coverage>=3.6
lxml git+https://github.com/openstack/charms.openstack.git#egg=charms.openstack
cryptography #
git+https://github.com/openstack/charms.openstack.git#egg=charms-openstack # Revisit for removal / mock improvement:
netifaces # vault
psycopg2-binary # vault
tenacity # vault
pbr # vault
cryptography # vault, keystone-saml-mellon
lxml # keystone-saml-mellon
hvac # vault, barbican-vault

51
tox.ini
View File

@ -1,16 +1,25 @@
# 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,py3 envlist = pep8,py3
# 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
[testenv] [testenv]
setenv = VIRTUAL_ENV={envdir} setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0 PYTHONHASHSEED=0
TERM=linux TERM=linux
LAYER_PATH={toxinidir}/layers
INTERFACE_PATH={toxinidir}/interfaces
JUJU_REPOSITORY={toxinidir}/build JUJU_REPOSITORY={toxinidir}/build
passenv = http_proxy https_proxy INTERFACE_PATH LAYER_PATH 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 =
@ -24,32 +33,60 @@ commands =
[testenv:py3] [testenv:py3]
basepython = python3 basepython = python3
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
deps = -r{toxinidir}/test-requirements.txt deps = -r{toxinidir}/test-requirements.txt
commands = flake8 {posargs} src unit_tests commands = flake8 {posargs} src unit_tests
[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] [testenv:venv]
basepython = python3 basepython = python3
commands = {posargs} 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