From d12503bd704fa064f0fb18601c5e51ee879f108b Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Tue, 14 Feb 2023 21:26:01 +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: I82117a2cbf8bf7145384f3b7255b7b7c6fb15844 --- .zuul.yaml | 2 +- charmcraft.yaml | 3 + osci.yaml | 2 +- src/metadata.yaml | 1 + src/tests/bundles/jammy-antelope.yaml | 311 ++++++++++++++++++ .../{jammy-yoga.yaml => lunar-antelope.yaml} | 2 +- src/tests/tests.yaml | 9 +- tox.ini | 2 +- 8 files changed, 324 insertions(+), 8 deletions(-) create mode 100644 src/tests/bundles/jammy-antelope.yaml rename src/tests/bundles/{jammy-yoga.yaml => lunar-antelope.yaml} (99%) diff --git a/.zuul.yaml b/.zuul.yaml index 23bf5f6..fd20909 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 0604425..e34793a 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -23,3 +23,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/osci.yaml b/osci.yaml index 28000b3..2fb3e8a 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: neutron-api-plugin-ironic diff --git a/src/metadata.yaml b/src/metadata.yaml index bd606c4..c760abe 100644 --- a/src/metadata.yaml +++ b/src/metadata.yaml @@ -9,6 +9,7 @@ tags: series: - jammy - kinetic +- lunar subordinate: true provides: neutron-plugin-api-subordinate: diff --git a/src/tests/bundles/jammy-antelope.yaml b/src/tests/bundles/jammy-antelope.yaml new file mode 100644 index 0000000..74a8c82 --- /dev/null +++ b/src/tests/bundles/jammy-antelope.yaml @@ -0,0 +1,311 @@ +options: + source: &source cloud:jammy-antelope +series: jammy +local_overlay_enabled: false +relations: +- - nova-ironic + - ironic-api +- - ironic-conductor + - ironic-api +- - neutron-ironic-agent:identity-credentials + - keystone +- - neutron-ironic-agent + - neutron-api +- - neutron-openvswitch + - neutron-api +- - ironic-api:amqp + - rabbitmq-server:amqp +- - ironic-api + - keystone +- - ironic-api:shared-db + - ironic-api-mysql-router:shared-db +- - ironic-conductor:amqp + - rabbitmq-server:amqp +- - ironic-conductor + - keystone +- - ironic-conductor:shared-db + - ironic-conductor-mysql-router:shared-db +- - nova-ironic:amqp + - rabbitmq-server:amqp +- - nova-ironic + - glance +- - nova-ironic + - keystone +- - nova-ironic + - nova-cloud-controller +- - neutron-gateway:amqp + - rabbitmq-server:amqp +- - keystone:shared-db + - keystone-mysql-router:shared-db +- - nova-cloud-controller:identity-service + - keystone:identity-service +- - glance:identity-service + - keystone:identity-service +- - neutron-api:identity-service + - keystone:identity-service +- - neutron-api:shared-db + - neutron-api-mysql-router:shared-db +- - neutron-api:amqp + - rabbitmq-server:amqp +- - neutron-gateway:neutron-plugin-api + - neutron-api:neutron-plugin-api +- - glance:shared-db + - glance-mysql-router:shared-db +- - glance:amqp + - rabbitmq-server:amqp +- - nova-cloud-controller:image-service + - glance:image-service +- - nova-cloud-controller:amqp + - rabbitmq-server:amqp +- - nova-cloud-controller:quantum-network-service + - neutron-gateway:quantum-network-service +- - nova-cloud-controller:shared-db + - nova-cloud-controller-mysql-router:shared-db +- - nova-cloud-controller:neutron-api + - neutron-api:neutron-api +- - cinder:image-service + - glance:image-service +- - cinder:amqp + - rabbitmq-server:amqp +- - cinder:identity-service + - keystone:identity-service +- - cinder:cinder-volume-service + - nova-cloud-controller:cinder-volume-service +- - cinder:shared-db + - cinder-mysql-router:shared-db +- - placement:shared-db + - placement-mysql-router:shared-db +- - placement + - keystone +- - placement + - nova-cloud-controller +- - ceph-mon:client + - nova-ironic:ceph +- - ceph-mon:client + - glance:ceph +- - ceph-radosgw:mon + - ceph-mon:radosgw +- - ceph-radosgw:identity-service + - keystone:identity-service +- - ceph-osd:mon + - ceph-mon:osd +- - ceph-radosgw:object-store + - glance +- - mysql-innodb-cluster:db-router + - nova-cloud-controller-mysql-router:db-router +- - mysql-innodb-cluster:db-router + - keystone-mysql-router:db-router +- - mysql-innodb-cluster:db-router + - glance-mysql-router:db-router +- - mysql-innodb-cluster:db-router + - neutron-api-mysql-router:db-router +- - mysql-innodb-cluster:db-router + - placement-mysql-router:db-router +- - mysql-innodb-cluster:db-router + - cinder-mysql-router:db-router +- - mysql-innodb-cluster:db-router + - ironic-api-mysql-router:db-router +- - mysql-innodb-cluster:db-router + - ironic-conductor-mysql-router:db-router +- - vault-mysql-router:db-router + - mysql-innodb-cluster:db-router +- - vault:shared-db + - vault-mysql-router:shared-db +- - vault:certificates + - ceph-radosgw +- - vault:certificates + - cinder +- - vault:certificates + - glance:certificates +- - vault:certificates + - keystone:certificates +- - vault:certificates + - neutron-api:certificates +- - vault:certificates + - nova-cloud-controller:certificates +- - vault:certificates + - placement:certificates +- - vault + - ironic-conductor +- - vault:certificates + - ironic-api:certificates +- - ironic-api + - hacluster-ironic +services: + 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 + vault-mysql-router: + charm: ch:mysql-router + channel: latest/edge + cinder-mysql-router: + charm: ch:mysql-router + channel: latest/edge + ironic-api-mysql-router: + charm: ch:mysql-router + channel: latest/edge + ironic-conductor-mysql-router: + charm: ch:mysql-router + channel: latest/edge + mysql-innodb-cluster: + charm: ch:mysql-innodb-cluster + num_units: 3 + constraints: mem=4G + options: + source: *source + channel: latest/edge + cinder: + charm: ch:cinder + num_units: 1 + constraints: mem=2G + options: + block-device: vdb + glance-api-version: 2 + openstack-origin: *source + worker-multiplier: 0.25 + storage: + block-devices: cinder,50G + channel: latest/edge + ceph-radosgw: + charm: ch:ceph-radosgw + num_units: 1 + constraints: mem=2G + options: + source: *source + namespace-tenants: True + channel: latest/edge + ceph-mon: + charm: ch:ceph-mon + num_units: 3 + constraints: mem=2G + options: + expected-osd-count: 3 + source: *source + channel: latest/edge + ceph-osd: + charm: ch:ceph-osd + num_units: 3 + constraints: mem=2G + options: + source: *source + storage: + osd-devices: 'cinder,30G' + channel: latest/edge + glance: + charm: ch:glance + num_units: 1 + constraints: mem=2G + options: + openstack-origin: *source + worker-multiplier: 0.25 + channel: latest/edge + keystone: + charm: ch:keystone + num_units: 1 + constraints: mem=2G + options: + openstack-origin: *source + worker-multiplier: 0.25 + channel: latest/edge + neutron-api: + charm: ch:neutron-api + num_units: 1 + constraints: mem=2G + options: + flat-network-providers: "physnet1" + neutron-security-groups: true + openstack-origin: *source + manage-neutron-plugin-legacy-mode: false + worker-multiplier: 0.25 + channel: latest/edge + neutron-gateway: + charm: ch:neutron-gateway + num_units: 1 + constraints: mem=2G + options: + openstack-origin: *source + enable-isolated-metadata: true + enable-metadata-network: true + bridge-mappings: physnet1:br-ex + channel: latest/edge + nova-cloud-controller: + charm: ch:nova-cloud-controller + num_units: 1 + constraints: mem=2G + options: + network-manager: Neutron + openstack-origin: *source + worker-multiplier: 0.25 + channel: latest/edge + nova-ironic: + charm: ch:nova-compute + num_units: 1 + constraints: mem=2G + options: + enable-live-migration: false + enable-resize: false + openstack-origin: *source + virt-type: ironic + channel: latest/edge + placement: + charm: ch:placement + num_units: 1 + constraints: mem=2G + options: + openstack-origin: *source + worker-multiplier: 0.25 + channel: latest/edge + rabbitmq-server: + charm: ch:rabbitmq-server + num_units: 1 + constraints: mem=2G + channel: latest/edge + hacluster-ironic: + charm: ch:hacluster + num_units: 0 + channel: latest/edge + ironic-api: + charm: ch:ironic-api + num_units: 3 + constraints: mem=2G + options: + openstack-origin: *source + channel: latest/edge + ironic-conductor: + charm: ch:ironic-conductor + num_units: 1 + constraints: mem=2G + options: + openstack-origin: *source + max-tftp-block-size: 1418 + disable-secure-erase: true + use-ipxe: true + enabled-network-interfaces: "flat, noop" + channel: latest/edge + neutron-openvswitch: + charm: ch:neutron-openvswitch + num_units: 0 + options: + bridge-mappings: physnet1:br-ex + channel: latest/edge + neutron-ironic-agent: + charm: ../../../neutron-api-plugin-ironic.charm + num_units: 0 + options: + openstack-origin: *source + vault: + charm: ch:vault + num_units: 1 + channel: latest/edge diff --git a/src/tests/bundles/jammy-yoga.yaml b/src/tests/bundles/lunar-antelope.yaml similarity index 99% rename from src/tests/bundles/jammy-yoga.yaml rename to src/tests/bundles/lunar-antelope.yaml index 302eed2..e5560e5 100644 --- a/src/tests/bundles/jammy-yoga.yaml +++ b/src/tests/bundles/lunar-antelope.yaml @@ -1,6 +1,6 @@ options: source: &source distro -series: jammy +series: lunar local_overlay_enabled: false relations: - - nova-ironic diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index 247f017..4c4aaf7 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -4,15 +4,15 @@ charm_name: ironic-api gate_bundles: -- jammy-yoga +- jammy-zed dev_bundles: -- jammy-yoga -- jammy-zed +- jammy-antelope - kinetic-zed +- lunar-antelope smoke_bundles: -- jammy-yoga +- jammy-zed target_deploy_status: vault: @@ -44,3 +44,4 @@ tests: tests_options: force_deploy: - kinetic-zed + - lunar-antelope diff --git a/tox.ini b/tox.ini index 854d8be..c11375e 100644 --- a/tox.ini +++ b/tox.ini @@ -33,7 +33,7 @@ allowlist_externals = charmcraft bash tox - rename.sh + {toxinidir}/rename.sh deps = -r{toxinidir}/requirements.txt