From accb508fcc61b48a2bb79e2e96afb8497e88c36e Mon Sep 17 00:00:00 2001 From: Alex Kavanagh Date: Wed, 8 Apr 2020 16:02:08 +0100 Subject: [PATCH] Add focal-ussuri and bionic-ussuri bundle This patch adds a focal-ussuri and bionic-ussuri bundles to the tests for the charm. Change-Id: I9061ac15b6ab0052090c6fe285eb2ccdc307f879 --- .../charm/openstack/nova_cell_controller.py | 3 + src/metadata.yaml | 1 + src/tests/bundles/bionic-ussuri.yaml | 163 ++++++++++ src/tests/bundles/focal-ussuri.yaml | 289 ++++++++++++++++++ src/tests/tests.yaml | 10 + 5 files changed, 466 insertions(+) create mode 100644 src/tests/bundles/bionic-ussuri.yaml create mode 100644 src/tests/bundles/focal-ussuri.yaml diff --git a/src/lib/charm/openstack/nova_cell_controller.py b/src/lib/charm/openstack/nova_cell_controller.py index 7926121..da195bd 100644 --- a/src/lib/charm/openstack/nova_cell_controller.py +++ b/src/lib/charm/openstack/nova_cell_controller.py @@ -120,4 +120,7 @@ class NovaCellControllerCharmTrain(NovaCellControllerCharm): # This charms support Train and onward release = 'train' + # Python version used to execute installed workload + python_version = 3 + required_relations = ['shared-db', 'amqp', 'identity-credentials'] diff --git a/src/metadata.yaml b/src/metadata.yaml index 4291949..a469d8b 100644 --- a/src/metadata.yaml +++ b/src/metadata.yaml @@ -23,6 +23,7 @@ tags: series: - bionic - eoan + - focal extra-bindings: public: admin: diff --git a/src/tests/bundles/bionic-ussuri.yaml b/src/tests/bundles/bionic-ussuri.yaml new file mode 100644 index 0000000..024f78d --- /dev/null +++ b/src/tests/bundles/bionic-ussuri.yaml @@ -0,0 +1,163 @@ +series: bionic +relations: +- - nova-cloud-controller:nova-cell-api + - nova-cell-controller-cell2:nova-cell-compute +- - nova-cloud-controller:shared-db-cell + - mysql-cell2:shared-db +- - nova-cloud-controller:amqp-cell + - rabbitmq-server-nova-cell2:amqp +- - nova-compute-cell2:amqp + - rabbitmq-server-nova-cell2:amqp +- - neutron-gateway:amqp + - rabbitmq-server-neutron:amqp +- - neutron-gateway:amqp-nova + - rabbitmq-server-nova:amqp +- - keystone:shared-db + - mysql:shared-db +- - 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 + - mysql:shared-db +- - neutron-api:amqp + - rabbitmq-server-neutron:amqp +- - neutron-gateway:neutron-plugin-api + - neutron-api:neutron-plugin-api +- - glance:shared-db + - mysql:shared-db +- - glance:amqp + - rabbitmq-server-neutron:amqp +- - nova-cloud-controller:image-service + - glance:image-service +- - nova-compute-cell2:image-service + - glance:image-service +- - nova-cell-controller-cell2:cloud-compute + - nova-compute-cell2:cloud-compute +- - nova-cell-controller-cell2:identity-credentials + - keystone:identity-credentials +- - nova-cloud-controller:amqp + - rabbitmq-server-nova:amqp +- - nova-cell-controller-cell2:amqp + - rabbitmq-server-nova-cell2:amqp +- - nova-cloud-controller:quantum-network-service + - neutron-gateway:quantum-network-service +- - nova-compute-cell2:neutron-plugin + - neutron-openvswitch:neutron-plugin +- - neutron-openvswitch:amqp + - rabbitmq-server-neutron:amqp +- - nova-cloud-controller:shared-db + - mysql:shared-db +- - nova-cell-controller-cell2:shared-db + - mysql-cell2:shared-db +- - nova-cloud-controller:neutron-api + - neutron-api:neutron-api +- - nova-compute-cell2:cloud-credentials + - keystone:identity-credentials +- - ntp:juju-info + - nova-compute-cell2:juju-info +- - ntp:juju-info + - neutron-gateway:juju-info +- - placement:identity-service + - keystone:identity-service +- - placement:shared-db + - mysql:shared-db +- - nova-cloud-controller:placement + - placement:placement +applications: + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: cloud:bionic-ussuri + worker-multiplier: 0.25 + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 1 + options: + admin-password: openstack + openstack-origin: cloud:bionic-ussuri + worker-multiplier: 0.25 + mysql: + charm: cs:~openstack-charmers-next/percona-cluster + num_units: 1 + options: + innodb-buffer-pool-size: 256M + max-connections: 1000 + mysql-cell2: + charm: cs:~openstack-charmers-next/percona-cluster + num_units: 1 + options: + innodb-buffer-pool-size: 256M + max-connections: 1000 + neutron-api: + charm: cs:~openstack-charmers-next/neutron-api + num_units: 1 + options: + manage-neutron-plugin-legacy-mode: true + neutron-plugin: ovs + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: cloud:bionic-ussuri + worker-multiplier: 0.25 + neutron-gateway: + charm: cs:~openstack-charmers-next/neutron-gateway + num_units: 1 + options: + bridge-mappings: physnet1:br-ex + openstack-origin: cloud:bionic-ussuri + worker-multiplier: 0.25 + 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: + network-manager: Neutron + openstack-origin: cloud:bionic-ussuri + worker-multiplier: 0.25 + debug: true + nova-cell-controller-cell2: + charm: nova-cell-controller + series: bionic + num_units: 1 + options: + openstack-origin: cloud:bionic-ussuri + worker-multiplier: 0.25 + debug: true + cell-name: "cell2" + nova-compute-cell2: + charm: cs:~openstack-charmers-next/nova-compute + num_units: 1 + constraints: mem=4G + options: + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: cloud:bionic-ussuri + debug: true + ntp: + charm: cs:ntp-24 + num_units: 0 + rabbitmq-server-nova: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + rabbitmq-server-nova-cell2: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + rabbitmq-server-neutron: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + placement: + charm: cs:~openstack-charmers-next/placement + num_units: 1 + constraints: mem=1G + options: + openstack-origin: cloud:bionic-ussuri + debug: true diff --git a/src/tests/bundles/focal-ussuri.yaml b/src/tests/bundles/focal-ussuri.yaml new file mode 100644 index 0000000..922a0c9 --- /dev/null +++ b/src/tests/bundles/focal-ussuri.yaml @@ -0,0 +1,289 @@ +variables: + openstack-origin: &openstack-origin distro + +series: focal + +comment: + - 'machines section to decide order of deployment. database sooner = faster' + +machines: + '0': + constraints: virt-type=kvm mem=3072M + '1': + constraints: virt-type=kvm mem=3072M + '2': + constraints: virt-type=kvm mem=3072M + '3': + constraints: virt-type=kvm mem=3072M + '4': + constraints: virt-type=kvm mem=3072M + '5': + constraints: virt-type=kvm mem=3072M + '6': + '7': + '8': + '9': + '10': + '11': + '12': + constraints: mem=4096M + '13': + '14': + '15': + '16': + +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 + nova-cloud-controller-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + nova-cell-controller-cell2-mysql-router: + charm: cs:~openstack-charmers-next/mysql-router + options: + base-port: 3316 + 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' + + mysql-innodb-cluster-cell2: + charm: cs:~openstack-charmers-next/mysql-innodb-cluster + num_units: 3 + options: + source: *openstack-origin + to: + - '3' + - '4' + - '5' + + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + to: + - '6' + + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 1 + options: + admin-password: openstack + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + to: + - '7' + + neutron-api: + charm: cs:~openstack-charmers-next/neutron-api + num_units: 1 + options: + manage-neutron-plugin-legacy-mode: true + neutron-plugin: ovs + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + to: + - '8' + + neutron-gateway: + charm: cs:~openstack-charmers-next/neutron-gateway + num_units: 1 + options: + bridge-mappings: physnet1:br-ex + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + 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: + network-manager: Neutron + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + debug: true + to: + - '10' + + nova-cell-controller-cell2: + charm: nova-cell-controller + num_units: 1 + options: + openstack-origin: *openstack-origin + worker-multiplier: 0.25 + debug: true + cell-name: "cell2" + to: + - '11' + + nova-compute-cell2: + charm: cs:~openstack-charmers-next/nova-compute + num_units: 1 + storage: + ephemeral-device: '40G' + options: + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: *openstack-origin + debug: true + to: + - '12' + + rabbitmq-server-nova: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + to: + - '13' + + rabbitmq-server-nova-cell2: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + to: + - '14' + + rabbitmq-server-neutron: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + to: + - '15' + + placement: + charm: cs:~openstack-charmers-next/placement + num_units: 1 + options: + openstack-origin: *openstack-origin + debug: true + to: + - '16' + +relations: + + - - 'nova-cloud-controller:nova-cell-api' + - 'nova-cell-controller-cell2:nova-cell-compute' + + - - 'nova-cloud-controller:shared-db-cell' + - 'nova-cell-controller-cell2-mysql-router:shared-db' + + - - 'nova-cloud-controller:amqp-cell' + - 'rabbitmq-server-nova-cell2:amqp' + + - - 'nova-compute-cell2:amqp' + - 'rabbitmq-server-nova-cell2:amqp' + + - - 'neutron-gateway:amqp' + - 'rabbitmq-server-neutron:amqp' + + - - 'neutron-gateway:amqp-nova' + - 'rabbitmq-server-nova: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-neutron: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-neutron:amqp' + + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' + + - - 'nova-compute-cell2:image-service' + - 'glance:image-service' + + - - 'nova-cell-controller-cell2:cloud-compute' + - 'nova-compute-cell2:cloud-compute' + + - - 'nova-cell-controller-cell2:identity-credentials' + - 'keystone:identity-credentials' + + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server-nova:amqp' + + - - 'nova-cell-controller-cell2:amqp' + - 'rabbitmq-server-nova-cell2:amqp' + + - - 'nova-cloud-controller:quantum-network-service' + - 'neutron-gateway:quantum-network-service' + + - - 'nova-compute-cell2:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + + - - 'neutron-openvswitch:amqp' + - 'rabbitmq-server-neutron: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-cell-controller-cell2:shared-db' + - 'nova-cell-controller-cell2-mysql-router:shared-db' + - - 'nova-cell-controller-cell2-mysql-router:db-router' + - 'mysql-innodb-cluster-cell2:db-router' + + - - 'nova-cloud-controller:neutron-api' + - 'neutron-api:neutron-api' + + - - 'nova-compute-cell2:cloud-credentials' + - 'keystone:identity-credentials' + + - - 'placement:identity-service' + - 'keystone:identity-service' + + - - 'placement:shared-db' + - 'placement-mysql-router:shared-db' + - - 'placement-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - 'nova-cloud-controller:placement' + - 'placement:placement' diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index d119bad..7040a67 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -1,15 +1,25 @@ charm_name: nova-cell-controller + tests: - zaza.openstack.charm_tests.nova.tests.CirrosGuestCreateTest + configure: - zaza.openstack.charm_tests.glance.setup.add_cirros_image - zaza.openstack.charm_tests.glance.setup.add_lts_image - zaza.openstack.charm_tests.neutron.setup.basic_overcloud_network - zaza.openstack.charm_tests.nova.setup.create_flavors - zaza.openstack.charm_tests.nova.setup.manage_ssh_key + gate_bundles: + - focal-ussuri + - bionic-ussuri - bionic-train - bionic-stein - bionic-rocky + smoke_bundles: - bionic-train + +tests_options: + force_deploy: + - focal-ussuri