series: focal variables: #openstack-origin: &openstack-origin cloud:focal-xena openstack-origin: &openstack-origin distro charm-channel: &charm-channel latest/stable charm-channel-arista: &charm-channel-arista latest/edge worker-multiplier: &worker-multiplier 0.25 machines: # Controller "1001": { constraints: "tags=aristatest zones=default" } "1002": { constraints: "tags=aristatest zones=default" } "1003": { constraints: "tags=aristatest zones=default" } applications: ### Openstack Apps glance: charm: glance channel: *charm-channel bindings: "": oam-space options: openstack-origin: *openstack-origin worker-multiplier: *worker-multiplier num_units: 1 to: - lxd:1001 keystone: charm: keystone channel: *charm-channel bindings: "": oam-space options: openstack-origin: *openstack-origin worker-multiplier: *worker-multiplier admin-password: "password123" num_units: 1 to: - lxd:1001 neutron-api: charm: neutron-api channel: *charm-channel bindings: "": oam-space num_units: 1 options: openstack-origin: *openstack-origin worker-multiplier: *worker-multiplier #enable-arista: True # does not exist anymore dns-domain: testsub.maas. enable-ml2-dns: False # True enable-ml2-port-security: True flat-network-providers: physnet1 vlan-ranges: physnet1:1000:3000 vni-ranges: 1001:2000 manage-neutron-plugin-legacy-mode: False neutron-security-groups: True use-internal-endpoints: True enable-l3ha: True dhcp-agents-per-network: 1 default-tenant-network-type: vlan l2-population: True ipv4-ptr-zone-prefix-size: 24 reverse-dns-lookup: False overlay-network-type: vxlan global-physnet-mtu: 1550 path-mtu: 1550 physical-network-mtus: physnet1:1500 to: - lxd:1001 nova-cloud-controller: charm: nova-cloud-controller channel: *charm-channel bindings: "": oam-space options: openstack-origin: *openstack-origin worker-multiplier: *worker-multiplier num_units: 1 options: network-manager: Neutron to: - lxd:1001 nova-compute: charm: nova-compute channel: *charm-channel bindings: "": oam-space num_units: 2 options: openstack-origin: *openstack-origin worker-multiplier: *worker-multiplier config-flags: default_ephemeral_format=ext4 enable-live-migration: true enable-resize: true migration-auth-type: ssh to: - 1002 - 1003 placement: charm: placement channel: *charm-channel bindings: "": oam-space options: openstack-origin: *openstack-origin worker-multiplier: *worker-multiplier num_units: 1 to: - lxd:1001 openstack-dashboard: charm: openstack-dashboard channel: *charm-channel bindings: "": oam-space options: openstack-origin: *openstack-origin worker-multiplier: *worker-multiplier endpoint-type: publicURL neutron-network-l3ha: true neutron-network-lb: true password-retrieve: true secret: dcba3daf0003270b57e133ddf926b8b3 webroot: / num_units: 1 to: - lxd:1001 ### Networking neutron-api-plugin-ovn: charm: neutron-api-plugin-ovn channel: *charm-channel bindings: "": oam-space neutron-api-plugin-arista: charm: neutron-api-plugin-arista channel: *charm-channel-arista bindings: "": oam-space options: source: *openstack-origin api-type: EAPI eapi-host: 172.27.76.2 eapi-username: admin eapi-password: password123 #service-plugins: router # Does not exist anymore ovn-central: charm: ovn-central channel: *charm-channel bindings: "": oam-space num_units: 3 options: source: *openstack-origin to: - lxd:1001 - lxd:1002 - lxd:1003 ovn-chassis: charm: ovn-chassis channel: *charm-channel bindings: "": oam-space options: ovn-bridge-mappings: physnet1:br-phy1 bridge-interface-mappings: br-phy1:usbnic0 ### Extra Apps rabbitmq-server: charm: rabbitmq-server channel: *charm-channel bindings: "": oam-space options: source: *openstack-origin num_units: 1 to: - lxd:1001 vault: charm: vault channel: *charm-channel bindings: "": oam-space options: auto-generate-root-ca-cert: true totally-unsecure-auto-unlock: true num_units: 1 to: - lxd:1001 mysql-innodb-cluster: charm: mysql-innodb-cluster channel: *charm-channel bindings: "": oam-space num_units: 3 to: - lxd:1001 - lxd:1002 - lxd:1003 glance-mysql-router: charm: mysql-router channel: *charm-channel bindings: "": oam-space keystone-mysql-router: charm: mysql-router channel: *charm-channel bindings: "": oam-space neutron-mysql-router: charm: mysql-router channel: *charm-channel bindings: "": oam-space nova-cloud-controller-mysql-router: charm: mysql-router channel: *charm-channel bindings: "": oam-space openstack-dashboard-mysql-router: charm: mysql-router channel: *charm-channel bindings: "": oam-space placement-mysql-router: charm: mysql-router channel: *charm-channel bindings: "": oam-space vault-mysql-router: charm: mysql-router channel: *charm-channel bindings: "": oam-space lldpd: charm: lldpd channel: *charm-channel options: interfaces-regex: "en* usb*" short-name: true relations: # Misc - [ "nova-compute", "lldpd" ] - [ "nova-compute:amqp", "rabbitmq-server:amqp" ] - [ "nova-cloud-controller:identity-service", "keystone:identity-service" ] - [ "glance:identity-service", "keystone:identity-service" ] - [ "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:neutron-api", "neutron-api:neutron-api" ] - [ "openstack-dashboard:identity-service", "keystone:identity-service" ] - [ "keystone:identity-service", "placement:identity-service" ] - [ "nova-cloud-controller:placement", "placement:placement" ] - [ "placement:amqp", "rabbitmq-server:amqp" ] - [ "neutron-api:identity-service", "keystone:identity-service" ] - [ "neutron-api:amqp", "rabbitmq-server:amqp" ] # Neutron API Plugins - [ "neutron-api-plugin-ovn:neutron-plugin", "neutron-api:neutron-plugin-api-subordinate" ] - [ "neutron-api-plugin-ovn:ovsdb-cms", "ovn-central:ovsdb-cms" ] - [ "nova-compute:neutron-plugin", "ovn-chassis:nova-compute" ] - [ "ovn-central:ovsdb", "ovn-chassis:ovsdb" ] - [ "neutron-api-plugin-arista:neutron-plugin-api-subordinate", "neutron-api:neutron-plugin-api-subordinate" ] # Vault - [ "glance:certificates", "vault:certificates" ] - [ "keystone:certificates", "vault:certificates" ] - [ "mysql-innodb-cluster:certificates", "vault:certificates" ] - [ "nova-cloud-controller:certificates", "vault:certificates" ] - [ "openstack-dashboard:certificates", "vault:certificates" ] - [ "placement:certificates", "vault:certificates" ] - [ "neutron-api:certificates", "vault:certificates" ] - [ "neutron-api-plugin-ovn:certificates", "vault:certificates" ] - [ "ovn-central:certificates", "vault:certificates" ] - [ "ovn-chassis:certificates", "vault:certificates" ] - [ "neutron-api-plugin-arista:certificates", "vault:certificates" ] # mysql shared db - [ "keystone:shared-db", "keystone-mysql-router:shared-db" ] - [ "keystone-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" ] - [ "glance:shared-db", "glance-mysql-router:shared-db" ] - [ "glance-mysql-router:db-router", "mysql-innodb-cluster:db-router" ] - [ "neutron-api:shared-db", "neutron-mysql-router:shared-db" ] - [ "neutron-mysql-router:db-router", "mysql-innodb-cluster:db-router" ] - [ "openstack-dashboard:shared-db", "openstack-dashboard-mysql-router:shared-db" ] - [ "openstack-dashboard-mysql-router:db-router", "mysql-innodb-cluster:db-router" ] - [ "placement:shared-db", "placement-mysql-router:shared-db" ] - [ "placement-mysql-router:db-router", "mysql-innodb-cluster:db-router" ] - [ "vault:shared-db", "vault-mysql-router:shared-db" ] - [ "vault-mysql-router:db-router", "mysql-innodb-cluster:db-router" ]