nodes:
  # node[1-3]: Kubernetes
  node([1|2|3])$: # 1-3
    roles:
      - controller
      - openvswitch
      - messaging
      - db

  node[4-6]$: # 4-6
    roles:
      - compute
      - openvswitch

replicas:
  database: 3
  etcd: 1
  rpc: 3
  notifications: 3
  glance-api: 3
  glance-registry: 3
  keystone: 3
  nova-api: 3
  nova-scheduler: 3
  nova-conductor: 3
  neutron-server: 3
  neutron-metadata-agent: 3
  horizon: 3
  heat-api: 3
  heat-engine: 3

roles:
  db:
    - database
  messaging:
    - rpc
    - notifications
  controller:
    - etcd
    - glance-api
    - glance-registry
    - heat-api
    - heat-api-cfn
    - heat-engine
    - horizon
    - keystone
    - memcached
    - neutron-dhcp-agent
    - neutron-l3-agent
    - neutron-metadata-agent
    - neutron-server
    - nova-api
    - nova-conductor
    - nova-consoleauth
    - nova-novncproxy
    - nova-scheduler
  compute:
    - nova-compute
    - nova-libvirt
  openvswitch:
    - neutron-openvswitch-agent
    - openvswitch-db
    - openvswitch-vswitchd

services:
  database:
    service_def: galera
  rpc:
    service_def: rabbitmq
  notifications:
    service_def: rabbitmq
