# openstack-telemetry # (+) HA, heat, cinder-backup # (-) neutron-gateway # # 3 controllers and 6 computes # enclosure #1 - 3 nodes # enclosure #2 - 7 nodes (1 of 7 is already used as MAAS server) variables: # sources openstack-origin: &openstack_origin distro # mitaka source: &source distro # mitaka # networks access-network: &access_network 10.0.0.0/24 ceph-cluster-network: &ceph_cluster_network 10.0.2.0/24 ceph-public-network: &ceph_public_network 10.0.1.0/24 cluster_network: &cluster_network 10.0.0.0/24 os-admin-network: &os_admin_network 10.0.0.0/24 os-data-network: &os_data_network 10.0.5.0/24 os-internal-network: &os_internal_network 10.0.3.0/24 os-public-network: &os_public_network 192.168.100.0/24 # vips vip-aodh: &vip_aodh 10.0.0.21 10.0.3.21 192.168.100.21 vip-ceilometer: &vip_ceilometer 10.0.0.19 10.0.3.19 192.168.100.19 vip-ceph-radosgw: &vip_ceph_radosgw 10.0.0.11 10.0.3.11 192.168.100.11 vip-cinder: &vip_cinder 10.0.0.12 10.0.3.12 192.168.100.12 vip-glance: &vip_glance 10.0.0.13 10.0.3.13 192.168.100.13 vip-heat: &vip_heat 10.0.0.20 10.0.3.20 192.168.100.20 vip-horizon: &vip_horizon 10.0.0.18 10.0.3.18 192.168.100.18 vip-keystone: &vip_keystone 10.0.0.14 10.0.3.14 192.168.100.14 vip-mysql: &vip_mysql 10.0.0.15 vip-neutron: &vip_neutron 10.0.0.16 10.0.3.16 192.168.100.16 vip-nova: &vip_nova 10.0.0.17 10.0.3.17 192.168.100.17 # physnets flat-network-providers: &flat_network_providers data-port: &data_port br-data:eno3 bridge-mappings: &bridge_mappings physnet-ovs:br-data # vlan-ranges: &vlan_ranges physnet-ovs:162:166 physnet-ovs:174:176 physnet-ovs:742:743 sriov:162:166 sriov:174:176 sriov:742:743 vlan-ranges: &vlan_ranges physnet-ovs:162:166 physnet-ovs:174:176 physnet-ovs:742:743 # secrets admin-password: &admin_password openstack corosync_key: &corosync_key 'BOpZ6NcnSdPRoeNlyc+v1b6Ns74LZu6GRZErC92I3z3eMA+R+vVBXLBmcCMoRX4RrdyWhOpdY9eTikYLaKfnU9bwI5lGrv5NQk2zRow8edaVSaEsTILMXDX0rne//wAmhKpVDtVu/Pu3LMd+NlpvcgfIZ2h7kmJUzL/RiZCNGBQ=' encryption-key: &encryption_key fdCW54FLmt0nGKVYe0zWPAvjxImXhQow root-password: &root_password wEABljo7Nr47hWDc3C84WdnCwS3sxCba secret_dashboard: &secret_dashboard dzJI8Yt44DNgGPH6BpUNoGI96Iwb5JzA sst-password: &sst_password 978johOruAVFHNiONA0dEhp7nCizhUkx # NFV cpu-allocation-ratio: &cpu_allocation_ratio '1.0' ram-allocation-ratio: &ram_allocation_ratio '1.0' pci-passthrough-whitelist: &pci_passthrough_whitelist '{ "devname": "eno4", "physical_network": "sriov"}' vcpu-pin-set: &vcpu_pin_set hugepages: &hugepages # Juniper config-flags: &n-c-c-config-flags "scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,NUMATopologyFilter,AggregateInstanceExtraSpecsFilter,PciPassthroughFilter","config_drive_format=vfat" config-flags: &nova-compute-config-flags "config_drive_format=vfat" network-device-mtu: &network-device-mtu 1600 # other configs enable-dvr: &dvr-mode true neutron-network-dvr: &neutron-dvr true cpu-mode: &cpu-mode host-passthrough enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata true libvirt-image-backend: &libvirt_image_backend rbd osd-devices: &osd_devices /var/lib/ceph/osd-localdir preferred-api-version: &preferred_api_version 2 source_ntp: &source_ntp 10.0.0.1 region: ®ion RegionOne worker-multiplier: &worker_multiplier '1.0' machines: '0': constraints: arch=amd64 tags=controller series: xenial '1': constraints: arch=amd64 tags=controller series: xenial '2': constraints: arch=amd64 tags=controller series: xenial '3': constraints: arch=amd64 tags=compute series: xenial '4': constraints: arch=amd64 tags=compute series: xenial '5': constraints: arch=amd64 tags=compute series: xenial '6': constraints: arch=amd64 tags=compute series: xenial '7': constraints: arch=amd64 tags=compute series: xenial '8': constraints: arch=amd64 tags=compute series: xenial relations: - - nova-compute:amqp - rabbitmq-server:amqp - - keystone:shared-db - mysql:shared-db - - nova-cloud-controller:identity-service - keystone:identity-service - - glance:identity-service - keystone:identity-service - - neutron-api:identity-service - keystone:identity-service - - neutron-openvswitch:neutron-plugin-api - neutron-api:neutron-plugin-api - - neutron-api:shared-db - mysql:shared-db - - neutron-api:amqp - rabbitmq-server:amqp - - glance:shared-db - mysql:shared-db - - 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-compute:neutron-plugin - neutron-openvswitch:neutron-plugin - - neutron-openvswitch:amqp - rabbitmq-server:amqp - - openstack-dashboard:identity-service - keystone:identity-service - - nova-cloud-controller:shared-db - mysql:shared-db - - 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 - - cinder:shared-db - mysql:shared-db - - ceph-mon:client - cinder-ceph:ceph - - ceph-mon:client - glance:ceph - - ceph-osd:mon - ceph-mon:osd - - ntp:juju-info - nova-compute:juju-info - - ceph-radosgw:mon - ceph-mon:radosgw - - ceph-radosgw:identity-service - keystone:identity-service - - ceilometer:amqp - rabbitmq-server:amqp - - ceilometer-agent:ceilometer-service - ceilometer:ceilometer-service - - ceilometer:identity-service - keystone:identity-service - - ceilometer:identity-notifications - keystone:identity-notifications - - ceilometer-agent:nova-ceilometer - nova-compute:nova-ceilometer - - ceilometer:shared-db - mongodb:database - - aodh:shared-db - mysql:shared-db - - aodh:identity-service - keystone:identity-service - - aodh:amqp - rabbitmq-server:amqp # heat # `juju action do heat/0 domain-setup` is required for Keystone v3 after # deployment, See. https://jujucharms.com/heat/#readme - - heat:identity-service - keystone:identity-service - - heat:amqp - rabbitmq-server:amqp - - heat:shared-db - mysql:shared-db # cinder-backup - - cinder:backup-backend - cinder-backup:backup-backend - - cinder:ceph - ceph-mon:client # HA - - nova-cloud-controller:memcache - memcached:cache - - aodh:ha - hacluster-aodh:ha - - ceilometer:ha - hacluster-ceilometer:ha - - ceph-radosgw:ha - hacluster-ceph-radosgw:ha - - cinder:ha - hacluster-cinder:ha - - heat:ha - hacluster-heat:ha - - glance:ha - hacluster-glance:ha - - keystone:ha - hacluster-keystone:ha - - mysql:ha - hacluster-mysql:ha - - neutron-api:ha - hacluster-neutron-api:ha - - nova-cloud-controller:ha - hacluster-nova-cloud-controller:ha - - openstack-dashboard:ha - hacluster-horizon:ha series: xenial services: aodh: annotations: gui-x: '1500' gui-y: '0' charm: ./charms/aodh series: xenial num_units: 3 options: os-admin-network: *os_admin_network os-internal-network: *os_internal_network os-public-network: *os_public_network openstack-origin: *openstack_origin region: *region vip: *vip_aodh to: - lxd:0 - lxd:1 - lxd:2 ceilometer: annotations: gui-x: '1250' gui-y: '0' charm: ./charms/ceilometer series: xenial num_units: 3 options: openstack-origin: *openstack_origin region: *region os-admin-network: *os_admin_network os-internal-network: *os_internal_network os-public-network: *os_public_network vip: *vip_ceilometer to: - lxd:0 - lxd:1 - lxd:2 ceilometer-agent: annotations: gui-x: '1250' gui-y: '500' charm: ./charms/ceilometer-agent series: xenial options: openstack-origin: *openstack_origin use-internal-endpoints: true ceph-mon: annotations: gui-x: '750' gui-y: '500' charm: ./charms/ceph-mon series: xenial num_units: 3 options: expected-osd-count: 3 source: *source ceph-public-network: *ceph_public_network ceph-cluster-network: *ceph_cluster_network to: - lxd:0 - lxd:1 - lxd:2 ceph-osd: annotations: gui-x: '1000' gui-y: '500' charm: ./charms/ceph-osd series: xenial num_units: 6 options: osd-devices: *osd_devices osd-reformat: 'yes' source: *source ceph-public-network: *ceph_public_network ceph-cluster-network: *ceph_cluster_network to: - '3' - '4' - '5' - '6' - '7' - '8' ceph-radosgw: annotations: gui-x: '1000' gui-y: '250' charm: ./charms/ceph-radosgw series: xenial num_units: 3 options: source: *source region: *region use-embedded-webserver: true vip: *vip_ceph_radosgw os-admin-network: *os_admin_network os-internal-network: *os_internal_network os-public-network: *os_public_network to: - lxd:0 - lxd:1 - lxd:2 cinder: annotations: gui-x: '750' gui-y: '0' charm: ./charms/cinder series: xenial num_units: 3 options: openstack-origin: *openstack_origin block-device: None region: *region use-internal-endpoints: true glance-api-version: 2 vip: *vip_cinder os-admin-network: *os_admin_network os-internal-network: *os_internal_network os-public-network: *os_public_network worker-multiplier: *worker_multiplier to: - lxd:0 - lxd:1 - lxd:2 cinder-ceph: annotations: gui-x: '750' gui-y: '250' charm: ./charms/cinder-ceph series: xenial num_units: 0 glance: annotations: gui-x: '250' gui-y: '0' charm: ./charms/glance series: xenial num_units: 3 options: openstack-origin: *openstack_origin region: *region use-internal-endpoints: true vip: *vip_glance os-admin-network: *os_admin_network os-internal-network: *os_internal_network os-public-network: *os_public_network worker-multiplier: *worker_multiplier to: - lxd:0 - lxd:1 - lxd:2 keystone: annotations: gui-x: '500' gui-y: '0' charm: ./charms/keystone series: xenial num_units: 3 options: openstack-origin: *openstack_origin admin-password: *admin_password region: *region vip: *vip_keystone os-admin-network: *os_admin_network os-internal-network: *os_internal_network os-public-network: *os_public_network worker-multiplier: *worker_multiplier preferred-api-version: *preferred_api_version to: - lxd:0 - lxd:1 - lxd:2 mongodb: annotations: gui-x: '1287.9999389648438' gui-y: '251.24996948242188' num_units: 3 charm: ./charms/mongodb series: trusty to: - lxd:0 - lxd:1 - lxd:2 mysql: annotations: gui-x: '0' gui-y: '250' charm: ./charms/percona-cluster series: xenial num_units: 3 options: innodb-buffer-pool-size: 2G max-connections: 20000 root-password: *root_password sst-password: *sst_password min-cluster-size: 3 vip: *vip_mysql access-network: *access_network cluster-network: *cluster_network lp1366997-workaround: true sst-method: rsync # workaround LP: #1646795 to: - lxd:0 - lxd:1 - lxd:2 neutron-api: annotations: gui-x: '500' gui-y: '500' charm: ./charms/neutron-api series: xenial num_units: 3 options: openstack-origin: *openstack_origin region: *region use-internal-endpoints: true neutron-security-groups: true overlay-network-type: vxlan flat-network-providers: *flat_network_providers vlan-ranges: *vlan_ranges vip: *vip_neutron os-admin-network: *os_admin_network os-internal-network: *os_internal_network os-public-network: *os_public_network worker-multiplier: *worker_multiplier enable-l3ha: true dhcp-agents-per-network: 2 enable-ml2-port-security: true enable-sriov: true enable-dvr: *dvr-mode network-device-mtu: *network-device-mtu to: - lxd:0 - lxd:1 - lxd:2 neutron-openvswitch: annotations: gui-x: '250' gui-y: '500' charm: ./charms/neutron-openvswitch series: xenial num_units: 0 options: data-port: *data_port bridge-mappings: *bridge_mappings flat-network-providers: *flat_network_providers vlan-ranges: *vlan_ranges os-data-network: *os_data_network enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata nova-cloud-controller: annotations: gui-x: '0' gui-y: '500' charm: ./charms/nova-cloud-controller series: xenial num_units: 3 options: openstack-origin: *openstack_origin network-manager: Neutron region: *region use-internal-endpoints: true vip: *vip_nova os-admin-network: *os_admin_network os-internal-network: *os_internal_network os-public-network: *os_public_network console-access-protocol: novnc worker-multiplier: *worker_multiplier cpu-allocation-ratio: *cpu_allocation_ratio ram-allocation-ratio: *ram_allocation_ratio single-nova-consoleauth: false config-flags: *n-c-c-config-flags to: - lxd:0 - lxd:1 - lxd:2 nova-compute: annotations: gui-x: '250' gui-y: '250' charm: ./charms/nova-compute series: xenial num_units: 6 options: openstack-origin: *openstack_origin enable-resize: true enable-live-migration: true migration-auth-type: ssh pci-passthrough-whitelist: *pci_passthrough_whitelist vcpu-pin-set: *vcpu_pin_set use-internal-endpoints: true libvirt-image-backend: *libvirt_image_backend hugepages: *hugepages cpu-mode: *cpu-mode config-flags: *nova-compute-config-flags to: - '3' - '4' - '5' - '6' - '7' - '8' ntp: charm: ./charms/ntp series: xenial num_units: 0 options: source: *source_ntp openstack-dashboard: charm: ./charms/openstack-dashboard series: xenial num_units: 3 options: openstack-origin: *openstack_origin webroot: / vip: *vip_horizon secret: *secret_dashboard neutron-network-l3ha: true neutron-network-dvr: *neutron-dvr cinder-backup: true endpoint-type: internalURL to: - lxd:0 - lxd:1 - lxd:2 rabbitmq-server: annotations: gui-x: '500' gui-y: '250' charm: ./charms/rabbitmq-server series: xenial num_units: 3 options: cluster-partition-handling: pause_minority access-network: *access_network min-cluster-size: 3 to: - lxd:0 - lxd:1 - lxd:2 heat: charm: ./charms/heat series: xenial num_units: 3 options: openstack-origin: *openstack_origin region: *region encryption-key: *encryption_key os-admin-network: *os_admin_network os-internal-network: *os_internal_network os-public-network: *os_public_network vip: *vip_heat worker-multiplier: *worker_multiplier to: - lxd:0 - lxd:1 - lxd:2 cinder-backup: charm: ./charms/cinder-backup series: xenial # HA memcached: num_units: 3 charm: ./charms/memcached series: xenial options: allow-ufw-ip6-softfail: true to: - lxd:0 - lxd:1 - lxd:2 hacluster-aodh: charm: ./charms/hacluster series: xenial options: corosync_key: *corosync_key cluster_count: 3 hacluster-ceilometer: charm: ./charms/hacluster series: xenial options: corosync_key: *corosync_key cluster_count: 3 hacluster-ceph-radosgw: charm: ./charms/hacluster series: xenial options: corosync_key: *corosync_key cluster_count: 3 hacluster-cinder: charm: ./charms/hacluster series: xenial options: corosync_key: *corosync_key cluster_count: 3 hacluster-glance: charm: ./charms/hacluster series: xenial options: corosync_key: *corosync_key cluster_count: 3 hacluster-heat: charm: ./charms/hacluster series: xenial options: corosync_key: *corosync_key cluster_count: 3 hacluster-horizon: charm: ./charms/hacluster series: xenial options: corosync_key: *corosync_key cluster_count: 3 hacluster-keystone: charm: ./charms/hacluster series: xenial options: corosync_key: *corosync_key cluster_count: 3 hacluster-mysql: charm: ./charms/hacluster series: xenial options: corosync_key: *corosync_key cluster_count: 3 hacluster-neutron-api: charm: ./charms/hacluster series: xenial options: corosync_key: *corosync_key cluster_count: 3 hacluster-nova-cloud-controller: charm: ./charms/hacluster series: xenial options: corosync_key: *corosync_key cluster_count: 3