series: focal

variables:
  openstack-origin: &openstack-origin cloud:focal-yoga
  data-port: &data-port to-be-set
  osd-devices: &osd-devices to-be-set
  expected-osd-count: &expected-osd-count 3
  expected-mon-count: &expected-mon-count 3

machines:
  '0':
  '1':
  '2':

relations:
- - nova-compute:amqp
  - rabbitmq-server:amqp
- - nova-cloud-controller:identity-service
  - keystone:identity-service
- - glance:identity-service
  - keystone:identity-service
- - neutron-api:identity-service
  - keystone:identity-service
- - neutron-api:amqp
  - rabbitmq-server:amqp
- - 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
- - openstack-dashboard:identity-service
  - keystone:identity-service
- - nova-cloud-controller:neutron-api
  - neutron-api:neutron-api
- - 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
- - ceph-mon:client
  - nova-compute:ceph
- - nova-compute:ceph-access
  - cinder-ceph:ceph-access
- - ceph-mon:client
  - cinder-ceph:ceph
- - ceph-mon:client
  - glance:ceph
- - ceph-osd:mon
  - ceph-mon:osd
- - ceph-radosgw:mon
  - ceph-mon:radosgw
- - ceph-radosgw:identity-service
  - keystone:identity-service
- - placement:identity-service
  - keystone:identity-service
- - placement:placement
  - nova-cloud-controller:placement
- - keystone:shared-db
  - keystone-mysql-router:shared-db
- - cinder:shared-db
  - cinder-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
- - openstack-dashboard:shared-db
  - dashboard-mysql-router:shared-db
- - placement:shared-db
  - placement-mysql-router:shared-db
- - vault:shared-db
  - vault-mysql-router:shared-db
- - keystone-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - cinder-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
- - dashboard-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - placement-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - vault-mysql-router:db-router
  - mysql-innodb-cluster:db-router
- - 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
- - neutron-api:certificates
  - vault:certificates
- - 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:certificates
  - cinder:certificates
- - vault:certificates
  - glance:certificates
- - vault:certificates
  - keystone:certificates
- - vault:certificates
  - nova-cloud-controller:certificates
- - vault:certificates
  - openstack-dashboard:certificates
- - vault:certificates
  - placement:certificates
- - vault:certificates
  - ceph-radosgw:certificates
- - vault:certificates
  - mysql-innodb-cluster:certificates

