230a5397ed
Since Caracal release OVN chassis without this option set, don't configure external ports preventing North/South traffic. There is an open LP#2071391 [1], which describes this problem and links to the Caracal release notes for details [2]. Without this patch, Zaza functional tests fail because after migrating ML2 to OVN, there is no connectivity to instances via FIPs. [1] https://bugs.launchpad.net/charm-ovn-chassis/+bug/2071391 [2] https://docs.openstack.org/releasenotes/neutron/2024.1.html#new-features Change-Id: I3d7595bf21c98b481565e33776c2c104ad25c33c Signed-off-by: Marcin Wilk <marcin.wilk@canonical.com>
221 lines
5.8 KiB
YAML
221 lines
5.8 KiB
YAML
variables:
|
|
openstack-origin: &openstack-origin distro
|
|
|
|
series: &series noble
|
|
|
|
machines:
|
|
0:
|
|
constraints: "mem=3072M"
|
|
1:
|
|
constraints: "mem=3072M"
|
|
2:
|
|
constraints: "mem=3072M"
|
|
3: {}
|
|
4: {}
|
|
5: {}
|
|
6: {}
|
|
7: {}
|
|
8:
|
|
constraints: "root-disk=20G mem=4G"
|
|
9:
|
|
constraints: "root-disk=20G mem=4G"
|
|
10: {}
|
|
11: {}
|
|
12: {}
|
|
|
|
# We specify machine placements for these to improve iteration
|
|
# time, given that machine "0" comes up way before machine "7"
|
|
applications:
|
|
keystone-mysql-router:
|
|
charm: ch:mysql-router
|
|
channel: latest/edge
|
|
nova-mysql-router:
|
|
charm: ch:mysql-router
|
|
channel: latest/edge
|
|
glance-mysql-router:
|
|
charm: ch:mysql-router
|
|
channel: latest/edge
|
|
neutron-mysql-router:
|
|
charm: ch:mysql-router
|
|
channel: latest/edge
|
|
placement-mysql-router:
|
|
charm: ch:mysql-router
|
|
channel: latest/edge
|
|
vault-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
|
|
rabbitmq-server:
|
|
charm: ch:rabbitmq-server
|
|
num_units: 1
|
|
to:
|
|
- '3'
|
|
channel: latest/edge
|
|
neutron-api:
|
|
charm: ch:neutron-api
|
|
series: *series
|
|
num_units: 1
|
|
options:
|
|
manage-neutron-plugin-legacy-mode: true
|
|
overlay-network-type: 'vxlan'
|
|
l2-population: True
|
|
flat-network-providers: physnet1
|
|
neutron-security-groups: true
|
|
openstack-origin: *openstack-origin
|
|
enable-dvr: True
|
|
enable-qos: True
|
|
to:
|
|
- '4'
|
|
channel: latest/edge
|
|
keystone:
|
|
charm: ch:keystone
|
|
num_units: 1
|
|
options:
|
|
openstack-origin: *openstack-origin
|
|
to:
|
|
- '5'
|
|
channel: latest/edge
|
|
glance:
|
|
charm: ch:glance
|
|
num_units: 1
|
|
options:
|
|
openstack-origin: *openstack-origin
|
|
to:
|
|
- '6'
|
|
channel: latest/edge
|
|
neutron-openvswitch:
|
|
charm: ../../neutron-openvswitch.charm
|
|
options:
|
|
use-dvr-snat: True
|
|
bridge-mappings: physnet1:br-ex
|
|
enable-local-dhcp-and-metadata: True
|
|
nova-cloud-controller:
|
|
charm: ch:nova-cloud-controller
|
|
num_units: 1
|
|
options:
|
|
network-manager: Neutron
|
|
openstack-origin: *openstack-origin
|
|
to:
|
|
- '7'
|
|
channel: latest/edge
|
|
nova-compute:
|
|
charm: ch: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:
|
|
- '8'
|
|
- '9'
|
|
channel: latest/edge
|
|
placement:
|
|
charm: ch:placement
|
|
num_units: 1
|
|
options:
|
|
openstack-origin: *openstack-origin
|
|
to:
|
|
- '10'
|
|
channel: latest/edge
|
|
vault:
|
|
charm: ch:vault
|
|
num_units: 1
|
|
to:
|
|
- '11'
|
|
channel: latest/edge
|
|
ovn-central:
|
|
charm: ch:ovn-central
|
|
num_units: 3
|
|
options:
|
|
source: *openstack-origin
|
|
to:
|
|
- '12'
|
|
channel: latest/edge
|
|
neutron-api-plugin-ovn:
|
|
charm: ch:neutron-api-plugin-ovn
|
|
channel: latest/edge
|
|
ovn-chassis:
|
|
charm: ch:ovn-chassis
|
|
options:
|
|
# start new units paused to allow unit by unit OVS to OVN migration
|
|
new-units-paused: true
|
|
prefer-chassis-as-gw: true
|
|
channel: latest/edge
|
|
relations:
|
|
- - 'neutron-api:amqp'
|
|
- 'rabbitmq-server:amqp'
|
|
- - 'neutron-api:neutron-api'
|
|
- 'nova-cloud-controller:neutron-api'
|
|
- - 'neutron-api:identity-service'
|
|
- 'keystone:identity-service'
|
|
- - 'nova-compute:neutron-plugin'
|
|
- 'neutron-openvswitch:neutron-plugin'
|
|
- - 'neutron-api:neutron-plugin-api'
|
|
- 'neutron-openvswitch:neutron-plugin-api'
|
|
- - '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:amqp'
|
|
- 'rabbitmq-server:amqp'
|
|
- - 'nova-compute:image-service'
|
|
- 'glance:image-service'
|
|
- - 'nova-cloud-controller:image-service'
|
|
- 'glance:image-service'
|
|
- - 'placement:identity-service'
|
|
- 'keystone:identity-service'
|
|
- - 'placement:placement'
|
|
- 'nova-cloud-controller:placement'
|
|
- ["keystone:shared-db", "keystone-mysql-router:shared-db"]
|
|
- ["glance:shared-db", "glance-mysql-router:shared-db"]
|
|
- ["nova-cloud-controller:shared-db", "nova-mysql-router:shared-db"]
|
|
- ["neutron-api:shared-db", "neutron-mysql-router:shared-db"]
|
|
- ["placement:shared-db", "placement-mysql-router:shared-db"]
|
|
- ["keystone-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
|
- ["nova-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
|
- ["glance-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
|
- ["neutron-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
|
- ["placement-mysql-router:db-router", "mysql-innodb-cluster:db-router"]
|
|
# We need to defer the addition of the neutron-api-plugin-ovn subordinate
|
|
# relation to the functional test as the test will first validate the legacy
|
|
# Neutron ML2+OVS topology, migrate it to OVN and then confirm connectivity
|
|
# post migration.
|
|
#
|
|
# - - neutron-api-plugin-ovn:neutron-plugin
|
|
# - neutron-api:neutron-plugin-api-subordinate
|
|
- - ovn-central:certificates
|
|
- vault:certificates
|
|
- - ovn-central:ovsdb-cms
|
|
- neutron-api-plugin-ovn:ovsdb-cms
|
|
- - ovn-chassis:nova-compute
|
|
- nova-compute:neutron-plugin
|
|
- - ovn-chassis:certificates
|
|
- vault:certificates
|
|
- - ovn-chassis:ovsdb
|
|
- ovn-central:ovsdb
|
|
- - vault:certificates
|
|
- neutron-api-plugin-ovn:certificates
|
|
- - vault:shared-db
|
|
- vault-mysql-router:shared-db
|
|
- - vault-mysql-router:db-router
|
|
- mysql-innodb-cluster:db-router
|