diff --git a/bundles/openstack/bundle_template.juju2.cephlocal.yaml b/bundles/openstack/bundle_template.juju2.cephlocal.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c131d4649c1d2ed7b7eeb86f2c6b4c202ff08771 --- /dev/null +++ b/bundles/openstack/bundle_template.juju2.cephlocal.yaml @@ -0,0 +1,907 @@ +variables: + + # sources + openstack-origin: &openstack_origin cloud:xenial-mitaka + series: &series xenial + + # Region settings +#EDIT# region: ®ion <yoursite_yourdep> +#EDIT# nagios_context: &nagios_context <yoursite_yourdep> +#EDIT# default-gw-pub: &default_gw_pub <your_default_public_gateway_in_CIDR_notation> +#EDIT# access-network: &access_network <network_used_by_rabbit_and_percona> +#EDIT# source_ntp: &source_ntp <your_NTP_server> +#EDIT# os-data-network: &os_data_network <your_OS_data_network> + + # Ceph configs +#EDIT# ceph-fsid: &ceph_fsid <your_FSID_here> +#EDIT# ceph-monitor-hosts: &ceph_monitor_hosts [cephmon1:port[ cephmon2:port cephmon3:port]] +#EDIT# ceph-osd-partition: &ceph_osd_partition /data + + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix testrgw + ceph-radosgw-lightweight-pool-pg-num: &ceph_radosgw_lightweight_pool_pg_num 8 + ceph-radosgw-rgw-buckets-pool-weight: &ceph_radosgw_rgw_buckets_pool_weight 5 + ceph-radosgw-ceph-osd-replication-count: &ceph_radosgw_ceph_osd_replication_count 2 + ceph-radosgw-config-flags: &ceph_radosgw_config_flags + + # vips (number of VIPs should match number of different bindings) + +#EDIT# vip-ceilometer: &vip_ceilometer <your_VIP_priv_8> <your_VIP_pub_8> +#EDIT# vip-ceph-radosgw: &vip_ceph_radosgw <your_VIP_priv_7> <your_VIP_pub_7> +#EDIT# vip-cinder: &vip_cinder <your_VIP_priv_0> <your_VIP_pub_0> +#EDIT# vip-glance: &vip_glance <your_VIP_priv_5> <your_VIP_pub_5> +#EDIT# vip-heat: &vip_heat <your_VIP_priv_4> <your_VIP_pub_4> +#EDIT# vip-dashboard: &vip_dashboard <your_VIP_pub_2> +#EDIT# vip-keystone: &vip_keystone <your_VIP_priv_1> <your_VIP_pub_1> +#EDIT# vip-percona: &vip_percona <your_VIP_priv_2> +#EDIT# vip-neutron: &vip_neutron <your_VIP_priv_6> <your_VIP_pub_6> +#EDIT# vip-nova: &vip_nova_cloud_controller <your_VIP_priv_3> <your_VIP_pub_3> +#EDIT# console-proxy-ip: &console_proxy_ip <your_VIP_pub_3> + + # hostnames +#EDIT# os-public-hostname: &os_public_hostname <your_keystone_public_hostname> + + # network setup: should be the same cross-sites + ### Use network-space-* in bindings unless os-admin-* is usable instead +#EDIT# network-space-default: &network_space_default <your_MAAS_OS_mgmt_space> +#EDIT# network-space-pub: &network_space_pub <your_MAAS_pub_space> +# In the following we assume space-os-data is used both for compute-network +# communication, and for ceph-OSD communication: can be split for better separation +#EDIT# network-space-os-data: &network_space_os_data <your_MAAS_OS_data_space> +#EDIT# network-space-os-mgmt: &network_space_os_mgmt <your_MAAS_OS_mgmt_space> + flat-network-providers: &flat_network_providers ext_net + neutron-external-network: &neutron_external_network ext_net +#EDIT# data-port: &data_port br-ex:bond0.188 + bridge-mappings: &bridge_mappings ext_net:br-ex + network-device-mtu: &network_device_mtu 1500 + instance-mtu: &instance_mtu 1400 +#FG 2017-02-15 not working, silently keep default (gre)# overlay-network-type: &overlay_network_type + enable-dvr: &dvr-mode True + vlan-ranges: &vlan_ranges physnet-ovs:801:801 + + # secrets and passwords +#EDIT# root-password: &root_password <your_root_password> +#EDIT# sst-password: &sst_password <your_sst_password> +#EDIT# admin-password: &admin_password <your_admin_password> +#EDIT# secret_dashboard: &secret_dashboard <your_secret> +#EDIT# encryption-key: &encryption_key <your_encryption_key> +# +# Please remember to change corosync_keys, running (on your preferred machine): +# corosync-keygen ; cat /etc/corosync/authkey | base64 -w 0 ; echo " " + corosync_key: &corosync_key 'hyhtRLDQvRnL8llTGCRuccdh29/ae+EwN9a5yyqfJHFkbzZXPIGmC/NUPEnd8JlYsXTWCBZrMj7WQATVmp3XBiBmzUzyYp2c5o76CCvgcsRvqZm9+D4j1k3oz5bBzYcIN88/NoUK8+6OU3E7mzw4q7k4W8WK0vPYqDAi5T2tLyM=' + + # keystone/dashboard + preferred-api-version: &preferred_api_version 3 +#EDIT# admin-token: &admin_token <your_admin_token> + + # nova-compute + worker-multiplier: &worker_multiplier '1.0' + cpu-allocation-ratio: &cpu_allocation_ratio '2.0' + ram-allocation-ratio: &ram_allocation_ratio '1.5' + n-c-config-flags: &nova_compute_config_flags "block_device_allocate_retries=600,block_device_allocate_retries_interval=5" +# n-c-c-config-flags: &n_c_c_config_flags "scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,CoreFilter,RamFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,NUMATopologyFilter,AggregateInstanceExtraSpecsFilter,PciPassthroughFilter" + +#FG# pci-passthrough-whitelist: &pci_passthrough_whitelist '{ "devname": "bond1", "physical_network": "sriov"}' +#FG# vcpu-pin-set: &vcpu_pin_set '^0' + hugepages: &hugepages '5%' + libvirt-image-backend: &libvirt_image_backend + cpu-mode: &cpu-mode + +#FG# enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata True +#FG# neutron-network-dvr: &neutron-dvr True + +machines: + '0': + constraints: arch=amd64 tags=STRSITE-neutron-gw + series: *series + '1': + constraints: arch=amd64 tags=STRSITE-controller + series: *series + '2': + constraints: arch=amd64 tags=STRSITE-controller + series: *series + '3': + constraints: arch=amd64 tags=STRSITE-compute + series: *series + '4': + constraints: arch=amd64 tags=STRSITE-compute + series: *series + + +services: + ctrl-host-STRSITE: + charm: cs:xenial/ubuntu + num_units: 3 + to: + - '1' + - '2' + annotations: + gui-x: '2000' + gui-y: '0' + compute-host-STRSITE: + charm: cs:xenial/ubuntu + num_units: 2 + bindings: + "": *network_space_default + to: + - '3' + - '4' + annotations: + gui-x: '2000' + gui-y: '500' + network-host-STRSITE: + charm: cs:xenial/ubuntu + num_units: 1 + to: + - '0' + annotations: + gui-x: '2000' + gui-y: '800' + ntp-STRSITE: + charm: cs:xenial/ntp + options: + source: *source_ntp + annotations: + gui-x: '2200' + gui-y: '500' + defaultgw-STRSITE: + charm: cs:~csd-garr/defaultgw + options: + gateway: *default_gw_pub + annotations: + gui-x: '800' + gui-y: '0' + ceph-radosgw-hacluster-STRSITE: + charm: cs:xenial/hacluster + bindings: + "": *network_space_os_mgmt + options: + corosync_transport: 'unicast' + corosync_key: *corosync_key + nagios_servicegroups: ceph,object,storage + nagios_context: *nagios_context + annotations: + gui-x: '1000' + gui-y: '-200' + cinder-hacluster-STRSITE: + charm: cs:xenial/hacluster + bindings: + "": *network_space_os_mgmt + options: + corosync_transport: 'unicast' + corosync_key: *corosync_key + nagios_servicegroups: ceph,block,storage + nagios_context: *nagios_context + annotations: + gui-x: '1250' + gui-y: '350' + controller-hacluster-STRSITE: + charm: cs:xenial/hacluster + bindings: + "": *network_space_os_mgmt + options: + corosync_transport: 'unicast' + corosync_key: *corosync_key + nagios_servicegroups: nova,compute + nagios_context: *nagios_context + annotations: + gui-x: '-200' + gui-y: '500' + glance-hacluster-STRSITE: + charm: cs:xenial/hacluster + bindings: + "": *network_space_os_mgmt + options: + corosync_transport: 'unicast' + corosync_key: *corosync_key + nagios_servicegroups: ceph,object,storage + nagios_context: *nagios_context + annotations: + gui-x: '1200' + gui-y: '600' + horizon-hacluster-STRSITE: + charm: cs:xenial/hacluster + bindings: + "": *network_space_os_mgmt + options: + corosync_transport: 'unicast' + corosync_key: *corosync_key + nagios_servicegroups: dashboard,web + nagios_context: *nagios_context + annotations: + gui-x: '250' + gui-y: '50' + keystone-hacluster-STRSITE: + charm: cs:xenial/hacluster + bindings: + "": *network_space_os_mgmt + options: + corosync_transport: 'unicast' + corosync_key: *corosync_key + nagios_servicegroups: keystone + nagios_context: *nagios_context + annotations: + gui-x: '350' + gui-y: '350' + neutron-api-hacluster-STRSITE: + charm: cs:xenial/hacluster + bindings: + "": *network_space_os_mgmt + options: + corosync_transport: 'unicast' + corosync_key: *corosync_key + nagios_servicegroups: neutron + nagios_context: *nagios_context + annotations: + gui-x: '550' + gui-y: '1350' + pxc-hacluster-STRSITE: + charm: cs:xenial/hacluster + bindings: + "": *network_space_os_mgmt + options: + corosync_transport: 'unicast' + corosync_key: *corosync_key + nagios_servicegroups: database + nagios_context: *nagios_context + annotations: + gui-x: '1300' + gui-y: '800' +# Nagios + nagios-server-STRSITE: + charm: cs:nagios + num_units: 1 + bindings: + "": *network_space_os_mgmt + website: *network_space_pub + options: + admin_email: csd-support@garr.it + monitor_self: true + password: theNagiosPwd + ro-password: nagiosadmin + to: + - 'lxd:2' + nrpe-ctrl-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cinder-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cephmon-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cephosd-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-glance-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-radosgw-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-keystone-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-dashboard-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-neutron-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-neutrongw-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-nova-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-novacompute-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-percona-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-rabbitmq-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' + nrpe-memcache-STRSITE: + charm: cs:nrpe + options: + swap: '-w 40% -c 25% -n ok' +# Charms + rabbitmq-server-STRSITE: + charm: cs:xenial/rabbitmq-server + num_units: 3 + bindings: + "": *network_space_default + amqp: *network_space_os_mgmt + options: + min-cluster-size: 2 + access-network: *access_network + cluster-partition-handling: pause_minority + management_plugin: True + nagios_servicegroups: messaging + nagios_context: *nagios_context + use-syslog: True + to: + - 'lxd:2' + - 'lxd:1' + annotations: + gui-x: '400' + gui-y: '800' + percona-cluster-STRSITE: + charm: cs:xenial/percona-cluster + num_units: 3 + bindings: + "": *network_space_default + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + access-network: *access_network + cluster-network: *access_network + min-cluster-size: 2 + innodb-buffer-pool-size: 10G + lp1366997-workaround: True + max-connections: 30000 + nagios_servicegroups: database + nagios_context: *nagios_context + root-password: *root_password + sst-password: *sst_password + vip: *vip_percona + to: + - 'lxd:1' + - 'lxd:2' + annotations: + gui-x: '1000' + gui-y: '800' + keystone-STRSITE: + charm: cs:xenial/keystone + num_units: 3 + 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 + debug: 'False' + verbose: 'False' + admin-password: *admin_password + admin-token: *admin_token + admin-user: admin + nagios_servicegroups: keystone + 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 + to: + - 'lxd:2' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '500' + openstack-dashboard-STRSITE: + charm: cs:xenial/openstack-dashboard + num_units: 3 + 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 + debug: 'False' + endpoint-type: internalURL,publicURL + nagios_servicegroups: dashboard,web + nagios_context: *nagios_context + secret: *secret_dashboard + use-syslog: True + vip: *vip_dashboard + webroot: '/' +#FG# neutron-network-l3ha: True +#FG# neutron-network-dvr: *neutron-dvr +#FG# cinder-backup: True + to: + - 'lxd:1' + - 'lxd:2' + annotations: + gui-x: '500' + gui-y: '0' + nova-compute-STRSITE: + charm: cs:xenial/nova-compute + num_units: 2 + 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: + openstack-origin: *openstack_origin + debug: 'False' + verbose: 'False' + config-flags: *nova_compute_config_flags + cpu-mode: *cpu-mode +#AC# hugepages: *hugepages + enable-live-migration: False + enable-resize: False + migration-auth-type: none +#FG# enable-resize: True +#FG# enable-live-migration: True +#FG# migration-auth-type: ssh + os-internal-network: &os_internal_network + libvirt-image-backend: *libvirt_image_backend + nagios_servicegroups: nova,compute + nagios_context: *nagios_context + use-internal-endpoints: True + enable-resize: True + enable-live-migration: True +#FG# pci-passthrough-whitelist: *pci_passthrough_whitelist +#AC# vcpu-pin-set: *vcpu_pin_set + to: + - '3' + - '4' + annotations: + gui-x: '0' + gui-y: '200' + nova-cloud-controller-STRSITE: + charm: cs:xenial/nova-cloud-controller + num_units: 3 + 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: + openstack-origin: *openstack_origin + debug: 'False' + verbose: 'False' + region: *region + console-access-protocol: 'vnc' + console-proxy-ip: *console_proxy_ip + nagios_servicegroups: nova,compute + nagios_context: *nagios_context + network-manager: Neutron + cpu-allocation-ratio: *cpu_allocation_ratio + ram-allocation-ratio: *ram_allocation_ratio +#FG# config-flags: *n_c_c_config_flags + service-guard: True + single-nova-consoleauth: False + use-internal-endpoints: True + vip: *vip_nova_cloud_controller + worker-multiplier: *worker_multiplier + to: + - 'lxd:1' + - 'lxd:2' + annotations: + gui-x: '0' + gui-y: '450' + neutron-api-STRSITE: + charm: cs:xenial/neutron-api + num_units: 3 + 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: + openstack-origin: *openstack_origin + debug: 'False' + verbose: 'False' + region: *region + enable-ml2-port-security: True + flat-network-providers: *flat_network_providers + nagios_servicegroups: neutron + nagios_context: *nagios_context + neutron-external-network: *neutron_external_network + neutron-security-groups: True + network-device-mtu: *network_device_mtu +#FG# overlay-network-type: *overlay_network_type + use-internal-endpoints: True + use-syslog: True + vip: *vip_neutron + worker-multiplier: *worker_multiplier +#FG# enable-l3ha: True +#FG# dhcp-agents-per-network: 2 +#FG# enable-ml2-port-security: True +#FG# enable-sriov: True +#FG# enable-dvr: *dvr-mode + to: + - 'lxd:2' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '1100' + neutron-openvswitch-STRSITE: + charm: cs:xenial/neutron-openvswitch + 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: + debug: 'False' + verbose: 'False' +#FG# data-port: *data_port +#FG# bridge-mappings: *bridge_mappings +#FG# vlan-ranges: *vlan_ranges +#FG# enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata + disable-security-groups: False + flat-network-providers: *flat_network_providers + os-data-network: *os_data_network + use-syslog: True + annotations: + gui-x: '1100' + gui-y: '1100' + cinder-STRSITE: + num_units: 3 + charm: cs:xenial/cinder + 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: + block-device: None + openstack-origin: *openstack_origin + glance-api-version: 2 + nagios_servicegroups: ceph,block,storage + nagios_context: *nagios_context + region: *region + use-syslog: True + use-internal-endpoints: True + vip: *vip_cinder + worker-multiplier: *worker_multiplier + to: + - 'lxd:1' + - 'lxd:2' + annotations: + gui-x: '1000' + gui-y: '200' + cinder-ceph-STRSITE: + charm: cs:xenial/cinder-ceph + num_units: 0 + bindings: + "": *network_space_default + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + annotations: + gui-x: '1330' + gui-y: '230' + options: + restrict-ceph-pools: True + ceph-mon-STRSITE: + charm: cs:xenial/ceph-mon + num_units: 3 + bindings: + "": *network_space_default + public: *network_space_os_mgmt + client: *network_space_os_mgmt + radosgw: *network_space_os_mgmt + cluster: *network_space_os_mgmt + mon: *network_space_os_mgmt + osd: *network_space_os_mgmt + options: + nagios_servicegroups: ceph,storage + nagios_context: *nagios_context + to: + - 'lxd:2' + - 'lxd:1' + annotations: + gui-x: '1200' + gui-y: '400' + ceph-osd-STRSITE: + charm: cs:xenial/ceph-osd + num_units: 2 + bindings: + "": *network_space_default + public: *network_space_os_mgmt + cluster: *network_space_os_data + mon: *network_space_os_mgmt + options: + nagios_servicegroups: ceph,storage + nagios_context: *nagios_context + osd-devices: *ceph_osd_partition + osd-reformat: 'True' + osd-format: 'xfs' + use-syslog: True + to: + - '3' + - '4' + annotations: + gui-x: '1400' + gui-y: '400' + ceph-radosgw-STRSITE: + charm: cs:xenial/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 + num_units: 3 + options: + ceph-osd-replication-count: *ceph_radosgw_ceph_osd_replication_count + config-flags: *ceph_radosgw_config_flags + nagios_servicegroups: ceph,object,storage + nagios_context: *nagios_context + pool-prefix: *ceph_radosgw_pool_prefix + region: *region + restrict-ceph-pools: True + rgw-buckets-pool-weight: *ceph_radosgw_rgw_buckets_pool_weight + rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num + use-syslog: True + vip: *vip_ceph_radosgw + annotations: + "gui-x": "1000" + "gui-y": "0" + to: + - 'lxd:1' + - 'lxd:2' + glance-STRSITE: + num_units: 3 + charm: cs:xenial/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: + openstack-origin: *openstack_origin + debug: 'False' + verbose: 'False' + region: *region + nagios_servicegroups: ceph,object,storage + nagios_context: *nagios_context + worker-multiplier: *worker_multiplier + use-internal-endpoints: True + use-syslog: True + vip: *vip_glance + restrict-ceph-pools: True + to: + - 'lxd:2' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '400' + memcached-STRSITE: + num_units: 3 + charm: cs:xenial/memcached + bindings: + "": *network_space_default + cache: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + allow-ufw-ip6-softfail: True + nagios_context: *nagios_context + to: + - 'lxd:1' + - 'lxd:2' + annotations: + gui-x: '100' + gui-y: '800' + neutron-gateway-STRSITE: + charm: cs:xenial/neutron-gateway + num_units: 1 + 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: + openstack-origin: *openstack_origin + bridge-mappings: *bridge_mappings + data-port: *data_port +# Lower instance MTU to fit GRE tunnel (without changing switch config etc) + instance-mtu: *instance_mtu + nagios_servicegroups: neutron + nagios_context: *nagios_context + os-data-network: *os_data_network + to: + - '0' + annotations: + gui-x: '0' + gui-y: '1100' +relations: + - [ ntp-STRSITE, ctrl-host-STRSITE ] + - [ ntp-STRSITE, compute-host-STRSITE ] + - [ ntp-STRSITE, network-host-STRSITE ] + - [ percona-cluster-STRSITE, pxc-hacluster-STRSITE ] + - [ cinder-STRSITE, cinder-hacluster-STRSITE ] + - [ glance-STRSITE, glance-hacluster-STRSITE ] + - [ keystone-STRSITE, keystone-hacluster-STRSITE ] + - [ neutron-api-STRSITE, neutron-api-hacluster-STRSITE ] + - [ nova-cloud-controller-STRSITE, controller-hacluster-STRSITE ] + - [ openstack-dashboard-STRSITE, horizon-hacluster-STRSITE ] + - [ keystone-STRSITE, percona-cluster-STRSITE ] + - [ neutron-api-STRSITE, percona-cluster-STRSITE ] + - [ neutron-api-STRSITE, rabbitmq-server-STRSITE ] + - [ neutron-api-STRSITE, nova-cloud-controller-STRSITE ] + - [ neutron-api-STRSITE, keystone-STRSITE ] + - [ neutron-openvswitch-STRSITE, rabbitmq-server-STRSITE ] + - [ neutron-openvswitch-STRSITE, neutron-api-STRSITE ] + - [ neutron-openvswitch-STRSITE, nova-compute-STRSITE ] + - [ nova-cloud-controller-STRSITE, memcached-STRSITE ] + - [ nova-cloud-controller-STRSITE, percona-cluster-STRSITE ] + - [ nova-cloud-controller-STRSITE, rabbitmq-server-STRSITE ] + - [ nova-cloud-controller-STRSITE, glance-STRSITE ] + - [ nova-cloud-controller-STRSITE, keystone-STRSITE ] + - [ nova-compute-STRSITE, nova-cloud-controller-STRSITE ] + - - nova-compute-STRSITE:amqp + - rabbitmq-server-STRSITE:amqp + - [ nova-compute-STRSITE, glance-STRSITE ] + - [ nova-compute-STRSITE, percona-cluster-STRSITE ] + - [ glance-STRSITE, percona-cluster-STRSITE ] + - [ glance-STRSITE, keystone-STRSITE ] + - - glance-STRSITE:image-service + - cinder-STRSITE:image-service + - - glance-STRSITE:amqp + - rabbitmq-server-STRSITE:amqp + - [ cinder-STRSITE, percona-cluster-STRSITE ] + - [ cinder-STRSITE, rabbitmq-server-STRSITE ] + - [ cinder-STRSITE, nova-cloud-controller-STRSITE ] + - [ cinder-STRSITE, keystone-STRSITE ] + - [ openstack-dashboard-STRSITE, keystone-STRSITE ] + - - neutron-gateway-STRSITE:amqp + - rabbitmq-server-STRSITE:amqp + - - neutron-gateway-STRSITE:neutron-plugin-api + - neutron-api-STRSITE:neutron-plugin-api + - - nova-cloud-controller-STRSITE:quantum-network-service + - neutron-gateway-STRSITE:quantum-network-service + - - ceph-mon-STRSITE:client + - nova-compute-STRSITE:ceph + - - ceph-mon-STRSITE:client + - cinder-ceph-STRSITE:ceph + - - cinder-ceph-STRSITE:storage-backend + - cinder-STRSITE:storage-backend + - - ceph-mon-STRSITE:client + - glance-STRSITE:ceph + - - ceph-osd-STRSITE:mon + - ceph-mon-STRSITE:osd +# ceph-radosgw + - - ceph-radosgw-STRSITE:ha + - ceph-radosgw-hacluster-STRSITE:ha + - - keystone-STRSITE:identity-service + - ceph-radosgw-STRSITE:identity-service + - - ceph-radosgw-STRSITE:mon + - ceph-proxy-STRSITE:radosgw + - - ceph-radosgw-STRSITE:juju-info + - defaultgw-STRSITE:juju-info +# default-gw + - - keystone-STRSITE:juju-info + - defaultgw-STRSITE:juju-info + - - openstack-dashboard-STRSITE:juju-info + - defaultgw-STRSITE:juju-info + - - nova-cloud-controller-STRSITE:juju-info + - defaultgw-STRSITE:juju-info + - - glance-STRSITE:juju-info + - defaultgw-STRSITE:juju-info + - - cinder-STRSITE:juju-info + - defaultgw-STRSITE:juju-info + - - neutron-api-STRSITE:juju-info + - defaultgw-STRSITE:juju-info +# nagios server + - - nagios-server-STRSITE:juju-info + - defaultgw-STRSITE:juju-info +# nagios controllers (physical) + - [ctrl-host-STRSITE, nrpe-ctrl-STRSITE] + - - nrpe-ctrl-STRSITE:monitors + - nagios-server-STRSITE:monitors +# nagios ceph + - [ceph-mon-STRSITE, nrpe-cephmon-STRSITE] + - - nrpe-cephmon-STRSITE:monitors + - nagios-server-STRSITE:monitors + - [ceph-osd-STRSITE, nrpe-cephosd-STRSITE] + - - nrpe-cephosd-STRSITE:monitors + - nagios-server-STRSITE:monitors + - [cinder-STRSITE, nrpe-cinder-STRSITE] + - [cinder-hacluster-STRSITE, nrpe-cinder-STRSITE] + - - nrpe-cinder-STRSITE:monitors + - nagios-server-STRSITE:monitors + - [glance-STRSITE, nrpe-glance-STRSITE] + - [glance-hacluster-STRSITE, nrpe-glance-STRSITE] + - - nrpe-glance-STRSITE:monitors + - nagios-server-STRSITE:monitors + - [ceph-radosgw-STRSITE, nrpe-radosgw-STRSITE] + - [ceph-radosgw-hacluster-STRSITE, nrpe-radosgw-STRSITE] + - - nrpe-radosgw-STRSITE:monitors + - nagios-server-STRSITE:monitors +# nagios keystone + - [keystone-STRSITE, nrpe-keystone-STRSITE] + - [keystone-hacluster-STRSITE, nrpe-keystone-STRSITE] + - - nrpe-keystone-STRSITE:monitors + - nagios-server-STRSITE:monitors +# nagios horizon + - [openstack-dashboard-STRSITE, nrpe-dashboard-STRSITE] + - [horizon-hacluster-STRSITE, nrpe-dashboard-STRSITE] + - - nrpe-dashboard-STRSITE:monitors + - nagios-server-STRSITE:monitors +# nagios neutron + - [neutron-api-STRSITE, nrpe-neutron-STRSITE] + - [neutron-api-hacluster-STRSITE, nrpe-neutron-STRSITE] + - - nrpe-neutron-STRSITE:monitors + - nagios-server-STRSITE:monitors + - [network-host-STRSITE, nrpe-neutrongw-STRSITE] + - [neutron-gateway-STRSITE, nrpe-neutrongw-STRSITE] + - - nrpe-neutrongw-STRSITE:monitors + - nagios-server-STRSITE:monitors +# nagios nova + - [nova-cloud-controller-STRSITE, nrpe-nova-STRSITE] + - [controller-hacluster-STRSITE, nrpe-nova-STRSITE] + - - nrpe-nova-STRSITE:monitors + - nagios-server-STRSITE:monitors + - [compute-host-STRSITE, nrpe-novacompute-STRSITE] + - [nova-compute-STRSITE, nrpe-novacompute-STRSITE] + - - nrpe-novacompute-STRSITE:monitors + - nagios-server-STRSITE:monitors +# nagios percona + - [percona-cluster-STRSITE, nrpe-percona-STRSITE] + - [pxc-hacluster-STRSITE, nrpe-percona-STRSITE] + - - nrpe-percona-STRSITE:monitors + - nagios-server-STRSITE:monitors +# nagios memcache + - - memcached-STRSITE:nrpe-external-master + - nrpe-memcache-STRSITE:nrpe-external-master + - - nrpe-memcache-STRSITE:monitors + - nagios-server-STRSITE:monitors +# nagios rabbitmq + - [rabbitmq-server-STRSITE, nrpe-rabbitmq-STRSITE] + - - nrpe-rabbitmq-STRSITE:monitors + - nagios-server-STRSITE:monitors diff --git a/bundles/openstack/bundle_template.juju2.yaml b/bundles/openstack/bundle_template.juju2.yaml index 5958abf75481adf186da482f20c7fce2d85ef8d0..188a144bece17ed078d834509ca61a3006b26897 100644 --- a/bundles/openstack/bundle_template.juju2.yaml +++ b/bundles/openstack/bundle_template.juju2.yaml @@ -14,7 +14,7 @@ variables: # Ceph configs #EDIT# ceph-fsid: &ceph_fsid <your_FSID_here> -#EDIT# ceph-monitor-hosts: &ceph_monitor_hosts [cephmon:port[,cephmon2:port,cephmon3:port]] +#EDIT# ceph-monitor-hosts: &ceph_monitor_hosts [cephmon1:port[ cephmon2:port cephmon3:port]] ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix testrgw ceph-radosgw-lightweight-pool-pg-num: &ceph_radosgw_lightweight_pool_pg_num 8 @@ -88,52 +88,44 @@ variables: machines: '0': - constraints: arch=amd64 tags=pa1-cl1-neutron-gw + constraints: arch=amd64 tags=STRSITE-neutron-gw series: *series '1': - constraints: arch=amd64 tags=pa1-cl1-controller + constraints: arch=amd64 tags=STRSITE-controller series: *series '2': - constraints: arch=amd64 tags=pa1-cl1-controller + constraints: arch=amd64 tags=STRSITE-controller series: *series '3': - constraints: arch=amd64 tags=pa1-cl1-controller + constraints: arch=amd64 tags=STRSITE-compute series: *series '4': - constraints: arch=amd64 tags=pa1-cl1-compute - series: *series - '5': - constraints: arch=amd64 tags=pa1-cl1-compute - series: *series - '6': - constraints: arch=amd64 tags=pa1-cl1-compute + constraints: arch=amd64 tags=STRSITE-compute series: *series services: - ctrl-host-pa1-cl1: + ctrl-host-STRSITE: charm: cs:xenial/ubuntu num_units: 3 to: - '1' - '2' - - '3' annotations: gui-x: '2000' gui-y: '0' - compute-host-pa1-cl1: + compute-host-STRSITE: charm: cs:xenial/ubuntu - num_units: 3 + num_units: 2 bindings: "": *network_space_default to: + - '3' - '4' - - '5' - - '6' annotations: gui-x: '2000' gui-y: '500' - network-host-pa1-cl1: + network-host-STRSITE: charm: cs:xenial/ubuntu num_units: 1 to: @@ -141,21 +133,21 @@ services: annotations: gui-x: '2000' gui-y: '800' - ntp-pa1-cl1: + ntp-STRSITE: charm: cs:xenial/ntp options: source: *source_ntp annotations: gui-x: '2200' gui-y: '500' - defaultgw-pa1-cl1: + defaultgw-STRSITE: charm: cs:~csd-garr/defaultgw options: gateway: *default_gw_pub annotations: gui-x: '800' gui-y: '0' - ceph-radosgw-hacluster-pa1-cl1: + ceph-radosgw-hacluster-STRSITE: charm: cs:xenial/hacluster bindings: "": *network_space_os_mgmt @@ -167,7 +159,7 @@ services: annotations: gui-x: '1000' gui-y: '-200' - cinder-hacluster-pa1-cl1: + cinder-hacluster-STRSITE: charm: cs:xenial/hacluster bindings: "": *network_space_os_mgmt @@ -179,7 +171,7 @@ services: annotations: gui-x: '1250' gui-y: '350' - controller-hacluster-pa1-cl1: + controller-hacluster-STRSITE: charm: cs:xenial/hacluster bindings: "": *network_space_os_mgmt @@ -191,7 +183,7 @@ services: annotations: gui-x: '-200' gui-y: '500' - glance-hacluster-pa1-cl1: + glance-hacluster-STRSITE: charm: cs:xenial/hacluster bindings: "": *network_space_os_mgmt @@ -203,7 +195,7 @@ services: annotations: gui-x: '1200' gui-y: '600' - horizon-hacluster-pa1-cl1: + horizon-hacluster-STRSITE: charm: cs:xenial/hacluster bindings: "": *network_space_os_mgmt @@ -215,7 +207,7 @@ services: annotations: gui-x: '250' gui-y: '50' - keystone-hacluster-pa1-cl1: + keystone-hacluster-STRSITE: charm: cs:xenial/hacluster bindings: "": *network_space_os_mgmt @@ -227,7 +219,7 @@ services: annotations: gui-x: '350' gui-y: '350' - neutron-api-hacluster-pa1-cl1: + neutron-api-hacluster-STRSITE: charm: cs:xenial/hacluster bindings: "": *network_space_os_mgmt @@ -239,7 +231,7 @@ services: annotations: gui-x: '550' gui-y: '1350' - pxc-hacluster-pa1-cl1: + pxc-hacluster-STRSITE: charm: cs:xenial/hacluster bindings: "": *network_space_os_mgmt @@ -252,7 +244,7 @@ services: gui-x: '1300' gui-y: '800' # Nagios - nagios-server-pa1-cl1: + nagios-server-STRSITE: charm: cs:nagios num_units: 1 bindings: @@ -265,60 +257,60 @@ services: ro-password: nagiosadmin to: - 'lxd:2' - nrpe-ctrl-pa1-cl1: + nrpe-ctrl-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-cinder-pa1-cl1: + nrpe-cinder-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-glance-pa1-cl1: + nrpe-glance-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-radosgw-pa1-cl1: + nrpe-radosgw-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-keystone-pa1-cl1: + nrpe-keystone-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-dashboard-pa1-cl1: + nrpe-dashboard-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-neutron-pa1-cl1: + nrpe-neutron-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-neutrongw-pa1-cl1: + nrpe-neutrongw-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-nova-pa1-cl1: + nrpe-nova-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-novacompute-pa1-cl1: + nrpe-novacompute-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-percona-pa1-cl1: + nrpe-percona-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-rabbitmq-pa1-cl1: + nrpe-rabbitmq-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' - nrpe-memcache-pa1-cl1: + nrpe-memcache-STRSITE: charm: cs:nrpe options: swap: '-w 40% -c 25% -n ok' # Charms - rabbitmq-server-pa1-cl1: + rabbitmq-server-STRSITE: charm: cs:xenial/rabbitmq-server num_units: 3 bindings: @@ -333,13 +325,12 @@ services: nagios_context: *nagios_context use-syslog: True to: - - 'lxd:1' - 'lxd:2' - - 'lxd:3' + - 'lxd:1' annotations: gui-x: '400' gui-y: '800' - percona-cluster-pa1-cl1: + percona-cluster-STRSITE: charm: cs:xenial/percona-cluster num_units: 3 bindings: @@ -359,13 +350,12 @@ services: sst-password: *sst_password vip: *vip_percona to: - - 'lxd:3' - - 'lxd:2' - 'lxd:1' + - 'lxd:2' annotations: gui-x: '1000' gui-y: '800' - keystone-pa1-cl1: + keystone-STRSITE: charm: cs:xenial/keystone num_units: 3 bindings: @@ -391,13 +381,12 @@ services: use-syslog: True vip: *vip_keystone to: - - 'lxd:3' - 'lxd:2' - 'lxd:1' annotations: gui-x: '500' gui-y: '500' - openstack-dashboard-pa1-cl1: + openstack-dashboard-STRSITE: charm: cs:xenial/openstack-dashboard num_units: 3 bindings: @@ -423,13 +412,12 @@ services: to: - 'lxd:1' - 'lxd:2' - - 'lxd:3' annotations: gui-x: '500' gui-y: '0' - nova-compute-pa1-cl1: + nova-compute-STRSITE: charm: cs:xenial/nova-compute - num_units: 3 + num_units: 2 bindings: "": *network_space_default amqp: *network_space_os_mgmt @@ -461,13 +449,12 @@ services: #FG# pci-passthrough-whitelist: *pci_passthrough_whitelist #AC# vcpu-pin-set: *vcpu_pin_set to: + - '3' - '4' - - '5' - - '6' annotations: gui-x: '0' gui-y: '200' - nova-cloud-controller-pa1-cl1: + nova-cloud-controller-STRSITE: charm: cs:xenial/nova-cloud-controller num_units: 3 bindings: @@ -507,11 +494,10 @@ services: to: - 'lxd:1' - 'lxd:2' - - 'lxd:3' annotations: gui-x: '0' gui-y: '450' - neutron-api-pa1-cl1: + neutron-api-STRSITE: charm: cs:xenial/neutron-api num_units: 3 bindings: @@ -548,13 +534,12 @@ services: #FG# enable-sriov: True #FG# enable-dvr: *dvr-mode to: - - 'lxd:1' - 'lxd:2' - - 'lxd:3' + - 'lxd:1' annotations: gui-x: '500' gui-y: '1100' - neutron-openvswitch-pa1-cl1: + neutron-openvswitch-STRSITE: charm: cs:xenial/neutron-openvswitch bindings: "": *network_space_default @@ -576,7 +561,7 @@ services: annotations: gui-x: '1100' gui-y: '1100' - cinder-pa1-cl1: + cinder-STRSITE: num_units: 3 charm: cs:xenial/cinder bindings: @@ -604,13 +589,12 @@ services: vip: *vip_cinder worker-multiplier: *worker_multiplier to: - - 'lxd:3' - - 'lxd:2' - 'lxd:1' + - 'lxd:2' annotations: gui-x: '1000' gui-y: '200' - cinder-ceph-pa1-cl1: + cinder-ceph-STRSITE: charm: cs:xenial/cinder-ceph num_units: 0 bindings: @@ -622,7 +606,7 @@ services: gui-y: '230' options: restrict-ceph-pools: True - ceph-proxy-pa1-cl1: + ceph-proxy-STRSITE: num_units: 1 charm: cs:xenial/ceph-proxy bindings: @@ -639,7 +623,7 @@ services: annotations: gui-x: '1300' gui-y: '0' - ceph-radosgw-pa1-cl1: + ceph-radosgw-STRSITE: charm: cs:xenial/ceph-radosgw bindings: "": *network_space_default @@ -666,8 +650,7 @@ services: to: - 'lxd:1' - 'lxd:2' - - 'lxd:3' - glance-pa1-cl1: + glance-STRSITE: num_units: 3 charm: cs:xenial/glance bindings: @@ -696,13 +679,12 @@ services: vip: *vip_glance restrict-ceph-pools: True to: - - 'lxd:3' - 'lxd:2' - 'lxd:1' annotations: gui-x: '1000' gui-y: '400' - memcached-pa1-cl1: + memcached-STRSITE: num_units: 3 charm: cs:xenial/memcached bindings: @@ -715,11 +697,10 @@ services: to: - 'lxd:1' - 'lxd:2' - - 'lxd:3' annotations: gui-x: '100' gui-y: '800' - neutron-gateway-pa1-cl1: + neutron-gateway-STRSITE: charm: cs:xenial/neutron-gateway num_units: 1 bindings: @@ -744,144 +725,144 @@ services: gui-x: '0' gui-y: '1100' relations: - - [ ntp-pa1-cl1, ctrl-host-pa1-cl1 ] - - [ ntp-pa1-cl1, compute-host-pa1-cl1 ] - - [ ntp-pa1-cl1, network-host-pa1-cl1 ] - - [ percona-cluster-pa1-cl1, pxc-hacluster-pa1-cl1 ] - - [ cinder-pa1-cl1, cinder-hacluster-pa1-cl1 ] - - [ glance-pa1-cl1, glance-hacluster-pa1-cl1 ] - - [ keystone-pa1-cl1, keystone-hacluster-pa1-cl1 ] - - [ neutron-api-pa1-cl1, neutron-api-hacluster-pa1-cl1 ] - - [ nova-cloud-controller-pa1-cl1, controller-hacluster-pa1-cl1 ] - - [ openstack-dashboard-pa1-cl1, horizon-hacluster-pa1-cl1 ] - - [ keystone-pa1-cl1, percona-cluster-pa1-cl1 ] - - [ neutron-api-pa1-cl1, percona-cluster-pa1-cl1 ] - - [ neutron-api-pa1-cl1, rabbitmq-server-pa1-cl1 ] - - [ neutron-api-pa1-cl1, nova-cloud-controller-pa1-cl1 ] - - [ neutron-api-pa1-cl1, keystone-pa1-cl1 ] - - [ neutron-openvswitch-pa1-cl1, rabbitmq-server-pa1-cl1 ] - - [ neutron-openvswitch-pa1-cl1, neutron-api-pa1-cl1 ] - - [ neutron-openvswitch-pa1-cl1, nova-compute-pa1-cl1 ] - - [ nova-cloud-controller-pa1-cl1, memcached-pa1-cl1 ] - - [ nova-cloud-controller-pa1-cl1, percona-cluster-pa1-cl1 ] - - [ nova-cloud-controller-pa1-cl1, rabbitmq-server-pa1-cl1 ] - - [ nova-cloud-controller-pa1-cl1, glance-pa1-cl1 ] - - [ nova-cloud-controller-pa1-cl1, keystone-pa1-cl1 ] - - [ nova-compute-pa1-cl1, nova-cloud-controller-pa1-cl1 ] - - - nova-compute-pa1-cl1:amqp - - rabbitmq-server-pa1-cl1:amqp - - [ nova-compute-pa1-cl1, glance-pa1-cl1 ] - - [ nova-compute-pa1-cl1, percona-cluster-pa1-cl1 ] - - [ glance-pa1-cl1, percona-cluster-pa1-cl1 ] - - [ glance-pa1-cl1, keystone-pa1-cl1 ] - - - glance-pa1-cl1:image-service - - cinder-pa1-cl1:image-service - - - glance-pa1-cl1:amqp - - rabbitmq-server-pa1-cl1:amqp - - [ cinder-pa1-cl1, percona-cluster-pa1-cl1 ] - - [ cinder-pa1-cl1, rabbitmq-server-pa1-cl1 ] - - [ cinder-pa1-cl1, nova-cloud-controller-pa1-cl1 ] - - [ cinder-pa1-cl1, keystone-pa1-cl1 ] - - [ openstack-dashboard-pa1-cl1, keystone-pa1-cl1 ] - - - neutron-gateway-pa1-cl1:amqp - - rabbitmq-server-pa1-cl1:amqp - - - neutron-gateway-pa1-cl1:neutron-plugin-api - - neutron-api-pa1-cl1:neutron-plugin-api - - - nova-cloud-controller-pa1-cl1:quantum-network-service - - neutron-gateway-pa1-cl1:quantum-network-service - - - ceph-proxy-pa1-cl1:client - - nova-compute-pa1-cl1:ceph - - - ceph-proxy-pa1-cl1:client - - cinder-ceph-pa1-cl1:ceph - - - cinder-ceph-pa1-cl1:storage-backend - - cinder-pa1-cl1:storage-backend -#FG# - - ceph-proxy-pa1-cl1:client -#FG# - cinder-backup-pa1-cl1:ceph -#FG# - - cinder-backup-pa1-cl1:backup-backend -#FG# - cinder-pa1-cl1:backup-backend - - - ceph-proxy-pa1-cl1:client - - glance-pa1-cl1:ceph + - [ ntp-STRSITE, ctrl-host-STRSITE ] + - [ ntp-STRSITE, compute-host-STRSITE ] + - [ ntp-STRSITE, network-host-STRSITE ] + - [ percona-cluster-STRSITE, pxc-hacluster-STRSITE ] + - [ cinder-STRSITE, cinder-hacluster-STRSITE ] + - [ glance-STRSITE, glance-hacluster-STRSITE ] + - [ keystone-STRSITE, keystone-hacluster-STRSITE ] + - [ neutron-api-STRSITE, neutron-api-hacluster-STRSITE ] + - [ nova-cloud-controller-STRSITE, controller-hacluster-STRSITE ] + - [ openstack-dashboard-STRSITE, horizon-hacluster-STRSITE ] + - [ keystone-STRSITE, percona-cluster-STRSITE ] + - [ neutron-api-STRSITE, percona-cluster-STRSITE ] + - [ neutron-api-STRSITE, rabbitmq-server-STRSITE ] + - [ neutron-api-STRSITE, nova-cloud-controller-STRSITE ] + - [ neutron-api-STRSITE, keystone-STRSITE ] + - [ neutron-openvswitch-STRSITE, rabbitmq-server-STRSITE ] + - [ neutron-openvswitch-STRSITE, neutron-api-STRSITE ] + - [ neutron-openvswitch-STRSITE, nova-compute-STRSITE ] + - [ nova-cloud-controller-STRSITE, memcached-STRSITE ] + - [ nova-cloud-controller-STRSITE, percona-cluster-STRSITE ] + - [ nova-cloud-controller-STRSITE, rabbitmq-server-STRSITE ] + - [ nova-cloud-controller-STRSITE, glance-STRSITE ] + - [ nova-cloud-controller-STRSITE, keystone-STRSITE ] + - [ nova-compute-STRSITE, nova-cloud-controller-STRSITE ] + - - nova-compute-STRSITE:amqp + - rabbitmq-server-STRSITE:amqp + - [ nova-compute-STRSITE, glance-STRSITE ] + - [ nova-compute-STRSITE, percona-cluster-STRSITE ] + - [ glance-STRSITE, percona-cluster-STRSITE ] + - [ glance-STRSITE, keystone-STRSITE ] + - - glance-STRSITE:image-service + - cinder-STRSITE:image-service + - - glance-STRSITE:amqp + - rabbitmq-server-STRSITE:amqp + - [ cinder-STRSITE, percona-cluster-STRSITE ] + - [ cinder-STRSITE, rabbitmq-server-STRSITE ] + - [ cinder-STRSITE, nova-cloud-controller-STRSITE ] + - [ cinder-STRSITE, keystone-STRSITE ] + - [ openstack-dashboard-STRSITE, keystone-STRSITE ] + - - neutron-gateway-STRSITE:amqp + - rabbitmq-server-STRSITE:amqp + - - neutron-gateway-STRSITE:neutron-plugin-api + - neutron-api-STRSITE:neutron-plugin-api + - - nova-cloud-controller-STRSITE:quantum-network-service + - neutron-gateway-STRSITE:quantum-network-service + - - ceph-proxy-STRSITE:client + - nova-compute-STRSITE:ceph + - - ceph-proxy-STRSITE:client + - cinder-ceph-STRSITE:ceph + - - cinder-ceph-STRSITE:storage-backend + - cinder-STRSITE:storage-backend +#FG# - - ceph-proxy-STRSITE:client +#FG# - cinder-backup-STRSITE:ceph +#FG# - - cinder-backup-STRSITE:backup-backend +#FG# - cinder-STRSITE:backup-backend + - - ceph-proxy-STRSITE:client + - glance-STRSITE:ceph # ceph-radosgw - - - ceph-radosgw-pa1-cl1:ha - - ceph-radosgw-hacluster-pa1-cl1:ha - - - keystone-pa1-cl1:identity-service - - ceph-radosgw-pa1-cl1:identity-service - - - ceph-radosgw-pa1-cl1:mon - - ceph-proxy-pa1-cl1:radosgw - - - ceph-radosgw-pa1-cl1:juju-info - - defaultgw-pa1-cl1:juju-info + - - ceph-radosgw-STRSITE:ha + - ceph-radosgw-hacluster-STRSITE:ha + - - keystone-STRSITE:identity-service + - ceph-radosgw-STRSITE:identity-service + - - ceph-radosgw-STRSITE:mon + - ceph-proxy-STRSITE:radosgw + - - ceph-radosgw-STRSITE:juju-info + - defaultgw-STRSITE:juju-info # default-gw - - - keystone-pa1-cl1:juju-info - - defaultgw-pa1-cl1:juju-info - - - openstack-dashboard-pa1-cl1:juju-info - - defaultgw-pa1-cl1:juju-info - - - nova-cloud-controller-pa1-cl1:juju-info - - defaultgw-pa1-cl1:juju-info - - - glance-pa1-cl1:juju-info - - defaultgw-pa1-cl1:juju-info - - - cinder-pa1-cl1:juju-info - - defaultgw-pa1-cl1:juju-info - - - neutron-api-pa1-cl1:juju-info - - defaultgw-pa1-cl1:juju-info + - - keystone-STRSITE:juju-info + - defaultgw-STRSITE:juju-info + - - openstack-dashboard-STRSITE:juju-info + - defaultgw-STRSITE:juju-info + - - nova-cloud-controller-STRSITE:juju-info + - defaultgw-STRSITE:juju-info + - - glance-STRSITE:juju-info + - defaultgw-STRSITE:juju-info + - - cinder-STRSITE:juju-info + - defaultgw-STRSITE:juju-info + - - neutron-api-STRSITE:juju-info + - defaultgw-STRSITE:juju-info # nagios server - - - nagios-server-pa1-cl1:juju-info - - defaultgw-pa1-cl1:juju-info + - - nagios-server-STRSITE:juju-info + - defaultgw-STRSITE:juju-info # nagios controllers (physical) - - [ctrl-host-pa1-cl1, nrpe-ctrl-pa1-cl1] - - - nrpe-ctrl-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors + - [ctrl-host-STRSITE, nrpe-ctrl-STRSITE] + - - nrpe-ctrl-STRSITE:monitors + - nagios-server-STRSITE:monitors # nagios ceph - - [cinder-pa1-cl1, nrpe-cinder-pa1-cl1] - - [cinder-hacluster-pa1-cl1, nrpe-cinder-pa1-cl1] - - - nrpe-cinder-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors - - [glance-pa1-cl1, nrpe-glance-pa1-cl1] - - [glance-hacluster-pa1-cl1, nrpe-glance-pa1-cl1] - - - nrpe-glance-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors - - [ceph-radosgw-pa1-cl1, nrpe-radosgw-pa1-cl1] - - [ceph-radosgw-hacluster-pa1-cl1, nrpe-radosgw-pa1-cl1] - - - nrpe-radosgw-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors + - [cinder-STRSITE, nrpe-cinder-STRSITE] + - [cinder-hacluster-STRSITE, nrpe-cinder-STRSITE] + - - nrpe-cinder-STRSITE:monitors + - nagios-server-STRSITE:monitors + - [glance-STRSITE, nrpe-glance-STRSITE] + - [glance-hacluster-STRSITE, nrpe-glance-STRSITE] + - - nrpe-glance-STRSITE:monitors + - nagios-server-STRSITE:monitors + - [ceph-radosgw-STRSITE, nrpe-radosgw-STRSITE] + - [ceph-radosgw-hacluster-STRSITE, nrpe-radosgw-STRSITE] + - - nrpe-radosgw-STRSITE:monitors + - nagios-server-STRSITE:monitors # nagios keystone - - [keystone-pa1-cl1, nrpe-keystone-pa1-cl1] - - [keystone-hacluster-pa1-cl1, nrpe-keystone-pa1-cl1] - - - nrpe-keystone-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors + - [keystone-STRSITE, nrpe-keystone-STRSITE] + - [keystone-hacluster-STRSITE, nrpe-keystone-STRSITE] + - - nrpe-keystone-STRSITE:monitors + - nagios-server-STRSITE:monitors # nagios horizon - - [openstack-dashboard-pa1-cl1, nrpe-dashboard-pa1-cl1] - - [horizon-hacluster-pa1-cl1, nrpe-dashboard-pa1-cl1] - - - nrpe-dashboard-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors + - [openstack-dashboard-STRSITE, nrpe-dashboard-STRSITE] + - [horizon-hacluster-STRSITE, nrpe-dashboard-STRSITE] + - - nrpe-dashboard-STRSITE:monitors + - nagios-server-STRSITE:monitors # nagios neutron - - [neutron-api-pa1-cl1, nrpe-neutron-pa1-cl1] - - [neutron-api-hacluster-pa1-cl1, nrpe-neutron-pa1-cl1] - - - nrpe-neutron-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors - - [network-host-pa1-cl1, nrpe-neutrongw-pa1-cl1] - - [neutron-gateway-pa1-cl1, nrpe-neutrongw-pa1-cl1] - - - nrpe-neutrongw-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors + - [neutron-api-STRSITE, nrpe-neutron-STRSITE] + - [neutron-api-hacluster-STRSITE, nrpe-neutron-STRSITE] + - - nrpe-neutron-STRSITE:monitors + - nagios-server-STRSITE:monitors + - [network-host-STRSITE, nrpe-neutrongw-STRSITE] + - [neutron-gateway-STRSITE, nrpe-neutrongw-STRSITE] + - - nrpe-neutrongw-STRSITE:monitors + - nagios-server-STRSITE:monitors # nagios nova - - [nova-cloud-controller-pa1-cl1, nrpe-nova-pa1-cl1] - - [controller-hacluster-pa1-cl1, nrpe-nova-pa1-cl1] - - - nrpe-nova-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors - - [compute-host-pa1-cl1, nrpe-novacompute-pa1-cl1] - - [nova-compute-pa1-cl1, nrpe-novacompute-pa1-cl1] - - - nrpe-novacompute-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors + - [nova-cloud-controller-STRSITE, nrpe-nova-STRSITE] + - [controller-hacluster-STRSITE, nrpe-nova-STRSITE] + - - nrpe-nova-STRSITE:monitors + - nagios-server-STRSITE:monitors + - [compute-host-STRSITE, nrpe-novacompute-STRSITE] + - [nova-compute-STRSITE, nrpe-novacompute-STRSITE] + - - nrpe-novacompute-STRSITE:monitors + - nagios-server-STRSITE:monitors # nagios percona - - [percona-cluster-pa1-cl1, nrpe-percona-pa1-cl1] - - [pxc-hacluster-pa1-cl1, nrpe-percona-pa1-cl1] - - - nrpe-percona-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors + - [percona-cluster-STRSITE, nrpe-percona-STRSITE] + - [pxc-hacluster-STRSITE, nrpe-percona-STRSITE] + - - nrpe-percona-STRSITE:monitors + - nagios-server-STRSITE:monitors # nagios memcache - - - memcached-pa1-cl1:nrpe-external-master - - nrpe-memcache-pa1-cl1:nrpe-external-master - - - nrpe-memcache-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors + - - memcached-STRSITE:nrpe-external-master + - nrpe-memcache-STRSITE:nrpe-external-master + - - nrpe-memcache-STRSITE:monitors + - nagios-server-STRSITE:monitors # nagios rabbitmq - - [rabbitmq-server-pa1-cl1, nrpe-rabbitmq-pa1-cl1] - - - nrpe-rabbitmq-pa1-cl1:monitors - - nagios-server-pa1-cl1:monitors + - [rabbitmq-server-STRSITE, nrpe-rabbitmq-STRSITE] + - - nrpe-rabbitmq-STRSITE:monitors + - nagios-server-STRSITE:monitors diff --git a/bundles/openstack/deploy-openstack.rst b/bundles/openstack/deploy-openstack.rst index 3623aaa93a61bfdc00cadc4b8fc33b2919cc2a62..dc2b78c7a427922d3e68d68b543be50c7bd866be 100644 --- a/bundles/openstack/deploy-openstack.rst +++ b/bundles/openstack/deploy-openstack.rst @@ -3,22 +3,29 @@ This is a collection of bundles to deploy the GARR OpenStack Cloud (Mitaka release) on Ubuntu 16.04 LTS, providing Dashboard, Compute, Network, Block Storage, Object Storage, Identity and Image services. -The latest addition, non-obsolete, also includes Nagios as well as a nice highlighting of the variables -which need to be changed if you want to try the bundle: all such variables are in the top part of the -file and are marked with a comment starting with the EDIT keyword. You are welcome to modify any other -variable, too. +For historical reasons we still keep the *obsolete* versions around, but please note that those files +may disappear any time soon. + +The current version also includes Nagios as well as a nice highlighting of the variables +which need to be changed if you want to try the bundle: in addition to a global replacement of the +string *STRSITE* with something identifying your site, most (if not all) variables you'd need to +change are in the top part of the file and are marked with a comment starting with the EDIT keyword. +You are welcome to modify any other variable, too. Requirements ------------ The most up-to-date bundles are: - bundle_template.juju2.yaml, works with Juju 2.2, includes Nagios, relies on external Ceph cluster + - bundle_template.juju2.cephlocal.yaml, works with Juju 2.2, includes Nagios, creates a Ceph cluster with OSD servers + on compute nodes, and MON server on controller nodes -The two "obsolete" bundles are for Juju 2.0 and likely won't work with more recent Juju due to lack of support for default bindings: - - bundle_template.juju2.2ctrl.yaml.obsolete, relying on an external Ceph cluster - - bundle_template.juju2.cephlocal.yaml.obsolete, creating a minimal Ceph installation on the compute nodes +The two "obsolete" bundles are for Juju 2.0 and likely won't work with more recent Juju due to lack of support for default bindings. +They reflect limitations of previous Juju version in other respects, for example in the separation between regular controller nodes +(marked with *ctrl*) and controller nodes with public address (marked with *ctrl-pub*) -The bundle is designed to run on bare metal using Juju with [MAAS][] (Metal-as-a-Service); you will need to have setup a [MAAS][] deployment with a minimum of 4 physical servers prior to using this bundle. +The bundle is designed to run on bare metal using Juju with [MAAS][] (Metal-as-a-Service); you will need to have setup a [MAAS][] +deployment with a minimum of 5 physical servers prior to using this bundle. Servers should have: @@ -27,8 +34,10 @@ Servers should have: - One cabled network port: in MAAS we previously configured such port as a link aggregate, and allow traffic for all network-spaces (see below). The network configuration should match what was defined at MAAS level: specifically, in MAAS we defined the following network spaces; - - space-box: for backend communication, this is the network used to reach the ILO - - space-os-data: this is mainly used by OpenStack for communication between compute and network nodes + - space-box: for backend communication, this is the network used to reach the ILO. Current version of the bundle does no longer use + this network space for internal communication + - space-os-data: this is mainly used by OpenStack for communication between compute and network nodes. In the *cephlocal* version + of the bundle, this network is also used for inter-OSD communication - space-os-mgmt: this is the OpenStack management network - space-pub: this is the network space comprising the subnet used by the VIP of OpenStack services, and the public subnet assigned to tenants @@ -36,9 +45,8 @@ Components ---------- The current reference template bundle_template.juju2.2ctrl.yaml defines: - - 2 nodes controller: these will host services which do not need public network - - 2 nodes controller-pub: these will host services which need public network (the physical servers should have space-pub configured, and a public IP assigned to the relevant network interface) - - 2 nodes compute + - 2 nodes controller: these will host a variety of services, with and without public IP address + - 2 nodes compute: in the *cephlocal* version, these will also be the OSD servers - 1 node neutron gw - 1 3-unit cluster for percona cluster database - 3 units each for: keystone, rabbitmq, horizon, cloud controller, neutron api, glance, cinder, memcached under LXC containers @@ -51,56 +59,24 @@ See below how to scale by adding units. Deployment ---------- - ### Prepare your own bundle -The following command should provide you with a reasonable starting point for your specific case. In the following: - - mysite: is any string identifying your environment - - STRVIPPREFIX: is the private network prefix from which VIP addresses will be chosen, by appending numbers 1 through 7 (hence, in the example below, the VIPs for the various services will be set to 10.3.4.231 up to 10.3.4.237) - - STRPUBVIPPREFIX: same as above, but for the public network - - STR*Pass*: are passwords (for the MySQL database and for the Keystone Admin account) - - STRDATANET: is the network matching the netowrk space space-os-data +The following command should provide you with a reasonable starting point for your specific case. In the following, +*mysite* will be any string identifying your environment. - cat bundle_template.juju2.2ctrl.yaml | sed -e 's/STRSITE/mysite/g' -e 's/STRDATANET/10\.4\.5\.0\/24/g' -e 's/STRVIPPREFIX/10.4.4.22/g' -e 's/STRPUBVIPPREFIX/90\.147\.161\.9/' -e 's/STRperconaPass/somesecretPass/g' -e 's/STRKSPUBNAME/keystone.name.full.domain/' -e 's/STRadminPassDash/keystoneAdminPass/' > bundle_mysite-2ctrl.yaml + cat bundle_template.juju2.yaml | sed -e 's/STRSITE/mysite/g' > bundle_mysite.yaml -Please check the resulting file carefully before using it, specifically: +Edit the resulting file: as a minimum, you should uncomment and edit to suit your configuration all lines starting +with **#EDIT#**. Moreover, you should pay attention to the following: - check neutron configuration in the three charms neutron-api neutron-openvswitch neutron-gateway - make sure the physical nodes have been properly labeled to match setting in the head of the bundle file ### Deploy your bundle - juju deploy bundle_mysite-2ctrl.yaml + juju deploy bundle_mysite.yaml and enjoy a looong coffee... -### Ansible to fix reference to Ceph cluster - -After deploying the bundle, download the [csd-install][] package from [GARR CSD Gitlab][]. - -Edit the inventory file adding a stanza matching the configuration setup by Juju, like the following: - - [mysite-ceph] - 10.3.1.180 ansible_ssh_user=ubuntu tag=ceph-proxy - 10.3.0.112 ansible_ssh_user=ubuntu tag=compute service=nova-compute-mysite - 10.3.0.124 ansible_ssh_user=ubuntu tag=compute service=nova-compute-mysite - 10.3.1.153 ansible_ssh_user=ubuntu tag=cinder service=cinder-ceph-mysite - 10.3.1.169 ansible_ssh_user=ubuntu tag=cinder service=cinder-ceph-mysite - 10.3.1.170 ansible_ssh_user=ubuntu tag=cinder service=cinder-ceph-mysite - 10.3.1.163 ansible_ssh_user=ubuntu tag=glance service=glance-mysite - 10.3.1.172 ansible_ssh_user=ubuntu tag=glance service=glance-mysite - 10.3.1.173 ansible_ssh_user=ubuntu tag=glance service=glance-mysite - -Execute the playbook: - - ansible-playbook -i inventory -l mysite-ceph cephconfig.yml - -Ansible will take care of cinder, glance, nova-compute and restart relevant services. - -To verify such nodes can successfully contact the Ceph cluster, execute commands like (adjust strings and unit names as needed): - - juju ssh nova-compute-mysite/0 sudo ceph --user nova-compute-mysite osd lspools - - ## Ensuring it's working To ensure your cloud is functioning correctly, download this bundle and then run through the following sections.