diff --git a/src/tests/bundles/focal-victoria-ha.yaml b/src/tests/bundles/focal-victoria-ha.yaml new file mode 100644 index 0000000..f9f35fd --- /dev/null +++ b/src/tests/bundles/focal-victoria-ha.yaml @@ -0,0 +1,349 @@ +variables: + openstack-origin: &openstack-origin cloud:focal-victoria + +series: focal + +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: cs:~openstack-charmers-next/mysql-router + neutron-api-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + glance-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + openstack-dashboard-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + nova-cloud-controller-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + cinder-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + vault-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + placement-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + + mysql-innodb-cluster: + charm: cs:~openstack-charmers-next/mysql-innodb-cluster + num_units: 3 + options: + source: *openstack-origin + to: + - '0' + - '1' + - '2' + + cinder: + num_units: 1 + charm: cs:~openstack-charmers-next/cinder + options: + openstack-origin: *openstack-origin + glance-api-version: 2 + block-device: None + to: + - '3' + + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '4' + + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 3 + options: + openstack-origin: *openstack-origin + token-provider: 'fernet' + to: + - '5' + - '6' + - '7' + + neutron-api: + charm: cs:~openstack-charmers-next/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' + + neutron-gateway: + charm: cs:~openstack-charmers-next/neutron-gateway + num_units: 1 + options: + openstack-origin: *openstack-origin + bridge-mappings: physnet1:br-ex + to: + - '9' + + neutron-openvswitch: + charm: cs:~openstack-charmers-next/neutron-openvswitch + num_units: 0 + + nova-cloud-controller: + charm: cs:~openstack-charmers-next/nova-cloud-controller + num_units: 1 + options: + openstack-origin: *openstack-origin + network-manager: Neutron + to: + - '10' + + nova-compute: + charm: cs:~openstack-charmers-next/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' + + ntp: + charm: cs:ntp + num_units: 0 + + openstack-dashboard: + charm: cs:~openstack-charmers-next/openstack-dashboard + num_units: 3 + options: + openstack-origin: *openstack-origin + to: + - '13' + - '14' + - '15' + + rabbitmq-server: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + options: + source: *openstack-origin + to: + - '16' + + vault: + num_units: 1 + charm: cs:~openstack-charmers-next/vault + to: + - '17' + + placement: + charm: cs:~openstack-charmers-next/placement + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '18' + + keystone-saml-mellon: + series: focal + charm: ../../../keystone-saml-mellon + num_units: 0 + options: + idp-name: 'samltest' + protocol-name: 'mapped' + user-facing-name: "samltest.id" + subject-confirmation-data-address-check: False + nameid-formats: "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" + + keystone-hacluster: + charm: cs:~openstack-charmers-next/hacluster + num_units: 0 + options: + corosync_transport: unicast + cluster_count: 3 + openstack-dashboard-hacluster: + charm: cs:~openstack-charmers-next/hacluster + num_units: 0 + options: + corosync_transport: unicast + cluster_count: 3 + +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' + + - - 'ntp:juju-info' + - 'nova-compute:juju-info' + + - - 'ntp:juju-info' + - 'neutron-gateway:juju-info' + + - - 'keystone' + - 'keystone-saml-mellon' + + - - '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-mellon' + + - - '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/groovy-victoria-ha.yaml b/src/tests/bundles/groovy-victoria-ha.yaml new file mode 100644 index 0000000..9952b08 --- /dev/null +++ b/src/tests/bundles/groovy-victoria-ha.yaml @@ -0,0 +1,349 @@ +variables: + openstack-origin: &openstack-origin distro + +series: groovy + +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: cs:~openstack-charmers-next/mysql-router + neutron-api-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + glance-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + openstack-dashboard-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + nova-cloud-controller-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + cinder-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + vault-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + placement-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + + mysql-innodb-cluster: + charm: cs:~openstack-charmers-next/mysql-innodb-cluster + num_units: 3 + options: + source: *openstack-origin + to: + - '0' + - '1' + - '2' + + cinder: + num_units: 1 + charm: cs:~openstack-charmers-next/cinder + options: + openstack-origin: *openstack-origin + glance-api-version: 2 + block-device: None + to: + - '3' + + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '4' + + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 3 + options: + openstack-origin: *openstack-origin + token-provider: 'fernet' + to: + - '5' + - '6' + - '7' + + neutron-api: + charm: cs:~openstack-charmers-next/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' + + neutron-gateway: + charm: cs:~openstack-charmers-next/neutron-gateway + num_units: 1 + options: + openstack-origin: *openstack-origin + bridge-mappings: physnet1:br-ex + to: + - '9' + + neutron-openvswitch: + charm: cs:~openstack-charmers-next/neutron-openvswitch + num_units: 0 + + nova-cloud-controller: + charm: cs:~openstack-charmers-next/nova-cloud-controller + num_units: 1 + options: + openstack-origin: *openstack-origin + network-manager: Neutron + to: + - '10' + + nova-compute: + charm: cs:~openstack-charmers-next/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' + + ntp: + charm: cs:ntp + num_units: 0 + + openstack-dashboard: + charm: cs:~openstack-charmers-next/openstack-dashboard + num_units: 3 + options: + openstack-origin: *openstack-origin + to: + - '13' + - '14' + - '15' + + rabbitmq-server: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + options: + source: *openstack-origin + to: + - '16' + + vault: + num_units: 1 + charm: cs:~openstack-charmers-next/vault + to: + - '17' + + placement: + charm: cs:~openstack-charmers-next/placement + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '18' + + keystone-saml-mellon: + series: groovy + charm: ../../../keystone-saml-mellon + num_units: 0 + options: + idp-name: 'samltest' + protocol-name: 'mapped' + user-facing-name: "samltest.id" + subject-confirmation-data-address-check: False + nameid-formats: "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" + + keystone-hacluster: + charm: cs:~openstack-charmers-next/hacluster + num_units: 0 + options: + corosync_transport: unicast + cluster_count: 3 + openstack-dashboard-hacluster: + charm: cs:~openstack-charmers-next/hacluster + num_units: 0 + options: + corosync_transport: unicast + cluster_count: 3 + +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' + + - - 'ntp:juju-info' + - 'nova-compute:juju-info' + + - - 'ntp:juju-info' + - 'neutron-gateway:juju-info' + + - - 'keystone' + - 'keystone-saml-mellon' + + - - '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-mellon' + + - - '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/bionic-ha.yaml.j2 b/src/tests/bundles/overlays/bionic-ha.yaml.j2 new file mode 100644 index 0000000..754b687 --- /dev/null +++ b/src/tests/bundles/overlays/bionic-ha.yaml.j2 @@ -0,0 +1,26 @@ +relations: +- - keystone + - keystone-hacluster +- - openstack-dashboard + - openstack-dashboard-hacluster +applications: + keystone: + num_units: 3 + options: + vip: {{ OS_VIP00 }} + openstack-dashboard: + num_units: 3 + options: + vip: {{ OS_VIP01 }} + keystone-hacluster: + charm: cs:~openstack-charmers-next/hacluster + num_units: 0 + options: + corosync_transport: unicast + cluster_count: 3 + openstack-dashboard-hacluster: + charm: cs:~openstack-charmers-next/hacluster + num_units: 0 + options: + corosync_transport: unicast + cluster_count: 3 diff --git a/src/tests/bundles/overlays/bionic-queens-ha.yaml.j2 b/src/tests/bundles/overlays/bionic-queens-ha.yaml.j2 index 9280f58..7d609fa 120000 --- a/src/tests/bundles/overlays/bionic-queens-ha.yaml.j2 +++ b/src/tests/bundles/overlays/bionic-queens-ha.yaml.j2 @@ -1 +1 @@ -ha.yaml.j2 \ No newline at end of file +bionic-ha.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/bionic-queens-smoke-ha.yaml.j2 b/src/tests/bundles/overlays/bionic-queens-smoke-ha.yaml.j2 index 9280f58..7d609fa 120000 --- a/src/tests/bundles/overlays/bionic-queens-smoke-ha.yaml.j2 +++ b/src/tests/bundles/overlays/bionic-queens-smoke-ha.yaml.j2 @@ -1 +1 @@ -ha.yaml.j2 \ No newline at end of file +bionic-ha.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/focal-ussuri-ha.yaml.j2 b/src/tests/bundles/overlays/focal-ussuri-ha.yaml.j2 deleted file mode 100644 index eb28ddc..0000000 --- a/src/tests/bundles/overlays/focal-ussuri-ha.yaml.j2 +++ /dev/null @@ -1,8 +0,0 @@ -series: focal -applications: - keystone: - options: - vip: {{ OS_VIP00 }} - openstack-dashboard: - options: - vip: {{ OS_VIP01 }} diff --git a/src/tests/bundles/overlays/focal-ussuri-ha.yaml.j2 b/src/tests/bundles/overlays/focal-ussuri-ha.yaml.j2 new file mode 120000 index 0000000..9280f58 --- /dev/null +++ b/src/tests/bundles/overlays/focal-ussuri-ha.yaml.j2 @@ -0,0 +1 @@ +ha.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/focal-victoria-ha.yaml.j2 b/src/tests/bundles/overlays/focal-victoria-ha.yaml.j2 new file mode 120000 index 0000000..9280f58 --- /dev/null +++ b/src/tests/bundles/overlays/focal-victoria-ha.yaml.j2 @@ -0,0 +1 @@ +ha.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/groovy-victoria-ha.yaml.j2 b/src/tests/bundles/overlays/groovy-victoria-ha.yaml.j2 new file mode 120000 index 0000000..9280f58 --- /dev/null +++ b/src/tests/bundles/overlays/groovy-victoria-ha.yaml.j2 @@ -0,0 +1 @@ +ha.yaml.j2 \ No newline at end of file diff --git a/src/tests/bundles/overlays/ha.yaml.j2 b/src/tests/bundles/overlays/ha.yaml.j2 index 754b687..0a63585 100644 --- a/src/tests/bundles/overlays/ha.yaml.j2 +++ b/src/tests/bundles/overlays/ha.yaml.j2 @@ -1,26 +1,7 @@ -relations: -- - keystone - - keystone-hacluster -- - openstack-dashboard - - openstack-dashboard-hacluster applications: keystone: - num_units: 3 options: vip: {{ OS_VIP00 }} openstack-dashboard: - num_units: 3 options: vip: {{ OS_VIP01 }} - keystone-hacluster: - charm: cs:~openstack-charmers-next/hacluster - num_units: 0 - options: - corosync_transport: unicast - cluster_count: 3 - openstack-dashboard-hacluster: - charm: cs:~openstack-charmers-next/hacluster - num_units: 0 - options: - corosync_transport: unicast - cluster_count: 3 diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index b26c6f6..01a5305 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -7,6 +7,10 @@ gate_bundles: - bionic-queens-ha - focal-ussuri-ha +dev_bundles: +- focal-victoria-ha +- groovy-victoria-ha + configure: - zaza.openstack.charm_tests.vault.setup.auto_initialize - zaza.openstack.charm_tests.saml_mellon.setup.attach_saml_resources @@ -34,4 +38,4 @@ target_deploy_status: tests_options: force_deploy: - - focal-ussuri-ha + - groovy-victoria-ha