## Specific configuration file for a cloud region.
## Edit values within <...> to represent your region.

parameters:
  # Region settings
  region: &region                               <region>
  nagios_context: &nagios_context               <nagios_context>
  access-network: &access_network               <network_used_by_rabbit_and_percona>
  os-data-network: &os_data_network   <OS_data_network>

  # Ceph configs
  ceph-fsid: &ceph_fsid   <FSID_here>
  ceph-monitor-hosts: &ceph_monitor_hosts    [cephmon1:port[ cephmon2:port cephmon3:port]]

  ceph-radosgw-ceph-osd-replication-count: &ceph_radosgw_replication_count  2

  vip-ceilometer: &vip_ceilometer       <VIP_priv_8> <VIP_pub_8>
  vip-ceph-radosgw: &vip_ceph_radosgw   <VIP_priv_7> <VIP_pub_7>
  vip-cinder: &vip_cinder               <VIP_priv_0> <VIP_pub_0>
  vip-glance: &vip_glance               <VIP_priv_5> <VIP_pub_5>
  vip-heat: &vip_heat                   <VIP_priv_4> <VIP_pub_4>
  vip-dashboard: &vip_dashboard         <VIP_pub_2>
  vip-keystone: &vip_keystone           <VIP_priv_1> <VIP_pub_1>
  vip-percona: &vip_percona             <VIP_priv_2>
  vip-neutron: &vip_neutron             <VIP_priv_6> <VIP_pub_6>
  vip-nova: &vip_nova_cloud_controller  <VIP_priv_3> <VIP_pub_3>
  console-proxy-ip: &console_proxy_ip   <VIP_pub_3>

  # hostnames
  os-public-hostname: &os_public_hostname  <keystone_public_hostname>

  # network setup: should be the same cross-sites
  ### Use network-space-* in bindings unless os-admin-* is usable instead
  network-space-default: &network_space_default	<MAAS_OS_mgmt_space>
  network-space-pub: &network_space_pub		<MAAS_pub_space>
  network-space-os-data: &network_space_os_data	<MAAS_OS_data_space>
  network-space-os-mgmt: &network_space_os_mgmt	<MAAS_OS_mgmt_space>

  # secrets and passwords:
  root-password: &root_password  <root_password>
  sst-password:  &sst_password   <sst_password>
  admin-password: &admin_password  <admin_password>
  secret_dashboard: &secret_dashboard   <secret>
  encryption-key: &encryption_key       <encryption_key>
#
#  Set your corosync_keys by running (on your preferred machine):
#  corosync-keygen ; cat /etc/corosync/authkey | base64 -w 0 ; echo " "
  corosync_key: &corosync_key   <corosync_key>

  # keystone/dashboard
  admin-token: &admin_token  <admin_token>

# ----------------------------------------------------------------------

  compute-host:
    bindings:
      "": *network_space_default

  ntp:
    options:
      source: <NTP_server>
  defaultgw:
    options:
      gateway: <default_public_gateway_in_CIDR_notation>

  ceph-radosgw-hacluster:
    bindings:
      "": *network_space_os_mgmt
    options:
      corosync_key: *corosync_key
      nagios_context: *nagios_context

  cinder-hacluster:
    bindings:
      "": *network_space_os_mgmt
    options:
      corosync_key: *corosync_key
      nagios_context: *nagios_context

  controller-hacluster:
    bindings:
      "": *network_space_os_mgmt
    options:
      corosync_key: *corosync_key
      nagios_context: *nagios_context

  glance-hacluster:
    bindings:
      "": *network_space_os_mgmt
    options:
      corosync_key: *corosync_key
      nagios_context: *nagios_context

  horizon-hacluster:
    bindings:
      "": *network_space_os_mgmt
    options:
      corosync_key: *corosync_key
      nagios_context: *nagios_context

  keystone-hacluster:
    bindings:
      "": *network_space_os_mgmt
    options:
      corosync_transport: 'unicast'
      corosync_key: *corosync_key
      nagios_context: *nagios_context

  neutron-api-hacluster:
    bindings:
      "": *network_space_os_mgmt
    options:
      corosync_key: *corosync_key
      nagios_context: *nagios_context

  percona-hacluster:
    bindings:
      "": *network_space_os_mgmt
    options:
      corosync_key: *corosync_key
      nagios_context: *nagios_context

  nagios-server:
    bindings:
      "": *network_space_os_mgmt
      website: *network_space_pub
    options:
      action-managed-upgrade: True
      admin_email: cloud-support@garr.it
      monitor_self: true
      password: <theNagiosPwd>
      ro-password: <nagiosadmin>

  rabbitmq-server:
    bindings:
      "": *network_space_default
      amqp: *network_space_os_mgmt
    options:
      access-network: *access_network
      nagios_context: *nagios_context

  percona-cluster:
    bindings:
      "": *network_space_default
      shared-db: *network_space_os_mgmt
      cluster: *network_space_os_mgmt
    options:
      access-network: *access_network
      cluster-network: *access_network
      nagios_context: *nagios_context
      root-password: *root_password
      sst-password: *sst_password
      vip: *vip_percona

  keystone:
    bindings:
      "": *network_space_default
      public: *network_space_pub
      admin: *network_space_os_mgmt
      internal: *network_space_os_mgmt
      shared-db: *network_space_os_mgmt
      cluster: *network_space_os_mgmt
    options:
      openstack-origin: *openstack_origin
      admin-password: *admin_password
      admin-token: *admin_token
      nagios_context: *nagios_context
      os-public-hostname: *os_public_hostname
      worker-multiplier: *worker_multiplier
      preferred-api-version: *preferred_api_version
      region: *region
      use-syslog: True
      vip: *vip_keystone

  openstack-dashboard:
    bindings:
      "": *network_space_default
      shared-db: *network_space_os_mgmt
      cluster: *network_space_os_mgmt
      website: *network_space_pub
      dashboard-plugin: *network_space_os_mgmt
      identity-service: *network_space_os_mgmt
    options:
      openstack-origin: *openstack_origin
      nagios_context: *nagios_context
      secret: *secret_dashboard
      vip: *vip_dashboard

  nova-compute:
    bindings:
      "": *network_space_default
      amqp: *network_space_os_mgmt
      cloud-compute: *network_space_os_mgmt
      image-service: *network_space_os_mgmt
      ceph: *network_space_os_mgmt
      compute-peer: *network_space_os_mgmt
      neutron-plugin: *network_space_os_mgmt
    options:
      config-flags: *nova_compute_config_flags
      os-internal-network: &os_internal_network
      libvirt-image-backend: *libvirt_image_backend
      nagios_context: *nagios_context

  nova-cloud-controller:
    bindings:
      "": *network_space_default
      public: *network_space_pub
      admin: *network_space_os_mgmt
      internal: *network_space_os_mgmt
      amqp: *network_space_os_mgmt
      cinder-volume-service: *network_space_os_mgmt
      identity-service: *network_space_os_mgmt
      image-service: *network_space_os_mgmt
      quantum-network-service: *network_space_os_mgmt
      cloud-compute: *network_space_os_mgmt
      neutron-api: *network_space_os_mgmt
