diff --git a/tests/bundles/bionic-stein-dvr-snat.yaml b/tests/bundles/bionic-stein-dvr-snat.yaml new file mode 100644 index 00000000..b7221205 --- /dev/null +++ b/tests/bundles/bionic-stein-dvr-snat.yaml @@ -0,0 +1,125 @@ +variables: + openstack-origin: &openstack-origin cloud:bionic-stein + +series: &series bionic + +machines: + 0: + constraints: "mem=3072M" + 1: {} + 2: {} + 3: {} + 4: {} + 5: {} + 6: + constraints: "root-disk=20G mem=4G" + 7: + constraints: "root-disk=20G mem=4G" + +# We specify machine placements for these to improve iteration +# time, given that machine "0" comes up way before machine "7" +applications: + percona-cluster: + charm: cs:~openstack-charmers-next/percona-cluster + num_units: 1 + options: + source: *openstack-origin + to: + - '0' + rabbitmq-server: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + options: + source: *openstack-origin + to: + - '1' + neutron-api: + charm: ../../../neutron-api + series: *series + num_units: 1 + options: + overlay-network-type: 'vxlan' + l2-population: True + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: *openstack-origin + enable-dvr: True + to: + - '2' + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '3' + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '4' + neutron-openvswitch: + charm: cs:~openstack-charmers-next/neutron-openvswitch + options: + use-dvr-snat: True + bridge-mappings: physnet1:br-ex + enable-local-dhcp-and-metadata: True + nova-cloud-controller: + charm: cs:~openstack-charmers-next/nova-cloud-controller + num_units: 1 + options: + network-manager: Neutron + openstack-origin: *openstack-origin + to: + - '5' + nova-compute: + charm: cs:~openstack-charmers-next/nova-compute + num_units: 2 + options: + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: *openstack-origin + to: + - '6' + - '7' +relations: + - - 'neutron-api:shared-db' + - 'percona-cluster:shared-db' + - - 'neutron-api:amqp' + - 'rabbitmq-server:amqp' + - - 'neutron-api:neutron-api' + - 'nova-cloud-controller:neutron-api' + - - 'neutron-api:identity-service' + - 'keystone:identity-service' + - - 'keystone:shared-db' + - 'percona-cluster:shared-db' + - - 'nova-compute:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + - - 'neutron-api:neutron-plugin-api' + - 'neutron-openvswitch:neutron-plugin-api' + - - 'nova-cloud-controller:shared-db' + - 'percona-cluster:shared-db' + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + - - 'neutron-openvswitch:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-cloud-controller:identity-service' + - 'keystone:identity-service' + - - 'nova-cloud-controller:cloud-compute' + - 'nova-compute:cloud-compute' + - - 'glance:identity-service' + - 'keystone:identity-service' + - - 'glance:shared-db' + - 'percona-cluster:shared-db' + - - 'glance:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-compute:image-service' + - 'glance:image-service' + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' \ No newline at end of file diff --git a/tests/bundles/bionic-stein-dvr.yaml b/tests/bundles/bionic-stein-dvr.yaml new file mode 100644 index 00000000..ed4135ff --- /dev/null +++ b/tests/bundles/bionic-stein-dvr.yaml @@ -0,0 +1,139 @@ +variables: + openstack-origin: &openstack-origin cloud:bionic-stein + +series: &series bionic + +machines: + 0: + constraints: "mem=3072M" + 1: {} + 2: {} + 3: {} + 4: {} + 5: {} + 6: {} + 7: + constraints: "root-disk=20G mem=4G" + 8: + constraints: "root-disk=20G mem=4G" + +# We specify machine placements for these to improve iteration +# time, given that machine "0" comes up way before machine "7" +applications: + percona-cluster: + charm: cs:~openstack-charmers-next/percona-cluster + num_units: 1 + options: + source: *openstack-origin + to: + - '0' + rabbitmq-server: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + options: + source: *openstack-origin + to: + - '1' + neutron-api: + charm: ../../../neutron-api + series: *series + num_units: 1 + options: + overlay-network-type: 'vxlan' + l2-population: True + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: *openstack-origin + enable-dvr: True + to: + - '2' + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '3' + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '4' + neutron-openvswitch: + charm: cs:~openstack-charmers-next/neutron-openvswitch + options: + enable-local-dhcp-and-metadata: True + bridge-mappings: physnet1:br-ex + neutron-gateway: + charm: cs:~openstack-charmers-next/neutron-gateway + num_units: 1 + options: + bridge-mappings: physnet1:br-ex + openstack-origin: *openstack-origin + to: + - '5' + nova-cloud-controller: + charm: cs:~openstack-charmers-next/nova-cloud-controller + num_units: 1 + options: + network-manager: Neutron + openstack-origin: *openstack-origin + to: + - '6' + nova-compute: + charm: cs:~openstack-charmers-next/nova-compute + num_units: 2 + options: + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: *openstack-origin + to: + - '7' + - '8' +relations: + - - 'neutron-api:shared-db' + - 'percona-cluster:shared-db' + - - 'neutron-api:amqp' + - 'rabbitmq-server:amqp' + - - 'neutron-api:neutron-api' + - 'nova-cloud-controller:neutron-api' + - - 'neutron-api:neutron-plugin-api' + - 'neutron-gateway:neutron-plugin-api' + - - 'neutron-api:identity-service' + - 'keystone:identity-service' + - - 'keystone:shared-db' + - 'percona-cluster:shared-db' + - - 'nova-compute:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + - - 'neutron-api:neutron-plugin-api' + - 'neutron-openvswitch:neutron-plugin-api' + - - 'nova-cloud-controller:shared-db' + - 'percona-cluster:shared-db' + - - 'neutron-gateway:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + - - 'neutron-openvswitch:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-cloud-controller:identity-service' + - 'keystone:identity-service' + - - 'nova-cloud-controller:cloud-compute' + - 'nova-compute:cloud-compute' + - - 'glance:identity-service' + - 'keystone:identity-service' + - - 'glance:shared-db' + - 'percona-cluster:shared-db' + - - 'glance:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-compute:image-service' + - 'glance:image-service' + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' + - - 'nova-cloud-controller:quantum-network-service' + - 'neutron-gateway:quantum-network-service' \ No newline at end of file diff --git a/tests/bundles/xenial-queens-dvr-snat.yaml b/tests/bundles/xenial-queens-dvr-snat.yaml new file mode 100644 index 00000000..5c5f1875 --- /dev/null +++ b/tests/bundles/xenial-queens-dvr-snat.yaml @@ -0,0 +1,125 @@ +variables: + openstack-origin: &openstack-origin cloud:xenial-queens + +series: &series xenial + +machines: + 0: + constraints: "mem=3072M" + 1: {} + 2: {} + 3: {} + 4: {} + 5: {} + 6: + constraints: "root-disk=20G mem=4G" + 7: + constraints: "root-disk=20G mem=4G" + +# We specify machine placements for these to improve iteration +# time, given that machine "0" comes up way before machine "7" +applications: + percona-cluster: + charm: cs:~openstack-charmers-next/percona-cluster + num_units: 1 + options: + source: *openstack-origin + to: + - '0' + rabbitmq-server: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + options: + source: *openstack-origin + to: + - '1' + neutron-api: + charm: ../../../neutron-api + series: *series + num_units: 1 + options: + overlay-network-type: 'vxlan' + l2-population: True + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: *openstack-origin + enable-dvr: True + to: + - '2' + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '3' + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '4' + neutron-openvswitch: + charm: cs:~openstack-charmers-next/neutron-openvswitch + options: + use-dvr-snat: True + bridge-mappings: physnet1:br-ex + enable-local-dhcp-and-metadata: True + nova-cloud-controller: + charm: cs:~openstack-charmers-next/nova-cloud-controller + num_units: 1 + options: + network-manager: Neutron + openstack-origin: *openstack-origin + to: + - '5' + nova-compute: + charm: cs:~openstack-charmers-next/nova-compute + num_units: 2 + options: + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: *openstack-origin + to: + - '6' + - '7' +relations: + - - 'neutron-api:shared-db' + - 'percona-cluster:shared-db' + - - 'neutron-api:amqp' + - 'rabbitmq-server:amqp' + - - 'neutron-api:neutron-api' + - 'nova-cloud-controller:neutron-api' + - - 'neutron-api:identity-service' + - 'keystone:identity-service' + - - 'keystone:shared-db' + - 'percona-cluster:shared-db' + - - 'nova-compute:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + - - 'neutron-api:neutron-plugin-api' + - 'neutron-openvswitch:neutron-plugin-api' + - - 'nova-cloud-controller:shared-db' + - 'percona-cluster:shared-db' + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + - - 'neutron-openvswitch:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-cloud-controller:identity-service' + - 'keystone:identity-service' + - - 'nova-cloud-controller:cloud-compute' + - 'nova-compute:cloud-compute' + - - 'glance:identity-service' + - 'keystone:identity-service' + - - 'glance:shared-db' + - 'percona-cluster:shared-db' + - - 'glance:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-compute:image-service' + - 'glance:image-service' + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' \ No newline at end of file diff --git a/tests/bundles/xenial-queens-dvr.yaml b/tests/bundles/xenial-queens-dvr.yaml new file mode 100644 index 00000000..f62ab4a3 --- /dev/null +++ b/tests/bundles/xenial-queens-dvr.yaml @@ -0,0 +1,139 @@ +variables: + openstack-origin: &openstack-origin cloud:xenial-queens + +series: &series xenial + +machines: + 0: + constraints: "mem=3072M" + 1: {} + 2: {} + 3: {} + 4: {} + 5: {} + 6: {} + 7: + constraints: "root-disk=20G mem=4G" + 8: + constraints: "root-disk=20G mem=4G" + +# We specify machine placements for these to improve iteration +# time, given that machine "0" comes up way before machine "7" +applications: + percona-cluster: + charm: cs:~openstack-charmers-next/percona-cluster + num_units: 1 + options: + source: *openstack-origin + to: + - '0' + rabbitmq-server: + charm: cs:~openstack-charmers-next/rabbitmq-server + num_units: 1 + options: + source: *openstack-origin + to: + - '1' + neutron-api: + charm: ../../../neutron-api + series: *series + num_units: 1 + options: + overlay-network-type: 'vxlan' + l2-population: True + flat-network-providers: physnet1 + neutron-security-groups: true + openstack-origin: *openstack-origin + enable-dvr: True + to: + - '2' + keystone: + charm: cs:~openstack-charmers-next/keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '3' + glance: + charm: cs:~openstack-charmers-next/glance + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '4' + neutron-openvswitch: + charm: cs:~openstack-charmers-next/neutron-openvswitch + options: + enable-local-dhcp-and-metadata: True + bridge-mappings: physnet1:br-ex + neutron-gateway: + charm: cs:~openstack-charmers-next/neutron-gateway + num_units: 1 + options: + bridge-mappings: physnet1:br-ex + openstack-origin: *openstack-origin + to: + - '5' + nova-cloud-controller: + charm: cs:~openstack-charmers-next/nova-cloud-controller + num_units: 1 + options: + network-manager: Neutron + openstack-origin: *openstack-origin + to: + - '6' + nova-compute: + charm: cs:~openstack-charmers-next/nova-compute + num_units: 2 + options: + config-flags: default_ephemeral_format=ext4 + enable-live-migration: true + enable-resize: true + migration-auth-type: ssh + openstack-origin: *openstack-origin + to: + - '7' + - '8' +relations: + - - 'neutron-api:shared-db' + - 'percona-cluster:shared-db' + - - 'neutron-api:amqp' + - 'rabbitmq-server:amqp' + - - 'neutron-api:neutron-api' + - 'nova-cloud-controller:neutron-api' + - - 'neutron-api:neutron-plugin-api' + - 'neutron-gateway:neutron-plugin-api' + - - 'neutron-api:identity-service' + - 'keystone:identity-service' + - - 'keystone:shared-db' + - 'percona-cluster:shared-db' + - - 'nova-compute:neutron-plugin' + - 'neutron-openvswitch:neutron-plugin' + - - 'neutron-api:neutron-plugin-api' + - 'neutron-openvswitch:neutron-plugin-api' + - - 'nova-cloud-controller:shared-db' + - 'percona-cluster:shared-db' + - - 'neutron-gateway:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-cloud-controller:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-compute:amqp' + - 'rabbitmq-server:amqp' + - - 'neutron-openvswitch:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-cloud-controller:identity-service' + - 'keystone:identity-service' + - - 'nova-cloud-controller:cloud-compute' + - 'nova-compute:cloud-compute' + - - 'glance:identity-service' + - 'keystone:identity-service' + - - 'glance:shared-db' + - 'percona-cluster:shared-db' + - - 'glance:amqp' + - 'rabbitmq-server:amqp' + - - 'nova-compute:image-service' + - 'glance:image-service' + - - 'nova-cloud-controller:image-service' + - 'glance:image-service' + - - 'nova-cloud-controller:quantum-network-service' + - 'neutron-gateway:quantum-network-service' \ No newline at end of file diff --git a/tests/tests.yaml b/tests/tests.yaml index 5116b2b5..5404ee2b 100644 --- a/tests/tests.yaml +++ b/tests/tests.yaml @@ -6,9 +6,13 @@ gate_bundles: - xenial-ocata - xenial-pike - xenial-queens + - xenial-queens-dvr + - xenial-queens-dvr-snat - bionic-queens - bionic-rocky - bionic-stein + - bionic-stein-dvr + - bionic-stein-dvr-snat smoke_bundles: - bionic-queens dev_bundles: diff --git a/tox.ini b/tox.ini index 411d14ad..5963c9bb 100644 --- a/tox.ini +++ b/tox.ini @@ -77,6 +77,11 @@ basepython = python3 commands = functest-run-suite --keep-model --dev +[testenv:func-target] +basepython = python3 +commands = + functest-run-suite --keep-model --bundle {posargs} + [flake8] ignore = E402,E226 exclude = */charmhelpers