diff --git a/osci.yaml b/osci.yaml index 5c494a2..c6e1ec0 100644 --- a/osci.yaml +++ b/osci.yaml @@ -1,9 +1,29 @@ - project: templates: - charm-unit-jobs-py310 - - charm-functional-jobs + check: + jobs: + - jammy-zed + - jammy-antelope + - jammy-antelope-ovn + - lunar-antelope: + voting: false + - lunar-antelope-ovn: + voting: false vars: needs_charm_build: true charm_build_name: neutron-dynamic-routing build_type: charmcraft charmcraft_channel: 2.1/stable + +- job: + name: jammy-antelope-ovn + parent: func-target + vars: + tox_extra_args: '-- jammy-antelope-ovn' +- job: + name: lunar-antelope-ovn + parent: func-target + vars: + juju_snap_channel: "3.2/stable" + tox_extra_args: '-- lunar-antelope-ovn' diff --git a/src/tests/bundles/jammy-antelope-ovn.yaml b/src/tests/bundles/jammy-antelope-ovn.yaml new file mode 100644 index 0000000..f8ac2f8 --- /dev/null +++ b/src/tests/bundles/jammy-antelope-ovn.yaml @@ -0,0 +1,159 @@ +local_overlay_enabled: False + +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': + # osci-frr has a limited set of supported series. + series: jammy + '8': + '9': + '10': + '11': + +applications: + + keystone-mysql-router: + charm: ch:mysql-router + channel: latest/edge + neutron-api-mysql-router: + charm: ch:mysql-router + channel: latest/edge + + mysql-innodb-cluster: + charm: ch:mysql-innodb-cluster + num_units: 3 + to: + - '0' + - '1' + - '2' + channel: latest/edge + + keystone: + charm: ch:keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + haproxy-server-timeout: 90000 + haproxy-client-timeout: 90000 + haproxy-queue-timeout: 9000 + haproxy-connect-timeout: 9000 + to: + - '3' + channel: latest/edge + + neutron-api: + charm: ch: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 + haproxy-server-timeout: 90000 + haproxy-client-timeout: 90000 + haproxy-queue-timeout: 9000 + haproxy-connect-timeout: 9000 + to: + - '4' + channel: latest/edge + + neutron-dynamic-routing: + charm: ../../../neutron-dynamic-routing_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '5' + + rabbitmq-server: + charm: ch:rabbitmq-server + num_units: 1 + to: + - '6' + channel: latest/edge + + osci-frr: + charm: ch:osci-frr + series: jammy + num_units: 1 + to: + - '7' + + ovn-central: + charm: ch:ovn-central + num_units: 3 + options: + source: *openstack-origin + channel: latest/edge + to: + - '8' + - '9' + - '10' + neutron-api-plugin-ovn: + charm: ch:neutron-api-plugin-ovn + channel: latest/edge + + vault: + charm: ch:vault + num_units: 1 + channel: latest/edge + to: + - '11' +relations: + + - - 'neutron-dynamic-routing:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-dynamic-routing:bgp-speaker' + - 'osci-frr:bgpclient' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - '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:identity-service' + - 'keystone:identity-service' + + - - ovn-central:certificates + - vault:certificates + + - - ovn-central:ovsdb-cms + - neutron-api-plugin-ovn:ovsdb-cms + + - - vault:certificates + - keystone:certificates + + - - vault:certificates + - neutron-api:certificates + + - - vault:certificates + - neutron-api-plugin-ovn:certificates + + - - neutron-api-plugin-ovn:neutron-plugin + - neutron-api:neutron-plugin-api-subordinate \ No newline at end of file diff --git a/src/tests/bundles/jammy-antelope.yaml b/src/tests/bundles/jammy-antelope.yaml index 5216c72..5581663 100644 --- a/src/tests/bundles/jammy-antelope.yaml +++ b/src/tests/bundles/jammy-antelope.yaml @@ -21,6 +21,7 @@ machines: '7': # osci-frr has a limited set of supported series. series: jammy + '8': applications: @@ -92,6 +93,13 @@ applications: to: - '7' + vault: + charm: ch:vault + num_units: 1 + channel: latest/edge + to: + - '8' + relations: - - 'neutron-dynamic-routing:amqp' @@ -115,3 +123,9 @@ relations: - - 'neutron-api:identity-service' - 'keystone:identity-service' + + - - vault:certificates + - keystone:certificates + + - - vault:certificates + - neutron-api:certificates \ No newline at end of file diff --git a/src/tests/bundles/jammy-zed.yaml b/src/tests/bundles/jammy-zed.yaml index 0cf2c53..cdf9467 100644 --- a/src/tests/bundles/jammy-zed.yaml +++ b/src/tests/bundles/jammy-zed.yaml @@ -21,6 +21,7 @@ machines: '7': # osci-frr has a limited set of supported series. series: jammy + '8': applications: @@ -92,6 +93,13 @@ applications: to: - '7' + vault: + charm: ch:vault + num_units: 1 + channel: latest/edge + to: + - '8' + relations: - - 'neutron-dynamic-routing:amqp' @@ -115,3 +123,9 @@ relations: - - 'neutron-api:identity-service' - 'keystone:identity-service' + + - - vault:certificates + - keystone:certificates + + - - vault:certificates + - neutron-api:certificates \ No newline at end of file diff --git a/src/tests/bundles/lunar-antelope-ovn.yaml b/src/tests/bundles/lunar-antelope-ovn.yaml new file mode 100644 index 0000000..da18611 --- /dev/null +++ b/src/tests/bundles/lunar-antelope-ovn.yaml @@ -0,0 +1,160 @@ +local_overlay_enabled: False + +variables: + openstack-origin: &openstack-origin distro + +series: lunar + +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': + # osci-frr has a limited set of supported series. + series: jammy + '8': + '9': + '10': + '11': + +applications: + + keystone-mysql-router: + charm: ch:mysql-router + channel: latest/edge + neutron-api-mysql-router: + charm: ch:mysql-router + channel: latest/edge + + mysql-innodb-cluster: + charm: ch:mysql-innodb-cluster + num_units: 3 + to: + - '0' + - '1' + - '2' + channel: latest/edge + + keystone: + charm: ch:keystone + num_units: 1 + options: + openstack-origin: *openstack-origin + haproxy-server-timeout: 90000 + haproxy-client-timeout: 90000 + haproxy-queue-timeout: 9000 + haproxy-connect-timeout: 9000 + to: + - '3' + channel: latest/edge + + neutron-api: + charm: ch: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 + haproxy-server-timeout: 90000 + haproxy-client-timeout: 90000 + haproxy-queue-timeout: 9000 + haproxy-connect-timeout: 9000 + to: + - '4' + channel: latest/edge + + neutron-dynamic-routing: + charm: ../../../neutron-dynamic-routing_ubuntu-22.04-amd64_ubuntu-22.10-amd64_ubuntu-23.04-amd64.charm + num_units: 1 + options: + openstack-origin: *openstack-origin + to: + - '5' + + rabbitmq-server: + charm: ch:rabbitmq-server + num_units: 1 + to: + - '6' + channel: latest/edge + + osci-frr: + charm: ch:osci-frr + series: jammy + num_units: 1 + to: + - '7' + + ovn-central: + charm: ch:ovn-central + num_units: 3 + options: + source: *openstack-origin + channel: latest/edge + to: + - '8' + - '9' + - '10' + neutron-api-plugin-ovn: + charm: ch:neutron-api-plugin-ovn + channel: latest/edge + + vault: + charm: ch:vault + num_units: 1 + channel: latest/edge + to: + - '11' + +relations: + + - - 'neutron-dynamic-routing:amqp' + - 'rabbitmq-server:amqp' + + - - 'neutron-dynamic-routing:bgp-speaker' + - 'osci-frr:bgpclient' + + - - 'keystone:shared-db' + - 'keystone-mysql-router:shared-db' + - - 'keystone-mysql-router:db-router' + - 'mysql-innodb-cluster:db-router' + + - - '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:identity-service' + - 'keystone:identity-service' + + - - ovn-central:certificates + - vault:certificates + + - - ovn-central:ovsdb-cms + - neutron-api-plugin-ovn:ovsdb-cms + + - - vault:certificates + - keystone:certificates + + - - vault:certificates + - neutron-api:certificates + + - - vault:certificates + - neutron-api-plugin-ovn:certificates + + - - neutron-api-plugin-ovn:neutron-plugin + - neutron-api:neutron-plugin-api-subordinate \ No newline at end of file diff --git a/src/tests/bundles/lunar-antelope.yaml b/src/tests/bundles/lunar-antelope.yaml index 687b157..65b465b 100644 --- a/src/tests/bundles/lunar-antelope.yaml +++ b/src/tests/bundles/lunar-antelope.yaml @@ -21,6 +21,7 @@ machines: '7': # osci-frr has a limited set of supported series. series: jammy + '8': applications: @@ -92,6 +93,13 @@ applications: to: - '7' + vault: + charm: ch:vault + num_units: 1 + channel: latest/edge + to: + - '8' + relations: - - 'neutron-dynamic-routing:amqp' @@ -115,3 +123,9 @@ relations: - - 'neutron-api:identity-service' - 'keystone:identity-service' + + - - vault:certificates + - keystone:certificates + + - - vault:certificates + - neutron-api:certificates \ No newline at end of file diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index ce885ab..1e3e490 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -1,6 +1,7 @@ charm_name: neutron-dynamic-routing configure: +- zaza.openstack.charm_tests.vault.setup.auto_initialize - zaza.openstack.charm_tests.dragent.configure.setup gate_bundles: @@ -10,9 +11,25 @@ smoke_bundles: - jammy-zed dev_bundles: +# There is no jammy-zed-ovn bundle as neutron-dynamic-routing +# compatibility with ML2/ovn has only been declared in Neutron +# 22.0.0 which is used in 2023.1 (Antelope) - jammy-zed - jammy-antelope +- jammy-antelope-ovn - lunar-antelope +- lunar-antelope-ovn + +target_deploy_status: + neutron-api-plugin-ovn: + workload-status: waiting + workload-status-message-prefix: "'certificates' awaiting server certificate data, 'ovsdb-cms' incomplete" + ovn-central: + workload-status: waiting + workload-status-message-prefix: "'ovsdb-peer' incomplete, 'certificates' awaiting server certificate data" + vault: + workload-status: blocked + workload-status-message-prefix: Vault needs to be initialized tests: - zaza.openstack.charm_tests.dragent.tests.DRAgentTest