#      cell: ###
      memcache: *network_space_os_mgmt
      shared-db: *network_space_os_mgmt
      cluster: *network_space_os_mgmt
    options:
      region: *region
      console-proxy-ip: *console_proxy_ip
      nagios_context: *nagios_context
      vip: *vip_nova_cloud_controller
      worker-multiplier: *worker_multiplier

  neutron-api:
    bindings:
      "": *network_space_default
      public: *network_space_pub
      admin: *network_space_os_mgmt
      internal: *network_space_os_mgmt
      amqp: *network_space_os_mgmt
      identity-service: *network_space_os_mgmt
      neutron-api: *network_space_os_mgmt
      neutron-plugin-api: *network_space_os_mgmt
      shared-db: *network_space_os_mgmt
      cluster: *network_space_os_mgmt
    options:
      region: *region
      flat-network-providers: *flat_network_providers
      nagios_context: *nagios_context
      neutron-external-network: *neutron_external_network
      network-device-mtu: *network_device_mtu
      vip: *vip_neutron

  neutron-openvswitch:
    charm: cs:neutron-openvswitch
    series: *series
    bindings:
      "": *network_space_default
      amqp: *network_space_os_mgmt
      data: *network_space_os_data
      neutron-plugin: *network_space_os_mgmt
      neutron-plugin-api: *network_space_os_mgmt
    options:
      flat-network-providers: *flat_network_providers
      os-data-network: *os_data_network

  cinder:
    options:
      nagios_context: *nagios_context
      region: *region
      vip: *vip_cinder

  cinder-ceph:
    bindings:
      "": *network_space_default
      ceph: *network_space_os_mgmt

  ceph-proxy:
    bindings:
      "": *network_space_default
      public: *network_space_os_mgmt
      client: *network_space_os_mgmt
      radosgw: *network_space_os_mgmt
    options:
      fsid: *ceph_fsid
      monitor-hosts: *ceph_monitor_hosts
      admin-key: *ceph_admin_key

  ceph-radosgw:
    bindings:
      "": *network_space_default
      public: *network_space_pub
      admin: *network_space_os_mgmt
      internal: *network_space_os_mgmt
      cluster: *network_space_os_mgmt
    options:
      ceph-osd-replication-count: *ceph_radosgw_replication_count
      config-flags: *ceph_radosgw_config_flags
      nagios_context: *nagios_context
      pool-prefix: *ceph_radosgw_pool_prefix
      region: *region
      rgw-buckets-pool-weight:  *ceph_radosgw_rgw_buckets_pool_weight
      rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num
      vip: *vip_ceph_radosgw

  glance:
    bindings:
      "": *network_space_default
      public: *network_space_pub
      admin: *network_space_os_mgmt
      internal: *network_space_os_mgmt
      amqp: *network_space_os_mgmt
      cinder-volume-service: *network_space_os_mgmt
      identity-service: *network_space_os_mgmt
      image-service: *network_space_os_mgmt
      ceph: *network_space_os_mgmt
      storage-backend: *network_space_os_mgmt
      shared-db: *network_space_os_mgmt
      cluster: *network_space_os_mgmt
    options:
      region: *region
      nagios_context: *nagios_context
      vip: *vip_glance

  memcached:
    bindings:
      "": *network_space_default
      cache: *network_space_os_mgmt
      cluster: *network_space_os_mgmt
    options:
      nagios_context: *nagios_context

  neutron-gateway:
    bindings:
      "": *network_space_default
      data: *network_space_os_data
      amqp: *network_space_os_mgmt
      quantum-network-service: *network_space_os_mgmt
      neutron-plugin-api: *network_space_os_mgmt
      cluster: *network_space_os_mgmt
    options:
      bridge-mappings: *bridge_mappings
      nagios_context: *nagios_context
      os-data-network: *os_data_network

ceilometer:
    bindings:
      public: *network_space_pub
      admin: *network_space_os_mgmt
      internal: *network_space_os_mgmt
    options:
      region: *region
