diff --git a/charmcraft.yaml b/charmcraft.yaml index 8308441..71c7e68 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -28,51 +28,91 @@ bases: - name: ubuntu channel: "22.04" architectures: [amd64] + - build-on: - name: ubuntu - channel: "22.10" + channel: "22.04" + architectures: [s390x] + run-on: + - name: ubuntu + channel: "22.04" + architectures: [s390x] + - build-on: + - name: ubuntu + channel: "22.04" + architectures: [ppc64el] + run-on: + - name: ubuntu + channel: "22.04" + architectures: [ppc64el] + - build-on: + - name: ubuntu + channel: "22.04" + architectures: [arm64] + run-on: + - name: ubuntu + channel: "22.04" + architectures: [arm64] + - build-on: + - name: ubuntu + channel: "23.04" architectures: [amd64] + run-on: - name: ubuntu channel: "23.04" architectures: [amd64] - build-on: - name: ubuntu - channel: "22.04" - architectures: [arm64] + channel: "23.04" + architectures: [s390x] run-on: - - name: ubuntu - channel: "22.04" - architectures: [arm64] - - name: ubuntu - channel: "22.10" - architectures: [arm64] - name: ubuntu channel: "23.04" - architectures: [arm64] + architectures: [s390x] - build-on: - name: ubuntu - channel: "22.04" + channel: "23.04" architectures: [ppc64el] run-on: - - name: ubuntu - channel: "22.04" - architectures: [ppc64el] - - name: ubuntu - channel: "22.10" - architectures: [ppc64el] - name: ubuntu channel: "23.04" architectures: [ppc64el] - build-on: - name: ubuntu - channel: "22.04" + channel: "23.04" + architectures: [arm64] + run-on: + - name: ubuntu + channel: "23.04" + architectures: [arm64] + - build-on: + - name: ubuntu + channel: "23.10" + architectures: [amd64] + run-on: + - name: ubuntu + channel: "23.10" + architectures: [amd64] + - build-on: + - name: ubuntu + channel: "23.10" architectures: [s390x] run-on: - name: ubuntu - channel: "22.04" + channel: "23.10" architectures: [s390x] + - build-on: - name: ubuntu - channel: "22.10" - architectures: [s390x] + channel: "23.10" + architectures: [ppc64el] + run-on: - name: ubuntu - channel: "23.04" - architectures: [s390x] + channel: "23.10" + architectures: [ppc64el] + - build-on: + - name: ubuntu + channel: "23.10" + architectures: [arm64] + run-on: + - name: ubuntu + channel: "23.10" + architectures: [arm64] diff --git a/src/metadata.yaml b/src/metadata.yaml index 5cfaf7f..adc04ae 100644 --- a/src/metadata.yaml +++ b/src/metadata.yaml @@ -8,8 +8,8 @@ tags: - openstack series: - jammy -- kinetic - lunar +- mantic requires: identity-credentials: interface: keystone-credentials diff --git a/src/tests/bundles/jammy-antelope.yaml b/src/tests/bundles/jammy-antelope.yaml index cfbe7c6..96e5215 100644 --- a/src/tests/bundles/jammy-antelope.yaml +++ b/src/tests/bundles/jammy-antelope.yaml @@ -218,7 +218,7 @@ applications: channel: latest/edge masakari-monitors: - charm: ../../../masakari-monitors_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm + charm: ../../../masakari-monitors_ubuntu-22.04-amd64.charm hacluster: charm: ch:hacluster diff --git a/src/tests/bundles/jammy-zed.yaml b/src/tests/bundles/jammy-bobcat.yaml similarity index 98% rename from src/tests/bundles/jammy-zed.yaml rename to src/tests/bundles/jammy-bobcat.yaml index b82ca16..9c99878 100644 --- a/src/tests/bundles/jammy-zed.yaml +++ b/src/tests/bundles/jammy-bobcat.yaml @@ -1,5 +1,5 @@ variables: - openstack-origin: &openstack-origin cloud:jammy-zed + openstack-origin: &openstack-origin cloud:jammy-bobcat local_overlay_enabled: True @@ -218,7 +218,7 @@ applications: channel: latest/edge masakari-monitors: - charm: ../../../masakari-monitors_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm + charm: ../../../masakari-monitors_ubuntu-22.04-amd64.charm hacluster: charm: ch:hacluster diff --git a/src/tests/bundles/lunar-antelope.yaml b/src/tests/bundles/lunar-antelope.yaml index a90f963..5fc9e5a 100644 --- a/src/tests/bundles/lunar-antelope.yaml +++ b/src/tests/bundles/lunar-antelope.yaml @@ -218,7 +218,7 @@ applications: channel: latest/edge masakari-monitors: - charm: ../../../masakari-monitors_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm + charm: ../../../masakari-monitors_ubuntu-23.04-amd64.charm hacluster: charm: ch:hacluster diff --git a/src/tests/bundles/mantic-bobcat.yaml b/src/tests/bundles/mantic-bobcat.yaml new file mode 100644 index 0000000..2eb2c0c --- /dev/null +++ b/src/tests/bundles/mantic-bobcat.yaml @@ -0,0 +1,416 @@ +variables: + openstack-origin: &openstack-origin distro + +local_overlay_enabled: True + +series: mantic + +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': + '5': + '6': + '7': + '8': + constraints: mem=4096M + '9': + constraints: mem=4096M + '10': + constraints: mem=4096M + '11': + '12': + '13': + '14': + '15': + '16': + '17': + '18': + '19': + '20': + '21': + '22': + '23': + +applications: + + keystone-mysql-router: + charm: ch:mysql-router + channel: latest/edge + cinder-mysql-router: + charm: ch:mysql-router + channel: latest/edge + neutron-api-mysql-router: + charm: ch:mysql-router + channel: latest/edge + glance-mysql-router: + charm: ch:mysql-router + channel: latest/edge + nova-cloud-controller-mysql-router: + charm: ch:mysql-router + channel: latest/edge + masakari-mysql-router: + charm: ch:mysql-router + channel: latest/edge + vault-mysql-router: + charm: ch:mysql-router + channel: latest/edge + placement-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 + + glance: + charm: ch:glance + num_units: 1 + options: + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + to: + - '3' + channel: latest/edge + + cinder: + charm: ch:cinder + num_units: 1 + options: + openstack-origin: *openstack-origin + block-device: "None" + glance-api-version: 2 + to: + - '4' + channel: latest/edge + + keystone: + charm: ch:keystone + num_units: 1 + options: + admin-password: openstack + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + to: + - '5' + channel: latest/edge + + neutron-api: + charm: ch:neutron-api + num_units: 1 + options: + manage-neutron-plugin-legacy-mode: true + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + to: + - '6' + channel: latest/edge + + neutron-gateway: + charm: ch:neutron-gateway + num_units: 1 + options: + bridge-mappings: physnet1:br-ex + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + to: + - '7' + channel: latest/edge + + neutron-openvswitch: + charm: ch:neutron-openvswitch + num_units: 0 + channel: latest/edge + + nova-cloud-controller: + charm: ch:nova-cloud-controller + num_units: 1 + options: + network-manager: Neutron + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + debug: true + to: + - '23' + channel: latest/edge + + nova-compute: + charm: ch:nova-compute + num_units: 3 + constraints: mem=4G + options: + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: *openstack-origin + debug: true + cpu-model: kvm64 + cpu-mode: custom + # Allow for more retries when testing ontop of openstack + config-flags: block_device_allocate_retries=120 + to: + - '8' + - '9' + - '10' + channel: latest/edge + + rabbitmq-server: + charm: ch:rabbitmq-server + num_units: 1 + to: + - '11' + channel: latest/edge + + masakari: + charm: ch:masakari + num_units: 3 + options: + openstack-origin: *openstack-origin + to: + - '12' + - '13' + - '14' + channel: latest/edge + + ceph-mon: + charm: ch:ceph-mon + num_units: 3 + options: + source: *openstack-origin + expected-osd-count: 3 + to: + - '15' + - '16' + - '17' + channel: latest/edge + + ceph-osd: + charm: ch:ceph-osd + constraints: mem=1G + num_units: 3 + options: + source: *openstack-origin + storage: + osd-devices: cinder,40G + to: + - '18' + - '19' + - '20' + channel: latest/edge + + cinder-ceph: + charm: ch:cinder-ceph + channel: latest/edge + + masakari-monitors: + charm: ../../../masakari-monitors_ubuntu-23.10-amd64.charm + + hacluster: + charm: ch:hacluster + options: + corosync_transport: unicast + cluster_count: 3 + channel: latest/edge + + pacemaker-remote: + charm: ch:pacemaker-remote + options: + enable-stonith: False + enable-resources: False + channel: latest/edge + + vault: + num_units: 1 + charm: ch:vault + to: + - '21' + channel: latest/edge + + placement: + charm: ch:placement + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '22' + channel: latest/edge + +relations: + + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-gateway:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-gateway:amqp-nova' + - 'rabbitmq-server:amqp' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'cinder:identity-service' + - 'keystone:identity-service' + + - - 'nova-cloud-controller:identity-service' + - 'keystone:identity-service' + + - - 'glance:identity-service' + - 'keystone:identity-service' + + - - 'neutron-api:identity-service' + - 'keystone:identity-service' + + - - 'neutron-openvswitch:neutron-plugin-api' + - 'neutron-api:neutron-plugin-api' + + - - 'cinder:shared-db' + - 'cinder-mysql-router:shared-db' + - - 'cinder-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'neutron-api:shared-db' + - 'neutron-api-mysql-router:shared-db' + - - 'neutron-api-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'cinder:amqp' + - 'rabbitmq-server:amqp' + + - - '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-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'glance:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' + + - - 'nova-compute:image-service' + - 'glance:image-service' + + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server:amqp' + + - - 'nova-cloud-controller:quantum-network-service' + - 'neutron-gateway:quantum-network-service' + + - - 'nova-compute:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + + - - 'neutron-openvswitch: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:neutron-api' + - 'neutron-api:neutron-api' + + - - 'nova-cloud-controller:cloud-compute' + - 'nova-compute:cloud-compute' + + - - 'masakari:shared-db' + - 'masakari-mysql-router:shared-db' + - - 'masakari-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'masakari:amqp' + - 'rabbitmq-server:amqp' + + - - 'masakari:identity-service' + - 'keystone:identity-service' + + - - 'glance:ceph' + - 'ceph-mon:client' + + - - 'ceph-mon:osd' + - 'ceph-osd:mon' + + - - 'cinder:storage-backend' + - 'cinder-ceph:storage-backend' + + - - 'cinder-ceph:ceph' + - 'ceph-mon:client' + + - - 'cinder-ceph:ceph-access' + - 'nova-compute:ceph-access' + + - - 'nova-compute:juju-info' + - 'masakari-monitors:container' + + - - 'masakari:ha' + - 'hacluster:ha' + + - - 'keystone:identity-credentials' + - 'masakari-monitors:identity-credentials' + + - - 'nova-compute:juju-info' + - 'pacemaker-remote:juju-info' + + - - 'hacluster:pacemaker-remote' + - 'pacemaker-remote:pacemaker-remote' + + - - 'vault:shared-db' + - 'vault-mysql-router:shared-db' + - - 'vault-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'vault:certificates' + - 'keystone:certificates' + + - - 'vault:certificates' + - 'neutron-api:certificates' + + - - 'vault:certificates' + - 'cinder:certificates' + + - - 'vault:certificates' + - 'glance:certificates' + + - - 'vault:certificates' + - 'nova-cloud-controller:certificates' + + - - 'vault:certificates' + - 'masakari:certificates' + + - - '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:certificates' + - 'placement:certificates' diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index 3cff680..e284bc7 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -13,16 +13,18 @@ configure: - zaza.openstack.charm_tests.masakari.setup.create_segments gate_bundles: - - jammy-zed + - jammy-antelope dev_bundles: # Rocky disabled until https://review.opendev.org/#/c/647756/ lands in # packaging - jammy-antelope + - jammy-bobcat - lunar-antelope + - mantic-bobcat smoke_bundles: - - jammy-zed + - jammy-antelope target_deploy_status: easyrsa: @@ -44,3 +46,4 @@ target_deploy_status: tests_options: force_deploy: - lunar-antelope + - mantic-bobcat