diff --git a/charmcraft.yaml b/charmcraft.yaml index 09f03428..73129d5d 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -5,29 +5,33 @@ parts: plugin: dump source: . prime: - - actions/* - - charmhelpers/* - - files/* - - hooks/* - - lib/* - - templates/* - - actions.yaml - - config.yaml - - copyright - - hardening.yaml - - icon.svg - - LICENSE - - Makefile - - metadata.yaml - - README.md + - actions/* + - charmhelpers/* + - files/* + - hooks/* + - lib/* + - templates/* + - actions.yaml + - config.yaml + - copyright + - hardening.yaml + - icon.svg + - LICENSE + - Makefile + - metadata.yaml + - README.md -bases: - - build-on: - - name: ubuntu - channel: "22.04" - architectures: - - amd64 - run-on: - - name: ubuntu - channel: "22.04" - architectures: [amd64, s390x, ppc64el, arm64] +base: ubuntu@24.04 +platforms: + amd64: + build-on: amd64 + build-for: amd64 + arm64: + build-on: arm64 + build-for: arm64 + ppc64el: + build-on: ppc64el + build-for: ppc64el + s390x: + build-on: s390x + build-for: s390x diff --git a/charmhelpers/core/host_factory/ubuntu.py b/charmhelpers/core/host_factory/ubuntu.py index 732d76c3..e87595e4 100644 --- a/charmhelpers/core/host_factory/ubuntu.py +++ b/charmhelpers/core/host_factory/ubuntu.py @@ -33,6 +33,8 @@ UBUNTU_RELEASES = ( 'kinetic', 'lunar', 'mantic', + 'noble', + 'oracular', ) diff --git a/config.yaml b/config.yaml index 89f37e5f..247b7936 100644 --- a/config.yaml +++ b/config.yaml @@ -19,7 +19,7 @@ options: Enable Keystone auditing middleware for logging API calls. openstack-origin: type: string - default: bobcat + default: caracal description: | Repository from which to install. May be one of the following: distro (default), ppa:somecustom/ppa, a deb url sources entry, diff --git a/osci.yaml b/osci.yaml index dfc10d30..e898773e 100644 --- a/osci.yaml +++ b/osci.yaml @@ -6,4 +6,4 @@ needs_charm_build: true charm_build_name: cinder build_type: charmcraft - charmcraft_channel: 2.x/stable + charmcraft_channel: 3.x/beta diff --git a/tests/bundles/jammy-antelope.yaml b/tests/bundles/jammy-antelope.yaml deleted file mode 100644 index be4c2faf..00000000 --- a/tests/bundles/jammy-antelope.yaml +++ /dev/null @@ -1,261 +0,0 @@ -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': - '5': - '6': - '7': - '8': - '9': - '10': - constraints: mem=8192M - '11': - -applications: - - nova-cloud-controller-mysql-router: - charm: ch:mysql-router - channel: latest/edge - placement-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 - cinder-mysql-router: - charm: ch:mysql-router - channel: latest/edge - - mysql-innodb-cluster: - charm: ch:mysql-innodb-cluster - num_units: 3 - options: - source: *openstack-origin - to: - - '0' - - '1' - - '2' - 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: - network-manager: Neutron - debug: true - openstack-origin: *openstack-origin - to: - - '4' - channel: 2024.1/edge - - placement: - charm: ch:placement - num_units: 1 - constraints: mem=1G - options: - openstack-origin: *openstack-origin - to: - - '5' - channel: 2024.1/edge - - neutron-api: - charm: ch:neutron-api - num_units: 1 - options: - flat-network-providers: physnet1 - neutron-security-groups: true - manage-neutron-plugin-legacy-mode: true - openstack-origin: *openstack-origin - to: - - '6' - channel: 2024.1/edge - - keystone: - charm: ch:keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '7' - channel: 2024.1/edge - - neutron-gateway: - charm: ch:neutron-gateway - num_units: 1 - options: - bridge-mappings: physnet1:br-ex - openstack-origin: *openstack-origin - to: - - '8' - channel: 2024.1/edge - - glance: - charm: ch:glance - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '9' - channel: 2024.1/edge - - neutron-openvswitch: - charm: ch:neutron-openvswitch - channel: 2024.1/edge - - nova-compute: - charm: ch:nova-compute - num_units: 1 - constraints: mem=4G cores=4 - storage: - ephemeral-device: '40G' - options: - config-flags: auto_assign_floating_ip=False - enable-live-migration: false - aa-profile-mode: enforce - #ephemeral-device: /dev/vdb - #ephemeral-unmount: /mnt - debug: true - openstack-origin: *openstack-origin - to: - - '10' - channel: 2024.1/edge - - cinder: - charm: ../../cinder.charm - num_units: 1 - storage: - block-devices: '40G' - options: - openstack-origin: *openstack-origin - glance-api-version: 2 - block-device: None - overwrite: "true" - to: - - '11' - - cinder-lvm: - charm: ch:cinder-lvm - options: - block-device: "/mnt/cinder-lvm-block|20G" - config-flags: "target_helper=lioadm" - channel: 2024.1/edge - -relations: - - - - 'cinder:storage-backend' - - 'cinder-lvm:storage-backend' - - - - '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' - - - - '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' - - - - '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' - - - - 'cinder:shared-db' - - 'cinder-mysql-router:shared-db' - - - 'cinder-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'cinder:identity-service' - - 'keystone:identity-service' - - - - 'cinder:amqp' - - 'rabbitmq-server:amqp' - - - - 'cinder:image-service' - - 'glance:image-service' diff --git a/tests/bundles/jammy-bobcat.yaml b/tests/bundles/jammy-bobcat.yaml deleted file mode 100644 index 3925c1d5..00000000 --- a/tests/bundles/jammy-bobcat.yaml +++ /dev/null @@ -1,261 +0,0 @@ -variables: - openstack-origin: &openstack-origin cloud:jammy-bobcat - -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': - '5': - '6': - '7': - '8': - '9': - '10': - constraints: mem=8192M - '11': - -applications: - - nova-cloud-controller-mysql-router: - charm: ch:mysql-router - channel: latest/edge - placement-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 - cinder-mysql-router: - charm: ch:mysql-router - channel: latest/edge - - mysql-innodb-cluster: - charm: ch:mysql-innodb-cluster - num_units: 3 - options: - source: *openstack-origin - to: - - '0' - - '1' - - '2' - 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: - network-manager: Neutron - debug: true - openstack-origin: *openstack-origin - to: - - '4' - channel: 2024.1/edge - - placement: - charm: ch:placement - num_units: 1 - constraints: mem=1G - options: - openstack-origin: *openstack-origin - to: - - '5' - channel: 2024.1/edge - - neutron-api: - charm: ch:neutron-api - num_units: 1 - options: - flat-network-providers: physnet1 - neutron-security-groups: true - manage-neutron-plugin-legacy-mode: true - openstack-origin: *openstack-origin - to: - - '6' - channel: 2024.1/edge - - keystone: - charm: ch:keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '7' - channel: 2024.1/edge - - neutron-gateway: - charm: ch:neutron-gateway - num_units: 1 - options: - bridge-mappings: physnet1:br-ex - openstack-origin: *openstack-origin - to: - - '8' - channel: 2024.1/edge - - glance: - charm: ch:glance - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '9' - channel: 2024.1/edge - - neutron-openvswitch: - charm: ch:neutron-openvswitch - channel: 2024.1/edge - - nova-compute: - charm: ch:nova-compute - num_units: 1 - constraints: mem=4G cores=4 - storage: - ephemeral-device: '40G' - options: - config-flags: auto_assign_floating_ip=False - enable-live-migration: false - aa-profile-mode: enforce - #ephemeral-device: /dev/vdb - #ephemeral-unmount: /mnt - debug: true - openstack-origin: *openstack-origin - to: - - '10' - channel: 2024.1/edge - - cinder: - charm: ../../cinder.charm - num_units: 1 - storage: - block-devices: '40G' - options: - openstack-origin: *openstack-origin - glance-api-version: 2 - block-device: None - overwrite: "true" - to: - - '11' - - cinder-lvm: - charm: ch:cinder-lvm - options: - block-device: "/mnt/cinder-lvm-block|20G" - config-flags: "target_helper=lioadm" - channel: 2024.1/edge - -relations: - - - - 'cinder:storage-backend' - - 'cinder-lvm:storage-backend' - - - - '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' - - - - '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' - - - - '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' - - - - 'cinder:shared-db' - - 'cinder-mysql-router:shared-db' - - - 'cinder-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'cinder:identity-service' - - 'keystone:identity-service' - - - - 'cinder:amqp' - - 'rabbitmq-server:amqp' - - - - 'cinder:image-service' - - 'glance:image-service' diff --git a/tests/bundles/jammy-caracal.yaml b/tests/bundles/jammy-caracal.yaml deleted file mode 100644 index e12c7e50..00000000 --- a/tests/bundles/jammy-caracal.yaml +++ /dev/null @@ -1,261 +0,0 @@ -variables: - openstack-origin: &openstack-origin cloud:jammy-caracal - -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': - '5': - '6': - '7': - '8': - '9': - '10': - constraints: mem=8192M - '11': - -applications: - - nova-cloud-controller-mysql-router: - charm: ch:mysql-router - channel: latest/edge - placement-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 - cinder-mysql-router: - charm: ch:mysql-router - channel: latest/edge - - mysql-innodb-cluster: - charm: ch:mysql-innodb-cluster - num_units: 3 - options: - source: *openstack-origin - to: - - '0' - - '1' - - '2' - 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: - network-manager: Neutron - debug: true - openstack-origin: *openstack-origin - to: - - '4' - channel: 2024.1/edge - - placement: - charm: ch:placement - num_units: 1 - constraints: mem=1G - options: - openstack-origin: *openstack-origin - to: - - '5' - channel: 2024.1/edge - - neutron-api: - charm: ch:neutron-api - num_units: 1 - options: - flat-network-providers: physnet1 - neutron-security-groups: true - manage-neutron-plugin-legacy-mode: true - openstack-origin: *openstack-origin - to: - - '6' - channel: 2024.1/edge - - keystone: - charm: ch:keystone - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '7' - channel: 2024.1/edge - - neutron-gateway: - charm: ch:neutron-gateway - num_units: 1 - options: - bridge-mappings: physnet1:br-ex - openstack-origin: *openstack-origin - to: - - '8' - channel: 2024.1/edge - - glance: - charm: ch:glance - num_units: 1 - options: - openstack-origin: *openstack-origin - to: - - '9' - channel: 2024.1/edge - - neutron-openvswitch: - charm: ch:neutron-openvswitch - channel: 2024.1/edge - - nova-compute: - charm: ch:nova-compute - num_units: 1 - constraints: mem=4G cores=4 - storage: - ephemeral-device: '40G' - options: - config-flags: auto_assign_floating_ip=False - enable-live-migration: false - aa-profile-mode: enforce - #ephemeral-device: /dev/vdb - #ephemeral-unmount: /mnt - debug: true - openstack-origin: *openstack-origin - to: - - '10' - channel: 2024.1/edge - - cinder: - charm: ../../cinder.charm - num_units: 1 - storage: - block-devices: '40G' - options: - openstack-origin: *openstack-origin - glance-api-version: 2 - block-device: None - overwrite: "true" - to: - - '11' - - cinder-lvm: - charm: ch:cinder-lvm - options: - block-device: "/mnt/cinder-lvm-block|20G" - config-flags: "target_helper=lioadm" - channel: 2024.1/edge - -relations: - - - - 'cinder:storage-backend' - - 'cinder-lvm:storage-backend' - - - - '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' - - - - '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' - - - - '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' - - - - 'cinder:shared-db' - - 'cinder-mysql-router:shared-db' - - - 'cinder-mysql-router:db-router' - - 'mysql-innodb-cluster:db-router' - - - - 'cinder:identity-service' - - 'keystone:identity-service' - - - - 'cinder:amqp' - - 'rabbitmq-server:amqp' - - - - 'cinder:image-service' - - 'glance:image-service' diff --git a/tests/bundles/noble-caracal.yaml b/tests/bundles/noble-caracal.yaml index 352a81d4..c76717da 100644 --- a/tests/bundles/noble-caracal.yaml +++ b/tests/bundles/noble-caracal.yaml @@ -71,7 +71,7 @@ applications: openstack-origin: *openstack-origin to: - '4' - channel: 2024.1/edge + channel: latest/edge placement: charm: ch:placement @@ -81,7 +81,7 @@ applications: openstack-origin: *openstack-origin to: - '5' - channel: 2024.1/edge + channel: latest/edge neutron-api: charm: ch:neutron-api @@ -93,7 +93,7 @@ applications: openstack-origin: *openstack-origin to: - '6' - channel: 2024.1/edge + channel: latest/edge keystone: charm: ch:keystone @@ -102,7 +102,7 @@ applications: openstack-origin: *openstack-origin to: - '7' - channel: 2024.1/edge + channel: latest/edge neutron-gateway: charm: ch:neutron-gateway @@ -112,7 +112,7 @@ applications: openstack-origin: *openstack-origin to: - '8' - channel: 2024.1/edge + channel: latest/edge glance: charm: ch:glance @@ -121,11 +121,11 @@ applications: openstack-origin: *openstack-origin to: - '9' - channel: 2024.1/edge + channel: latest/edge neutron-openvswitch: charm: ch:neutron-openvswitch - channel: 2024.1/edge + channel: latest/edge nova-compute: charm: ch:nova-compute @@ -143,7 +143,7 @@ applications: openstack-origin: *openstack-origin to: - '10' - channel: 2024.1/edge + channel: latest/edge cinder: charm: ../../cinder.charm @@ -163,7 +163,7 @@ applications: options: block-device: "/mnt/cinder-lvm-block|20G" config-flags: "target_helper=lioadm" - channel: 2024.1/edge + channel: latest/edge relations: diff --git a/tests/tests.yaml b/tests/tests.yaml index 72a6e921..af8b2409 100644 --- a/tests/tests.yaml +++ b/tests/tests.yaml @@ -1,11 +1,9 @@ charm_name: cinder smoke_bundles: - - jammy-caracal + - noble-caracal gate_bundles: - - jammy-antelope - - jammy-bobcat - - jammy-caracal + - noble-caracal dev_bundles: - noble-caracal target_deploy_status: @@ -34,5 +32,3 @@ tests_options: service: cinder policyd: service: cinder - force_deploy: - - noble-caracal