From dc0c5d34ff6e8da0f5b9d7ca69ec74085181bce1 Mon Sep 17 00:00:00 2001 From: Alex Kavanagh Date: Tue, 17 Oct 2023 18:01:06 +0100 Subject: [PATCH] Updates for testing period for 23.10 release * charm-helpers sync for classic charms * build.lock file for reactive charms * ensure tox.ini is from release-tools * Locked requirements using pip-compile: * existing (test-)requirements.txt -> (test-)requirements.in * pip-compile to *-py3[8|10].txt using python3.8 and python3.10. * Updated tox.ini to use the appropriate merged requirements-*.txt files. * Removal of lunar from metadata, charmcraft.yaml osci.yaml, tests.yaml and associated bundles. * Locked libs and tests to stable/bobcat branches for: * charm-helpers * charms.openstack * zaza * zaza-openstack-tests Change-Id: I38be735653289b34e3ea34bc82ac2f8b80149362 --- .gitreview | 2 + charmcraft.yaml | 32 - merged-requirements-py310.txt | 200 +++++ merged-requirements-py38.txt | 208 ++++++ osci.yaml | 16 +- requirements.txt => requirements.in | 0 src/build.lock | 320 ++++++++ src/metadata.yaml | 1 - src/test-requirements-py38.txt | 689 ++++++++++++++++++ ...-requirements.txt => test-requirements.in} | 4 +- src/tests/bundles/jammy-antelope-s3.yaml | 18 +- src/tests/bundles/jammy-antelope.yaml | 16 +- src/tests/bundles/jammy-bobcat.yaml | 16 +- src/tests/bundles/lunar-antelope.yaml | 154 ---- src/tests/bundles/mantic-bobcat.yaml | 16 +- src/tests/tests.yaml | 2 - src/tox.ini | 38 +- src/wheelhouse.txt | 4 +- test-requirements-py310.txt | 117 +++ test-requirements-py38.txt | 117 +++ test-requirements.txt => test-requirements.in | 2 +- tox.ini | 28 +- 22 files changed, 1722 insertions(+), 278 deletions(-) create mode 100644 merged-requirements-py310.txt create mode 100644 merged-requirements-py38.txt rename requirements.txt => requirements.in (100%) create mode 100644 src/build.lock create mode 100644 src/test-requirements-py38.txt rename src/{test-requirements.txt => test-requirements.in} (82%) delete mode 100644 src/tests/bundles/lunar-antelope.yaml create mode 100644 test-requirements-py310.txt create mode 100644 test-requirements-py38.txt rename test-requirements.txt => test-requirements.in (92%) diff --git a/.gitreview b/.gitreview index bc3ede9..c804419 100644 --- a/.gitreview +++ b/.gitreview @@ -2,3 +2,5 @@ host=review.opendev.org port=29418 project=openstack/charm-gnocchi.git + +defaultbranch=stable/2023.2 diff --git a/charmcraft.yaml b/charmcraft.yaml index 2214163..9c9a120 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -54,38 +54,6 @@ bases: - name: ubuntu channel: "22.04" architectures: [arm64] - - build-on: - - name: ubuntu - channel: "23.04" - architectures: [amd64] - run-on: - - name: ubuntu - channel: "23.04" - architectures: [amd64] - - build-on: - - name: ubuntu - channel: "23.04" - architectures: [s390x] - run-on: - - name: ubuntu - channel: "23.04" - architectures: [s390x] - - build-on: - - name: ubuntu - channel: "23.04" - architectures: [ppc64el] - run-on: - - name: ubuntu - channel: "23.04" - architectures: [ppc64el] - - build-on: - - name: ubuntu - channel: "23.04" - architectures: [arm64] - run-on: - - name: ubuntu - channel: "23.04" - architectures: [arm64] - build-on: - name: ubuntu channel: "23.10" diff --git a/merged-requirements-py310.txt b/merged-requirements-py310.txt new file mode 100644 index 0000000..17eea76 --- /dev/null +++ b/merged-requirements-py310.txt @@ -0,0 +1,200 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# pip-compile --output-file=merged-requirements-py310.txt requirements.in test-requirements.in +# +attrs==23.1.0 + # via jsonschema +blessings==1.7 + # via charm-tools +certifi==2023.7.22 + # via requests +cffi==1.16.0 + # via cryptography +charm-tools @ git+https://github.com/juju/charm-tools.git + # via -r requirements.in +charmhelpers==1.2.1 + # via charms-reactive +charms-openstack @ git+https://github.com/openstack/charms.openstack.git@stable/bobcat + # via -r test-requirements.in +charms-reactive==1.5.2 + # via -r test-requirements.in +charset-normalizer==3.3.1 + # via requests +cheetah3==3.2.6.post1 + # via charm-tools +cliff==2.18.0 + # via + # -r test-requirements.in + # stestr +cmd2==0.8.9 + # via cliff +colander==1.8.3 + # via charm-tools +coverage==7.3.2 + # via -r test-requirements.in +cryptography==3.3.2 + # via + # -r requirements.in + # -r test-requirements.in + # secretstorage +dict2colander==0.2 + # via charm-tools +distlib==0.3.7 + # via virtualenv +extras==1.0.0 + # via stestr +filelock==3.12.4 + # via virtualenv +fixtures==3.0.0 + # via + # stestr + # testtools +hvac==2.0.0 + # via -r test-requirements.in +idna==3.4 + # via requests +importlib-metadata==6.8.0 + # via keyring +iso8601==2.1.0 + # via + # colander + # python-subunit +jaraco-classes==3.3.0 + # via keyring +jeepney==0.8.0 + # via + # keyring + # secretstorage +jinja2==3.1.2 + # via charmhelpers +jsonschema==4.17.3 + # via charm-tools +jujubundlelib==0.5.7 + # via charm-tools +keyring==23.13.1 + # via charm-tools +lxml==4.9.3 + # via -r test-requirements.in +markupsafe==2.1.3 + # via jinja2 +mock==5.1.0 + # via -r test-requirements.in +more-itertools==10.1.0 + # via jaraco-classes +netaddr==0.9.0 + # via charmhelpers +netifaces==0.11.0 + # via -r test-requirements.in +nose==1.3.7 + # via -r test-requirements.in +otherstuf==1.1.0 + # via charm-tools +parse==1.19.1 + # via stuf +path==16.7.1 + # via path-py +path-py==12.5.0 + # via charm-tools +pathspec==0.10.3 + # via charm-tools +pbr==5.6.0 + # via + # -r test-requirements.in + # charmhelpers + # cliff + # fixtures + # stestr + # stevedore + # testtools +platformdirs==3.11.0 + # via virtualenv +prettytable==0.7.2 + # via cliff +psutil==5.9.6 + # via -r test-requirements.in +psycopg2-binary==2.9.9 + # via -r test-requirements.in +pyaml==23.9.7 + # via charms-reactive +pycparser==2.21 + # via cffi +pyparsing==2.4.7 + # via + # -r test-requirements.in + # cliff + # cmd2 +pyperclip==1.8.2 + # via cmd2 +pyrsistent==0.19.3 + # via jsonschema +python-subunit==1.4.3 + # via stestr +pyyaml==6.0.1 + # via + # charm-tools + # charmhelpers + # cliff + # jujubundlelib + # pyaml + # stestr +requests==2.31.0 + # via + # -r test-requirements.in + # charm-tools + # hvac +requirements-parser==0.5.0 + # via charm-tools +ruamel-yaml==0.17.40 + # via charm-tools +ruamel-yaml-clib==0.2.8 + # via ruamel-yaml +secretstorage==3.3.3 + # via + # charm-tools + # keyring +simplejson==3.19.2 + # via -r requirements.in +six==1.16.0 + # via + # blessings + # cliff + # cmd2 + # cryptography + # fixtures +stestr==4.1.0 + # via -r test-requirements.in +stevedore==5.1.0 + # via cliff +stuf==0.9.16 + # via otherstuf +tenacity==8.2.3 + # via -r test-requirements.in +testtools==2.6.0 + # via + # fixtures + # python-subunit + # stestr +tomlkit==0.12.1 + # via stestr +translationstring==1.4 + # via colander +types-setuptools==68.2.0.0 + # via requirements-parser +urllib3==2.0.7 + # via requests +vergit==1.0.2 + # via charm-tools +virtualenv==20.24.6 + # via charm-tools +voluptuous==0.13.1 + # via stestr +wcwidth==0.2.8 + # via cmd2 +zipp==3.17.0 + # via importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +# pip +# setuptools diff --git a/merged-requirements-py38.txt b/merged-requirements-py38.txt new file mode 100644 index 0000000..5b91294 --- /dev/null +++ b/merged-requirements-py38.txt @@ -0,0 +1,208 @@ +# +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: +# +# pip-compile --output-file=merged-requirements-py38.txt requirements.in test-requirements.in +# +attrs==23.1.0 + # via jsonschema +blessings==1.7 + # via charm-tools +certifi==2023.7.22 + # via requests +cffi==1.16.0 + # via cryptography +charm-tools @ git+https://github.com/juju/charm-tools.git + # via -r requirements.in +charmhelpers==1.2.1 + # via charms-reactive +charms-openstack @ git+https://github.com/openstack/charms.openstack.git@stable/bobcat + # via -r test-requirements.in +charms-reactive==1.5.2 + # via -r test-requirements.in +charset-normalizer==3.3.1 + # via requests +cheetah3==3.2.6.post1 + # via charm-tools +cliff==2.18.0 + # via + # -r test-requirements.in + # stestr +cmd2==0.8.9 + # via cliff +colander==1.8.3 + # via charm-tools +coverage==7.3.2 + # via -r test-requirements.in +cryptography==3.3.2 + # via + # -r requirements.in + # -r test-requirements.in + # secretstorage +dict2colander==0.2 + # via charm-tools +distlib==0.3.7 + # via virtualenv +extras==1.0.0 + # via stestr +filelock==3.12.4 + # via virtualenv +fixtures==3.0.0 + # via + # stestr + # testtools +hvac==2.0.0 + # via -r test-requirements.in +idna==3.4 + # via requests +importlib-metadata==6.8.0 + # via keyring +importlib-resources==6.1.0 + # via + # jsonschema + # keyring +iso8601==2.1.0 + # via + # colander + # python-subunit +jaraco-classes==3.3.0 + # via keyring +jeepney==0.8.0 + # via + # keyring + # secretstorage +jinja2==3.1.2 + # via charmhelpers +jsonschema==4.17.3 + # via charm-tools +jujubundlelib==0.5.7 + # via charm-tools +keyring==23.13.1 + # via charm-tools +lxml==4.9.3 + # via -r test-requirements.in +markupsafe==2.1.3 + # via jinja2 +mock==5.1.0 + # via -r test-requirements.in +more-itertools==10.1.0 + # via jaraco-classes +netaddr==0.9.0 + # via charmhelpers +netifaces==0.11.0 + # via -r test-requirements.in +nose==1.3.7 + # via -r test-requirements.in +otherstuf==1.1.0 + # via charm-tools +parse==1.19.1 + # via stuf +path==16.7.1 + # via path-py +path-py==12.5.0 + # via charm-tools +pathspec==0.10.3 + # via charm-tools +pbr==5.6.0 + # via + # -r test-requirements.in + # charmhelpers + # cliff + # fixtures + # stestr + # stevedore + # testtools +pkgutil-resolve-name==1.3.10 + # via jsonschema +platformdirs==3.11.0 + # via virtualenv +prettytable==0.7.2 + # via cliff +psutil==5.9.6 + # via -r test-requirements.in +psycopg2-binary==2.9.9 + # via -r test-requirements.in +pyaml==23.9.7 + # via charms-reactive +pycparser==2.21 + # via cffi +pyparsing==2.4.7 + # via + # -r test-requirements.in + # cliff + # cmd2 +pyperclip==1.8.2 + # via cmd2 +pyrsistent==0.19.3 + # via jsonschema +python-subunit==1.4.3 + # via stestr +pyyaml==6.0.1 + # via + # charm-tools + # charmhelpers + # cliff + # jujubundlelib + # pyaml + # stestr +requests==2.31.0 + # via + # -r test-requirements.in + # charm-tools + # hvac +requirements-parser==0.5.0 + # via charm-tools +ruamel-yaml==0.17.40 + # via charm-tools +ruamel-yaml-clib==0.2.8 + # via ruamel-yaml +secretstorage==3.3.3 + # via + # charm-tools + # keyring +simplejson==3.19.2 + # via -r requirements.in +six==1.16.0 + # via + # blessings + # cliff + # cmd2 + # cryptography + # fixtures +stestr==4.1.0 + # via -r test-requirements.in +stevedore==5.1.0 + # via cliff +stuf==0.9.16 + # via otherstuf +tenacity==8.2.3 + # via -r test-requirements.in +testtools==2.6.0 + # via + # fixtures + # python-subunit + # stestr +tomlkit==0.12.1 + # via stestr +translationstring==1.4 + # via colander +types-setuptools==68.2.0.0 + # via requirements-parser +urllib3==2.0.7 + # via requests +vergit==1.0.2 + # via charm-tools +virtualenv==20.24.6 + # via charm-tools +voluptuous==0.13.1 + # via stestr +wcwidth==0.2.8 + # via cmd2 +zipp==3.17.0 + # via + # importlib-metadata + # importlib-resources + +# The following packages are considered to be unsafe in a requirements file: +# pip +# setuptools diff --git a/osci.yaml b/osci.yaml index 78eeffb..856c57c 100644 --- a/osci.yaml +++ b/osci.yaml @@ -4,18 +4,17 @@ - charm-functional-jobs check: jobs: + - jammy-antelope - test-s3-jammy-antelope-s3 - test-s3-jammy-bobcat-s3: voting: false - - test-s3-lunar-antelope-s3: - voting: false - test-s3-mantic-bobcat-s3: voting: false vars: needs_charm_build: true charm_build_name: gnocchi build_type: charmcraft - charmcraft_channel: 2.x/edge + charmcraft_channel: 2.x/stable - job: name: test-s3-jammy-antelope-s3 @@ -28,20 +27,13 @@ name: test-s3-jammy-bobcat-s3 parent: func-target dependencies: - - jammy-antelope + - jammy-bobcat vars: tox_extra_args: '-- test-s3:jammy-bobcat-s3' -- job: - name: test-s3-lunar-antelope-s3 - parent: func-target - dependencies: - - jammy-antelope - vars: - tox_extra_args: '-- test-s3:lunar-antelope-s3' - job: name: test-s3-mantic-bobcat-s3 parent: func-target dependencies: - - jammy-antelope + - jammy-bobcat vars: tox_extra_args: '-- test-s3:mantic-bobcat-s3' diff --git a/requirements.txt b/requirements.in similarity index 100% rename from requirements.txt rename to requirements.in diff --git a/src/build.lock b/src/build.lock new file mode 100644 index 0000000..ce83837 --- /dev/null +++ b/src/build.lock @@ -0,0 +1,320 @@ +{ + "locks": [ + { + "type": "layer", + "item": "layer:options", + "url": "https://github.com/juju-solutions/layer-options.git", + "vcs": null, + "branch": "fcdcea4e5de3e1556c24e6704607862d0ba00a56", + "commit": "fcdcea4e5de3e1556c24e6704607862d0ba00a56" + }, + { + "type": "layer", + "item": "layer:basic", + "url": "https://github.com/juju-solutions/layer-basic.git", + "vcs": null, + "branch": "23e978fe2872c30511f34ad30a284e34f800e20f", + "commit": "23e978fe2872c30511f34ad30a284e34f800e20f" + }, + { + "type": "layer", + "item": "layer:openstack", + "url": "https://github.com/openstack/charm-layer-openstack", + "vcs": null, + "branch": "1c9e662d78b328c6d4587171ccba08572e8dcf25", + "commit": "1c9e662d78b328c6d4587171ccba08572e8dcf25" + }, + { + "type": "layer", + "item": "layer:openstack-principle", + "url": "https://github.com/openstack/charm-layer-openstack-principle", + "vcs": null, + "branch": "2541283a7f9c3fa923c0fccd7257e217e11dadcd", + "commit": "2541283a7f9c3fa923c0fccd7257e217e11dadcd" + }, + { + "type": "layer", + "item": "layer:openstack-api", + "url": "https://github.com/openstack/charm-layer-openstack-api", + "vcs": null, + "branch": "34311a62e963d0ce903b7ddb9d70b8f071f71651", + "commit": "34311a62e963d0ce903b7ddb9d70b8f071f71651" + }, + { + "type": "layer", + "item": "gnocchi", + "url": null, + "vcs": null, + "branch": null, + "commit": "" + }, + { + "type": "layer", + "item": "interface:tls-certificates", + "url": "https://github.com/juju-solutions/interface-tls-certificates", + "vcs": null, + "branch": "3056e1fbc5164190c135b20579ab31c89af0b132", + "commit": "3056e1fbc5164190c135b20579ab31c89af0b132" + }, + { + "type": "layer", + "item": "interface:mysql-shared", + "url": "https://github.com/openstack/charm-interface-mysql-shared", + "vcs": null, + "branch": "f90f8c6edce21e4da3a872f0f9d6761730ce025d", + "commit": "f90f8c6edce21e4da3a872f0f9d6761730ce025d" + }, + { + "type": "layer", + "item": "interface:rabbitmq", + "url": "https://github.com/openstack/charm-interface-rabbitmq", + "vcs": null, + "branch": "383121fc584d2d3bf9d233eba0d3708398a4c468", + "commit": "383121fc584d2d3bf9d233eba0d3708398a4c468" + }, + { + "type": "layer", + "item": "interface:keystone", + "url": "https://github.com/openstack/charm-interface-keystone", + "vcs": null, + "branch": "36ea7b385a569ebabca7184ed4ce8420bb8fa61a", + "commit": "36ea7b385a569ebabca7184ed4ce8420bb8fa61a" + }, + { + "type": "layer", + "item": "interface:hacluster", + "url": "https://github.com/openstack/charm-interface-hacluster.git", + "vcs": null, + "branch": "5fc5216f51dcf98530d45e137d55fd94b39d150a", + "commit": "5fc5216f51dcf98530d45e137d55fd94b39d150a" + }, + { + "type": "layer", + "item": "interface:openstack-ha", + "url": "https://github.com/openstack/charm-interface-openstack-ha", + "vcs": null, + "branch": "a3b00e5b5fd857d130698c5cfe4b918877f0ab80", + "commit": "a3b00e5b5fd857d130698c5cfe4b918877f0ab80" + }, + { + "type": "layer", + "item": "interface:ceph-client", + "url": "https://opendev.org/openstack/charm-interface-ceph-client.git", + "vcs": null, + "branch": "d9f3b53ca0cf30e47347a68beab59da5c03ce4c7", + "commit": "d9f3b53ca0cf30e47347a68beab59da5c03ce4c7" + }, + { + "type": "layer", + "item": "interface:gnocchi", + "url": "https://github.com/openstack/charm-interface-gnocchi", + "vcs": null, + "branch": "9efd83a5728bee385a93887e8669a513e198a8fe", + "commit": "9efd83a5728bee385a93887e8669a513e198a8fe" + }, + { + "type": "layer", + "item": "interface:memcache", + "url": "https://github.com/canonical/interface-memcache.git", + "vcs": null, + "branch": "ab0958e171093f151427eaf62afdf9ae8c20ed0d", + "commit": "ab0958e171093f151427eaf62afdf9ae8c20ed0d" + }, + { + "type": "python_module", + "package": "pip", + "vcs": null, + "version": "22.0.4" + }, + { + "type": "python_module", + "package": "botocore", + "vcs": null, + "version": "1.31.64" + }, + { + "type": "python_module", + "package": "pyaml", + "vcs": null, + "version": "21.10.1" + }, + { + "type": "python_module", + "package": "urllib3", + "vcs": null, + "version": "2.0.6" + }, + { + "type": "python_module", + "package": "anyio", + "vcs": null, + "version": "3.6.2" + }, + { + "type": "python_module", + "package": "tomli", + "vcs": null, + "version": "2.0.1" + }, + { + "type": "python_module", + "package": "flit_scm", + "vcs": null, + "version": "1.7.0" + }, + { + "type": "python_module", + "package": "netifaces", + "vcs": null, + "version": "0.11.0" + }, + { + "type": "python_module", + "package": "dnspython", + "vcs": null, + "version": "2.4.2" + }, + { + "type": "python_module", + "package": "pbr", + "vcs": null, + "version": "5.11.1" + }, + { + "type": "python_module", + "package": "charms.reactive", + "vcs": null, + "version": "1.5.2" + }, + { + "type": "python_module", + "package": "Jinja2", + "vcs": null, + "version": "3.1.2" + }, + { + "type": "python_module", + "package": "MarkupSafe", + "vcs": null, + "version": "2.1.3" + }, + { + "type": "python_module", + "package": "packaging", + "vcs": null, + "version": "23.2" + }, + { + "type": "python_module", + "package": "charmhelpers", + "url": "git+https://github.com/juju/charm-helpers.git", + "branch": "stable/bobcat", + "version": "fb4c77601caed98e029811dcb7970f5f36d37042", + "vcs": "git" + }, + { + "type": "python_module", + "package": "netaddr", + "vcs": null, + "version": "0.7.19" + }, + { + "type": "python_module", + "package": "idna", + "vcs": null, + "version": "3.4" + }, + { + "type": "python_module", + "package": "charms.openstack", + "url": "git+https://github.com/openstack/charms.openstack.git", + "branch": "stable/bobcat", + "version": "70f9e32f057938d8ad5e01da20eabb83d3d34847", + "vcs": "git" + }, + { + "type": "python_module", + "package": "sniffio", + "vcs": null, + "version": "1.3.0" + }, + { + "type": "python_module", + "package": "boto3", + "vcs": null, + "version": "1.28.64" + }, + { + "type": "python_module", + "package": "wheel", + "vcs": null, + "version": "0.41.2" + }, + { + "type": "python_module", + "package": "setuptools", + "vcs": null, + "version": "62.1.0" + }, + { + "type": "python_module", + "package": "s3transfer", + "vcs": null, + "version": "0.7.0" + }, + { + "type": "python_module", + "package": "Cython", + "vcs": null, + "version": "0.29.36" + }, + { + "type": "python_module", + "package": "python-dateutil", + "vcs": null, + "version": "2.8.2" + }, + { + "type": "python_module", + "package": "psutil", + "vcs": null, + "version": "5.9.6" + }, + { + "type": "python_module", + "package": "jmespath", + "vcs": null, + "version": "1.0.1" + }, + { + "type": "python_module", + "package": "six", + "vcs": null, + "version": "1.16.0" + }, + { + "type": "python_module", + "package": "setuptools_scm", + "vcs": null, + "version": "6.4.2" + }, + { + "type": "python_module", + "package": "flit_core", + "vcs": null, + "version": "3.9.0" + }, + { + "type": "python_module", + "package": "poetry_core", + "vcs": null, + "version": "1.7.0" + }, + { + "type": "python_module", + "package": "PyYAML", + "vcs": null, + "version": "6.0.1" + } + ] +} \ No newline at end of file diff --git a/src/metadata.yaml b/src/metadata.yaml index 136f460..33d199d 100644 --- a/src/metadata.yaml +++ b/src/metadata.yaml @@ -11,7 +11,6 @@ tags: - openstack series: - jammy -- lunar - mantic provides: metric-service: diff --git a/src/test-requirements-py38.txt b/src/test-requirements-py38.txt new file mode 100644 index 0000000..be1c858 --- /dev/null +++ b/src/test-requirements-py38.txt @@ -0,0 +1,689 @@ +# +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: +# +# pip-compile --output-file=src/test-requirements-py38.txt src/test-requirements.in +# +aiohttp==3.8.6 + # via + # python-libmaas + # zaza +aiosignal==1.3.1 + # via aiohttp +aodhclient==3.3.0 + # via zaza-openstack +appdirs==1.4.4 + # via python-ironicclient +argcomplete==3.1.2 + # via python-libmaas +async-generator==1.10 + # via + # zaza + # zaza-openstack +async-timeout==4.0.3 + # via aiohttp +attrs==23.1.0 + # via + # aiohttp + # cmd2 + # jsonschema + # referencing +autopage==0.5.2 + # via cliff +babel==2.13.1 + # via + # python-cinderclient + # python-heatclient + # python-manilaclient + # python-neutronclient + # python-novaclient + # python-octaviaclient + # python-openstackclient +bcrypt==4.0.1 + # via paramiko +boto3==1.28.70 + # via zaza-openstack +botocore==1.31.70 + # via + # boto3 + # s3transfer +cachetools==5.3.2 + # via + # google-auth + # tox +certifi==2023.7.22 + # via + # kubernetes + # requests +cffi==1.16.0 + # via + # cryptography + # pynacl +chardet==5.2.0 + # via tox +charset-normalizer==3.3.1 + # via + # aiohttp + # requests +cliff==4.3.0 + # via + # aodhclient + # gnocchiclient + # osc-lib + # python-barbicanclient + # python-cloudkittyclient + # python-designateclient + # python-heatclient + # python-ironicclient + # python-neutronclient + # python-octaviaclient + # python-openstackclient + # python-watcherclient +cmd2==2.4.3 + # via cliff +colorama==0.4.6 + # via tox +colorclass==2.2.2 + # via python-libmaas +cryptography==3.3.2 + # via + # openstacksdk + # paramiko + # pyopenssl + # python-magnumclient + # trustme + # zaza + # zaza-openstack +debtcollector==2.5.0 + # via + # gnocchiclient + # oslo-config + # oslo-context + # oslo-log + # oslo-utils + # python-designateclient + # python-keystoneclient + # python-manilaclient + # python-neutronclient +decorator==5.1.1 + # via + # dogpile-cache + # jsonpath-rw + # openstacksdk + # python-magnumclient +distlib==0.3.7 + # via virtualenv +dnspython==2.4.2 + # via + # pymongo + # zaza-openstack +dogpile-cache==1.2.2 + # via + # openstacksdk + # python-ironicclient +fasteners==0.19 + # via oslo-concurrency +filelock==3.12.4 + # via + # tox + # virtualenv +frozenlist==1.4.0 + # via + # aiohttp + # aiosignal +futurist==1.10.0 + # via + # gnocchiclient + # zaza-openstack +gnocchiclient==7.0.8 + # via zaza-openstack +google-auth==2.23.3 + # via kubernetes +hvac==0.6.4 + # via + # zaza + # zaza-openstack +idna==3.4 + # via + # requests + # trustme + # yarl +importlib-metadata==6.8.0 + # via cliff +importlib-resources==6.1.0 + # via + # jsonschema + # jsonschema-specifications +iso8601==2.1.0 + # via + # gnocchiclient + # keystoneauth1 + # openstacksdk + # oslo-utils + # python-ceilometerclient + # python-heatclient + # python-neutronclient + # python-novaclient +jinja2==3.1.2 + # via + # zaza + # zaza-openstack +jmespath==1.0.1 + # via + # boto3 + # botocore + # openstacksdk +jsonpatch==1.33 + # via + # openstacksdk + # warlock +jsonpath-rw==1.4.0 + # via jsonpath-rw-ext +jsonpath-rw-ext==1.2.2 + # via python-cloudkittyclient +jsonpointer==2.4 + # via jsonpatch +jsonschema==4.19.1 + # via + # python-designateclient + # python-ironicclient + # warlock +jsonschema-specifications==2023.7.1 + # via jsonschema +juju==2.9.44.1 + # via zaza +juju-wait==2.8.4 + # via zaza +jujubundlelib==0.5.7 + # via theblues +keystoneauth1==5.3.0 + # via + # aodhclient + # gnocchiclient + # openstacksdk + # osc-lib + # python-barbicanclient + # python-ceilometerclient + # python-cinderclient + # python-cloudkittyclient + # python-designateclient + # python-glanceclient + # python-heatclient + # python-ironicclient + # python-keystoneclient + # python-magnumclient + # python-neutronclient + # python-novaclient + # python-octaviaclient + # python-openstackclient + # python-watcherclient +kubernetes==28.1.0 + # via juju +lxml==4.9.3 + # via zaza-openstack +macaroonbakery==1.3.1 + # via + # juju + # python-libmaas + # theblues +markupsafe==2.1.3 + # via jinja2 +msgpack==1.0.7 + # via oslo-serialization +multidict==6.0.4 + # via + # aiohttp + # yarl +mypy-extensions==1.0.0 + # via typing-inspect +netaddr==0.9.0 + # via + # oslo-config + # oslo-utils + # osprofiler + # python-neutronclient +netifaces==0.11.0 + # via + # openstacksdk + # oslo-utils + # python-octaviaclient +oauthlib==3.2.2 + # via + # kubernetes + # python-libmaas + # requests-oauthlib +openstacksdk==2.0.0 + # via + # os-client-config + # osc-lib + # python-ironicclient + # python-openstackclient +os-client-config==2.1.0 + # via + # python-cloudkittyclient + # python-magnumclient + # python-neutronclient +os-service-types==1.7.0 + # via + # keystoneauth1 + # openstacksdk +osc-lib==2.8.1 + # via + # aodhclient + # python-cloudkittyclient + # python-designateclient + # python-heatclient + # python-ironicclient + # python-magnumclient + # python-neutronclient + # python-octaviaclient + # python-openstackclient + # python-watcherclient +oslo-concurrency==5.2.0 + # via osprofiler +oslo-config==6.11.3 + # via + # oslo-concurrency + # oslo-log + # python-keystoneclient + # python-manilaclient + # zaza + # zaza-openstack +oslo-context==5.2.0 + # via oslo-log +oslo-i18n==6.1.0 + # via + # aodhclient + # osc-lib + # oslo-concurrency + # oslo-config + # oslo-log + # oslo-utils + # python-barbicanclient + # python-ceilometerclient + # python-cinderclient + # python-glanceclient + # python-heatclient + # python-keystoneclient + # python-magnumclient + # python-neutronclient + # python-novaclient + # python-openstackclient + # python-watcherclient +oslo-log==5.3.0 + # via + # python-cloudkittyclient + # python-magnumclient + # python-manilaclient + # python-neutronclient +oslo-serialization==5.2.0 + # via + # aodhclient + # oslo-log + # osprofiler + # python-barbicanclient + # python-ceilometerclient + # python-designateclient + # python-heatclient + # python-keystoneclient + # python-magnumclient + # python-manilaclient + # python-neutronclient + # python-novaclient + # python-octaviaclient + # python-watcherclient +oslo-utils==6.2.1 + # via + # aodhclient + # osc-lib + # oslo-concurrency + # oslo-log + # oslo-serialization + # osprofiler + # python-barbicanclient + # python-ceilometerclient + # python-cinderclient + # python-cloudkittyclient + # python-designateclient + # python-glanceclient + # python-heatclient + # python-ironicclient + # python-keystoneclient + # python-magnumclient + # python-manilaclient + # python-neutronclient + # python-novaclient + # python-octaviaclient + # python-openstackclient + # python-watcherclient +osprofiler==4.1.0 + # via aodhclient +packaging==23.2 + # via + # oslo-utils + # pyproject-api + # tox +paramiko==2.12.0 + # via juju +pbr==5.11.1 + # via + # aodhclient + # futurist + # jsonpath-rw-ext + # keystoneauth1 + # openstacksdk + # os-service-types + # osc-lib + # oslo-concurrency + # oslo-context + # oslo-i18n + # oslo-log + # oslo-serialization + # python-barbicanclient + # python-ceilometerclient + # python-cinderclient + # python-cloudkittyclient + # python-designateclient + # python-glanceclient + # python-heatclient + # python-ironicclient + # python-keystoneclient + # python-magnumclient + # python-manilaclient + # python-neutronclient + # python-novaclient + # python-octaviaclient + # python-openstackclient + # python-watcherclient + # stevedore +pika==1.3.2 + # via zaza-openstack +pkgutil-resolve-name==1.3.10 + # via jsonschema +platformdirs==3.11.0 + # via + # openstacksdk + # tox + # virtualenv +pluggy==1.3.0 + # via tox +ply==3.11 + # via jsonpath-rw +prettytable==0.7.2 + # via + # cliff + # futurist + # osprofiler + # python-ceilometerclient + # python-cinderclient + # python-glanceclient + # python-heatclient + # python-magnumclient + # python-manilaclient + # python-novaclient +protobuf==3.20.3 + # via macaroonbakery +pyasn1==0.5.0 + # via + # juju + # pyasn1-modules + # rsa +pyasn1-modules==0.3.0 + # via google-auth +pycparser==2.21 + # via cffi +pyinotify==0.9.6 + # via oslo-log +pymacaroons==0.13.0 + # via macaroonbakery +pymongo==4.5.0 + # via python-libmaas +pynacl==1.5.0 + # via + # macaroonbakery + # paramiko + # pymacaroons +pyopenssl==21.0.0 + # via + # python-glanceclient + # zaza-openstack +pyparsing==3.1.1 + # via + # aodhclient + # oslo-utils +pyperclip==1.8.2 + # via cmd2 +pyproject-api==1.6.1 + # via tox +pyrfc3339==1.1 + # via + # juju + # macaroonbakery +python-barbicanclient==4.10.0 + # via zaza-openstack +python-ceilometerclient==2.9.0 + # via zaza-openstack +python-cinderclient==5.0.2 + # via + # python-openstackclient + # zaza-openstack +python-cloudkittyclient==4.8.0 + # via zaza-openstack +python-dateutil==2.8.2 + # via + # botocore + # gnocchiclient + # kubernetes + # oslo-log +python-designateclient==2.12.0 + # via zaza-openstack +python-glanceclient==4.4.0 + # via + # python-openstackclient + # zaza-openstack +python-heatclient==1.18.1 + # via zaza-openstack +python-ironicclient==5.4.0 + # via zaza-openstack +python-keystoneclient==3.21.0 + # via + # python-manilaclient + # python-neutronclient + # python-openstackclient + # zaza-openstack +python-libmaas==0.6.8 + # via zaza +python-magnumclient==4.2.0 + # via zaza-openstack +python-manilaclient==1.29.0 + # via zaza-openstack +python-neutronclient==6.14.1 + # via + # python-octaviaclient + # zaza-openstack +python-novaclient==15.1.1 + # via + # python-openstackclient + # zaza-openstack +python-octaviaclient==1.10.1 + # via zaza-openstack +python-openstackclient==4.0.2 + # via python-octaviaclient +python-swiftclient==3.8.1 + # via + # python-heatclient + # zaza-openstack +python-watcherclient==4.2.0 + # via zaza-openstack +pytz==2023.3.post1 + # via + # babel + # oslo-serialization + # oslo-utils + # pyrfc3339 + # python-libmaas +pyyaml==6.0.1 + # via + # cliff + # juju + # juju-wait + # jujubundlelib + # kubernetes + # openstacksdk + # oslo-config + # python-cloudkittyclient + # python-heatclient + # python-ironicclient + # python-libmaas + # python-watcherclient + # zaza + # zaza-openstack +referencing==0.30.2 + # via + # jsonschema + # jsonschema-specifications +requests==2.31.0 + # via + # hvac + # keystoneauth1 + # kubernetes + # macaroonbakery + # oslo-config + # osprofiler + # python-barbicanclient + # python-ceilometerclient + # python-cinderclient + # python-designateclient + # python-glanceclient + # python-heatclient + # python-ironicclient + # python-keystoneclient + # python-magnumclient + # python-manilaclient + # python-neutronclient + # python-octaviaclient + # python-swiftclient + # requests-oauthlib + # theblues +requests-oauthlib==1.3.1 + # via kubernetes +requestsexceptions==1.4.0 + # via openstacksdk +rfc3986==2.0.0 + # via oslo-config +rpds-py==0.10.6 + # via + # jsonschema + # referencing +rsa==4.9 + # via google-auth +s3transfer==0.7.0 + # via boto3 +simplejson==3.19.2 + # via + # osc-lib + # python-cinderclient + # python-manilaclient + # python-neutronclient + # python-novaclient +six==1.16.0 + # via + # cryptography + # futurist + # gnocchiclient + # jsonpath-rw + # kubernetes + # macaroonbakery + # oslo-config + # paramiko + # pymacaroons + # pyopenssl + # python-barbicanclient + # python-ceilometerclient + # python-cinderclient + # python-dateutil + # python-designateclient + # python-heatclient + # python-keystoneclient + # python-manilaclient + # python-neutronclient + # python-novaclient + # python-octaviaclient + # python-openstackclient + # python-swiftclient + # python-watcherclient +stevedore==5.1.0 + # via + # cliff + # dogpile-cache + # keystoneauth1 + # osc-lib + # oslo-config + # python-ceilometerclient + # python-designateclient + # python-ironicclient + # python-keystoneclient + # python-magnumclient +tenacity==8.2.3 + # via + # zaza + # zaza-openstack +terminaltables==3.1.10 + # via python-libmaas +theblues==0.5.2 + # via juju +tomli==2.0.1 + # via + # pyproject-api + # tox +toposort==1.10 + # via juju +tox==4.11.3 + # via -r src/test-requirements.in +trustme==1.1.0 + # via zaza-openstack +typing-extensions==4.8.0 + # via + # dogpile-cache + # typing-inspect +typing-inspect==0.9.0 + # via juju +tzdata==2023.3 + # via + # oslo-serialization + # oslo-utils +ujson==5.8.0 + # via gnocchiclient +urllib3==1.26.18 + # via + # botocore + # kubernetes + # requests +virtualenv==20.24.6 + # via tox +warlock==2.0.1 + # via python-glanceclient +wcwidth==0.2.8 + # via cmd2 +webob==1.8.7 + # via osprofiler +websocket-client==1.6.4 + # via kubernetes +websockets==7.0 + # via juju +wrapt==1.15.0 + # via + # debtcollector + # python-glanceclient +yarl==1.9.2 + # via aiohttp +zaza @ git+https://github.com/openstack-charmers/zaza.git@stable/bobcat + # via + # -r src/test-requirements.in + # zaza-openstack +zaza-openstack @ git+https://github.com/openstack-charmers/zaza-openstack-tests.git@stable/bobcat + # via -r src/test-requirements.in +zipp==3.17.0 + # via + # importlib-metadata + # importlib-resources diff --git a/src/test-requirements.txt b/src/test-requirements.in similarity index 82% rename from src/test-requirements.txt rename to src/test-requirements.in index 9c7afb7..9c693cc 100644 --- a/src/test-requirements.txt +++ b/src/test-requirements.in @@ -8,5 +8,5 @@ tox # 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 +git+https://github.com/openstack-charmers/zaza.git@stable/bobcat#egg=zaza +git+https://github.com/openstack-charmers/zaza-openstack-tests.git@stable/bobcat#egg=zaza.openstack diff --git a/src/tests/bundles/jammy-antelope-s3.yaml b/src/tests/bundles/jammy-antelope-s3.yaml index 7829087..90b721c 100644 --- a/src/tests/bundles/jammy-antelope-s3.yaml +++ b/src/tests/bundles/jammy-antelope-s3.yaml @@ -28,13 +28,13 @@ applications: keystone-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge gnocchi-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge vault-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge mysql-innodb-cluster: charm: ch:mysql-innodb-cluster @@ -43,13 +43,13 @@ applications: - '0' - '1' - '2' - channel: latest/edge + channel: 8.0/edge rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 to: - '3' - channel: latest/edge + channel: 3.9/edge keystone: charm: ch:keystone num_units: 1 @@ -57,7 +57,7 @@ applications: openstack-origin: *openstack-origin to: - '4' - channel: latest/edge + channel: 2023.2/edge ceilometer: charm: ch:ceilometer num_units: 1 @@ -65,7 +65,7 @@ applications: openstack-origin: *openstack-origin to: - '5' - channel: latest/edge + channel: 2023.2/edge gnocchi: series: *series charm: ../../../gnocchi_ubuntu-22.04-amd64.charm @@ -104,14 +104,14 @@ applications: zone: 1 to: - '8' - channel: latest/edge + channel: 2023.2/edge vault: charm: ch:vault num_units: 1 series: *series to: - '9' - channel: latest/edge + channel: 1.8/edge relations: - - keystone:shared-db - keystone-mysql-router:shared-db diff --git a/src/tests/bundles/jammy-antelope.yaml b/src/tests/bundles/jammy-antelope.yaml index aa9d4d7..3e04677 100644 --- a/src/tests/bundles/jammy-antelope.yaml +++ b/src/tests/bundles/jammy-antelope.yaml @@ -31,10 +31,10 @@ applications: keystone-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge gnocchi-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge mysql-innodb-cluster: charm: ch:mysql-innodb-cluster @@ -43,14 +43,14 @@ applications: - '0' - '1' - '2' - channel: latest/edge + channel: 8.0/edge rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 to: - '3' - channel: latest/edge + channel: 3.9/edge keystone: charm: ch:keystone @@ -59,7 +59,7 @@ applications: openstack-origin: *openstack-origin to: - '4' - channel: latest/edge + channel: 2023.2/edge ceilometer: charm: ch:ceilometer @@ -68,7 +68,7 @@ applications: openstack-origin: *openstack-origin to: - '5' - channel: latest/edge + channel: 2023.2/edge ceph-osd: charm: ch:ceph-osd @@ -81,7 +81,7 @@ applications: - '6' - '7' - '8' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -94,7 +94,7 @@ applications: - '9' - '10' - '11' - channel: latest/edge + channel: reef/edge gnocchi: series: *series diff --git a/src/tests/bundles/jammy-bobcat.yaml b/src/tests/bundles/jammy-bobcat.yaml index 71e3dbe..c9d2f4f 100644 --- a/src/tests/bundles/jammy-bobcat.yaml +++ b/src/tests/bundles/jammy-bobcat.yaml @@ -31,10 +31,10 @@ applications: keystone-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge gnocchi-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge mysql-innodb-cluster: charm: ch:mysql-innodb-cluster @@ -43,14 +43,14 @@ applications: - '0' - '1' - '2' - channel: latest/edge + channel: 8.0/edge rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 to: - '3' - channel: latest/edge + channel: 3.9/edge keystone: charm: ch:keystone @@ -59,7 +59,7 @@ applications: openstack-origin: *openstack-origin to: - '4' - channel: latest/edge + channel: 2023.2/edge ceilometer: charm: ch:ceilometer @@ -68,7 +68,7 @@ applications: openstack-origin: *openstack-origin to: - '5' - channel: latest/edge + channel: 2023.2/edge ceph-osd: charm: ch:ceph-osd @@ -81,7 +81,7 @@ applications: - '6' - '7' - '8' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -94,7 +94,7 @@ applications: - '9' - '10' - '11' - channel: latest/edge + channel: reef/edge gnocchi: series: *series diff --git a/src/tests/bundles/lunar-antelope.yaml b/src/tests/bundles/lunar-antelope.yaml deleted file mode 100644 index 725ed6e..0000000 --- a/src/tests/bundles/lunar-antelope.yaml +++ /dev/null @@ -1,154 +0,0 @@ -variables: - openstack-origin: &openstack-origin distro - -local_overlay_enabled: False - -series: &series lunar - -machines: - '0': - constraints: mem=3072M - '1': - constraints: mem=3072M - '2': - constraints: mem=3072M - '3': - '4': - '5': - '6': - '7': - '8': - '9': - '10': - '11': - '12': - '13': - series: focal - -# We specify machine placements for these to improve iteration -# time, given that machine "0" comes up way before machine "6" -applications: - - keystone-mysql-router: - charm: ch:mysql-router - channel: latest/edge - gnocchi-mysql-router: - charm: ch:mysql-router - channel: latest/edge - - mysql-innodb-cluster: - charm: ch:mysql-innodb-cluster - num_units: 3 - options: - source: *openstack-origin - to: - - '0' - - '1' - - '2' - channel: latest/edge - - rabbitmq-server: - charm: ch:rabbitmq-server - num_units: 1 - options: - source: *openstack-origin - to: - - '3' - channel: latest/edge - - keystone: - charm: ch:keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '4' - channel: latest/edge - - ceilometer: - charm: ch:ceilometer - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '5' - channel: latest/edge - - ceph-osd: - charm: ch:ceph-osd - num_units: 3 - storage: - osd-devices: 'cinder,10G' - options: - source: *openstack-origin - to: - - '6' - - '7' - - '8' - channel: latest/edge - - ceph-mon: - charm: ch:ceph-mon - num_units: 3 - options: - expected-osd-count: 3 - monitor-count: '3' - source: *openstack-origin - to: - - '9' - - '10' - - '11' - channel: latest/edge - - gnocchi: - series: *series - charm: ../../../gnocchi_ubuntu-23.04-amd64.charm - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '12' - - memcached: - charm: ch:memcached - num_units: 1 - # Note that holding memcached at focal as it's not available at lunar yet. - series: focal - to: - - '13' - -relations: - - - - 'keystone:shared-db' - - 'keystone-mysql-router:shared-db' - - - 'keystone-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'ceph-osd:mon' - - 'ceph-mon:osd' - - - - 'ceilometer:amqp' - - 'rabbitmq-server:amqp' - - - - 'ceilometer:identity-credentials' - - 'keystone:identity-credentials' - - - - 'ceilometer:identity-notifications' - - 'keystone:identity-notifications' - - - - 'ceilometer:metric-service' - - 'gnocchi:metric-service' - - - - 'gnocchi:identity-service' - - 'keystone:identity-service' - - - - 'gnocchi:shared-db' - - 'gnocchi-mysql-router:shared-db' - - - 'gnocchi-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'gnocchi:storage-ceph' - - 'ceph-mon:client' - - - - 'gnocchi:coordinator-memcached' - - 'memcached:cache' diff --git a/src/tests/bundles/mantic-bobcat.yaml b/src/tests/bundles/mantic-bobcat.yaml index 9e1caa8..15ca82e 100644 --- a/src/tests/bundles/mantic-bobcat.yaml +++ b/src/tests/bundles/mantic-bobcat.yaml @@ -31,10 +31,10 @@ applications: keystone-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge gnocchi-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge mysql-innodb-cluster: charm: ch:mysql-innodb-cluster @@ -43,14 +43,14 @@ applications: - '0' - '1' - '2' - channel: latest/edge + channel: 8.0/edge rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 to: - '3' - channel: latest/edge + channel: 3.9/edge keystone: charm: ch:keystone @@ -59,7 +59,7 @@ applications: openstack-origin: *openstack-origin to: - '4' - channel: latest/edge + channel: 2023.2/edge ceilometer: charm: ch:ceilometer @@ -68,7 +68,7 @@ applications: openstack-origin: *openstack-origin to: - '5' - channel: latest/edge + channel: 2023.2/edge ceph-osd: charm: ch:ceph-osd @@ -81,7 +81,7 @@ applications: - '6' - '7' - '8' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -94,7 +94,7 @@ applications: - '9' - '10' - '11' - channel: latest/edge + channel: reef/edge gnocchi: series: *series diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index 5a8e1a9..9c12b12 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -8,7 +8,6 @@ smoke_bundles: dev_bundles: - test-s3: jammy-bobcat-s3 - - test-s3: lunar-antelope-s3 - test-s3: mantic-bobcat-s3 configure: @@ -43,5 +42,4 @@ target_deploy_status: tests_options: force_deploy: - - lunar-antelope-s3 - mantic-bobcat-s3 diff --git a/src/tox.ini b/src/tox.ini index b40d295..02883a7 100644 --- a/src/tox.ini +++ b/src/tox.ini @@ -6,54 +6,48 @@ [tox] envlist = pep8 -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 -# NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci -minversion = 3.18.0 [testenv] +# We use tox mainly for virtual environment management for test requirements +# and do not install the charm code as a Python package into that environment. +# Ref: https://tox.wiki/en/latest/config.html#skip_install +skip_install = True setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 allowlist_externals = juju -passenv = HOME TERM CS_* OS_* TEST_* -deps = -r{toxinidir}/test-requirements.txt -install_command = - pip install {opts} {packages} +passenv = + HOME + TERM + CS_* + OS_* + TEST_* +deps = -r{toxinidir}/test-requirements-py38.txt [testenv:pep8] -basepython = python3 +basepython = python3.8 commands = charm-proof [testenv:func-noop] -basepython = python3 +basepython = python3.8 commands = functest-run-suite --help [testenv:func] -basepython = python3 +basepython = python3.8 commands = functest-run-suite --keep-model [testenv:func-smoke] -basepython = python3 +basepython = python3.8 commands = functest-run-suite --keep-model --smoke [testenv:func-target] -basepython = python3 +basepython = python3.8 commands = functest-run-suite --keep-model --bundle {posargs} diff --git a/src/wheelhouse.txt b/src/wheelhouse.txt index b1922af..9f03d8e 100644 --- a/src/wheelhouse.txt +++ b/src/wheelhouse.txt @@ -1,5 +1,5 @@ boto3 -git+https://github.com/openstack/charms.openstack.git#egg=charms.openstack +git+https://github.com/openstack/charms.openstack.git@stable/bobcat#egg=charms.openstack -git+https://github.com/juju/charm-helpers.git#egg=charmhelpers +git+https://github.com/juju/charm-helpers.git@stable/bobcat#egg=charmhelpers diff --git a/test-requirements-py310.txt b/test-requirements-py310.txt new file mode 100644 index 0000000..471a17a --- /dev/null +++ b/test-requirements-py310.txt @@ -0,0 +1,117 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# pip-compile --output-file=test-requirements-py310.txt test-requirements.in +# +certifi==2023.7.22 + # via requests +cffi==1.16.0 + # via cryptography +charmhelpers==1.2.1 + # via charms-reactive +charms-openstack @ git+https://github.com/openstack/charms.openstack.git@stable/bobcat + # via -r test-requirements.in +charms-reactive==1.5.2 + # via -r test-requirements.in +charset-normalizer==3.3.1 + # via requests +cliff==2.18.0 + # via + # -r test-requirements.in + # stestr +cmd2==0.8.9 + # via cliff +coverage==7.3.2 + # via -r test-requirements.in +cryptography==3.3.2 + # via -r test-requirements.in +extras==1.0.0 + # via stestr +fixtures==3.0.0 + # via + # stestr + # testtools +hvac==2.0.0 + # via -r test-requirements.in +idna==3.4 + # via requests +iso8601==2.1.0 + # via python-subunit +jinja2==3.1.2 + # via charmhelpers +lxml==4.9.3 + # via -r test-requirements.in +markupsafe==2.1.3 + # via jinja2 +mock==5.1.0 + # via -r test-requirements.in +netaddr==0.9.0 + # via charmhelpers +netifaces==0.11.0 + # via -r test-requirements.in +nose==1.3.7 + # via -r test-requirements.in +pbr==5.6.0 + # via + # -r test-requirements.in + # charmhelpers + # cliff + # fixtures + # stestr + # stevedore + # testtools +prettytable==0.7.2 + # via cliff +psutil==5.9.6 + # via -r test-requirements.in +psycopg2-binary==2.9.9 + # via -r test-requirements.in +pyaml==23.9.7 + # via charms-reactive +pycparser==2.21 + # via cffi +pyparsing==2.4.7 + # via + # -r test-requirements.in + # cliff + # cmd2 +pyperclip==1.8.2 + # via cmd2 +python-subunit==1.4.3 + # via stestr +pyyaml==6.0.1 + # via + # charmhelpers + # cliff + # pyaml + # stestr +requests==2.31.0 + # via + # -r test-requirements.in + # hvac +six==1.16.0 + # via + # cliff + # cmd2 + # cryptography + # fixtures +stestr==4.1.0 + # via -r test-requirements.in +stevedore==5.1.0 + # via cliff +tenacity==8.2.3 + # via -r test-requirements.in +testtools==2.6.0 + # via + # fixtures + # python-subunit + # stestr +tomlkit==0.12.1 + # via stestr +urllib3==2.0.7 + # via requests +voluptuous==0.13.1 + # via stestr +wcwidth==0.2.8 + # via cmd2 diff --git a/test-requirements-py38.txt b/test-requirements-py38.txt new file mode 100644 index 0000000..594645a --- /dev/null +++ b/test-requirements-py38.txt @@ -0,0 +1,117 @@ +# +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: +# +# pip-compile --output-file=test-requirements-py38.txt test-requirements.in +# +certifi==2023.7.22 + # via requests +cffi==1.16.0 + # via cryptography +charmhelpers==1.2.1 + # via charms-reactive +charms-openstack @ git+https://github.com/openstack/charms.openstack.git@stable/bobcat + # via -r test-requirements.in +charms-reactive==1.5.2 + # via -r test-requirements.in +charset-normalizer==3.3.1 + # via requests +cliff==2.18.0 + # via + # -r test-requirements.in + # stestr +cmd2==0.8.9 + # via cliff +coverage==7.3.2 + # via -r test-requirements.in +cryptography==3.3.2 + # via -r test-requirements.in +extras==1.0.0 + # via stestr +fixtures==3.0.0 + # via + # stestr + # testtools +hvac==2.0.0 + # via -r test-requirements.in +idna==3.4 + # via requests +iso8601==2.1.0 + # via python-subunit +jinja2==3.1.2 + # via charmhelpers +lxml==4.9.3 + # via -r test-requirements.in +markupsafe==2.1.3 + # via jinja2 +mock==5.1.0 + # via -r test-requirements.in +netaddr==0.9.0 + # via charmhelpers +netifaces==0.11.0 + # via -r test-requirements.in +nose==1.3.7 + # via -r test-requirements.in +pbr==5.6.0 + # via + # -r test-requirements.in + # charmhelpers + # cliff + # fixtures + # stestr + # stevedore + # testtools +prettytable==0.7.2 + # via cliff +psutil==5.9.6 + # via -r test-requirements.in +psycopg2-binary==2.9.9 + # via -r test-requirements.in +pyaml==23.9.7 + # via charms-reactive +pycparser==2.21 + # via cffi +pyparsing==2.4.7 + # via + # -r test-requirements.in + # cliff + # cmd2 +pyperclip==1.8.2 + # via cmd2 +python-subunit==1.4.3 + # via stestr +pyyaml==6.0.1 + # via + # charmhelpers + # cliff + # pyaml + # stestr +requests==2.31.0 + # via + # -r test-requirements.in + # hvac +six==1.16.0 + # via + # cliff + # cmd2 + # cryptography + # fixtures +stestr==4.1.0 + # via -r test-requirements.in +stevedore==5.1.0 + # via cliff +tenacity==8.2.3 + # via -r test-requirements.in +testtools==2.6.0 + # via + # fixtures + # python-subunit + # stestr +tomlkit==0.12.1 + # via stestr +urllib3==2.0.7 + # via requests +voluptuous==0.13.1 + # via stestr +wcwidth==0.2.8 + # via cmd2 diff --git a/test-requirements.txt b/test-requirements.in similarity index 92% rename from test-requirements.txt rename to test-requirements.in index 3fd5feb..d48a7e6 100644 --- a/test-requirements.txt +++ b/test-requirements.in @@ -18,7 +18,7 @@ mock>=1.2 nose>=1.3.7 coverage>=3.6 -git+https://github.com/openstack/charms.openstack.git#egg=charms.openstack +git+https://github.com/openstack/charms.openstack.git@stable/bobcat#egg=charms.openstack # # Revisit for removal / mock improvement: # diff --git a/tox.ini b/tox.ini index 5dda268..f6226ac 100644 --- a/tox.ini +++ b/tox.ini @@ -34,51 +34,45 @@ allowlist_externals = bash tox deps = - -r{toxinidir}/requirements.txt + -r{toxinidir}/merged-requirements-py38.txt [testenv:build] basepython = python3 +deps = # charmcraft clean is done to ensure that # `tox -e build` always performs a clean, repeatable build. # For faster rebuilds during development, -# directly run `charmcraft -v pack && ./rename.sh`. +# directly run `charmcraft -v pack commands = charmcraft clean charmcraft -v pack charmcraft clean -[testenv:build-reactive] -basepython = python3 -commands = - charm-build --log-level DEBUG --use-lock-file-branches --binary-wheels-from-source -o {toxinidir}/build/builds src {posargs} - -[testenv:add-build-lock-file] -basepython = python3 -commands = - charm-build --log-level DEBUG --write-lock-file -o {toxinidir}/build/builds src {posargs} - [testenv:py3] basepython = python3 -deps = -r{toxinidir}/test-requirements.txt +deps = -r{toxinidir}/test-requirements-py310.txt +commands = stestr run --slowest {posargs} + +[testenv:py38] +basepython = python3.8 +deps = -r{toxinidir}/test-requirements-py38.txt commands = stestr run --slowest {posargs} [testenv:py310] basepython = python3.10 -deps = -r{toxinidir}/test-requirements.txt +deps = -r{toxinidir}/test-requirements-py310.txt commands = stestr run --slowest {posargs} [testenv:pep8] basepython = python3 deps = flake8==3.9.2 - git+https://github.com/juju/charm-tools.git 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 +deps = -r{toxinidir}/merged-requirements-py310.txt setenv = {[testenv]setenv} PYTHON=coverage run