local_overlay_enabled: true
series: focal
variables:
openstack-origin: &openstack-origin cloud:focal-victoria
data-port: &data-port br-ex:enp1s0
worker-multiplier: &worker-multiplier 0.25
osd-devices: &osd-devices /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
expected-osd-count: &expected-osd-count 6
expected-mon-count: &expected-mon-count 6
maas_url: &maas_url http://x.x.x.23:5240/MAAS/api/2.0
maas_credentials: &maas_credentials
zone: &zone us-west-1
series: &series focal
machines:
‘1’:
constraints: arch=amd64 tags=ceph01 zones=us-west-1
series: *series
‘2’:
constraints: arch=amd64 tags=ceph02 zones=us-west-1
series: *series
‘3’:
constraints: arch=amd64 tags=ceph03 zones=us-west-1
series: *series
‘4’:
constraints: arch=amd64 tags=ceph04 zones=us-west-1
series: *series
‘5’:
constraints: arch=amd64 tags=ceph05 zones=us-west-1
series: *series
‘6’:
constraints: arch=amd64 tags=ceph06 zones=us-west-1
series: *series
‘7’:
constraints: arch=amd64 tags=controller01 zones=us-west-1
series: *series
‘8’:
constraints: arch=amd64 tags=controller02 zones=us-west-1
series: *series
‘9’:
constraints: arch=amd64 tags=controller03 zones=us-west-1
series: *series
‘10’:
constraints: arch=amd64 tags=compute01 zones=us-west-1
series: *series
‘11’:
constraints: arch=amd64 tags=compute02 zones=us-west-1
series: *series
‘12’:
constraints: arch=amd64 tags=compute03 zones=us-west-1
series: *series
‘13’:
constraints: arch=amd64 tags=compute04 zones=us-west-1
series: *series
relations:
CEPH
Ceph radosgw
-
- ceph-radosgw:mon
- ceph-mon:radosgw
-
- ceph-radosgw:identity-service
- keystone:identity-service
Ceph mon
-
- ceph-mon:client
- nova-compute:ceph
-
- ceph-mon:client
- cinder-ceph:ceph
-
- ceph-mon:client
- glance:ceph
Ceph osd
-
- ceph-osd:mon
- ceph-mon:osd
Nova compute
-
- nova-compute:amqp
- rabbitmq-server:amqp
-
- nova-compute:image-service
- glance:image-service
-
- nova-compute:ceph-access
- cinder-ceph:ceph-access
Ovn Central
-
- ovn-central:certificates
- vault:certificates
-
- ovn-central:ovsdb-cms
- neutron-api-plugin-ovn:ovsdb-cms
Ovn Chassis
-
-
- ovn-chassis:certificates
- vault:certificates
-
- ovn-chassis:ovsdb
- ovn-central:ovsdb
Neutron api
-
- hacluster-neutron:ha
- neutron-api:ha
-
- neutron-api:identity-service
- keystone:identity-service
-
- neutron-api:shared-db
- neutron-mysql-router:shared-db
-
- neutron-api:amqp
- rabbitmq-server:amqp
-
- neutron-mysql-router:db-router
- mysql-innodb-cluster:db-router
-
- neutron-api-plugin-ovn:neutron-plugin
- neutron-api:neutron-plugin-api-subordinate
Keystone
-
- hacluster-keystone:ha
- keystone:ha
-
- keystone:shared-db
- keystone-mysql-router:shared-db
-
- keystone-mysql-router:db-router
- mysql-innodb-cluster:db-router
Glance
-
- hacluster-glance:ha
- glance:ha
-
- glance:identity-service
- keystone:identity-service
-
- glance:shared-db
- glance-mysql-router:shared-db
-
- glance:amqp
- rabbitmq-server:amqp
-
- glance-mysql-router:db-router
- mysql-innodb-cluster:db-router
Nova Cloud Controller
-
- hacluster-nova:ha
- nova-cloud-controller:ha
-
- nova-cloud-controller:identity-service
- keystone:identity-service
-
- nova-cloud-controller:image-service
- glance:image-service
-
- nova-cloud-controller:cloud-compute
- nova-compute:cloud-compute
-
- nova-cloud-controller:amqp
- rabbitmq-server:amqp
-
- nova-cloud-controller:shared-db
- nova-mysql-router:shared-db
-
- nova-cloud-controller:neutron-api
- neutron-api:neutron-api
-
- nova-mysql-router:db-router
- mysql-innodb-cluster:db-router
-
- nova-cloud-controller:memcache
- memcached
Cinder
-
- hacluster-cinder:ha
- cinder:ha
-
- cinder:image-service
- glance:image-service
-
- cinder:amqp
- rabbitmq-server:amqp
-
- cinder:identity-service
- keystone:identity-service
-
- cinder:cinder-volume-service
- nova-cloud-controller:cinder-volume-service
-
- cinder-ceph:storage-backend
- cinder:storage-backend
-
- cinder:shared-db
- cinder-mysql-router:shared-db
-
- cinder-mysql-router:db-router
- mysql-innodb-cluster:db-router
Dashboard
-
- hacluster-horizon:ha
- openstack-dashboard:ha
-
- openstack-dashboard:identity-service
- keystone:identity-service
-
- openstack-dashboard:shared-db
- dashboard-mysql-router:shared-db
-
- dashboard-mysql-router:db-router
- mysql-innodb-cluster:db-router
NTP
-
- ntp:juju-info
- nova-compute:juju-info
# Ceilometer
- - ceilometer:ha
- hacluster-ceilometer:ha
- - ceilometer-agent
- nova-compute
- - ceilometer:amqp
- rabbitmq-server
- - ceilometer:identity-credentials
- keystone:identity-credentials
- - ceilometer
- keystone:identity-notifications
- - ceilometer:ceilometer-service
- ceilometer-agent:ceilometer-service
# Heat
- - heat:shared-db
- mysql:shared-db
- - heat:identity-service
- keystone:identity-service
- - heat:ha
- hacluster-heat:ha
- - heat:amqp
- rabbitmq-server:amqp
# Gnocchi
- - gnocchi:shared-db
- mysql:shared-db
- - gnocchi:identity-service
- keystone:identity-service
- - gnocchi:ha
- hacluster-gnocchi:ha
- - gnocchi:storage-ceph
- ceph-mon
- - gnocchi
- ceilometer
- - gnocchi:coordinator-memcached
- memcached
# Barbican
- - barbican:shared-db
- mysql:shared-db
- - barbican:ha
- hacluster-barbican:ha
- - barbican:identity-service
- keystone:identity-service
- - barbican:amqp
- rabbitmq-server:amqp
Placement
-
- hacluster-placement:ha
- placement:ha
-
- placement:shared-db
- placement-mysql-router:shared-db
-
- placement:identity-service
- keystone:identity-service
-
- placement:placement
- nova-cloud-controller:placement
-
- placement-mysql-router:db-router
- mysql-innodb-cluster:db-router
Vault
-
- hacluster-vault:ha
- vault:ha
-
- vault:shared-db
- vault-mysql-router:shared-db
-
- vault-mysql-router:db-router
- mysql-innodb-cluster:db-router
-
- vault:certificates
- neutron-api-plugin-ovn:certificates
-
- vault:certificates
- cinder:certificates
-
- vault:certificates
- glance:certificates
-
- vault:certificates
- keystone:certificates
-
- vault:certificates
- nova-cloud-controller:certificates
-
- vault:certificates
- openstack-dashboard:certificates
-
-
- etcd:certificates
- easyrsa:client
services:
hacluster-horizon:
annotations:
“gui-x”: “629.4802856445312”
“gui-y”: “-187.46556091308594”
charm: cs:focal/hacluster-72
options:
maas_source: ppa:maas/2.9
corosync_key: |
cluster_count: 3
maas_url: *maas_url
maas_credentials: *maas_credentials
hacluster-cinder:
annotations:
“gui-x”: “1113.6179809570312”
“gui-y”: “-182.85367584228516”
charm: cs:focal/hacluster-72
options:
maas_source: ppa:maas/2.9
corosync_key: |
cluster_count: 3
maas_url: *maas_url
maas_credentials: *maas_credentials
hacluster-keystone:
annotations:
“gui-x”: “364.57623291015625”
“gui-y”: “-183.88646697998047”
charm: cs:focal/hacluster-72
options:
maas_source: ppa:maas/2.9
corosync_key: |
cluster_count: 3
maas_url: *maas_url
maas_credentials: *maas_credentials
hacluster-nova:
annotations:
“gui-x”: “-500.8421058654785”
“gui-y”: “-188.8864517211914”
charm: cs:focal/hacluster-72
options:
maas_source: ppa:maas/2.9
corosync_key: |
cluster_count: 3
maas_url: *maas_url
maas_credentials: *maas_credentials
hacluster-glance:
annotations:
“gui-x”: “125.77049398422241”
“gui-y”: “-182.24116134643555”
charm: cs:focal/hacluster-72
options:
maas_source: ppa:maas/2.9
corosync_key: |
cluster_count: 3
maas_url: *maas_url
maas_credentials: *maas_credentials
hacluster-neutron:
annotations:
“gui-x”: “-244.68324279785156”
“gui-y”: “-180.88827514648438”
charm: cs:focal/hacluster-72
options:
maas_source: ppa:maas/2.9
corosync_key: |
cluster_count: 3
maas_url: *maas_url
maas_credentials: *maas_credentials
hacluster-vault:
annotations:
“gui-x”: “-244.68324279785156”
“gui-y”: “-180.88827514648438”
charm: cs:focal/hacluster-72
options:
maas_source: ppa:maas/2.9
corosync_key: |
cluster_count: 3
maas_url: *maas_url
maas_credentials: *maas_credentials
hacluster-placement:
annotations:
“gui-x”: “-244.68324279785156”
“gui-y”: “-180.88827514648438”
charm: cs:focal/hacluster-72
options:
maas_source: ppa:maas/2.9
corosync_key: |
cluster_count: 3
maas_url: *maas_url
maas_credentials: *maas_credentials
ceph-mon:
annotations:
“gui-x”: “-31.47058868408203”
“gui-y”: “1241.4407653808594”
charm: cs:focal/ceph-mon
num_units: 6
options:
expected-osd-count: *expected-osd-count
monitor-count: *expected-mon-count
#fsid: 51f54ee0-829b-11e7-89d3-cf1d259b9b2c
monitor-secret:
to:
- ‘1’
- ‘2’
- ‘3’
- ‘4’
- ‘5’
- ‘6’
ceph-osd:
annotations:
“gui-x”: “-350.8948059082031”
“gui-y”: “1241.34326171875”
charm: cs:focal/ceph-osd
num_units: 6
options:
osd-devices: *osd-devices
#osd-reformat: ‘yes’
to:
- ‘1’
- ‘2’
- ‘3’
- ‘4’
- ‘5’
- ‘6’
ceph-radosgw:
annotations:
“gui-x”: “330.8906555175781”
“gui-y”: “1242.5653076171875”
charm: cs:focal/ceph-radosgw
num_units: 3
# options:
# use-embedded-webserver: true
to:
- lxd:1
- lxd:2
- lxd:3
cinder:
annotations:
“gui-x”: “1079.5557861328125”
“gui-y”: “354.4442138671875”
charm: cs:focal/cinder
num_units: 3
options:
openstack-origin: *openstack-origin
dns-ha: true
os-internal-network: x.x.x.0/24
os-public-hostname: “cinder..com”
os-internal-hostname: “cinder..internal”
os-admin-hostname: “cinder..internal”
block-device: None
glance-api-version: 2
worker-multiplier: *worker-multiplier
to:
- lxd:7
- lxd:8
- lxd:9
cinder-ceph:
annotations:
“gui-x”: “1110.9674072265625”
“gui-y”: “707.72314453125”
charm: cs:focal/cinder-ceph
num_units: 0
cinder-mysql-router:
annotations:
gui-x: ‘900’
gui-y: ‘1400’
charm: cs:focal/mysql-router
num_units: 0
glance-mysql-router:
annotations:
gui-x: ‘-290’
gui-y: ‘1400’
charm: cs:focal/mysql-router
num_units: 0
glance:
annotations:
“gui-x”: “91.16439819335938”
“gui-y”: “93.23036193847656”
charm: cs:focal/glance
options:
dns-ha: true
openstack-origin: *openstack-origin
os-internal-network: x.x.x.0/24
os-public-hostname: “glance..com”
os-internal-hostname: “glance..internal”
os-admin-hostname: “glance..internal”
num_units: 3
to:
- lxd:7
- lxd:8
- lxd:9
keystone-mysql-router:
annotations:
gui-x: ‘230’
gui-y: ‘1400’
charm: cs:focal/mysql-router
num_units: 0
keystone:
annotations:
“gui-x”: “336.1510925292969”
“gui-y”: “87.35755920410156”
charm: cs:focal/keystone
num_units: 3
options:
openstack-origin: *openstack-origin
admin-user:
admin-password:
dns-ha: true
os-internal-network: x.x.x.0/24
os-public-hostname: “keystone..com”
os-internal-hostname: “keystone..internal”
os-admin-hostname: “keystone..internal”
to:
- lxd:7
- lxd:8
- lxd:9
mysql-innodb-cluster:
annotations:
“gui-x”: “169.0853271484375”
“gui-y”: “669.0663452148438”
charm: cs:focal/mysql-innodb-cluster
num_units: 3
options:
innodb-buffer-pool-size: 512M
max-connections: 50000
os-db-router-hostname: “dbserver..internal”
to:
- lxd:7
- lxd:8
- lxd:9
neutron-mysql-router:
annotations:
gui-x: ‘505’
gui-y: ‘1385’
charm: cs:focal/mysql-router
num_units: 0
neutron-api-plugin-ovn:
annotations:
gui-x: ‘690’
gui-y: ‘1385’
charm: cs:focal/neutron-api-plugin-ovn
neutron-api:
annotations:
“gui-x”: “-276.74143981933594”
“gui-y”: “97.98399353027344”
charm: cs:focal/neutron-api
num_units: 3
options:
flat-network-providers: physnet1
neutron-security-groups: true
openstack-origin: *openstack-origin
worker-multiplier: *worker-multiplier
dns-ha: true
os-internal-network: x.x.x.0/24
os-public-hostname: “neutron-api..com”
os-internal-hostname: “neutron-api..internal”
os-admin-hostname: “neutron-api..internal”
to:
- lxd:7
- lxd:8
- lxd:9
ovn-central:
annotations:
gui-x: ‘70’
gui-y: ‘1550’
charm: cs:focal/ovn-central
num_units: 3
to:
- lxd:7
- lxd:8
- lxd:9
ovn-chassis:
annotations:
gui-x: ‘120’
gui-y: ‘1030’
charm: cs:focal/ovn-chassis
num_units: 0
options:
ovn-bridge-mappings: physnet1:br-ex
bridge-interface-mappings: *data-port
nova-mysql-router:
annotations:
gui-x: ‘-30’
gui-y: ‘1385’
charm: cs:focal/mysql-router
num_units: 0
nova-cloud-controller:
annotations:
“gui-x”: “-523.3897094726562”
“gui-y”: “97.57771301269531”
charm: cs:focal/nova-cloud-controller
num_units: 3
options:
network-manager: Neutron
openstack-origin: *openstack-origin
worker-multiplier: *worker-multiplier
console-access-protocol: novnc
console-proxy-ip: “cloud..com”
#config-flags: “ssl_only=true,novncproxy_host=0.0.0.0,novncproxy_port=6080,novncproxy_base_url=https://cloud..com:6080/vnc_auto.html”
config-flags: “novncproxy_host=0.0.0.0,novncproxy_port=6080,novncproxy_base_url=https://cloud..com:6080/vnc_auto.html”
dns-ha: true
os-internal-network: x.x.x.0/24
os-public-hostname: “nova..com”
os-internal-hostname: “nova..internal”
os-admin-hostname: “nova..internal”
cpu-allocation-ratio: 2.5
ram-allocation-ratio: 1.5
to:
- lxd:7
- lxd:8
- lxd:9
placement-mysql-router:
annotations:
gui-x: ‘1320’
gui-y: ‘1385’
charm: cs:focal/mysql-router
num_units: 0
placement:
annotations:
“gui-x”: “-523.3897094726562”
“gui-y”: “97.57771301269531”
charm: cs:focal/placement
num_units: 3
options:
os-internal-network: x.x.x.0/24
os-public-hostname: “placement..com”
os-internal-hostname: “placement..internal”
os-admin-hostname: “placement..internal”
openstack-origin: *openstack-origin
to:
- lxd:7
- lxd:8
- lxd:9
nova-compute:
annotations:
“gui-x”: “-1058.333251953125”
“gui-y”: “328.2070007324219”
charm: cs:focal/nova-compute
num_units: 4
options:
openstack-origin: *openstack-origin
enable-live-migration: true
enable-resize: true
migration-auth-type: ssh
config-flags: default_ephemeral_format=ext4
to:
- ‘10’
- ‘11’
- ‘12’
- ‘13’
ntp:
annotations:
“gui-x”: “-1034.0950012207031”
“gui-y”: “635.7695922851562”
charm: cs:focal/ntp
num_units: 0
dashboard-mysql-router:
annotations:
gui-x: ‘510’
gui-y: ‘1030’
charm: cs:focal/mysql-router
num_units: 0
openstack-dashboard:
annotations:
“gui-x”: “599.20654296875”
“gui-y”: “81.98934936523438”
charm: cs:focal/openstack-dashboard
num_units: 3
options:
openstack-origin: *openstack-origin
neutron-network-vpn: true
neutron-network-lb: true
ubuntu-theme: “no”
cinder-backup: true
neutron-network-l3ha: true
webroot: “/”
dns-ha: true
os-public-hostname: “sws..com”
endpoint-type: internalURL
#os-internal-hostname: “horizon..internal”
#os-admin-hostname: “horizon..internal”
to:
- lxd:7
- lxd:8
- lxd:9
rabbitmq-server:
annotations:
“gui-x”: “-184”
“gui-y”: “634”
charm: cs:focal/rabbitmq-server
num_units: 3
options:
min-cluster-size: 3
to:
- lxd:7
- lxd:8
- lxd:9
vault-mysql-router:
annotations:
gui-x: ‘1535’
gui-y: ‘1560’
charm: cs:focal/mysql-router
num_units: 0
vault:
annotations:
gui-x: ‘1610’
gui-y: ‘1430’
charm: cs:vault
num_units: 3
options:
dns-ha-access-record: “vault..internal”
hostname: “horizon..internal”
to:
- lxd:7
- lxd:8
- lxd:9
Memcached is used for nova-cloud-controller
memcached:
annotations:
“gui-x”: “1647.76416015625”
“gui-y”: “82.0185546875”
charm: cs:focal/memcached
num_units: 3
options:
repcached: False ## Repcached replication only can take place between two units. If cluster is > 2 then this should be false
repcached_origin: ‘ppa:iacobs/memcached-repcached’
annotations:
gui-x: “2528.00146484375”
gui-y: “794.591796875”
to:
- lxd:7
- lxd:8
- lxd:9
Etcd is used for vault ha
etcd:
annotations:
“gui-x”: “1647.76416015625”
“gui-y”: “82.0185546875”
charm: cs:focal/etcd
num_units: 3
annotations:
gui-x: “2528.00146484375”
gui-y: “794.591796875”
to:
- lxd:7
- lxd:8
- lxd:9
Etcd is used for vault ha
easyrsa:
annotations:
“gui-x”: “1647.76416015625”
“gui-y”: “82.0185546875”
charm: cs:~containers/easyrsa
num_units: 1
annotations:
gui-x: “2528.00146484375”
gui-y: “794.591796875”
to:
- lxd:7