From 9189405efd331bb4b24d8fbc168f419e3a296b05 Mon Sep 17 00:00:00 2001 From: Ryan Beisner Date: Mon, 30 Sep 2019 17:09:54 -0500 Subject: [PATCH] Sync charm/ceph helpers, tox, and requirements Change-Id: Id7b86f0fc64e7ee25aab8d8de09fd5b8b0da89c0 --- requirements.txt | 5 +++++ src/test-requirements.txt | 11 ++++++---- src/tox.ini | 20 ++++++++++-------- test-requirements.txt | 24 ++++++++++++++-------- tox.ini | 43 +++++++++++++++++---------------------- 5 files changed, 58 insertions(+), 45 deletions(-) diff --git a/requirements.txt b/requirements.txt index bad6c5d..b1d4872 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,8 @@ +# 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 +# # Build requirements charm-tools>=2.4.4 simplejson diff --git a/src/test-requirements.txt b/src/test-requirements.txt index e5b7515..d3c9be8 100644 --- a/src/test-requirements.txt +++ b/src/test-requirements.txt @@ -1,5 +1,8 @@ -# hvac 0.7.0 appears to be broken -hvac<0.7.0 -# zaza +# 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 +# +# Functional Test Requirements (let Zaza's dependencies solve all dependencies here!) git+https://github.com/openstack-charmers/zaza.git#egg=zaza -git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack \ No newline at end of file +git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack diff --git a/src/tox.ini b/src/tox.ini index 0ce6e24..07a7adc 100644 --- a/src/tox.ini +++ b/src/tox.ini @@ -1,29 +1,35 @@ +# 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] envlist = pep8 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 -# NOTE(beisner): Avoid false positives by not skipping missing interpreters. +# NOTE: Avoid false positives by not skipping missing interpreters. skip_missing_interpreters = False [testenv] setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 whitelist_externals = juju -passenv = HOME TERM CS_* OS_* +passenv = HOME TERM CS_* OS_* TEST_* deps = -r{toxinidir}/test-requirements.txt install_command = pip install {opts} {packages} [testenv:pep8] -basepython = python2.7 +basepython = python3 deps=charm-tools commands = charm-proof [testenv:func-noop] basepython = python3 commands = - true + functest-run-suite --help [testenv:func] basepython = python3 @@ -42,7 +48,3 @@ commands = [testenv:venv] commands = {posargs} - -[flake8] -# E402 ignore necessary for path append before sys module import in actions -ignore = E402,W504 diff --git a/test-requirements.txt b/test-requirements.txt index bc1ce30..0ab97f6 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,15 +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 -flake8 +flake8>=2.2.4,<=2.4.1 stestr>=2.2.0 requests>=2.18.4 charms.reactive mock>=1.2 nose>=1.3.7 coverage>=3.6 -git+https://github.com/openstack/charms.openstack.git#egg=charms-openstack -netifaces # vault -hvac<0.7.0 # vault -psycopg2-binary # vault -tenacity # vault -pbr # vault -cryptography # vault +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 diff --git a/tox.ini b/tox.ini index 0deba4c..5b41c1d 100644 --- a/tox.ini +++ b/tox.ini @@ -1,12 +1,15 @@ # Source charm: ./tox.ini # 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] skipsdist = True -envlist = pep8,py37 -# NOTE(beisner): Avoid build/test env pollution by not enabling sitepackages. +envlist = pep8,py3 +# NOTE: Avoid build/test env pollution by not enabling sitepackages. 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 [testenv] @@ -16,45 +19,36 @@ setenv = VIRTUAL_ENV={envdir} LAYER_PATH={toxinidir}/layers INTERFACE_PATH={toxinidir}/interfaces JUJU_REPOSITORY={toxinidir}/build -passenv = http_proxy https_proxy USER +passenv = http_proxy https_proxy INTERFACE_PATH LAYER_PATH JUJU_REPOSITORY install_command = pip install {opts} {packages} - -[testenv:build] -basepython = python2.7 deps = -r{toxinidir}/requirements.txt + +[testenv:build] +basepython = python3 commands = charm-build --log-level DEBUG -o {toxinidir}/build src {posargs} -[testenv:py27] -basepython = python2.7 -deps = -# 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 +[testenv:py3] +basepython = python3 deps = -r{toxinidir}/test-requirements.txt -commands = stestr run {posargs} +commands = stestr run --slowest {posargs} [testenv:py35] basepython = python3.5 deps = -r{toxinidir}/test-requirements.txt -commands = stestr run {posargs} +commands = stestr run --slowest {posargs} [testenv:py36] basepython = python3.6 deps = -r{toxinidir}/test-requirements.txt -commands = stestr run {posargs} +commands = stestr run --slowest {posargs} [testenv:py37] basepython = python3.7 deps = -r{toxinidir}/test-requirements.txt -commands = stestr run {posargs} +commands = stestr run --slowest {posargs} [testenv:pep8] basepython = python3 @@ -72,7 +66,7 @@ setenv = PYTHON=coverage run commands = coverage erase - stestr run {posargs} + stestr run --slowest {posargs} coverage combine coverage html -d cover coverage xml -o cover/coverage.xml @@ -90,6 +84,7 @@ omit = unit_tests/* [testenv:venv] +basepython = python3 commands = {posargs} [flake8]