applications:
  ceph-mon:
    annotations:
      gui-x: '790'
      gui-y: '1540'
    charm: ch:ceph-mon
    channel: quincy/stable
    num_units: 3
    options:
      expected-osd-count: *expected-osd-count
      monitor-count: *expected-mon-count
      source: *openstack-origin
    to:
    - lxd:0
    - lxd:1
    - lxd:2
  ceph-osd:
    annotations:
      gui-x: '1065'
      gui-y: '1540'
    charm: ch:ceph-osd
    channel: quincy/stable
    num_units: 3
    options:
      osd-devices: *osd-devices
      source: *openstack-origin
    to:
    - '0'
    - '1'
    - '2'
  ceph-radosgw:
    annotations:
      gui-x: '850'
      gui-y: '900'
    charm: ch:ceph-radosgw
    channel: quincy/stable
    num_units: 1
    options:
      source: *openstack-origin
    to:
    - lxd:0
  cinder-mysql-router:
    annotations:
      gui-x: '900'
      gui-y: '1400'
    charm: ch:mysql-router
    channel: 8.0/stable
  cinder:
    annotations:
      gui-x: '980'
      gui-y: '1270'
    charm: ch:cinder
    channel: yoga/stable
    num_units: 1
    options:
      block-device: None
      glance-api-version: 2
      openstack-origin: *openstack-origin
    to:
    - lxd:1
  cinder-ceph:
    annotations:
      gui-x: '1120'
      gui-y: '1400'
    charm: ch:cinder-ceph
    channel: yoga/stable
    num_units: 0
  glance-mysql-router:
    annotations:
      gui-x: '-290'
      gui-y: '1400'
    charm: ch:mysql-router
    channel: 8.0/stable
  glance:
    annotations:
      gui-x: '-230'
      gui-y: '1270'
    charm: ch:glance
    channel: yoga/stable
    num_units: 1
    options:
      openstack-origin: *openstack-origin
    to:
    - lxd:2
  keystone-mysql-router:
    annotations:
      gui-x: '230'
      gui-y: '1400'
    charm: ch:mysql-router
    channel: 8.0/stable
  keystone:
    annotations:
      gui-x: '300'
      gui-y: '1270'
    charm: ch:keystone
    channel: yoga/stable
    num_units: 1
    options:
      openstack-origin: *openstack-origin
    to:
    - lxd:0
  neutron-mysql-router:
    annotations:
      gui-x: '505'
      gui-y: '1385'
    charm: ch:mysql-router
    channel: 8.0/stable
  neutron-api-plugin-ovn:
    annotations:
      gui-x: '690'
      gui-y: '1385'
    charm: ch:neutron-api-plugin-ovn
    channel: yoga/stable
  neutron-api:
    annotations:
      gui-x: '580'
      gui-y: '1270'
    charm: ch:neutron-api
    channel: yoga/stable
    num_units: 1
    options:
      neutron-security-groups: true
      flat-network-providers: physnet1
      openstack-origin: *openstack-origin
    to:
    - lxd:1
  placement-mysql-router:
    annotations:
      gui-x: '1320'
      gui-y: '1385'
    charm: ch:mysql-router
    channel: 8.0/stable
  placement:
    annotations:
      gui-x: '1320'
      gui-y: '1270'
    charm: ch:placement
    channel: yoga/stable
    num_units: 1
    options:
      openstack-origin: *openstack-origin
    to:
    - lxd:2
  nova-mysql-router:
    annotations:
      gui-x: '-30'
      gui-y: '1385'
    charm: ch:mysql-router
    channel: 8.0/stable
  nova-cloud-controller:
    annotations:
      gui-x: '35'
      gui-y: '1270'
    charm: ch:nova-cloud-controller
    channel: yoga/stable
    num_units: 1
    options:
      network-manager: Neutron
      openstack-origin: *openstack-origin
    to:
    - lxd:0
  nova-compute:
    annotations:
      gui-x: '190'
      gui-y: '890'
    charm: ch:nova-compute
    channel: yoga/stable
    num_units: 3
    options:
      config-flags: default_ephemeral_format=ext4
      enable-live-migration: true
      enable-resize: true
      migration-auth-type: ssh
      openstack-origin: *openstack-origin
    to:
    - '0'
    - '1'
    - '2'
  dashboard-mysql-router:
    annotations:
      gui-x: '510'
      gui-y: '1030'
    charm: ch:mysql-router
    channel: 8.0/stable
  openstack-dashboard:
    annotations:
      gui-x: '585'
      gui-y: '900'
    charm: ch:openstack-dashboard
    channel: yoga/stable
    num_units: 1
    options:
      openstack-origin: *openstack-origin
    to:
    - lxd:1
  rabbitmq-server:
    annotations:
      gui-x: '300'
      gui-y: '1550'
    charm: ch:rabbitmq-server
    channel: 3.8/stable
    num_units: 1
    to:
    - lxd:2
  mysql-innodb-cluster:
    annotations:
      gui-x: '535'
      gui-y: '1550'
    charm: ch:mysql-innodb-cluster
    channel: 8.0/stable
    num_units: 3
    to:
    - lxd:0
    - lxd:1
    - lxd:2
  ovn-central:
    annotations:
      gui-x: '70'
      gui-y: '1550'
    charm: ch:ovn-central
    channel: 22.03/stable
    num_units: 3
    options:
      source: *openstack-origin
    to:
    - lxd:0
    - lxd:1
    - lxd:2
  ovn-chassis:
    annotations:
      gui-x: '120'
      gui-y: '1030'
    charm: ch:ovn-chassis
    channel: 22.03/stable
    options:
      ovn-bridge-mappings: physnet1:br-ex
      bridge-interface-mappings: *data-port
  vault-mysql-router:
    annotations:
      gui-x: '1535'
      gui-y: '1560'
    charm: ch:mysql-router
    channel: 8.0/stable
  vault:
    annotations:
      gui-x: '1610'
      gui-y: '1430'
    charm: ch:vault
    channel: 1.7/stable
    num_units: 1
    to:
    - lxd:0
