diff --git a/charmcraft.yaml b/charmcraft.yaml index d634c5d..fbd9c9c 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -29,9 +29,3 @@ 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/charmhelpers/contrib/openstack/cert_utils.py b/charmhelpers/contrib/openstack/cert_utils.py index a25ca99..6620f59 100644 --- a/charmhelpers/contrib/openstack/cert_utils.py +++ b/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/charmhelpers/contrib/openstack/context.py b/charmhelpers/contrib/openstack/context.py index 24a13d0..1e667fb 100644 --- a/charmhelpers/contrib/openstack/context.py +++ b/charmhelpers/contrib/openstack/context.py @@ -545,7 +545,7 @@ class IdentityServiceContext(OSContextGenerator): 'internal_auth_url': internal_auth_url, }) - # we keep all veriables in ctxt for compatibility and + # we keep all variables in ctxt for compatibility and # add nested dictionary for keystone_authtoken generic # templating if keystonemiddleware_os_release: @@ -557,6 +557,7 @@ class IdentityServiceContext(OSContextGenerator): # NOTE(jamespage) this is required for >= icehouse # so a missing value just indicates keystone needs # upgrading + ctxt['admin_user_id'] = _resolve('service_user_id') ctxt['admin_tenant_id'] = _resolve('service_tenant_id') ctxt['admin_domain_id'] = _resolve('service_domain_id') return ctxt @@ -1748,9 +1749,9 @@ class WSGIWorkerConfigContext(WorkerConfigContext): 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 +1765,7 @@ class WSGIWorkerConfigContext(WorkerConfigContext): "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/charmhelpers/contrib/openstack/templates/wsgi-openstack-api.conf b/charmhelpers/contrib/openstack/templates/wsgi-openstack-api.conf index 2cb735e..de5f603 100644 --- a/charmhelpers/contrib/openstack/templates/wsgi-openstack-api.conf +++ b/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/charmhelpers/contrib/openstack/templates/wsgi-openstack-metadata.conf b/charmhelpers/contrib/openstack/templates/wsgi-openstack-metadata.conf index 2cb735e..de5f603 100644 --- a/charmhelpers/contrib/openstack/templates/wsgi-openstack-metadata.conf +++ b/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/charmhelpers/contrib/openstack/utils.py b/charmhelpers/contrib/openstack/utils.py index e98be2c..da711c6 100644 --- a/charmhelpers/contrib/openstack/utils.py +++ b/charmhelpers/contrib/openstack/utils.py @@ -161,6 +161,7 @@ OPENSTACK_CODENAMES = OrderedDict([ ('2022.2', 'zed'), ('2023.1', 'antelope'), ('2023.2', 'bobcat'), + ('2024.1', 'caracal'), ]) # The ugly duckling - must list releases oldest to newest @@ -416,17 +417,6 @@ def get_os_version_codename(codename, version_map=OPENSTACK_CODENAMES, error_out(e) -def get_os_version_codename_swift(codename): - '''Determine OpenStack version number of swift from codename.''' - # for k, v in six.iteritems(SWIFT_CODENAMES): - for k, v in SWIFT_CODENAMES.items(): - if k == codename: - return v[-1] - e = 'Could not derive swift version for '\ - 'codename: %s' % codename - error_out(e) - - def get_swift_codename(version): '''Determine OpenStack codename that corresponds to swift version.''' codenames = [k for k, v in SWIFT_CODENAMES.items() if version in v] @@ -585,7 +575,6 @@ def get_installed_os_version(): return openstack_release().get('OPENSTACK_CODENAME') -@cached def openstack_release(): """Return /etc/os-release in a dict.""" d = {} @@ -847,14 +836,10 @@ def openstack_upgrade_available(package): if not cur_vers: # The package has not been installed yet do not attempt upgrade return False - if "swift" in package: - codename = get_os_codename_install_source(src) - avail_vers = get_os_version_codename_swift(codename) - else: - try: - avail_vers = get_os_version_install_source(src) - except Exception: - avail_vers = cur_vers + try: + avail_vers = get_os_version_install_source(src) + except Exception: + avail_vers = cur_vers apt.init() return apt.version_compare(avail_vers, cur_vers) >= 1 diff --git a/charmhelpers/contrib/storage/linux/ceph.py b/charmhelpers/contrib/storage/linux/ceph.py index 2e1fc1b..6ec67cb 100644 --- a/charmhelpers/contrib/storage/linux/ceph.py +++ b/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/charmhelpers/core/unitdata.py b/charmhelpers/core/unitdata.py index 8f4bbc6..65153f1 100644 --- a/charmhelpers/core/unitdata.py +++ b/charmhelpers/core/unitdata.py @@ -151,6 +151,7 @@ import contextlib import datetime import itertools import json +import logging import os import pprint import sqlite3 @@ -521,6 +522,42 @@ _KV = None 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/charmhelpers/fetch/snap.py b/charmhelpers/fetch/snap.py index 36d6bce..7ab7ce3 100644 --- a/charmhelpers/fetch/snap.py +++ b/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/charmhelpers/fetch/ubuntu.py b/charmhelpers/fetch/ubuntu.py index 1be992c..d0089eb 100644 --- a/charmhelpers/fetch/ubuntu.py +++ b/charmhelpers/fetch/ubuntu.py @@ -246,6 +246,14 @@ CLOUD_ARCHIVE_POCKETS = { 'bobcat/proposed': 'jammy-proposed/bobcat', 'jammy-bobcat/proposed': 'jammy-proposed/bobcat', 'jammy-proposed/bobcat': 'jammy-proposed/bobcat', + # caracal + 'caracal': 'jammy-updates/caracal', + 'jammy-caracal': 'jammy-updates/caracal', + 'jammy-caracal/updates': 'jammy-updates/caracal', + 'jammy-updates/caracal': 'jammy-updates/caracal', + 'caracal/proposed': 'jammy-proposed/caracal', + 'jammy-caracal/proposed': 'jammy-proposed/caracal', + 'jammy-proposed/caracal': 'jammy-proposed/caracal', # OVN 'focal-ovn-22.03': 'focal-updates/ovn-22.03', @@ -279,6 +287,7 @@ OPENSTACK_RELEASES = ( 'zed', 'antelope', 'bobcat', + 'caracal', ) @@ -308,6 +317,7 @@ UBUNTU_OPENSTACK_RELEASE = OrderedDict([ ('kinetic', 'zed'), ('lunar', 'antelope'), ('mantic', 'bobcat'), + ('noble', 'caracal'), ]) diff --git a/metadata.yaml b/metadata.yaml index 4105f77..4030311 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -7,14 +7,12 @@ description: | This charm provides a Ceph storage backend for Cinder docs: https://discourse.charmhub.io/t/cinder-ceph-docs-index/10999 tags: -- openstack -- storage -- file-servers -- misc + - openstack + - storage + - file-servers + - misc series: -- jammy -- lunar -- mantic + - jammy subordinate: true provides: storage-backend: diff --git a/tests/bundles/jammy-antelope-ec.yaml b/tests/bundles/jammy-antelope-ec.yaml index d56a8be..2d01aef 100644 --- a/tests/bundles/jammy-antelope-ec.yaml +++ b/tests/bundles/jammy-antelope-ec.yaml @@ -75,7 +75,7 @@ applications: - '18' - '19' - '20' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -87,7 +87,7 @@ applications: - '6' - '7' - '8' - channel: latest/edge + channel: reef/edge rabbitmq-server: charm: ch:rabbitmq-server @@ -105,7 +105,7 @@ applications: debug: true to: - '10' - channel: latest/edge + channel: 2024.1/edge placement: charm: ch:placement @@ -115,7 +115,7 @@ applications: openstack-origin: *openstack-origin to: - '11' - channel: latest/edge + channel: 2024.1/edge neutron-api: charm: ch:neutron-api @@ -128,7 +128,7 @@ applications: neutron-security-groups: true to: - '12' - channel: latest/edge + channel: 2024.1/edge keystone: charm: ch:keystone @@ -137,7 +137,7 @@ applications: openstack-origin: *openstack-origin to: - '13' - channel: latest/edge + channel: 2024.1/edge neutron-gateway: charm: ch:neutron-gateway @@ -147,7 +147,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '14' - channel: latest/edge + channel: 2024.1/edge glance: charm: ch:glance @@ -156,11 +156,11 @@ applications: openstack-origin: *openstack-origin to: - '15' - channel: latest/edge + channel: 2024.1/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2024.1/edge cinder: charm: ch:cinder @@ -171,7 +171,7 @@ applications: glance-api-version: 2 to: - '16' - channel: latest/edge + channel: 2024.1/edge cinder-ceph: charm: ../../cinder-ceph.charm @@ -193,7 +193,7 @@ applications: debug: true to: - '17' - channel: latest/edge + channel: 2024.1/edge relations: diff --git a/tests/bundles/jammy-antelope.yaml b/tests/bundles/jammy-antelope.yaml index fde690c..10cf56d 100644 --- a/tests/bundles/jammy-antelope.yaml +++ b/tests/bundles/jammy-antelope.yaml @@ -69,7 +69,7 @@ applications: - '3' - '4' - '5' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -81,7 +81,7 @@ applications: - '6' - '7' - '8' - channel: latest/edge + channel: reef/edge rabbitmq-server: charm: ch:rabbitmq-server @@ -99,7 +99,7 @@ applications: debug: true to: - '10' - channel: latest/edge + channel: 2024.1/edge placement: charm: ch:placement @@ -109,7 +109,7 @@ applications: openstack-origin: *openstack-origin to: - '11' - channel: latest/edge + channel: 2024.1/edge neutron-api: charm: ch:neutron-api @@ -122,7 +122,7 @@ applications: neutron-security-groups: true to: - '12' - channel: latest/edge + channel: 2024.1/edge keystone: charm: ch:keystone @@ -131,7 +131,7 @@ applications: openstack-origin: *openstack-origin to: - '13' - channel: latest/edge + channel: 2024.1/edge neutron-gateway: charm: ch:neutron-gateway @@ -141,7 +141,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '14' - channel: latest/edge + channel: 2024.1/edge glance: charm: ch:glance @@ -150,11 +150,11 @@ applications: openstack-origin: *openstack-origin to: - '15' - channel: latest/edge + channel: 2024.1/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2024.1/edge cinder: charm: ch:cinder @@ -165,7 +165,7 @@ applications: glance-api-version: 2 to: - '16' - channel: latest/edge + channel: 2024.1/edge cinder-ceph: charm: ../../cinder-ceph.charm @@ -183,7 +183,7 @@ applications: debug: true to: - '17' - channel: latest/edge + channel: 2024.1/edge relations: diff --git a/tests/bundles/jammy-bobcat-ec.yaml b/tests/bundles/jammy-bobcat-ec.yaml index 898edc4..9d1038b 100644 --- a/tests/bundles/jammy-bobcat-ec.yaml +++ b/tests/bundles/jammy-bobcat-ec.yaml @@ -75,7 +75,7 @@ applications: - '18' - '19' - '20' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -87,7 +87,7 @@ applications: - '6' - '7' - '8' - channel: latest/edge + channel: reef/edge rabbitmq-server: charm: ch:rabbitmq-server @@ -105,7 +105,7 @@ applications: debug: true to: - '10' - channel: latest/edge + channel: 2024.1/edge placement: charm: ch:placement @@ -115,7 +115,7 @@ applications: openstack-origin: *openstack-origin to: - '11' - channel: latest/edge + channel: 2024.1/edge neutron-api: charm: ch:neutron-api @@ -128,7 +128,7 @@ applications: neutron-security-groups: true to: - '12' - channel: latest/edge + channel: 2024.1/edge keystone: charm: ch:keystone @@ -137,7 +137,7 @@ applications: openstack-origin: *openstack-origin to: - '13' - channel: latest/edge + channel: 2024.1/edge neutron-gateway: charm: ch:neutron-gateway @@ -147,7 +147,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '14' - channel: latest/edge + channel: 2024.1/edge glance: charm: ch:glance @@ -156,11 +156,11 @@ applications: openstack-origin: *openstack-origin to: - '15' - channel: latest/edge + channel: 2024.1/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2024.1/edge cinder: charm: ch:cinder @@ -171,7 +171,7 @@ applications: glance-api-version: 2 to: - '16' - channel: latest/edge + channel: 2024.1/edge cinder-ceph: charm: ../../cinder-ceph.charm @@ -193,7 +193,7 @@ applications: debug: true to: - '17' - channel: latest/edge + channel: 2024.1/edge relations: diff --git a/tests/bundles/jammy-bobcat.yaml b/tests/bundles/jammy-bobcat.yaml index 82f8322..cadb15d 100644 --- a/tests/bundles/jammy-bobcat.yaml +++ b/tests/bundles/jammy-bobcat.yaml @@ -69,7 +69,7 @@ applications: - '3' - '4' - '5' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -81,7 +81,7 @@ applications: - '6' - '7' - '8' - channel: latest/edge + channel: reef/edge rabbitmq-server: charm: ch:rabbitmq-server @@ -99,7 +99,7 @@ applications: debug: true to: - '10' - channel: latest/edge + channel: 2024.1/edge placement: charm: ch:placement @@ -109,7 +109,7 @@ applications: openstack-origin: *openstack-origin to: - '11' - channel: latest/edge + channel: 2024.1/edge neutron-api: charm: ch:neutron-api @@ -122,7 +122,7 @@ applications: neutron-security-groups: true to: - '12' - channel: latest/edge + channel: 2024.1/edge keystone: charm: ch:keystone @@ -131,7 +131,7 @@ applications: openstack-origin: *openstack-origin to: - '13' - channel: latest/edge + channel: 2024.1/edge neutron-gateway: charm: ch:neutron-gateway @@ -141,7 +141,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '14' - channel: latest/edge + channel: 2024.1/edge glance: charm: ch:glance @@ -150,11 +150,11 @@ applications: openstack-origin: *openstack-origin to: - '15' - channel: latest/edge + channel: 2024.1/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2024.1/edge cinder: charm: ch:cinder @@ -165,7 +165,7 @@ applications: glance-api-version: 2 to: - '16' - channel: latest/edge + channel: 2024.1/edge cinder-ceph: charm: ../../cinder-ceph.charm @@ -183,7 +183,7 @@ applications: debug: true to: - '17' - channel: latest/edge + channel: 2024.1/edge relations: diff --git a/tests/bundles/mantic-bobcat.yaml b/tests/bundles/jammy-caracal.yaml similarity index 94% rename from tests/bundles/mantic-bobcat.yaml rename to tests/bundles/jammy-caracal.yaml index 1b090d7..9acf97a 100644 --- a/tests/bundles/mantic-bobcat.yaml +++ b/tests/bundles/jammy-caracal.yaml @@ -1,7 +1,7 @@ variables: - openstack-origin: &openstack-origin distro + openstack-origin: &openstack-origin cloud:jammy-caracal -series: &series mantic +series: &series jammy machines: 0: @@ -69,7 +69,7 @@ applications: - '3' - '4' - '5' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -81,7 +81,7 @@ applications: - '6' - '7' - '8' - channel: latest/edge + channel: reef/edge rabbitmq-server: charm: ch:rabbitmq-server @@ -99,7 +99,7 @@ applications: debug: true to: - '10' - channel: latest/edge + channel: 2024.1/edge placement: charm: ch:placement @@ -109,7 +109,7 @@ applications: openstack-origin: *openstack-origin to: - '11' - channel: latest/edge + channel: 2024.1/edge neutron-api: charm: ch:neutron-api @@ -122,7 +122,7 @@ applications: neutron-security-groups: true to: - '12' - channel: latest/edge + channel: 2024.1/edge keystone: charm: ch:keystone @@ -131,7 +131,7 @@ applications: openstack-origin: *openstack-origin to: - '13' - channel: latest/edge + channel: 2024.1/edge neutron-gateway: charm: ch:neutron-gateway @@ -141,7 +141,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '14' - channel: latest/edge + channel: 2024.1/edge glance: charm: ch:glance @@ -150,11 +150,11 @@ applications: openstack-origin: *openstack-origin to: - '15' - channel: latest/edge + channel: 2024.1/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2024.1/edge cinder: charm: ch:cinder @@ -165,7 +165,7 @@ applications: glance-api-version: 2 to: - '16' - channel: latest/edge + channel: 2024.1/edge cinder-ceph: charm: ../../cinder-ceph.charm @@ -183,7 +183,7 @@ applications: debug: true to: - '17' - channel: latest/edge + channel: 2024.1/edge relations: diff --git a/tests/bundles/lunar-antelope-ec.yaml b/tests/bundles/lunar-antelope-ec.yaml deleted file mode 100644 index 06075ac..0000000 --- a/tests/bundles/lunar-antelope-ec.yaml +++ /dev/null @@ -1,303 +0,0 @@ -variables: - openstack-origin: &openstack-origin distro - -series: &series lunar - -machines: - 0: - 1: - 2: - 3: - 4: - 5: - 6: - 7: - 8: - 9: - 10: - 11: - 12: - 13: - 14: - 15: - 16: - # for the nova-compute unit - 17: - constraints: mem=4G cores=4 root-disk=20G - 18: - 19: - 20: - -applications: - - nova-cloud-controller-mysql-router: - charm: ch:mysql-router - channel: latest/edge - placement-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 - cinder-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 - - ceph-osd: - charm: ch:ceph-osd - num_units: 6 - storage: - osd-devices: '10G' - options: - osd-devices: '/dev/test-non-existent' - source: *openstack-origin - to: - - '3' - - '4' - - '5' - - '18' - - '19' - - '20' - channel: latest/edge - - ceph-mon: - charm: ch:ceph-mon - num_units: 3 - options: - monitor-count: '3' - source: *openstack-origin - to: - - '6' - - '7' - - '8' - channel: latest/edge - - rabbitmq-server: - charm: ch:rabbitmq-server - num_units: 1 - to: - - '9' - 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: - - '10' - channel: latest/edge - - placement: - charm: ch:placement - num_units: 1 - constraints: mem=1G - options: - openstack-origin: *openstack-origin - to: - - '11' - channel: latest/edge - - neutron-api: - charm: ch:neutron-api - num_units: 1 - options: - manage-neutron-plugin-legacy-mode: true - neutron-plugin: ovs - openstack-origin: *openstack-origin - flat-network-providers: physnet1 - neutron-security-groups: true - to: - - '12' - channel: latest/edge - - keystone: - charm: ch:keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '13' - channel: latest/edge - - neutron-gateway: - charm: ch:neutron-gateway - num_units: 1 - options: - openstack-origin: *openstack-origin - bridge-mappings: physnet1:br-ex - to: - - '14' - channel: latest/edge - - glance: - charm: ch:glance - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '15' - channel: latest/edge - - neutron-openvswitch: - charm: ch:neutron-openvswitch - channel: latest/edge - - cinder: - charm: ch:cinder - num_units: 1 - options: - openstack-origin: *openstack-origin - block-device: None - glance-api-version: 2 - to: - - '16' - channel: latest/edge - - cinder-ceph: - charm: ../../cinder-ceph.charm - options: - pool-type: erasure-coded - ec-profile-k: 4 - ec-profile-m: 2 - - nova-compute: - charm: ch:nova-compute - 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 - to: - - '17' - channel: latest/edge - -relations: - - - - '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' - - - - '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' - - - - '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' - - - - 'glance:ceph' - - 'ceph-mon:client' - - - - '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' - - - - 'cinder:shared-db' - - 'cinder-mysql-router:shared-db' - - - 'cinder-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'cinder:identity-service' - - 'keystone:identity-service' - - - - 'cinder:amqp' - - 'rabbitmq-server:amqp' - - - - 'cinder:image-service' - - 'glance:image-service' - - - - 'cinder-ceph:storage-backend' - - 'cinder:storage-backend' - - - - 'nova-compute:ceph-access' - - 'cinder-ceph:ceph-access' - - - - 'ceph-mon:client' - - 'cinder-ceph:ceph' - - - - 'ceph-mon:osd' - - 'ceph-osd:mon' diff --git a/tests/bundles/mantic-bobcat-ec.yaml b/tests/bundles/mantic-bobcat-ec.yaml deleted file mode 100644 index 3d58b31..0000000 --- a/tests/bundles/mantic-bobcat-ec.yaml +++ /dev/null @@ -1,303 +0,0 @@ -variables: - openstack-origin: &openstack-origin distro - -series: &series mantic - -machines: - 0: - 1: - 2: - 3: - 4: - 5: - 6: - 7: - 8: - 9: - 10: - 11: - 12: - 13: - 14: - 15: - 16: - # for the nova-compute unit - 17: - constraints: mem=4G cores=4 root-disk=20G - 18: - 19: - 20: - -applications: - - nova-cloud-controller-mysql-router: - charm: ch:mysql-router - channel: latest/edge - placement-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 - cinder-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 - - ceph-osd: - charm: ch:ceph-osd - num_units: 6 - storage: - osd-devices: '10G' - options: - osd-devices: '/dev/test-non-existent' - source: *openstack-origin - to: - - '3' - - '4' - - '5' - - '18' - - '19' - - '20' - channel: latest/edge - - ceph-mon: - charm: ch:ceph-mon - num_units: 3 - options: - monitor-count: '3' - source: *openstack-origin - to: - - '6' - - '7' - - '8' - channel: latest/edge - - rabbitmq-server: - charm: ch:rabbitmq-server - num_units: 1 - to: - - '9' - 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: - - '10' - channel: latest/edge - - placement: - charm: ch:placement - num_units: 1 - constraints: mem=1G - options: - openstack-origin: *openstack-origin - to: - - '11' - channel: latest/edge - - neutron-api: - charm: ch:neutron-api - num_units: 1 - options: - manage-neutron-plugin-legacy-mode: true - neutron-plugin: ovs - openstack-origin: *openstack-origin - flat-network-providers: physnet1 - neutron-security-groups: true - to: - - '12' - channel: latest/edge - - keystone: - charm: ch:keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '13' - channel: latest/edge - - neutron-gateway: - charm: ch:neutron-gateway - num_units: 1 - options: - openstack-origin: *openstack-origin - bridge-mappings: physnet1:br-ex - to: - - '14' - channel: latest/edge - - glance: - charm: ch:glance - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '15' - channel: latest/edge - - neutron-openvswitch: - charm: ch:neutron-openvswitch - channel: latest/edge - - cinder: - charm: ch:cinder - num_units: 1 - options: - openstack-origin: *openstack-origin - block-device: None - glance-api-version: 2 - to: - - '16' - channel: latest/edge - - cinder-ceph: - charm: ../../cinder-ceph.charm - options: - pool-type: erasure-coded - ec-profile-k: 4 - ec-profile-m: 2 - - nova-compute: - charm: ch:nova-compute - 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 - to: - - '17' - channel: latest/edge - -relations: - - - - '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' - - - - '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' - - - - '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' - - - - 'glance:ceph' - - 'ceph-mon:client' - - - - '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' - - - - 'cinder:shared-db' - - 'cinder-mysql-router:shared-db' - - - 'cinder-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'cinder:identity-service' - - 'keystone:identity-service' - - - - 'cinder:amqp' - - 'rabbitmq-server:amqp' - - - - 'cinder:image-service' - - 'glance:image-service' - - - - 'cinder-ceph:storage-backend' - - 'cinder:storage-backend' - - - - 'nova-compute:ceph-access' - - 'cinder-ceph:ceph-access' - - - - 'ceph-mon:client' - - 'cinder-ceph:ceph' - - - - 'ceph-mon:osd' - - 'ceph-osd:mon' diff --git a/tests/bundles/lunar-antelope.yaml b/tests/bundles/noble-caracal.yaml similarity index 95% rename from tests/bundles/lunar-antelope.yaml rename to tests/bundles/noble-caracal.yaml index 2794ddb..8ac250a 100644 --- a/tests/bundles/lunar-antelope.yaml +++ b/tests/bundles/noble-caracal.yaml @@ -1,7 +1,7 @@ variables: openstack-origin: &openstack-origin distro -series: &series lunar +series: &series noble machines: 0: @@ -69,7 +69,7 @@ applications: - '3' - '4' - '5' - channel: latest/edge + channel: reef/edge ceph-mon: charm: ch:ceph-mon @@ -81,7 +81,7 @@ applications: - '6' - '7' - '8' - channel: latest/edge + channel: reef/edge rabbitmq-server: charm: ch:rabbitmq-server @@ -99,7 +99,7 @@ applications: debug: true to: - '10' - channel: latest/edge + channel: 2024.1/edge placement: charm: ch:placement @@ -109,7 +109,7 @@ applications: openstack-origin: *openstack-origin to: - '11' - channel: latest/edge + channel: 2024.1/edge neutron-api: charm: ch:neutron-api @@ -122,7 +122,7 @@ applications: neutron-security-groups: true to: - '12' - channel: latest/edge + channel: 2024.1/edge keystone: charm: ch:keystone @@ -131,7 +131,7 @@ applications: openstack-origin: *openstack-origin to: - '13' - channel: latest/edge + channel: 2024.1/edge neutron-gateway: charm: ch:neutron-gateway @@ -141,7 +141,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '14' - channel: latest/edge + channel: 2024.1/edge glance: charm: ch:glance @@ -150,11 +150,11 @@ applications: openstack-origin: *openstack-origin to: - '15' - channel: latest/edge + channel: 2024.1/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2024.1/edge cinder: charm: ch:cinder @@ -165,7 +165,7 @@ applications: glance-api-version: 2 to: - '16' - channel: latest/edge + channel: 2024.1/edge cinder-ceph: charm: ../../cinder-ceph.charm @@ -183,7 +183,7 @@ applications: debug: true to: - '17' - channel: latest/edge + channel: 2024.1/edge relations: diff --git a/tests/tests.yaml b/tests/tests.yaml index 5a9dbbd..2a5f408 100644 --- a/tests/tests.yaml +++ b/tests/tests.yaml @@ -1,22 +1,17 @@ charm_name: cinder-ceph comment: | - The cinder-ceph charm assertions are intended to be the sum of the - cinder and ceph-mon zaza charm tests. + The cinder-ceph charm assertions are intended to be the sum of the + cinder and ceph-mon zaza charm tests. smoke_bundles: - - jammy-antelope - + - jammy-caracal gate_bundles: - - jammy-antelope-ec - jammy-antelope - -dev_bundles: - - jammy-bobcat-ec - jammy-bobcat - - mantic-bobcat-ec - - mantic-bobcat - + - jammy-caracal +dev_bundles: + - noble-caracal configure: - zaza.openstack.charm_tests.glance.setup.add_cirros_image - zaza.openstack.charm_tests.glance.setup.add_lts_image @@ -40,5 +35,4 @@ tests_options: policyd: service: cinder force_deploy: - - mantic-bobcat - - mantic-bobcat-ec + - noble-caracal