From 3dadc053a4e53b4a539725de0863f7f0a5382731 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: I2dbb764d39c8fc95ec9bf4acb621d02f6174940a --- build-requirements.txt | 7 ----- charmcraft.yaml | 6 ---- charmhelpers/contrib/openstack/context.py | 3 +- charmhelpers/contrib/openstack/utils.py | 1 + charmhelpers/fetch/ubuntu.py | 10 +++++++ metadata.yaml | 8 ++---- osci.yaml | 2 +- tests/bundles/jammy-antelope.yaml | 6 ++-- tests/bundles/jammy-bobcat.yaml | 6 ++-- ...{mantic-bobcat.yaml => jammy-caracal.yaml} | 10 +++---- ...lunar-antelope.yaml => noble-caracal.yaml} | 8 +++--- tests/tests.yaml | 28 ++++++++----------- tox.ini | 18 ++++++++---- 13 files changed, 57 insertions(+), 56 deletions(-) delete mode 100644 build-requirements.txt rename tests/bundles/{mantic-bobcat.yaml => jammy-caracal.yaml} (92%) rename tests/bundles/{lunar-antelope.yaml => noble-caracal.yaml} (95%) diff --git a/build-requirements.txt b/build-requirements.txt deleted file mode 100644 index b6d2452..0000000 --- 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 62df933..01a4184 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 42f1503..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 diff --git a/charmhelpers/contrib/openstack/utils.py b/charmhelpers/contrib/openstack/utils.py index 429b09e..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 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 7fec66f..062cc9a 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -15,12 +15,10 @@ description: | This charm deploys the Swift proxy service, providing HTTP based access onto underlying Swift storage services. tags: -- openstack -- cache-proxy + - openstack + - cache-proxy series: -- jammy -- lunar -- mantic + - jammy extra-bindings: public: admin: diff --git a/osci.yaml b/osci.yaml index 226b158..81313fd 100644 --- a/osci.yaml +++ b/osci.yaml @@ -14,7 +14,7 @@ needs_charm_build: true charm_build_name: swift-proxy build_type: charmcraft - charmcraft_channel: 2.1/stable + charmcraft_channel: 2.x/stable - job: name: test-s3api-jammy-antelope diff --git a/tests/bundles/jammy-antelope.yaml b/tests/bundles/jammy-antelope.yaml index 2811cc7..57bb7c2 100644 --- a/tests/bundles/jammy-antelope.yaml +++ b/tests/bundles/jammy-antelope.yaml @@ -45,7 +45,7 @@ applications: openstack-origin: *openstack-origin to: - '3' - channel: latest/edge + channel: 2024.1/edge swift-proxy: charm: ../../swift-proxy.charm @@ -66,7 +66,7 @@ applications: openstack-origin: *openstack-origin to: - '5' - channel: latest/edge + channel: 2024.1/edge swift-storage: charm: ch:swift-storage @@ -78,7 +78,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: latest/edge + channel: 2024.1/edge relations: diff --git a/tests/bundles/jammy-bobcat.yaml b/tests/bundles/jammy-bobcat.yaml index 92057ea..250ae0d 100644 --- a/tests/bundles/jammy-bobcat.yaml +++ b/tests/bundles/jammy-bobcat.yaml @@ -45,7 +45,7 @@ applications: openstack-origin: *openstack-origin to: - '3' - channel: latest/edge + channel: 2024.1/edge swift-proxy: charm: ../../swift-proxy.charm @@ -66,7 +66,7 @@ applications: openstack-origin: *openstack-origin to: - '5' - channel: latest/edge + channel: 2024.1/edge swift-storage: charm: ch:swift-storage @@ -78,7 +78,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: latest/edge + channel: 2024.1/edge relations: diff --git a/tests/bundles/mantic-bobcat.yaml b/tests/bundles/jammy-caracal.yaml similarity index 92% rename from tests/bundles/mantic-bobcat.yaml rename to tests/bundles/jammy-caracal.yaml index d483565..2f5c870 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' @@ -45,7 +45,7 @@ applications: openstack-origin: *openstack-origin to: - '3' - channel: latest/edge + channel: 2024.1/edge swift-proxy: charm: ../../swift-proxy.charm @@ -66,7 +66,7 @@ applications: openstack-origin: *openstack-origin to: - '5' - channel: latest/edge + channel: 2024.1/edge swift-storage: charm: ch:swift-storage @@ -78,7 +78,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: latest/edge + channel: 2024.1/edge relations: 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 46bb5f5..b3c9571 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' @@ -45,7 +45,7 @@ applications: openstack-origin: *openstack-origin to: - '3' - channel: latest/edge + channel: 2024.1/edge swift-proxy: charm: ../../swift-proxy.charm @@ -66,7 +66,7 @@ applications: openstack-origin: *openstack-origin to: - '5' - channel: latest/edge + channel: 2024.1/edge swift-storage: charm: ch:swift-storage @@ -78,7 +78,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: latest/edge + channel: 2024.1/edge relations: diff --git a/tests/tests.yaml b/tests/tests.yaml index 279f467..f19f127 100644 --- a/tests/tests.yaml +++ b/tests/tests.yaml @@ -1,35 +1,31 @@ charm_name: swift-proxy gate_bundles: - - test-s3api: jammy-antelope - + - jammy-antelope + - jammy-bobcat + - jammy-caracal dev_bundles: - - test-s3api: jammy-bobcat - - test-s3api: lunar-antelope - - test-s3api: mantic-bobcat - + - noble-caracal smoke_bundles: # Use no s3api test for smoke - - jammy-antelope - + - jammy-caracal configure: - swift_gr_region1: - - zaza.openstack.charm_tests.swift.setup.wait_for_region2 + - zaza.openstack.charm_tests.swift.setup.wait_for_region2 tests: - zaza.openstack.charm_tests.swift.tests.SwiftImageCreateTest - zaza.openstack.charm_tests.swift.tests.SwiftProxyTests - test-s3api: - - zaza.openstack.charm_tests.swift.tests.SwiftImageCreateTest - - zaza.openstack.charm_tests.swift.tests.SwiftProxyTests - - zaza.openstack.charm_tests.swift.tests.S3APITest + - zaza.openstack.charm_tests.swift.tests.SwiftImageCreateTest + - zaza.openstack.charm_tests.swift.tests.SwiftProxyTests + - zaza.openstack.charm_tests.swift.tests.S3APITest - swift_gr_region1: - - zaza.openstack.charm_tests.swift.tests.SwiftGlobalReplicationTests - - zaza.openstack.charm_tests.swift.tests.SwiftProxyMultiZoneTests + - zaza.openstack.charm_tests.swift.tests.SwiftGlobalReplicationTests + - zaza.openstack.charm_tests.swift.tests.SwiftProxyMultiZoneTests tests_options: force_deploy: - - lunar-antelope - - mantic-bobcat + - noble-caracal policyd: - service: swift diff --git a/tox.ini b/tox.ini index 2cb6ca1..57c2f4e 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}