From 007f302ed6e8ac3750661fce615632e3b972f2a1 Mon Sep 17 00:00:00 2001 From: Alex Kavanagh Date: Fri, 9 Feb 2024 18:15:47 +0000 Subject: [PATCH] Updates for caracal testing support These updates, on the master branch, are to support testing the caracal packages and support of the charms for caracal. They do NOT lock the charms down, and don't change the testing branches to stable branches. Change-Id: I6f8bd495a2078b5683a05a63124d7902d0a86f74 --- build-requirements.txt | 7 ---- charmcraft.yaml | 6 ---- charmhelpers/contrib/openstack/context.py | 3 +- charmhelpers/contrib/openstack/utils.py | 24 +++---------- charmhelpers/fetch/ubuntu.py | 10 ++++++ metadata.yaml | 6 ++-- tests/bundles/jammy-antelope.yaml | 14 ++++---- tests/bundles/jammy-bobcat.yaml | 14 ++++---- ...{mantic-bobcat.yaml => jammy-caracal.yaml} | 18 +++++----- ...lunar-antelope.yaml => noble-caracal.yaml} | 16 ++++----- tests/tests.yaml | 36 +++++++++---------- tox.ini | 18 +++++++--- 12 files changed, 79 insertions(+), 93 deletions(-) delete mode 100644 build-requirements.txt rename tests/bundles/{mantic-bobcat.yaml => jammy-caracal.yaml} (95%) rename tests/bundles/{lunar-antelope.yaml => noble-caracal.yaml} (96%) 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/charmcraft.yaml b/charmcraft.yaml index 58e7c161..79551bcd 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -32,9 +32,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/context.py b/charmhelpers/contrib/openstack/context.py index 42f15032..1e667fb0 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 diff --git a/charmhelpers/contrib/openstack/utils.py b/charmhelpers/contrib/openstack/utils.py index ee492245..da711c65 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] @@ -846,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/fetch/ubuntu.py b/charmhelpers/fetch/ubuntu.py index 1be992c4..d0089eb7 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 e21df248..da60cd5f 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -15,11 +15,9 @@ description: | nova-scheduler, nova-api and nova-conductor services. docs: https://discourse.charmhub.io/t/nova-cloud-controller-docs-index/10551 tags: -- openstack + - openstack series: -- jammy -- lunar -- mantic + - jammy extra-bindings: public: admin: diff --git a/tests/bundles/jammy-antelope.yaml b/tests/bundles/jammy-antelope.yaml index 9f7a1c19..62dddc24 100644 --- a/tests/bundles/jammy-antelope.yaml +++ b/tests/bundles/jammy-antelope.yaml @@ -92,7 +92,7 @@ applications: neutron-security-groups: true to: - '5' - channel: latest/edge + channel: 2024.1/edge keystone: charm: ch:keystone @@ -101,7 +101,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: latest/edge + channel: 2024.1/edge neutron-gateway: charm: ch:neutron-gateway @@ -111,7 +111,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '7' - channel: latest/edge + channel: 2024.1/edge glance: charm: ch:glance @@ -120,11 +120,11 @@ applications: openstack-origin: *openstack-origin to: - '8' - channel: latest/edge + channel: 2024.1/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2024.1/edge placement: charm: ch:placement @@ -133,7 +133,7 @@ applications: openstack-origin: *openstack-origin to: - '9' - channel: latest/edge + channel: 2024.1/edge nova-compute: charm: ch:nova-compute @@ -149,7 +149,7 @@ applications: to: - '10' - '11' - channel: latest/edge + channel: 2024.1/edge vault: charm: ch:vault diff --git a/tests/bundles/jammy-bobcat.yaml b/tests/bundles/jammy-bobcat.yaml index d8ca66a0..26a36a22 100644 --- a/tests/bundles/jammy-bobcat.yaml +++ b/tests/bundles/jammy-bobcat.yaml @@ -92,7 +92,7 @@ applications: neutron-security-groups: true to: - '5' - channel: latest/edge + channel: 2024.1/edge keystone: charm: ch:keystone @@ -101,7 +101,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: latest/edge + channel: 2024.1/edge neutron-gateway: charm: ch:neutron-gateway @@ -111,7 +111,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '7' - channel: latest/edge + channel: 2024.1/edge glance: charm: ch:glance @@ -120,11 +120,11 @@ applications: openstack-origin: *openstack-origin to: - '8' - channel: latest/edge + channel: 2024.1/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2024.1/edge placement: charm: ch:placement @@ -133,7 +133,7 @@ applications: openstack-origin: *openstack-origin to: - '9' - channel: latest/edge + channel: 2024.1/edge nova-compute: charm: ch:nova-compute @@ -149,7 +149,7 @@ applications: to: - '10' - '11' - channel: latest/edge + channel: 2024.1/edge vault: charm: ch:vault diff --git a/tests/bundles/mantic-bobcat.yaml b/tests/bundles/jammy-caracal.yaml similarity index 95% rename from tests/bundles/mantic-bobcat.yaml rename to tests/bundles/jammy-caracal.yaml index b6a02901..c6acae1b 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: mantic +series: jammy comment: - 'machines section to decide order of deployment. database sooner = faster' @@ -92,7 +92,7 @@ applications: neutron-security-groups: true to: - '5' - channel: latest/edge + channel: 2024.1/edge keystone: charm: ch:keystone @@ -101,7 +101,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: latest/edge + channel: 2024.1/edge neutron-gateway: charm: ch:neutron-gateway @@ -111,7 +111,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '7' - channel: latest/edge + channel: 2024.1/edge glance: charm: ch:glance @@ -120,11 +120,11 @@ applications: openstack-origin: *openstack-origin to: - '8' - channel: latest/edge + channel: 2024.1/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2024.1/edge placement: charm: ch:placement @@ -133,7 +133,7 @@ applications: openstack-origin: *openstack-origin to: - '9' - channel: latest/edge + channel: 2024.1/edge nova-compute: charm: ch:nova-compute @@ -149,7 +149,7 @@ applications: to: - '10' - '11' - channel: latest/edge + channel: 2024.1/edge vault: charm: ch:vault diff --git a/tests/bundles/lunar-antelope.yaml b/tests/bundles/noble-caracal.yaml similarity index 96% rename from tests/bundles/lunar-antelope.yaml rename to tests/bundles/noble-caracal.yaml index c1872a32..e84c06a2 100644 --- a/tests/bundles/lunar-antelope.yaml +++ b/tests/bundles/noble-caracal.yaml @@ -1,7 +1,7 @@ variables: openstack-origin: &openstack-origin distro -series: lunar +series: noble comment: - 'machines section to decide order of deployment. database sooner = faster' @@ -92,7 +92,7 @@ applications: neutron-security-groups: true to: - '5' - channel: latest/edge + channel: 2024.1/edge keystone: charm: ch:keystone @@ -101,7 +101,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: latest/edge + channel: 2024.1/edge neutron-gateway: charm: ch:neutron-gateway @@ -111,7 +111,7 @@ applications: bridge-mappings: physnet1:br-ex to: - '7' - channel: latest/edge + channel: 2024.1/edge glance: charm: ch:glance @@ -120,11 +120,11 @@ applications: openstack-origin: *openstack-origin to: - '8' - channel: latest/edge + channel: 2024.1/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: latest/edge + channel: 2024.1/edge placement: charm: ch:placement @@ -133,7 +133,7 @@ applications: openstack-origin: *openstack-origin to: - '9' - channel: latest/edge + channel: 2024.1/edge nova-compute: charm: ch:nova-compute @@ -149,7 +149,7 @@ applications: to: - '10' - '11' - channel: latest/edge + channel: 2024.1/edge vault: charm: ch:vault diff --git a/tests/tests.yaml b/tests/tests.yaml index 4bdd95f8..8a3bff6e 100644 --- a/tests/tests.yaml +++ b/tests/tests.yaml @@ -1,36 +1,32 @@ charm_name: nova-cloud-controller smoke_bundles: -- jammy-antelope - + - jammy-caracal gate_bundles: -- jammy-antelope - + - jammy-antelope + - jammy-bobcat + - jammy-caracal dev_bundles: -- jammy-bobcat -- lunar-antelope -- mantic-bobcat - + - noble-caracal target_deploy_status: vault: workload-status: blocked workload-status-message: Vault needs to be initialized configure: -- zaza.openstack.charm_tests.vault.setup.auto_initialize -- zaza.openstack.charm_tests.glance.setup.add_cirros_image -- zaza.openstack.charm_tests.keystone.setup.add_demo_user -- zaza.openstack.charm_tests.neutron.setup.basic_overcloud_network -- zaza.openstack.charm_tests.nova.setup.create_flavors -- zaza.openstack.charm_tests.nova.setup.manage_ssh_key + - zaza.openstack.charm_tests.vault.setup.auto_initialize + - zaza.openstack.charm_tests.glance.setup.add_cirros_image + - zaza.openstack.charm_tests.keystone.setup.add_demo_user + - zaza.openstack.charm_tests.neutron.setup.basic_overcloud_network + - zaza.openstack.charm_tests.nova.setup.create_flavors + - zaza.openstack.charm_tests.nova.setup.manage_ssh_key tests: -- zaza.openstack.charm_tests.nova.tests.CirrosGuestCreateTest -- zaza.openstack.charm_tests.nova.tests.SecurityTests -- zaza.openstack.charm_tests.nova.tests.NovaCloudController -- zaza.openstack.charm_tests.nova.tests.NovaCloudControllerActionTest + - zaza.openstack.charm_tests.nova.tests.CirrosGuestCreateTest + - zaza.openstack.charm_tests.nova.tests.SecurityTests + - zaza.openstack.charm_tests.nova.tests.NovaCloudController + - zaza.openstack.charm_tests.nova.tests.NovaCloudControllerActionTest tests_options: force_deploy: - - lunar-antelope - - mantic-bobcat + - noble-caracal diff --git a/tox.ini b/tox.ini index 2cb6ca16..57c2f4ec 100644 --- a/tox.ini +++ b/tox.ini @@ -32,11 +32,13 @@ passenv = CS_* OS_* TEST_* -deps = -r{toxinidir}/test-requirements.txt +deps = + -c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt} + -r{toxinidir}/test-requirements.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, @@ -49,12 +51,16 @@ commands = [testenv:py310] basepython = python3.10 -deps = -r{toxinidir}/requirements.txt +deps = + -c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt} + -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt [testenv:py3] basepython = python3 -deps = -r{toxinidir}/requirements.txt +deps = + -c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt} + -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt [testenv:pep8] @@ -68,7 +74,9 @@ 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 +deps = + -c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt} + -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt setenv = {[testenv]setenv}