diff --git a/.gitignore b/.gitignore index 3235d65..88e165f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ *__pycache__* *.pyc build -src/tests/bundles/overlays/local-charm-overlay.yaml.j2 interfaces layers *.charm diff --git a/charmcraft.yaml b/charmcraft.yaml index c1f8048..740b803 100644 --- a/charmcraft.yaml +++ b/charmcraft.yaml @@ -32,51 +32,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/osci.yaml b/osci.yaml index ce723fc..d3335e2 100644 --- a/osci.yaml +++ b/osci.yaml @@ -6,4 +6,4 @@ needs_charm_build: true charm_build_name: keystone-saml-mellon build_type: charmcraft - charmcraft_channel: 2.1/stable + charmcraft_channel: 2.x/edge diff --git a/src/metadata.yaml b/src/metadata.yaml index e257d20..bb71020 100644 --- a/src/metadata.yaml +++ b/src/metadata.yaml @@ -21,8 +21,8 @@ tags: - idP series: - jammy -- kinetic - lunar +- mantic provides: keystone-fid-service-provider: interface: keystone-fid-service-provider diff --git a/src/tests/bundles/jammy-antelope.yaml b/src/tests/bundles/jammy-antelope.yaml index 9cd10ee..b469e0b 100644 --- a/src/tests/bundles/jammy-antelope.yaml +++ b/src/tests/bundles/jammy-antelope.yaml @@ -1,7 +1,7 @@ variables: openstack-origin: &openstack-origin cloud:jammy-antelope -local_overlay_enabled: False +local_overlay_enabled: True series: jammy @@ -187,7 +187,7 @@ applications: channel: latest/edge keystone-saml-mellon1: - charm: ../../../keystone-saml-mellon_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm + charm: ../../../keystone-saml-mellon_ubuntu-22.04-amd64.charm num_units: 0 options: idp-name: 'test-saml-idp1' @@ -206,7 +206,7 @@ applications: auth-user-password: 'userpass1' keystone-saml-mellon2: - charm: ../../../keystone-saml-mellon_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm + charm: ../../../keystone-saml-mellon_ubuntu-22.04-amd64.charm num_units: 0 options: idp-name: 'test-saml-idp2' diff --git a/src/tests/bundles/jammy-zed.yaml b/src/tests/bundles/jammy-bobcat.yaml similarity index 96% rename from src/tests/bundles/jammy-zed.yaml rename to src/tests/bundles/jammy-bobcat.yaml index 17efa83..7c8ab6b 100644 --- a/src/tests/bundles/jammy-zed.yaml +++ b/src/tests/bundles/jammy-bobcat.yaml @@ -1,7 +1,7 @@ variables: - openstack-origin: &openstack-origin cloud:jammy-zed + openstack-origin: &openstack-origin cloud:jammy-bobcat -local_overlay_enabled: False +local_overlay_enabled: True series: jammy @@ -187,7 +187,7 @@ applications: channel: latest/edge keystone-saml-mellon1: - charm: ../../../keystone-saml-mellon_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm + charm: ../../../keystone-saml-mellon_ubuntu-22.04-amd64.charm num_units: 0 options: idp-name: 'test-saml-idp1' @@ -206,7 +206,7 @@ applications: auth-user-password: 'userpass1' keystone-saml-mellon2: - charm: ../../../keystone-saml-mellon_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm + charm: ../../../keystone-saml-mellon_ubuntu-22.04-amd64.charm num_units: 0 options: idp-name: 'test-saml-idp2' diff --git a/src/tests/bundles/lunar-antelope.yaml b/src/tests/bundles/lunar-antelope.yaml index bb9f6b2..10b96b2 100644 --- a/src/tests/bundles/lunar-antelope.yaml +++ b/src/tests/bundles/lunar-antelope.yaml @@ -1,7 +1,7 @@ variables: openstack-origin: &openstack-origin distro -local_overlay_enabled: False +local_overlay_enabled: True series: lunar @@ -187,7 +187,7 @@ applications: channel: latest/edge keystone-saml-mellon1: - charm: ../../../keystone-saml-mellon_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm + charm: ../../../keystone-saml-mellon_ubuntu-23.03-amd64.charm num_units: 0 options: idp-name: 'test-saml-idp1' @@ -207,7 +207,7 @@ applications: auth-user-password: 'userpass1' keystone-saml-mellon2: - charm: ../../../keystone-saml-mellon_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm + charm: ../../../keystone-saml-mellon_ubuntu-23.03-amd64.charm num_units: 0 options: idp-name: 'test-saml-idp2' diff --git a/src/tests/bundles/mantic-bobcat.yaml b/src/tests/bundles/mantic-bobcat.yaml new file mode 100644 index 0000000..ab1d958 --- /dev/null +++ b/src/tests/bundles/mantic-bobcat.yaml @@ -0,0 +1,396 @@ +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': + '9': + '10': + '11': + '12': + '13': + '14': + '15': + '16': + '17': + '18': + +applications: + + keystone-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 + openstack-dashboard-mysql-router: + charm: ch:mysql-router + channel: latest/edge + nova-cloud-controller-mysql-router: + charm: ch:mysql-router + channel: latest/edge + cinder-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 + options: + source: *openstack-origin + to: + - '0' + - '1' + - '2' + channel: latest/edge + + cinder: + num_units: 1 + charm: ch:cinder + options: + openstack-origin: *openstack-origin + glance-api-version: 2 + block-device: None + to: + - '3' + channel: latest/edge + + glance: + charm: ch:glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '4' + channel: latest/edge + + keystone: + charm: ch:keystone + num_units: 3 + options: + openstack-origin: *openstack-origin + token-provider: 'fernet' + to: + - '5' + - '6' + - '7' + channel: latest/edge + + neutron-api: + charm: ch:neutron-api + num_units: 1 + options: + openstack-origin: *openstack-origin + manage-neutron-plugin-legacy-mode: true + flat-network-providers: physnet1 + neutron-security-groups: true + to: + - '8' + channel: latest/edge + + neutron-gateway: + charm: ch:neutron-gateway + num_units: 1 + options: + openstack-origin: *openstack-origin + bridge-mappings: physnet1:br-ex + to: + - '9' + 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: + openstack-origin: *openstack-origin + network-manager: Neutron + to: + - '10' + channel: latest/edge + + nova-compute: + charm: ch:nova-compute + num_units: 2 + options: + openstack-origin: *openstack-origin + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + to: + - '11' + - '12' + channel: latest/edge + + openstack-dashboard: + charm: ch:openstack-dashboard + num_units: 3 + options: + openstack-origin: *openstack-origin + to: + - '13' + - '14' + - '15' + channel: latest/edge + + rabbitmq-server: + charm: ch:rabbitmq-server + num_units: 1 + to: + - '16' + channel: latest/edge + + vault: + num_units: 1 + charm: ch:vault + to: + - '17' + channel: latest/edge + + placement: + charm: ch:placement + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '18' + channel: latest/edge + + keystone-saml-mellon1: + charm: ../../../keystone-saml-mellon_ubuntu-23.10-amd64.charm + num_units: 0 + options: + idp-name: 'test-saml-idp1' + protocol-name: 'mapped' + user-facing-name: "Test SAML IDP #1" + subject-confirmation-data-address-check: False + nameid-formats: "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" + + test-saml-idp1: + charm: ch:ionutbalutoiu-test-saml-idp + num_units: 1 + series: focal + options: + idp-name: 'test-saml-idp1' + protocol-name: 'mapped' + auth-user-name: 'user1' + auth-user-password: 'userpass1' + + keystone-saml-mellon2: + charm: ../../../keystone-saml-mellon_ubuntu-23.10-amd64.charm + num_units: 0 + options: + idp-name: 'test-saml-idp2' + protocol-name: 'mapped' + user-facing-name: "Test SAML IDP #2" + subject-confirmation-data-address-check: False + nameid-formats: "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" + + test-saml-idp2: + charm: ch:ionutbalutoiu-test-saml-idp + num_units: 1 + series: focal + options: + idp-name: 'test-saml-idp2' + protocol-name: 'mapped' + auth-user-name: 'user2' + auth-user-password: 'userpass2' + + keystone-hacluster: + charm: ch:hacluster + num_units: 0 + options: + corosync_transport: unicast + cluster_count: 3 + channel: latest/edge + + openstack-dashboard-hacluster: + charm: ch:hacluster + num_units: 0 + options: + corosync_transport: unicast + cluster_count: 3 + channel: latest/edge + +relations: + + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-gateway:amqp' + - 'rabbitmq-server:amqp' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - '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' + + - - '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-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:cloud-compute' + - 'nova-compute:cloud-compute' + + - - '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' + + - - 'openstack-dashboard:identity-service' + - 'keystone:identity-service' + + - - 'openstack-dashboard:shared-db' + - 'openstack-dashboard-mysql-router:shared-db' + - - 'openstack-dashboard-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - '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' + + - - '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' + - - 'cinder-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'keystone' + - 'keystone-saml-mellon1' + - - 'keystone' + - 'keystone-saml-mellon2' + + - - 'vault:shared-db' + - 'vault-mysql-router:shared-db' + - - 'vault-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'vault:certificates' + - 'keystone:certificates' + + - - 'vault:certificates' + - 'glance:certificates' + + - - 'vault:certificates' + - 'openstack-dashboard:certificates' + + - - 'openstack-dashboard' + - 'keystone-saml-mellon1' + - - 'openstack-dashboard' + - 'keystone-saml-mellon2' + + - - 'keystone:websso-trusted-dashboard' + - 'openstack-dashboard:websso-trusted-dashboard' + + - - 'vault:certificates' + - 'cinder:certificates' + + - - 'vault:certificates' + - 'neutron-api:certificates' + + - - 'vault:certificates' + - 'nova-cloud-controller:certificates' + + - - 'placement:identity-service' + - 'keystone:identity-service' + + - - 'placement:placement' + - 'nova-cloud-controller:placement' + + - - 'vault:certificates' + - 'placement:certificates' + + - - "placement:shared-db" + - "placement-mysql-router:shared-db" + - - "placement-mysql-router:db-router" + - "mysql-innodb-cluster:db-router" + + - - "keystone:ha" + - "keystone-hacluster:ha" + - - "openstack-dashboard:ha" + - "openstack-dashboard-hacluster:ha" diff --git a/src/tests/bundles/overlays/jammy-antelope.yaml.j2 b/src/tests/bundles/overlays/jammy-antelope.yaml.j2 deleted file mode 120000 index 9280f58..0000000 --- a/src/tests/bundles/overlays/jammy-antelope.yaml.j2 +++ /dev/null @@ -1 +0,0 @@ -ha.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/jammy-zed.yaml.j2 b/src/tests/bundles/overlays/jammy-zed.yaml.j2 deleted file mode 120000 index 9280f58..0000000 --- a/src/tests/bundles/overlays/jammy-zed.yaml.j2 +++ /dev/null @@ -1 +0,0 @@ -ha.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/ha.yaml.j2 b/src/tests/bundles/overlays/local-charm-overlay.yaml.j2 similarity index 100% rename from src/tests/bundles/overlays/ha.yaml.j2 rename to src/tests/bundles/overlays/local-charm-overlay.yaml.j2 diff --git a/src/tests/bundles/overlays/lunar-antelope.yaml.j2 b/src/tests/bundles/overlays/lunar-antelope.yaml.j2 deleted file mode 120000 index 9280f58..0000000 --- a/src/tests/bundles/overlays/lunar-antelope.yaml.j2 +++ /dev/null @@ -1 +0,0 @@ -ha.yaml.j2 \ No newline at end of file diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index cb90a8d..d25857d 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -1,14 +1,15 @@ charm_name: keystone-saml-mellon smoke_bundles: -- jammy-zed +- jammy-antelope gate_bundles: -- jammy-zed +- jammy-antelope dev_bundles: -- jammy-antelope +- jammy-bobcat - lunar-antelope +- mantic-bobcat configure: - zaza.openstack.charm_tests.vault.setup.auto_initialize @@ -55,3 +56,4 @@ target_deploy_status: tests_options: force_deploy: - lunar-antelope + - mantic-bobcat