From dc7ecbc6ecb018555b9ccc02fe0d3a666ab92450 Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Tue, 14 Feb 2023 21:26:02 +0000 Subject: [PATCH] Add Antelope support * sync charm-helpers to classic charms * change openstack-origin/source default to antelope * align testing with antelope * add new antelope bundles * add antelope bundles to tests.yaml * add antelope tests to osci.yaml and .zuul.yaml * update build-on and run-on bases Change-Id: I6795ce22f1330309771f4d8d43cee255e27c2a10 --- .zuul.yaml | 2 +- charmcraft.yaml | 3 + config.yaml | 2 +- hooks/charmhelpers/contrib/openstack/utils.py | 1 + .../charmhelpers/core/host_factory/ubuntu.py | 1 + hooks/charmhelpers/fetch/ubuntu.py | 10 + metadata.yaml | 1 + osci.yaml | 2 +- test-requirements.txt | 1 + tests/bundles/jammy-antelope.yaml | 312 ++++++++++++++++++ .../{jammy-yoga.yaml => lunar-antelope.yaml} | 2 +- tests/tests.yaml | 9 +- tox.ini | 2 +- 13 files changed, 339 insertions(+), 9 deletions(-) create mode 100644 tests/bundles/jammy-antelope.yaml rename tests/bundles/{jammy-yoga.yaml => lunar-antelope.yaml} (99%) diff --git a/.zuul.yaml b/.zuul.yaml index 23bf5f62..fd20909e 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,4 +1,4 @@ - project: templates: - - openstack-python3-charm-zed-jobs + - openstack-python3-charm-jobs - openstack-cover-jobs diff --git a/charmcraft.yaml b/charmcraft.yaml index 50427837..37cacbce 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -34,3 +34,6 @@ bases: - name: ubuntu channel: "22.10" architectures: [amd64, s390x, ppc64el, arm64] + - name: ubuntu + channel: "23.04" + architectures: [amd64, s390x, ppc64el, arm64] diff --git a/config.yaml b/config.yaml index 114ab9fc..3fc0c6ee 100644 --- a/config.yaml +++ b/config.yaml @@ -14,7 +14,7 @@ options: Setting this to True will allow supporting services to log to syslog. openstack-origin: type: string - default: zed + default: antelope description: | Repository from which to install. May be one of the following: distro (default), ppa:somecustom/ppa, a deb URL sources entry or a diff --git a/hooks/charmhelpers/contrib/openstack/utils.py b/hooks/charmhelpers/contrib/openstack/utils.py index 47e700e8..3d52eb16 100644 --- a/hooks/charmhelpers/contrib/openstack/utils.py +++ b/hooks/charmhelpers/contrib/openstack/utils.py @@ -159,6 +159,7 @@ OPENSTACK_CODENAMES = OrderedDict([ ('2021.2', 'xena'), ('2022.1', 'yoga'), ('2022.2', 'zed'), + ('2023.1', 'antelope'), ]) # The ugly duckling - must list releases oldest to newest diff --git a/hooks/charmhelpers/core/host_factory/ubuntu.py b/hooks/charmhelpers/core/host_factory/ubuntu.py index cc2d89fe..a279d5be 100644 --- a/hooks/charmhelpers/core/host_factory/ubuntu.py +++ b/hooks/charmhelpers/core/host_factory/ubuntu.py @@ -31,6 +31,7 @@ UBUNTU_RELEASES = ( 'impish', 'jammy', 'kinetic', + 'lunar', ) diff --git a/hooks/charmhelpers/fetch/ubuntu.py b/hooks/charmhelpers/fetch/ubuntu.py index 27565d69..effc884a 100644 --- a/hooks/charmhelpers/fetch/ubuntu.py +++ b/hooks/charmhelpers/fetch/ubuntu.py @@ -230,6 +230,14 @@ CLOUD_ARCHIVE_POCKETS = { 'zed/proposed': 'jammy-proposed/zed', 'jammy-zed/proposed': 'jammy-proposed/zed', 'jammy-proposed/zed': 'jammy-proposed/zed', + # antelope + 'antelope': 'jammy-updates/antelope', + 'jammy-antelope': 'jammy-updates/antelope', + 'jammy-antelope/updates': 'jammy-updates/antelope', + 'jammy-updates/antelope': 'jammy-updates/antelope', + 'antelope/proposed': 'jammy-proposed/antelope', + 'jammy-antelope/proposed': 'jammy-proposed/antelope', + 'jammy-proposed/antelope': 'jammy-proposed/antelope', # OVN 'focal-ovn-22.03': 'focal-updates/ovn-22.03', @@ -261,6 +269,7 @@ OPENSTACK_RELEASES = ( 'xena', 'yoga', 'zed', + 'antelope', ) @@ -288,6 +297,7 @@ UBUNTU_OPENSTACK_RELEASE = OrderedDict([ ('impish', 'xena'), ('jammy', 'yoga'), ('kinetic', 'zed'), + ('lunar', 'antelope'), ]) diff --git a/metadata.yaml b/metadata.yaml index 942b435b..faa8200c 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -13,6 +13,7 @@ tags: series: - jammy - kinetic +- lunar provides: cloud-compute: interface: nova-compute diff --git a/osci.yaml b/osci.yaml index aab99bb2..6fa399e9 100644 --- a/osci.yaml +++ b/osci.yaml @@ -1,7 +1,7 @@ - project: templates: - charm-unit-jobs-py310 - - charm-zed-functional-jobs + - charm-functional-jobs vars: needs_charm_build: true charm_build_name: nova-compute diff --git a/test-requirements.txt b/test-requirements.txt index 4ef87dc5..f3e0f0f0 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -27,3 +27,4 @@ git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.open git+https://opendev.org/openstack/tempest.git#egg=tempest croniter # needed for charm-rabbitmq-server unit tests +psutil diff --git a/tests/bundles/jammy-antelope.yaml b/tests/bundles/jammy-antelope.yaml new file mode 100644 index 00000000..256cf94f --- /dev/null +++ b/tests/bundles/jammy-antelope.yaml @@ -0,0 +1,312 @@ +variables: + openstack-origin: &openstack-origin cloud:jammy-antelope + +series: jammy + +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/jammy-yoga.yaml b/tests/bundles/lunar-antelope.yaml similarity index 99% rename from tests/bundles/jammy-yoga.yaml rename to tests/bundles/lunar-antelope.yaml index f0074385..46493c9f 100644 --- a/tests/bundles/jammy-yoga.yaml +++ b/tests/bundles/lunar-antelope.yaml @@ -1,7 +1,7 @@ variables: openstack-origin: &openstack-origin distro -series: jammy +series: lunar comment: - 'machines section to decide order of deployment. database sooner = faster' diff --git a/tests/tests.yaml b/tests/tests.yaml index b38ff48b..243cee93 100644 --- a/tests/tests.yaml +++ b/tests/tests.yaml @@ -1,15 +1,15 @@ charm_name: nova-compute smoke_bundles: -- jammy-yoga +- jammy-zed gate_bundles: -- jammy-yoga +- jammy-zed dev_bundles: -- jammy-yoga -- jammy-zed +- jammy-antelope - kinetic-zed +- lunar-antelope configure: - zaza.openstack.charm_tests.vault.setup.auto_initialize_no_validation_no_wait @@ -42,3 +42,4 @@ tests: tests_options: force_deploy: - kinetic-zed + - lunar-antelope diff --git a/tox.ini b/tox.ini index ad1378f4..32e9ac25 100644 --- a/tox.ini +++ b/tox.ini @@ -26,7 +26,7 @@ setenv = commands = stestr run --slowest {posargs} allowlist_externals = charmcraft - rename.sh + {toxinidir}/rename.sh passenv = HOME TERM