diff --git a/.gitreview b/.gitreview index b71f81c8..4c321e41 100644 --- a/.gitreview +++ b/.gitreview @@ -2,3 +2,5 @@ host=review.opendev.org port=29418 project=openstack/charm-nova-compute.git + +defaultbranch=stable/2023.2 diff --git a/build-requirements.txt b/build-requirements.txt deleted file mode 100644 index b6d2452f..00000000 --- a/build-requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -# NOTES(lourot): -# * We don't install charmcraft via pip anymore because it anyway spins up a -# container and scp the system's charmcraft snap inside it. So the charmcraft -# snap is necessary on the system anyway. -# * `tox -e build` successfully validated with charmcraft 1.2.1 - -cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35. diff --git a/charm-helpers-hooks.yaml b/charm-helpers-hooks.yaml index 5ee9d355..6cf770c5 100644 --- a/charm-helpers-hooks.yaml +++ b/charm-helpers-hooks.yaml @@ -1,4 +1,4 @@ -repo: https://github.com/juju/charm-helpers +repo: https://github.com/juju/charm-helpers@stable/bobcat destination: hooks/charmhelpers include: - core diff --git a/charmcraft.yaml b/charmcraft.yaml index 62a8f5b8..9124ef48 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -31,9 +31,6 @@ bases: - name: ubuntu channel: "22.04" architectures: [amd64, s390x, ppc64el, arm64] - - name: ubuntu - channel: "23.04" - architectures: [amd64, s390x, ppc64el, arm64] - name: ubuntu channel: "23.10" architectures: [amd64, s390x, ppc64el, arm64] diff --git a/hooks/charmhelpers/contrib/openstack/cert_utils.py b/hooks/charmhelpers/contrib/openstack/cert_utils.py index a25ca995..6620f59f 100644 --- a/hooks/charmhelpers/contrib/openstack/cert_utils.py +++ b/hooks/charmhelpers/contrib/openstack/cert_utils.py @@ -414,18 +414,27 @@ def get_requests_for_local_unit(relation_name=None): is_legacy_request = set(sent).intersection(legacy_keys) for unit in related_units(rid): data = relation_get(rid=rid, unit=unit) - if data.get(raw_certs_key): - bundles.append({ - 'ca': data['ca'], - 'chain': data.get('chain'), - 'certs': json.loads(data[raw_certs_key])}) - elif is_legacy_request: - bundles.append({ - 'ca': data['ca'], - 'chain': data.get('chain'), - 'certs': {sent['common_name']: - {'cert': data.get(local_name + '.server.cert'), - 'key': data.get(local_name + '.server.key')}}}) + # Note: Bug#2028683 - data may not be available if the certificates + # relation hasn't been populated by the providing charm. If no 'ca' + # in the data then don't attempt the bundle at all. + if data.get('ca'): + if data.get(raw_certs_key): + bundles.append({ + 'ca': data['ca'], + 'chain': data.get('chain'), + 'certs': json.loads(data[raw_certs_key]) + }) + elif is_legacy_request: + bundles.append({ + 'ca': data['ca'], + 'chain': data.get('chain'), + 'certs': { + sent['common_name']: { + 'cert': data.get(local_name + '.server.cert'), + 'key': data.get(local_name + '.server.key') + } + } + }) return bundles diff --git a/hooks/charmhelpers/contrib/openstack/context.py b/hooks/charmhelpers/contrib/openstack/context.py index 24a13d0d..42f15032 100644 --- a/hooks/charmhelpers/contrib/openstack/context.py +++ b/hooks/charmhelpers/contrib/openstack/context.py @@ -1748,9 +1748,9 @@ def __init__(self, name=None, script=None, admin_script=None, def __call__(self): total_processes = _calculate_workers() - enable_wsgi_rotation = config('wsgi-rotation') - if enable_wsgi_rotation is None: - enable_wsgi_rotation = True + enable_wsgi_socket_rotation = config('wsgi-socket-rotation') + if enable_wsgi_socket_rotation is None: + enable_wsgi_socket_rotation = True ctxt = { "service_name": self.service_name, "user": self.user, @@ -1764,7 +1764,7 @@ def __call__(self): "public_processes": int(math.ceil(self.public_process_weight * total_processes)), "threads": 1, - "wsgi_rotation": enable_wsgi_rotation, + "wsgi_socket_rotation": enable_wsgi_socket_rotation, } return ctxt diff --git a/hooks/charmhelpers/contrib/openstack/templates/wsgi-openstack-api.conf b/hooks/charmhelpers/contrib/openstack/templates/wsgi-openstack-api.conf index 2cb735e9..de5f603f 100644 --- a/hooks/charmhelpers/contrib/openstack/templates/wsgi-openstack-api.conf +++ b/hooks/charmhelpers/contrib/openstack/templates/wsgi-openstack-api.conf @@ -12,7 +12,7 @@ Listen {{ admin_port }} Listen {{ public_port }} {% endif -%} -{% if wsgi_rotation -%} +{% if wsgi_socket_rotation -%} WSGISocketRotation On {% else -%} WSGISocketRotation Off diff --git a/hooks/charmhelpers/contrib/openstack/templates/wsgi-openstack-metadata.conf b/hooks/charmhelpers/contrib/openstack/templates/wsgi-openstack-metadata.conf index 2cb735e9..de5f603f 100644 --- a/hooks/charmhelpers/contrib/openstack/templates/wsgi-openstack-metadata.conf +++ b/hooks/charmhelpers/contrib/openstack/templates/wsgi-openstack-metadata.conf @@ -12,7 +12,7 @@ Listen {{ admin_port }} Listen {{ public_port }} {% endif -%} -{% if wsgi_rotation -%} +{% if wsgi_socket_rotation -%} WSGISocketRotation On {% else -%} WSGISocketRotation Off diff --git a/hooks/charmhelpers/contrib/openstack/utils.py b/hooks/charmhelpers/contrib/openstack/utils.py index e98be2c5..ee492245 100644 --- a/hooks/charmhelpers/contrib/openstack/utils.py +++ b/hooks/charmhelpers/contrib/openstack/utils.py @@ -585,7 +585,6 @@ def _do_install(): return openstack_release().get('OPENSTACK_CODENAME') -@cached def openstack_release(): """Return /etc/os-release in a dict.""" d = {} diff --git a/hooks/charmhelpers/contrib/storage/linux/ceph.py b/hooks/charmhelpers/contrib/storage/linux/ceph.py index 2e1fc1b5..6ec67cba 100644 --- a/hooks/charmhelpers/contrib/storage/linux/ceph.py +++ b/hooks/charmhelpers/contrib/storage/linux/ceph.py @@ -158,15 +158,19 @@ def get_osd_settings(relation_name): return _order_dict_by_key(osd_settings) -def send_application_name(relid=None): +def send_application_name(relid=None, app_name=None): """Send the application name down the relation. :param relid: Relation id to set application name in. :type relid: str + :param app_name: Application name to send in the relation. + :type app_name: str """ + if app_name is None: + app_name = application_name() relation_set( relation_id=relid, - relation_settings={'application-name': application_name()}) + relation_settings={'application-name': app_name}) def send_osd_settings(): diff --git a/hooks/charmhelpers/core/unitdata.py b/hooks/charmhelpers/core/unitdata.py index 8f4bbc61..65153f1f 100644 --- a/hooks/charmhelpers/core/unitdata.py +++ b/hooks/charmhelpers/core/unitdata.py @@ -151,6 +151,7 @@ def config_changed(): import datetime import itertools import json +import logging import os import pprint import sqlite3 @@ -521,6 +522,42 @@ class DeltaSet(Record): def kv(): global _KV + + # If we are running unit tests, it is useful to go into memory-backed KV store to + # avoid concurrency issues when running multiple tests. This is not a + # problem when juju is running normally. + + env_var = os.environ.get("CHARM_HELPERS_TESTMODE", "auto").lower() + if env_var not in ["auto", "no", "yes"]: + logging.warning("Unknown value for CHARM_HELPERS_TESTMODE '%s'" + ", assuming 'no'", env_var) + env_var = "no" + + if env_var == "no": + in_memory_db = False + elif env_var == "yes": + in_memory_db = True + elif env_var == "auto": + # If UNIT_STATE_DB is set, respect this request + if "UNIT_STATE_DB" in os.environ: + in_memory_db = False + # Autodetect normal juju execution by looking for juju variables + elif "JUJU_CHARM_DIR" in os.environ or "JUJU_UNIT_NAME" in os.environ: + in_memory_db = False + else: + # We are probably running in unit test mode + logging.warning("Auto-detected unit test environment for KV store.") + in_memory_db = True + else: + # Help the linter realise that in_memory_db is always set + raise Exception("Cannot reach this line") + if _KV is None: - _KV = Storage() + if in_memory_db: + _KV = Storage(":memory:") + else: + _KV = Storage() + else: + if in_memory_db and _KV.db_path != ":memory:": + logging.warning("Running with in_memory_db and KV is not set to :memory:") return _KV diff --git a/hooks/charmhelpers/fetch/snap.py b/hooks/charmhelpers/fetch/snap.py index 36d6bce9..7ab7ce3e 100644 --- a/hooks/charmhelpers/fetch/snap.py +++ b/hooks/charmhelpers/fetch/snap.py @@ -52,7 +52,7 @@ def _snap_exec(commands): :param commands: List commands :return: Integer exit code """ - assert type(commands) == list + assert isinstance(commands, list) retry_count = 0 return_code = None diff --git a/merged-requirements-py310.txt b/merged-requirements-py310.txt new file mode 100644 index 00000000..5c09a873 --- /dev/null +++ b/merged-requirements-py310.txt @@ -0,0 +1,730 @@ +# +# 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 +# +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 + # jsonschema + # referencing +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 +certifi==2023.7.22 + # via + # kubernetes + # requests +cffi==1.16.0 + # via + # cryptography + # pynacl +charset-normalizer==3.3.1 + # via + # aiohttp + # requests +cliff==2.18.0 + # via + # -r test-requirements.in + # aodhclient + # gnocchiclient + # osc-lib + # python-barbicanclient + # python-cloudkittyclient + # python-designateclient + # python-heatclient + # python-ironicclient + # python-neutronclient + # python-octaviaclient + # python-openstackclient + # python-watcherclient + # stestr + # tempest +cmd2==0.8.9 + # via cliff +colorclass==2.2.2 + # via python-libmaas +coverage==7.3.2 + # via -r test-requirements.in +croniter==2.0.1 + # via -r test-requirements.in +cryptography==3.3.2 + # via + # -r requirements.in + # openstacksdk + # paramiko + # pyopenssl + # python-magnumclient + # tempest + # 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 + # tempest +decorator==5.1.1 + # via + # dogpile-cache + # jsonpath-rw + # openstacksdk + # python-magnumclient +defusedxml==0.7.1 + # via tempest +dnspython==2.4.2 + # via + # -r requirements.in + # pymongo + # zaza-openstack +dogpile-cache==1.2.2 + # via + # openstacksdk + # python-ironicclient +extras==1.0.0 + # via stestr +fasteners==0.19 + # via + # oslo-concurrency + # tempest +fixtures==3.0.0 + # via + # stestr + # tempest + # testtools +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 +iso8601==2.1.0 + # via + # gnocchiclient + # keystoneauth1 + # openstacksdk + # oslo-utils + # python-ceilometerclient + # python-heatclient + # python-neutronclient + # python-novaclient + # python-subunit +jinja2==3.1.2 + # via + # -r requirements.in + # 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 + # tempest + # 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.7.20 + # via + # -r requirements.in + # oslo-config + # oslo-utils + # osprofiler + # python-neutronclient + # tempest +netifaces==0.11.0 + # via + # -r requirements.in + # 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.1.0 + # 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 + # tempest +oslo-config==6.11.3 + # via + # oslo-concurrency + # oslo-log + # python-keystoneclient + # python-manilaclient + # tempest + # 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 + # tempest +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 + # tempest +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 + # tempest +osprofiler==4.1.0 + # via aodhclient +packaging==23.2 + # via oslo-utils +paramiko==2.12.0 + # via + # juju + # tempest +pbr==5.6.0 + # via + # -r requirements.in + # aodhclient + # cliff + # fixtures + # 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 + # stestr + # stevedore + # tempest + # testtools +pika==1.3.2 + # via zaza-openstack +platformdirs==3.11.0 + # via openstacksdk +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 + # tempest +protobuf==3.20.3 + # via macaroonbakery +psutil==1.2.1 + # via + # -r requirements.in + # -r test-requirements.in +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==2.4.7 + # via + # -r test-requirements.in + # aodhclient + # cliff + # cmd2 + # oslo-utils +pyperclip==1.8.2 + # via cmd2 +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.1.0 + # via zaza-openstack +python-dateutil==2.8.2 + # via + # botocore + # croniter + # 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-subunit==1.4.3 + # via + # stestr + # tempest +python-swiftclient==3.8.1 + # via + # python-heatclient + # zaza-openstack +python-watcherclient==4.2.0 + # via zaza-openstack +pytz==2023.3.post1 + # via + # croniter + # oslo-serialization + # oslo-utils + # pyrfc3339 + # python-libmaas +pyudev==0.24.1 + # via -r test-requirements.in +pyyaml==6.0.1 + # via + # cliff + # juju + # juju-wait + # jujubundlelib + # kubernetes + # openstacksdk + # oslo-config + # python-cloudkittyclient + # python-heatclient + # python-ironicclient + # python-libmaas + # python-watcherclient + # stestr + # tempest + # zaza + # zaza-openstack +referencing==0.30.2 + # via + # jsonschema + # jsonschema-specifications +requests==2.31.0 + # via + # -r test-requirements.in + # 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 + # -r requirements.in + # osc-lib + # python-cinderclient + # python-manilaclient + # python-neutronclient + # python-novaclient +six==1.16.0 + # via + # -r requirements.in + # cliff + # cmd2 + # cryptography + # fixtures + # 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 +stestr==4.1.0 + # via + # -r test-requirements.in + # tempest +stevedore==5.1.0 + # via + # cliff + # dogpile-cache + # keystoneauth1 + # osc-lib + # oslo-config + # python-ceilometerclient + # python-designateclient + # python-ironicclient + # python-keystoneclient + # python-magnumclient + # tempest +tempest @ git+https://opendev.org/openstack/tempest.git + # via -r test-requirements.in +tenacity==8.2.3 + # via + # zaza + # zaza-openstack +terminaltables==3.1.10 + # via python-libmaas +testtools==2.6.0 + # via + # fixtures + # python-subunit + # stestr + # tempest +theblues==0.5.2 + # via juju +tomlkit==0.12.1 + # via stestr +toposort==1.10 + # via juju +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 + # tempest +voluptuous==0.13.1 + # via stestr +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==12.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 test-requirements.in + # zaza-openstack +zaza-openstack @ git+https://github.com/openstack-charmers/zaza-openstack-tests.git@stable/bobcat + # via -r test-requirements.in + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/merged-requirements-py38.txt b/merged-requirements-py38.txt new file mode 100644 index 00000000..097fc0ff --- /dev/null +++ b/merged-requirements-py38.txt @@ -0,0 +1,739 @@ +# +# 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 +# +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 + # jsonschema + # referencing +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 +certifi==2023.7.22 + # via + # kubernetes + # requests +cffi==1.16.0 + # via + # cryptography + # pynacl +charset-normalizer==3.3.1 + # via + # aiohttp + # requests +cliff==2.18.0 + # via + # -r test-requirements.in + # aodhclient + # gnocchiclient + # osc-lib + # python-barbicanclient + # python-cloudkittyclient + # python-designateclient + # python-heatclient + # python-ironicclient + # python-neutronclient + # python-octaviaclient + # python-openstackclient + # python-watcherclient + # stestr + # tempest +cmd2==0.8.9 + # via cliff +colorclass==2.2.2 + # via python-libmaas +coverage==7.3.2 + # via -r test-requirements.in +croniter==2.0.1 + # via -r test-requirements.in +cryptography==3.3.2 + # via + # -r requirements.in + # openstacksdk + # paramiko + # pyopenssl + # python-magnumclient + # tempest + # 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 + # tempest +decorator==5.1.1 + # via + # dogpile-cache + # jsonpath-rw + # openstacksdk + # python-magnumclient +defusedxml==0.7.1 + # via tempest +dnspython==2.4.2 + # via + # -r requirements.in + # pymongo + # zaza-openstack +dogpile-cache==1.2.2 + # via + # openstacksdk + # python-ironicclient +extras==1.0.0 + # via stestr +fasteners==0.19 + # via + # oslo-concurrency + # tempest +fixtures==3.0.0 + # via + # stestr + # tempest + # testtools +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-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 + # python-subunit +jinja2==3.1.2 + # via + # -r requirements.in + # 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 + # tempest + # 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.7.20 + # via + # -r requirements.in + # oslo-config + # oslo-utils + # osprofiler + # python-neutronclient + # tempest +netifaces==0.11.0 + # via + # -r requirements.in + # 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.1.0 + # 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 + # tempest +oslo-config==6.11.3 + # via + # oslo-concurrency + # oslo-log + # python-keystoneclient + # python-manilaclient + # tempest + # 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 + # tempest +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 + # tempest +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 + # tempest +osprofiler==4.1.0 + # via aodhclient +packaging==23.2 + # via oslo-utils +paramiko==2.12.0 + # via + # juju + # tempest +pbr==5.6.0 + # via + # -r requirements.in + # aodhclient + # cliff + # fixtures + # 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 + # stestr + # stevedore + # tempest + # testtools +pika==1.3.2 + # via zaza-openstack +pkgutil-resolve-name==1.3.10 + # via jsonschema +platformdirs==3.11.0 + # via openstacksdk +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 + # tempest +protobuf==3.20.3 + # via macaroonbakery +psutil==1.2.1 + # via + # -r requirements.in + # -r test-requirements.in +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==2.4.7 + # via + # -r test-requirements.in + # aodhclient + # cliff + # cmd2 + # oslo-utils +pyperclip==1.8.2 + # via cmd2 +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.1.0 + # via zaza-openstack +python-dateutil==2.8.2 + # via + # botocore + # croniter + # 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-subunit==1.4.3 + # via + # stestr + # tempest +python-swiftclient==3.8.1 + # via + # python-heatclient + # zaza-openstack +python-watcherclient==4.2.0 + # via zaza-openstack +pytz==2023.3.post1 + # via + # babel + # croniter + # oslo-serialization + # oslo-utils + # pyrfc3339 + # python-libmaas +pyudev==0.24.1 + # via -r test-requirements.in +pyyaml==6.0.1 + # via + # cliff + # juju + # juju-wait + # jujubundlelib + # kubernetes + # openstacksdk + # oslo-config + # python-cloudkittyclient + # python-heatclient + # python-ironicclient + # python-libmaas + # python-watcherclient + # stestr + # tempest + # zaza + # zaza-openstack +referencing==0.30.2 + # via + # jsonschema + # jsonschema-specifications +requests==2.31.0 + # via + # -r test-requirements.in + # 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 + # -r requirements.in + # osc-lib + # python-cinderclient + # python-manilaclient + # python-neutronclient + # python-novaclient +six==1.16.0 + # via + # -r requirements.in + # cliff + # cmd2 + # cryptography + # fixtures + # 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 +stestr==4.1.0 + # via + # -r test-requirements.in + # tempest +stevedore==5.1.0 + # via + # cliff + # dogpile-cache + # keystoneauth1 + # osc-lib + # oslo-config + # python-ceilometerclient + # python-designateclient + # python-ironicclient + # python-keystoneclient + # python-magnumclient + # tempest +tempest @ git+https://opendev.org/openstack/tempest.git + # via -r test-requirements.in +tenacity==8.2.3 + # via + # zaza + # zaza-openstack +terminaltables==3.1.10 + # via python-libmaas +testtools==2.6.0 + # via + # fixtures + # python-subunit + # stestr + # tempest +theblues==0.5.2 + # via juju +tomlkit==0.12.1 + # via stestr +toposort==1.10 + # via juju +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 + # tempest +voluptuous==0.13.1 + # via stestr +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 test-requirements.in + # zaza-openstack +zaza-openstack @ git+https://github.com/openstack-charmers/zaza-openstack-tests.git@stable/bobcat + # via -r test-requirements.in +zipp==3.17.0 + # via importlib-resources + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/metadata.yaml b/metadata.yaml index 8d63e25f..79214690 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -13,7 +13,6 @@ tags: - openstack series: - jammy -- lunar - mantic provides: cloud-compute: @@ -24,7 +23,6 @@ provides: extra-bindings: # Used for console access to instances internal: - # Used for live/cold migration of instances migration: requires: amqp: diff --git a/requirements.txt b/requirements.in similarity index 100% rename from requirements.txt rename to requirements.in diff --git a/test-requirements-py38.txt b/test-requirements-py38.txt new file mode 100644 index 00000000..28836462 --- /dev/null +++ b/test-requirements-py38.txt @@ -0,0 +1,727 @@ +# +# 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 +# +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 + # jsonschema + # referencing +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 +certifi==2023.7.22 + # via + # kubernetes + # requests +cffi==1.16.0 + # via + # cryptography + # pynacl +charset-normalizer==3.3.1 + # via + # aiohttp + # requests +cliff==2.18.0 + # via + # -r test-requirements.in + # aodhclient + # gnocchiclient + # osc-lib + # python-barbicanclient + # python-cloudkittyclient + # python-designateclient + # python-heatclient + # python-ironicclient + # python-neutronclient + # python-octaviaclient + # python-openstackclient + # python-watcherclient + # stestr + # tempest +cmd2==0.8.9 + # via cliff +colorclass==2.2.2 + # via python-libmaas +coverage==7.3.2 + # via -r test-requirements.in +croniter==2.0.1 + # via -r test-requirements.in +cryptography==3.3.2 + # via + # openstacksdk + # paramiko + # pyopenssl + # python-magnumclient + # tempest + # 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 + # tempest +decorator==5.1.1 + # via + # dogpile-cache + # jsonpath-rw + # openstacksdk + # python-magnumclient +defusedxml==0.7.1 + # via tempest +dnspython==2.4.2 + # via + # pymongo + # zaza-openstack +dogpile-cache==1.2.2 + # via + # openstacksdk + # python-ironicclient +extras==1.0.0 + # via stestr +fasteners==0.19 + # via + # oslo-concurrency + # tempest +fixtures==4.1.0 + # via + # stestr + # tempest + # testtools +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-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 + # python-subunit +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 + # tempest + # 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 + # tempest +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.1.0 + # 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 + # tempest +oslo-config==6.11.3 + # via + # oslo-concurrency + # oslo-log + # python-keystoneclient + # python-manilaclient + # tempest + # 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 + # tempest +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 + # tempest +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 + # tempest +osprofiler==4.1.0 + # via aodhclient +packaging==23.2 + # via oslo-utils +paramiko==2.12.0 + # via + # juju + # tempest +pbr==5.11.1 + # via + # aodhclient + # cliff + # fixtures + # 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 + # stestr + # stevedore + # tempest + # testtools +pika==1.3.2 + # via zaza-openstack +pkgutil-resolve-name==1.3.10 + # via jsonschema +platformdirs==3.11.0 + # via openstacksdk +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 + # tempest +protobuf==3.20.3 + # via macaroonbakery +psutil==5.9.6 + # via -r test-requirements.in +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==2.4.7 + # via + # -r test-requirements.in + # aodhclient + # cliff + # cmd2 + # oslo-utils +pyperclip==1.8.2 + # via cmd2 +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.1.0 + # via zaza-openstack +python-dateutil==2.8.2 + # via + # botocore + # croniter + # 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-subunit==1.4.3 + # via + # stestr + # tempest +python-swiftclient==3.8.1 + # via + # python-heatclient + # zaza-openstack +python-watcherclient==4.2.0 + # via zaza-openstack +pytz==2023.3.post1 + # via + # babel + # croniter + # oslo-serialization + # oslo-utils + # pyrfc3339 + # python-libmaas +pyudev==0.24.1 + # via -r test-requirements.in +pyyaml==6.0.1 + # via + # cliff + # juju + # juju-wait + # jujubundlelib + # kubernetes + # openstacksdk + # oslo-config + # python-cloudkittyclient + # python-heatclient + # python-ironicclient + # python-libmaas + # python-watcherclient + # stestr + # tempest + # zaza + # zaza-openstack +referencing==0.30.2 + # via + # jsonschema + # jsonschema-specifications +requests==2.31.0 + # via + # -r test-requirements.in + # 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 + # cliff + # cmd2 + # 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 +stestr==4.1.0 + # via + # -r test-requirements.in + # tempest +stevedore==5.1.0 + # via + # cliff + # dogpile-cache + # keystoneauth1 + # osc-lib + # oslo-config + # python-ceilometerclient + # python-designateclient + # python-ironicclient + # python-keystoneclient + # python-magnumclient + # tempest +tempest @ git+https://opendev.org/openstack/tempest.git + # via -r test-requirements.in +tenacity==8.2.3 + # via + # zaza + # zaza-openstack +terminaltables==3.1.10 + # via python-libmaas +testtools==2.6.0 + # via + # python-subunit + # stestr + # tempest +theblues==0.5.2 + # via juju +tomlkit==0.12.1 + # via stestr +toposort==1.10 + # via juju +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 + # tempest +voluptuous==0.13.1 + # via stestr +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 test-requirements.in + # zaza-openstack +zaza-openstack @ git+https://github.com/openstack-charmers/zaza-openstack-tests.git@stable/bobcat + # via -r test-requirements.in +zipp==3.17.0 + # via importlib-resources + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/test-requirements.txt b/test-requirements.in similarity index 91% rename from test-requirements.txt rename to test-requirements.in index f3e0f0f0..d68f7fa6 100644 --- a/test-requirements.txt +++ b/test-requirements.in @@ -20,8 +20,8 @@ cliff<3.0.0 coverage>=4.5.2 pyudev # for ceph-* charm unit tests (need to fix the ceph-* charm unit tests/mocking) -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 # Needed for charm-glance: git+https://opendev.org/openstack/tempest.git#egg=tempest diff --git a/tests/bundles/jammy-antelope.yaml b/tests/bundles/jammy-antelope.yaml index 256cf94f..f4d58d04 100644 --- a/tests/bundles/jammy-antelope.yaml +++ b/tests/bundles/jammy-antelope.yaml @@ -38,25 +38,25 @@ applications: nova-cloud-controller-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge keystone-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge glance-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge neutron-api-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge placement-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge barbican-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 @@ -65,11 +65,11 @@ applications: - '0' - '1' - '2' - channel: latest/edge + channel: 8.0/edge barbican: charm: ch:barbican - channel: latest/edge + channel: 2023.2/edge num_units: 1 options: openstack-origin: *openstack-origin @@ -78,12 +78,12 @@ applications: barbican-vault: charm: ch:barbican-vault - channel: latest/edge + channel: 2023.2/edge num_units: 0 vault: charm: ch:vault - channel: latest/edge + channel: 1.8/edge num_units: 1 to: - '21' @@ -102,7 +102,7 @@ applications: - '14' - '15' - '16' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -114,14 +114,14 @@ applications: - '17' - '18' - '19' - channel: latest/edge + channel: reef/edge rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 to: - '3' - channel: latest/edge + channel: 3.9/edge nova-cloud-controller: charm: ch:nova-cloud-controller @@ -132,7 +132,7 @@ applications: debug: true to: - '4' - channel: latest/edge + channel: 2023.2/edge neutron-api: charm: ch:neutron-api @@ -144,7 +144,7 @@ applications: neutron-security-groups: true to: - '5' - channel: latest/edge + channel: 2023.2/edge keystone: charm: ch:keystone @@ -153,7 +153,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: latest/edge + channel: 2023.2/edge neutron-gateway: charm: ch:neutron-gateway @@ -163,7 +163,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '7' - channel: latest/edge + channel: 2023.2/edge glance: charm: ch:glance @@ -172,11 +172,11 @@ applications: openstack-origin: *openstack-origin to: - '8' - channel: latest/edge + channel: 2023.2/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2023.2/edge placement: charm: ch:placement @@ -185,7 +185,7 @@ applications: openstack-origin: *openstack-origin to: - '9' - channel: latest/edge + channel: 2023.2/edge nova-compute: charm: ../../nova-compute.charm diff --git a/tests/bundles/jammy-bobcat.yaml b/tests/bundles/jammy-bobcat.yaml index c21f83f0..1cfea577 100644 --- a/tests/bundles/jammy-bobcat.yaml +++ b/tests/bundles/jammy-bobcat.yaml @@ -38,25 +38,25 @@ applications: nova-cloud-controller-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge keystone-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge glance-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge neutron-api-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge placement-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge barbican-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 @@ -65,11 +65,11 @@ applications: - '0' - '1' - '2' - channel: latest/edge + channel: 8.0/edge barbican: charm: ch:barbican - channel: latest/edge + channel: 2023.2/edge num_units: 1 options: openstack-origin: *openstack-origin @@ -78,12 +78,12 @@ applications: barbican-vault: charm: ch:barbican-vault - channel: latest/edge + channel: 2023.2/edge num_units: 0 vault: charm: ch:vault - channel: latest/edge + channel: 1.8/edge num_units: 1 to: - '21' @@ -102,7 +102,7 @@ applications: - '14' - '15' - '16' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -114,14 +114,14 @@ applications: - '17' - '18' - '19' - channel: latest/edge + channel: reef/edge rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 to: - '3' - channel: latest/edge + channel: 3.9/edge nova-cloud-controller: charm: ch:nova-cloud-controller @@ -132,7 +132,7 @@ applications: debug: true to: - '4' - channel: latest/edge + channel: 2023.2/edge neutron-api: charm: ch:neutron-api @@ -144,7 +144,7 @@ applications: neutron-security-groups: true to: - '5' - channel: latest/edge + channel: 2023.2/edge keystone: charm: ch:keystone @@ -153,7 +153,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: latest/edge + channel: 2023.2/edge neutron-gateway: charm: ch:neutron-gateway @@ -163,7 +163,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '7' - channel: latest/edge + channel: 2023.2/edge glance: charm: ch:glance @@ -172,11 +172,11 @@ applications: openstack-origin: *openstack-origin to: - '8' - channel: latest/edge + channel: 2023.2/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2023.2/edge placement: charm: ch:placement @@ -185,7 +185,7 @@ applications: openstack-origin: *openstack-origin to: - '9' - channel: latest/edge + channel: 2023.2/edge nova-compute: charm: ../../nova-compute.charm diff --git a/tests/bundles/lunar-antelope.yaml b/tests/bundles/lunar-antelope.yaml deleted file mode 100644 index 46493c9f..00000000 --- a/tests/bundles/lunar-antelope.yaml +++ /dev/null @@ -1,312 +0,0 @@ -variables: - openstack-origin: &openstack-origin distro - -series: lunar - -comment: -- 'machines section to decide order of deployment. database sooner = faster' -machines: - '0': - constraints: mem=3072M - '1': - constraints: mem=3072M - '2': - constraints: mem=3072M - '3': - '4': - constraints: mem=4096M - '5': - '6': - '7': - '8': - '9': - '10': - constraints: mem=4096M cores=4 - '11': - '12': - '13': - '14': - '15': - '16': - '17': - '18': - '19': - '20': - '21': - -applications: - - nova-cloud-controller-mysql-router: - charm: ch:mysql-router - channel: latest/edge - keystone-mysql-router: - charm: ch:mysql-router - channel: latest/edge - glance-mysql-router: - charm: ch:mysql-router - channel: latest/edge - neutron-api-mysql-router: - charm: ch:mysql-router - channel: latest/edge - placement-mysql-router: - charm: ch:mysql-router - channel: latest/edge - barbican-mysql-router: - charm: ch:mysql-router - channel: latest/edge - vault-mysql-router: - charm: ch:mysql-router - channel: latest/edge - - mysql-innodb-cluster: - charm: ch:mysql-innodb-cluster - num_units: 3 - to: - - '0' - - '1' - - '2' - channel: latest/edge - - barbican: - charm: ch:barbican - channel: latest/edge - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '20' - - barbican-vault: - charm: ch:barbican-vault - channel: latest/edge - num_units: 0 - - vault: - charm: ch:vault - channel: latest/edge - num_units: 1 - to: - - '21' - - ceph-osd: - charm: ch:ceph-osd - num_units: 6 - storage: - osd-devices: '10G' - options: - source: *openstack-origin - to: - - '11' - - '12' - - '13' - - '14' - - '15' - - '16' - channel: latest/edge - - ceph-mon: - charm: ch:ceph-mon - num_units: 3 - options: - source: *openstack-origin - monitor-count: '3' - to: - - '17' - - '18' - - '19' - channel: latest/edge - - rabbitmq-server: - charm: ch:rabbitmq-server - num_units: 1 - to: - - '3' - channel: latest/edge - - nova-cloud-controller: - charm: ch:nova-cloud-controller - num_units: 1 - options: - openstack-origin: *openstack-origin - network-manager: Neutron - debug: true - to: - - '4' - channel: latest/edge - - neutron-api: - charm: ch:neutron-api - num_units: 1 - options: - manage-neutron-plugin-legacy-mode: true - openstack-origin: *openstack-origin - flat-network-providers: physnet1 - neutron-security-groups: true - to: - - '5' - channel: latest/edge - - keystone: - charm: ch:keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '6' - channel: latest/edge - - neutron-gateway: - charm: ch:neutron-gateway - num_units: 1 - options: - openstack-origin: *openstack-origin - bridge-mappings: physnet1:br-ex - to: - - '7' - channel: latest/edge - - glance: - charm: ch:glance - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '8' - channel: latest/edge - - neutron-openvswitch: - charm: ch:neutron-openvswitch - channel: latest/edge - - placement: - charm: ch:placement - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '9' - channel: latest/edge - - nova-compute: - charm: ../../nova-compute.charm - num_units: 1 - storage: - ephemeral-device: '40G' - options: - openstack-origin: *openstack-origin - config-flags: auto_assign_floating_ip=False - enable-live-migration: false - aa-profile-mode: enforce - debug: true - pool-type: erasure-coded - ec-profile-k: 4 - ec-profile-m: 2 - libvirt-image-backend: rbd - enable-vtpm: True - to: - - '10' - -relations: - - - 'ceph-osd:mon' - - 'ceph-mon:osd' - - - - 'nova-compute:ceph' - - 'ceph-mon:client' - - - - 'nova-compute:image-service' - - 'glance:image-service' - - - - 'nova-compute:amqp' - - 'rabbitmq-server:amqp' - - - - 'nova-cloud-controller:shared-db' - - 'nova-cloud-controller-mysql-router:shared-db' - - - 'nova-cloud-controller-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'nova-cloud-controller:identity-service' - - 'keystone:identity-service' - - - - 'nova-cloud-controller:amqp' - - 'rabbitmq-server:amqp' - - - - 'nova-cloud-controller:cloud-compute' - - 'nova-compute:cloud-compute' - - - - 'nova-cloud-controller:image-service' - - 'glance:image-service' - - - - 'keystone:shared-db' - - 'keystone-mysql-router:shared-db' - - - 'keystone-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'glance:identity-service' - - 'keystone:identity-service' - - - - 'glance:shared-db' - - 'glance-mysql-router:shared-db' - - - 'glance-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'glance:amqp' - - 'rabbitmq-server:amqp' - - - - 'neutron-gateway:amqp' - - 'rabbitmq-server:amqp' - - - - 'nova-cloud-controller:quantum-network-service' - - 'neutron-gateway:quantum-network-service' - - - - 'neutron-api:shared-db' - - 'neutron-api-mysql-router:shared-db' - - - 'neutron-api-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'neutron-api:amqp' - - 'rabbitmq-server:amqp' - - - - 'neutron-api:neutron-api' - - 'nova-cloud-controller:neutron-api' - - - - 'neutron-api:identity-service' - - 'keystone:identity-service' - - - - 'nova-compute:neutron-plugin' - - 'neutron-openvswitch:neutron-plugin' - - - - 'rabbitmq-server:amqp' - - 'neutron-openvswitch:amqp' - - - - 'placement:shared-db' - - 'placement-mysql-router:shared-db' - - - 'placement-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'placement:identity-service' - - 'keystone:identity-service' - - - - 'placement:placement' - - 'nova-cloud-controller:placement' - - - - 'vault:shared-db' - - 'vault-mysql-router:shared-db' - - - 'vault-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'barbican:shared-db' - - 'barbican-mysql-router:shared-db' - - - 'barbican-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'keystone:identity-service' - - 'barbican:identity-service' - - - - 'rabbitmq-server:amqp' - - 'barbican:amqp' - - - - 'barbican-vault:secrets' - - 'barbican:secrets' - - - - 'vault:secrets' - - 'barbican-vault:secrets-storage' diff --git a/tests/bundles/mantic-bobcat.yaml b/tests/bundles/mantic-bobcat.yaml index ab0e9e99..96d926dd 100644 --- a/tests/bundles/mantic-bobcat.yaml +++ b/tests/bundles/mantic-bobcat.yaml @@ -38,25 +38,25 @@ applications: nova-cloud-controller-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge keystone-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge glance-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge neutron-api-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge placement-mysql-router: charm: ch:mysql-router - channel: latest/edge + channel: 8.0/edge barbican-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 @@ -65,11 +65,11 @@ applications: - '0' - '1' - '2' - channel: latest/edge + channel: 8.0/edge barbican: charm: ch:barbican - channel: latest/edge + channel: 2023.2/edge num_units: 1 options: openstack-origin: *openstack-origin @@ -78,12 +78,12 @@ applications: barbican-vault: charm: ch:barbican-vault - channel: latest/edge + channel: 2023.2/edge num_units: 0 vault: charm: ch:vault - channel: latest/edge + channel: 1.8/edge num_units: 1 to: - '21' @@ -102,7 +102,7 @@ applications: - '14' - '15' - '16' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -114,14 +114,14 @@ applications: - '17' - '18' - '19' - channel: latest/edge + channel: reef/edge rabbitmq-server: charm: ch:rabbitmq-server num_units: 1 to: - '3' - channel: latest/edge + channel: 3.9/edge nova-cloud-controller: charm: ch:nova-cloud-controller @@ -132,7 +132,7 @@ applications: debug: true to: - '4' - channel: latest/edge + channel: 2023.2/edge neutron-api: charm: ch:neutron-api @@ -144,7 +144,7 @@ applications: neutron-security-groups: true to: - '5' - channel: latest/edge + channel: 2023.2/edge keystone: charm: ch:keystone @@ -153,7 +153,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: latest/edge + channel: 2023.2/edge neutron-gateway: charm: ch:neutron-gateway @@ -163,7 +163,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '7' - channel: latest/edge + channel: 2023.2/edge glance: charm: ch:glance @@ -172,11 +172,11 @@ applications: openstack-origin: *openstack-origin to: - '8' - channel: latest/edge + channel: 2023.2/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2023.2/edge placement: charm: ch:placement @@ -185,7 +185,7 @@ applications: openstack-origin: *openstack-origin to: - '9' - channel: latest/edge + channel: 2023.2/edge nova-compute: charm: ../../nova-compute.charm diff --git a/tests/tests.yaml b/tests/tests.yaml index 8e6cae4a..a0f99686 100644 --- a/tests/tests.yaml +++ b/tests/tests.yaml @@ -8,7 +8,6 @@ gate_bundles: dev_bundles: - jammy-bobcat -- lunar-antelope - mantic-bobcat configure: @@ -41,5 +40,4 @@ tests: tests_options: force_deploy: - - lunar-antelope - mantic-bobcat diff --git a/tox.ini b/tox.ini index 32e9ac25..17c11d3c 100644 --- a/tox.ini +++ b/tox.ini @@ -9,49 +9,55 @@ # 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 -# NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci -minversion = 3.18.0 - [testenv] -setenv = - VIRTUAL_ENV={envdir} - PYTHONHASHSEED=0 - CHARM_DIR={envdir} +# 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 + CHARM_DIR={envdir} commands = stestr run --slowest {posargs} allowlist_externals = - charmcraft - {toxinidir}/rename.sh + charmcraft + {toxinidir}/rename.sh passenv = - HOME - TERM - CS_* - OS_* - TEST_* -deps = -r{toxinidir}/test-requirements.txt + HOME + TERM + CS_* + OS_* + TEST_* +deps = -r{toxinidir}/test-requirements-py38.txt [testenv:build] basepython = python3 -deps = -r{toxinidir}/build-requirements.txt +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`. commands = charmcraft clean charmcraft -v pack {toxinidir}/rename.sh + charmcraft clean + +[testenv:py38] +basepython = python3.8 +deps = -r{toxinidir}/merged-requirements-py38.txt [testenv:py310] basepython = python3.10 -deps = -r{toxinidir}/requirements.txt - -r{toxinidir}/test-requirements.txt +deps = -r{toxinidir}/merged-requirements-py310.txt [testenv:py3] basepython = python3 -deps = -r{toxinidir}/requirements.txt - -r{toxinidir}/test-requirements.txt +deps = -r{toxinidir}/merged-requirements-py310.txt [testenv:pep8] basepython = python3 @@ -64,8 +70,7 @@ commands = flake8 {posargs} hooks unit_tests tests actions lib files # 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 @@ -98,22 +103,22 @@ 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-dev] -basepython = python3 +basepython = python3.8 commands = functest-run-suite --keep-model --dev [testenv:func-target] -basepython = python3 +basepython = python3.8 commands = functest-run-suite --keep-model --bundle {posargs}