From c6fea3e22d9452d3a53a10eed72eff3cd31c7e3a Mon Sep 17 00:00:00 2001 From: Alberto Colla <alberto.colla@garr.it> Date: Wed, 17 Apr 2019 14:42:01 +0000 Subject: [PATCH] 2019-04-17 AC: Compute nodes on LXD containers --- .../openstack/bundle-config.cephlocal.yaml | 68 +- .../bundle-config.cephlocal.yaml.ori | 381 +++++++ .../openstack/bundle.cephlocal.allinone.yaml | 277 ++--- bundles/openstack/bundle.pd.federation.yaml | 1006 +++++++++++++++++ bundles/openstack/bundle.yaml | 595 +++++++--- .../openstack/bundle_nopasswd_00216760.yaml | 989 ++++++++++++++++ .../old/bundle.cephlocal.pd.tmp.yaml | 1003 ++++++++++++++++ .../openstack/old/bundle.cephlocal.pd.yaml | 1005 ++++++++++++++++ bundles/openstack/test-openrc.sh | 38 + 9 files changed, 5063 insertions(+), 299 deletions(-) create mode 100644 bundles/openstack/bundle-config.cephlocal.yaml.ori create mode 100644 bundles/openstack/bundle.pd.federation.yaml create mode 100644 bundles/openstack/bundle_nopasswd_00216760.yaml create mode 100644 bundles/openstack/old/bundle.cephlocal.pd.tmp.yaml create mode 100644 bundles/openstack/old/bundle.cephlocal.pd.yaml create mode 100644 bundles/openstack/test-openrc.sh diff --git a/bundles/openstack/bundle-config.cephlocal.yaml b/bundles/openstack/bundle-config.cephlocal.yaml index e98b25c0..dd0fac80 100644 --- a/bundles/openstack/bundle-config.cephlocal.yaml +++ b/bundles/openstack/bundle-config.cephlocal.yaml @@ -3,20 +3,20 @@ parameters: # Region settings - region: ®ion <region> - access-network: &access_network <network_used_by_rabbit_and_percona> - os-internal-network: &os_internal_network <OpenStack_internal_network> - source_ntp: &source_ntp <NTP_server> - os-data-network: &os_data_network <OS_data_network> + region: ®ion unipd-1 + # access-network: &access_network <network_used_by_rabbit_and_percona> + # os-internal-network: &os_internal_network <OpenStack_internal_network> + source_ntp: &source_ntp ntp1.inrim.it + # os-data-network: &os_data_network <OS_data_network> # Nagios - nagios_context: &nagios_context <nagios_context> - nagios_admin_email: &nagios_admin_email <nagiosadmin@domain.org> - nagios_admin_pwd: &nagiosadmin_pwd <aVeryDifficultPwd> - nagios_readonly_pwd: &nagiosro_pwd <aDifficultPwd> + nagios_context: &nagios_context nagios + nagios_admin_email: &nagios_admin_email vittorio.gallo@unipd.it + nagios_admin_pwd: &nagiosadmin_pwd !garr123 + nagios_readonly_pwd: &nagiosro_pwd !garr123 # Ceph configs - ceph-osd-partition: &ceph_osd_partition /data + ceph-osd-partition: &ceph_osd_partition "/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl /dev/sdm /dev/sdn /dev/sdo /dev/sdp /dev/sdq /dev/sdr /dev/sds /dev/sdt /dev/sdu /dev/sdv" ceph-cinder-replication-count: &ceph_cinder_replication_count 2 ceph-glance-replication-count: &ceph_glance_replication_count 2 ceph-radosgw-replication-count: &ceph_radosgw_replication_count 2 @@ -24,44 +24,44 @@ parameters: # vips (number of VIPs should match number of different bindings) - 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> + vip-ceilometer: &vip_ceilometer 192.168.20.61 147.162.164.21 + vip-ceph-radosgw: &vip_ceph_radosgw 192.168.20.62 147.162.164.22 + vip-cinder: &vip_cinder 192.168.20.63 147.162.164.23 + vip-glance: &vip_glance 192.168.20.64 147.162.164.24 + vip-heat: &vip_heat 192.168.20.65 147.162.164.25 + vip-dashboard: &vip_dashboard 147.162.164.26 + vip-keystone: &vip_keystone 192.168.20.66 147.162.164.27 + vip-percona: &vip_percona 192.168.20.67 + vip-neutron: &vip_neutron 192.168.20.68 147.162.164.28 + vip-nova: &vip_nova_cloud_controller 192.168.20.69 147.162.164.29 + console-proxy-ip: &console_proxy_ip 147.162.164.29 # This is the gateway for public VIPs - default_public_gateway: &default_public_gateway <default_public_gateway_in_CIDR_notation> + default_public_gateway: &default_public_gateway 147.162.164.1 # hostnames - os-public-hostname: &os_public_hostname <keystone_public_hostname> - os-internal-hostname: &os_internal_hostname <keystone_internal_hostname> + os-public-hostname: &os_public_hostname keystone.ict.unipd.it + os-internal-hostname: &os_internal_hostname keystone.ict.unipd.it # this one could be identical to internal-hostname - os-admin-hostname: &os_admin_hostname <keystone_admin_hostname> + os-admin-hostname: &os_admin_hostname keystone.ict.unipd.it # 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-default: &network_space_default openstack-mgt + network-space-pub: &network_space_pub pubblica # 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 - network-space-os-data: &network_space_os_data <MAAS_OS_data_space> - network-space-os-mgmt: &network_space_os_mgmt <MAAS_OS_mgmt_space> + network-space-os-data: &network_space_os_data openstack-mgt + network-space-os-mgmt: &network_space_os_mgmt openstack-mgt # Change as appropriate bridge-mappings: &bridge_mappings ext_net:br-ex - data-port: &data_port br-ex:bond0.188 + data-port: &data_port br-ex:bond0.20 # 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> + root-password: &root_password !garr123 + sst-password: &sst_password !garr123 + admin-password: &admin_password !garr123 + secret_dashboard: &secret_dashboard garr123 encryption-key: &encryption_key <encryption_key> # # Set your corosync_keys by running (on your preferred machine): diff --git a/bundles/openstack/bundle-config.cephlocal.yaml.ori b/bundles/openstack/bundle-config.cephlocal.yaml.ori new file mode 100644 index 00000000..e98b25c0 --- /dev/null +++ b/bundles/openstack/bundle-config.cephlocal.yaml.ori @@ -0,0 +1,381 @@ +## Specific configuration file for a cloud region. +## Edit values within <...> to represent your region. + +parameters: + # Region settings + region: ®ion <region> + access-network: &access_network <network_used_by_rabbit_and_percona> + os-internal-network: &os_internal_network <OpenStack_internal_network> + source_ntp: &source_ntp <NTP_server> + os-data-network: &os_data_network <OS_data_network> + + # Nagios + nagios_context: &nagios_context <nagios_context> + nagios_admin_email: &nagios_admin_email <nagiosadmin@domain.org> + nagios_admin_pwd: &nagiosadmin_pwd <aVeryDifficultPwd> + nagios_readonly_pwd: &nagiosro_pwd <aDifficultPwd> + + # Ceph configs + ceph-osd-partition: &ceph_osd_partition /data + ceph-cinder-replication-count: &ceph_cinder_replication_count 2 + ceph-glance-replication-count: &ceph_glance_replication_count 2 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 2 + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix rgw + + # vips (number of VIPs should match number of different bindings) + + 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> + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway <default_public_gateway_in_CIDR_notation> + + # hostnames + os-public-hostname: &os_public_hostname <keystone_public_hostname> + os-internal-hostname: &os_internal_hostname <keystone_internal_hostname> + # this one could be identical to internal-hostname + os-admin-hostname: &os_admin_hostname <keystone_admin_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> +# 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 + network-space-os-data: &network_space_os_data <MAAS_OS_data_space> + network-space-os-mgmt: &network_space_os_mgmt <MAAS_OS_mgmt_space> + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + data-port: &data_port br-ex:bond0.188 + + # 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> + +# ---------------------------------------------------------------------- +services: + + controller: + bindings: + "": *network_space_default + + ntp: + options: + source: *source_ntp + + defaultgw: + options: + gateway: *default_public_gateway + + 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_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: + admin_email: *nagios_admin_email + password: *nagiosadmin_pwd + ro-password: *nagiosro_pwd + + 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: + admin-password: *admin_password + admin-token: *admin_token + nagios_context: *nagios_context + os-public-hostname: *os_public_hostname + region: *region + 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: + 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: + os-internal-network: *os_internal_network + 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 + + 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 + nagios_context: *nagios_context + neutron-external-network: *neutron_external_network + vip: *vip_neutron + + 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: + os-data-network: *os_data_network + + 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: + nagios_context: *nagios_context + region: *region + vip: *vip_cinder + + cinder-ceph: + bindings: + "": *network_space_default + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + options: + ceph-osd-replication-count: *ceph_cinder_replication_count + + ceph-mon: + 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_context: *nagios_context + + ceph-osd: + bindings: + "": *network_space_default + public: *network_space_os_mgmt + cluster: *network_space_os_data + mon: *network_space_os_mgmt + options: + nagios_context: *nagios_context + osd-devices: *ceph_osd_partition + + 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: + ceph-osd-replication-count: *ceph_glance_replication_count + 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 diff --git a/bundles/openstack/bundle.cephlocal.allinone.yaml b/bundles/openstack/bundle.cephlocal.allinone.yaml index 850b9666..2f534435 100644 --- a/bundles/openstack/bundle.cephlocal.allinone.yaml +++ b/bundles/openstack/bundle.cephlocal.allinone.yaml @@ -4,8 +4,8 @@ parameters: # sources - openstack-origin: &openstack_origin cloud:xenial-ocata - series: &series xenial + openstack-origin: &openstack_origin cloud:bionic-rocky + series: &series bionic # Ceph configs ceph-radosgw-lightweight-pool-pg-num: &ceph_radosgw_lightweight_pool_pg_num 8 @@ -40,20 +40,20 @@ parameters: ## Specific configuration file for a cloud region. ## Edit values within <...> to represent your region. # Region settings - region: ®ion <region> - access-network: &access_network <network_used_by_rabbit_and_percona> - os-internal-network: &os_internal_network <OpenStack_internal_network> - source_ntp: &source_ntp <NTP_server> - os-data-network: &os_data_network <OS_data_network> + region: ®ion unipd-1 + # access-network: &access_network <network_used_by_rabbit_and_percona> + # os-internal-network: &os_internal_network <OpenStack_internal_network> + source_ntp: &source_ntp ntp1.inrim.it + # os-data-network: &os_data_network <OS_data_network> # Nagios - nagios_context: &nagios_context <nagios_context> - nagios_admin_email: &nagios_admin_email <nagiosadmin@domain.org> - nagios_admin_pwd: &nagiosadmin_pwd <aVeryDifficultPwd> - nagios_readonly_pwd: &nagiosro_pwd <aDifficultPwd> + nagios_context: &nagios_context nagios + nagios_admin_email: &nagios_admin_email vittorio.gallo@unipd.it + nagios_admin_pwd: &nagiosadmin_pwd !garr123 + nagios_readonly_pwd: &nagiosro_pwd !garr123 # Ceph configs - ceph-osd-partition: &ceph_osd_partition /data + ceph-osd-partition: &ceph_osd_partition "/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl /dev/sdm /dev/sdn /dev/sdo /dev/sdp /dev/sdq /dev/sdr /dev/sds /dev/sdt /dev/sdu /dev/sdv" ceph-cinder-replication-count: &ceph_cinder_replication_count 2 ceph-glance-replication-count: &ceph_glance_replication_count 2 ceph-radosgw-replication-count: &ceph_radosgw_replication_count 2 @@ -61,69 +61,61 @@ parameters: # vips (number of VIPs should match number of different bindings) - 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> + vip-ceilometer: &vip_ceilometer 192.168.20.61 147.162.164.21 + vip-ceph-radosgw: &vip_ceph_radosgw 192.168.20.62 147.162.164.22 + vip-cinder: &vip_cinder 192.168.20.63 147.162.164.23 + vip-glance: &vip_glance 192.168.20.64 147.162.164.24 + vip-heat: &vip_heat 192.168.20.65 147.162.164.25 + vip-dashboard: &vip_dashboard 147.162.164.26 + vip-keystone: &vip_keystone 192.168.20.66 147.162.164.27 + vip-percona: &vip_percona 192.168.20.67 + vip-neutron: &vip_neutron 192.168.20.68 147.162.164.28 + vip-nova: &vip_nova_cloud_controller 192.168.20.69 147.162.164.29 + console-proxy-ip: &console_proxy_ip 147.162.164.29 # This is the gateway for public VIPs - default_public_gateway: &default_public_gateway <default_public_gateway_in_CIDR_notation> + default_public_gateway: &default_public_gateway 147.162.164.1 # hostnames - os-public-hostname: &os_public_hostname <keystone_public_hostname> - os-internal-hostname: &os_internal_hostname <keystone_internal_hostname> + os-public-hostname: &os_public_hostname keystone.ict.unipd.it + os-internal-hostname: &os_internal_hostname keystone.ict.unipd.it # this one could be identical to internal-hostname - os-admin-hostname: &os_admin_hostname <keystone_admin_hostname> + os-admin-hostname: &os_admin_hostname keystone.ict.unipd.it # 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-default: &network_space_default openstack-mgt + network-space-pub: &network_space_pub pubblica # 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 - network-space-os-data: &network_space_os_data <MAAS_OS_data_space> - network-space-os-mgmt: &network_space_os_mgmt <MAAS_OS_mgmt_space> + network-space-os-data: &network_space_os_data openstack-mgt + network-space-os-mgmt: &network_space_os_mgmt openstack-mgt # Change as appropriate bridge-mappings: &bridge_mappings ext_net:br-ex - data-port: &data_port br-ex:bond0.188 + data-port: &data_port br-ex:bond0.20 # 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> + root-password: &root_password !garr123 + sst-password: &sst_password !garr123 + admin-password: &admin_password !garr123 + secret_dashboard: &secret_dashboard garr123 + # 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> + # corosync_key: &corosync_key <corosync_key> # keystone/dashboard - admin-token: &admin_token <admin_token> + # CLA: ho usato pwgen 62 1 + admin-token: &admin_token Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi # ------------------------------------------------------------------------------ machines: '0': - constraints: arch=amd64 tags=neutron-gw + constraints: arch=amd64 tags=hyperconverged_host series: *series '1': - constraints: arch=amd64 tags=controller - series: *series - '2': - constraints: arch=amd64 tags=controller - series: *series - '3': - constraints: arch=amd64 tags=compute - series: *series - '4': - constraints: arch=amd64 tags=compute + constraints: arch=amd64 tags=hyperconverged_host series: *series # ------------------------------------------------------------------------------ @@ -136,32 +128,32 @@ services: bindings: "": *network_space_default to: + - '0' - '1' - - '2' annotations: gui-x: '2000' gui-y: '0' - compute-host: - charm: cs:ubuntu - series: *series - num_units: 2 - to: - - '3' - - '4' - annotations: - gui-x: '2000' - gui-y: '500' - - network-host: - charm: cs:ubuntu - series: *series - num_units: 1 - to: - - '0' - annotations: - gui-x: '2000' - gui-y: '800' +# compute-host: +# charm: cs:ubuntu +# series: *series +# num_units: 2 +# to: +# - '3' +# - '4' +# annotations: +# gui-x: '2000' +# gui-y: '500' + +# network-host: +# charm: cs:ubuntu +# series: *series +# num_units: 1 +# to: +# - '0' +# annotations: +# gui-x: '2000' +# gui-y: '800' ntp: charm: cs:ntp @@ -186,7 +178,7 @@ services: bindings: "": *network_space_os_mgmt options: - corosync_key: *corosync_key + # corosync_key: *corosync_key nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: ceph,object,storage @@ -200,7 +192,7 @@ services: bindings: "": *network_space_os_mgmt options: - corosync_key: *corosync_key + # corosync_key: *corosync_key nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: ceph,block,storage @@ -214,7 +206,7 @@ services: bindings: "": *network_space_os_mgmt options: - corosync_key: *corosync_key + # corosync_key: *corosync_key nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: nova,compute @@ -228,7 +220,7 @@ services: bindings: "": *network_space_os_mgmt options: - corosync_key: *corosync_key + # corosync_key: *corosync_key nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: ceph,object,storage @@ -242,7 +234,7 @@ services: bindings: "": *network_space_os_mgmt options: - corosync_key: *corosync_key + # corosync_key: *corosync_key nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: dashboard,web @@ -256,7 +248,7 @@ services: bindings: "": *network_space_os_mgmt options: - corosync_key: *corosync_key + # corosync_key: *corosync_key nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: keystone @@ -270,7 +262,7 @@ services: bindings: "": *network_space_os_mgmt options: - corosync_key: *corosync_key + # corosync_key: *corosync_key nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: neutron @@ -284,7 +276,7 @@ services: bindings: "": *network_space_os_mgmt options: - corosync_key: *corosync_key + # corosync_key: *corosync_key nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: database @@ -306,7 +298,7 @@ services: ro-password: *nagiosro_pwd monitor_self: true to: - - 'lxd:2' + - 'lxd:0' nrpe-controller: charm: cs:nrpe series: *series @@ -393,13 +385,14 @@ services: options: access-network: *access_network nagios_context: *nagios_context - min-cluster-size: 2 + min-cluster-size: 3 cluster-partition-handling: pause_minority management_plugin: True nagios_servicegroups: messaging use-syslog: True to: - - 'lxd:2' + - 'lxd:0' + - 'lxd:1' - 'lxd:1' annotations: gui-x: '400' @@ -420,14 +413,15 @@ services: root-password: *root_password sst-password: *sst_password vip: *vip_percona - min-cluster-size: 2 + min-cluster-size: 3 innodb-buffer-pool-size: 10G lp1366997-workaround: True max-connections: 30000 nagios_servicegroups: database to: + - 'lxd:0' + - 'lxd:0' - 'lxd:1' - - 'lxd:2' annotations: gui-x: '1000' gui-y: '800' @@ -461,7 +455,8 @@ services: region: *region use-syslog: True to: - - 'lxd:2' + - 'lxd:0' + - 'lxd:1' - 'lxd:1' annotations: gui-x: '500' @@ -490,8 +485,9 @@ services: use-syslog: True webroot: '/' to: + - 'lxd:0' + - 'lxd:0' - 'lxd:1' - - 'lxd:2' annotations: gui-x: '500' gui-y: '0' @@ -526,8 +522,8 @@ services: enable-resize: True enable-live-migration: True to: - - '3' - - '4' + - '0' + - '1' annotations: gui-x: '0' gui-y: '200' @@ -572,8 +568,9 @@ services: use-internal-endpoints: True worker-multiplier: *worker_multiplier to: + - 'lxd:0' + - 'lxd:0' - 'lxd:1' - - 'lxd:2' annotations: gui-x: '0' gui-y: '450' @@ -612,7 +609,8 @@ services: use-syslog: True worker-multiplier: *worker_multiplier to: - - 'lxd:2' + - 'lxd:0' + - 'lxd:1' - 'lxd:1' annotations: gui-x: '500' @@ -669,8 +667,9 @@ services: use-internal-endpoints: True worker-multiplier: *worker_multiplier to: + - 'lxd:0' + - 'lxd:1' - 'lxd:1' - - 'lxd:2' annotations: gui-x: '1000' gui-y: '200' @@ -706,7 +705,8 @@ services: nagios_context: *nagios_context nagios_servicegroups: ceph,storage to: - - 'lxd:2' + - 'lxd:0' + - 'lxd:1' - 'lxd:1' annotations: gui-x: '1200' @@ -730,8 +730,8 @@ services: osd-format: 'xfs' use-syslog: True to: - - '3' - - '4' + - '0' + - '1' annotations: gui-x: '1400' gui-y: '400' @@ -760,8 +760,9 @@ services: restrict-ceph-pools: True use-syslog: True to: + - 'lxd:0' + - 'lxd:0' - 'lxd:1' - - 'lxd:2' annotations: "gui-x": "1000" "gui-y": "0" @@ -798,7 +799,8 @@ services: use-syslog: True restrict-ceph-pools: True to: - - 'lxd:2' + - 'lxd:0' + - 'lxd:0' - 'lxd:1' annotations: gui-x: '1000' @@ -816,8 +818,9 @@ services: nagios_context: *nagios_context allow-ufw-ip6-softfail: True to: + - 'lxd:0' + - 'lxd:1' - 'lxd:1' - - 'lxd:2' annotations: gui-x: '100' gui-y: '800' @@ -849,42 +852,42 @@ services: gui-x: '0' gui-y: '1100' - ceilometer: - charm: cs:ceilometer - series: xenial - num_units: 1 - bindings: - public: *network_space_pub - admin: *network_space_os_mgmt - internal: *network_space_os_mgmt - options: - region: *region - action-managed-upgrade: True - debug: False - verbose: False - event-time-to-live: *celiometer_event_time_to_live - metering-time-to-live: *celiometer_metering_time_to_live - region: *region - to: - - 'lxd:1' - annotations: - gui-x: '450' - gui-y: '-250' - - ceilometer-agent: - charm: cs:ceilometer-agent - series: xenial - options: - action-managed-upgrade: True - annotations: - gui-x: '200' - gui-y: '-150' +# ceilometer: +# charm: cs:ceilometer +# series: *series +# num_units: 1 +# bindings: +# public: *network_space_pub +# admin: *network_space_os_mgmt +# internal: *network_space_os_mgmt +# options: +# region: *region +# action-managed-upgrade: True +# debug: False +# verbose: False +# event-time-to-live: *celiometer_event_time_to_live +# metering-time-to-live: *celiometer_metering_time_to_live +# region: *region +# to: +# - 'lxd:1' +# annotations: +# gui-x: '450' +# gui-y: '-250' + +# ceilometer-agent: +# charm: cs:ceilometer-agent +# series: xenial +# options: +# action-managed-upgrade: True +# annotations: +# gui-x: '200' +# gui-y: '-150' # ------------------------------------------------------------------------------ relations: - [ ntp, controller ] - - [ ntp, compute-host ] - - [ ntp, network-host ] +# - [ ntp, compute-host ] +# - [ ntp, network-host ] - [ percona-cluster, percona-hacluster ] - [ cinder, cinder-hacluster ] - [ glance, glance-hacluster ] @@ -969,14 +972,14 @@ relations: - [ neutron-api, nrpe-neutron] - [ neutron-api-hacluster, nrpe-neutron] - [ "nrpe-neutron:monitors", "nagios-server:monitors" ] - - [ network-host, nrpe-neutrongw] +# - [ network-host, nrpe-neutrongw] - [ neutron-gateway, nrpe-neutrongw] - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ] # nagios nova - [ nova-cloud-controller, nrpe-nova] - [ controller-hacluster, nrpe-nova] - [ "nrpe-nova:monitors", "nagios-server:monitors" ] - - [ compute-host, nrpe-novacompute] +# - [ compute-host, nrpe-novacompute] - [ nova-compute, nrpe-novacompute] - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ] # nagios percona @@ -990,9 +993,9 @@ relations: - [rabbitmq-server, nrpe-rabbitmq] - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ] # ceilometer - - [ "ceilometer:amqp", "rabbitmq-server:amqp" ] - - [ "ceilometer:identity-service", "keystone:identity-service" ] - - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ] - - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ] - - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ] - - [ "ceilometer:juju-info", "defaultgw:juju-info" ] +# - [ "ceilometer:amqp", "rabbitmq-server:amqp" ] +# - [ "ceilometer:identity-service", "keystone:identity-service" ] +# - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ] +# - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ] +# - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ] +# - [ "ceilometer:juju-info", "defaultgw:juju-info" ] diff --git a/bundles/openstack/bundle.pd.federation.yaml b/bundles/openstack/bundle.pd.federation.yaml new file mode 100644 index 00000000..97458e62 --- /dev/null +++ b/bundles/openstack/bundle.pd.federation.yaml @@ -0,0 +1,1006 @@ +## Sample bundle for the deployment of OpenStack in a region of the +## GARR Federated Cloud Platform. +## This version deploys a local ceph. + +parameters: + # sources + openstack-origin: &openstack_origin distro + series: &series bionic + dashboard-series: &dashboard_series bionic + + # Ceph configs + 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-config-flags: &ceph_radosgw_config_flags + + # network defaults: + flat-network-providers: &flat_network_providers ext_net + neutron-external-network: &neutron_external_network ext_net + network-device-mtu: &network_device_mtu 1500 + instance-mtu: &instance_mtu 1400 + enable-dvr: &dvr_mode False + vlan-ranges: &vlan_ranges physnet-ovs:801:801 + enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata True + + # keystone/dashboard + preferred-api-version: &preferred_api_version 3 + + # 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" + + hugepages: &hugepages '5%' + libvirt-image-backend: &libvirt_image_backend + cpu-mode: &cpu-mode + +# Ceilometer + event-time-to-live: &celiometer_event_time_to_live -1 + metering-time-to-live: &celiometer_metering_time_to_live -1 + +## Specific configuration file for a cloud region. +## Edit values within <...> to represent your region. + # Region settings + region: ®ion unipd-1 + # access-network: &access_network <network_used_by_rabbit_and_percona> + # os-internal-network: &os_internal_network <OpenStack_internal_network> + source_ntp: &source_ntp ntp1.inrim.it + # os-data-network: &os_data_network <OS_data_network> + + # Nagios + nagios_context: &nagios_context nagios + nagios_admin_email: &nagios_admin_email vittorio.gallo@unipd.it + nagios_admin_pwd: &nagiosadmin_pwd '!garr123' + nagios_readonly_pwd: &nagiosro_pwd '!garr123' + + # Ceph configs + ceph-osd-partition: &ceph_osd_partition "/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl /dev/sdm /dev/sdn /dev/sdo /dev/sdp /dev/sdq /dev/sdr /dev/sds /dev/sdt /dev/sdu /dev/sdv" + ceph-cinder-replication-count: &ceph_cinder_replication_count 2 + ceph-glance-replication-count: &ceph_glance_replication_count 2 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 2 + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix rgw + + # vips (number of VIPs should match number of different bindings) + + vip-ceilometer: &vip_ceilometer 192.168.20.61 147.162.164.21 + vip-ceph-radosgw: &vip_ceph_radosgw 192.168.20.62 147.162.164.22 + vip-cinder: &vip_cinder 192.168.20.63 147.162.164.23 + vip-glance: &vip_glance 192.168.20.64 147.162.164.24 + vip-heat: &vip_heat 192.168.20.65 147.162.164.25 + vip-dashboard: &vip_dashboard 147.162.164.26 + vip-keystone: &vip_keystone 192.168.20.66 147.162.164.27 + vip-percona: &vip_percona 192.168.20.67 + vip-neutron: &vip_neutron 192.168.20.68 147.162.164.28 + vip-nova: &vip_nova_cloud_controller 192.168.20.69 147.162.164.29 + console-proxy-ip: &console_proxy_ip 147.162.164.29 + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway 147.162.164.1 + + # hostnames + os-public-hostname: &os_public_hostname keystone.ict.unipd.it + os-internal-hostname: &os_internal_hostname keystone.ict.unipd.it + # this one could be identical to internal-hostname + os-admin-hostname: &os_admin_hostname keystone.ict.unipd.it + + # 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 openstack-mgt + #network-space-default: &network_space_default pubblica # temporary change + network-space-pub: &network_space_pub pubblica +# 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 + network-space-os-data: &network_space_os_data openstack-mgt + network-space-os-mgmt: &network_space_os_mgmt openstack-mgt + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + data-port: &data_port "br-ex:enp94s0f1.20" + + # secrets and passwords: + root-password: &root_password '!garr123' + sst-password: &sst_password '!garr123' + admin-password: &admin_password '!garr123' + secret_dashboard: &secret_dashboard garr123 + # 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 + # CLA: ho usato pwgen 62 1 + admin-token: &admin_token Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi + +# ------------------------------------------------------------------------------ +machines: + '0': + constraints: arch=amd64 tags=hyperconverged_host + series: *series + '1': + constraints: arch=amd64 tags=hyperconverged_host + series: *series + +# ------------------------------------------------------------------------------ +services: + + controller: + charm: cs:ubuntu + series: *series + num_units: 2 + bindings: + "": *network_space_default + to: + - '0' + - '1' + annotations: + gui-x: '2000' + gui-y: '0' + +# compute-host: +# charm: cs:ubuntu +# series: *series +# num_units: 2 +# to: +# - '3' +# - '4' +# annotations: +# gui-x: '2000' +# gui-y: '500' + +# network-host: +# charm: cs:ubuntu +# series: *series +# num_units: 1 +# to: +# - '0' +# annotations: +# gui-x: '2000' +# gui-y: '800' + + ntp: + charm: cs:ntp + series: *series + options: + source: *source_ntp + annotations: + gui-x: '2200' + gui-y: '500' + +# defaultgw: +# charm: cs:~csd-garr/defaultgw +# options: +# gateway: *default_public_gateway +# annotations: +# gui-x: '800' +# gui-y: '0' + + ceph-radosgw-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1000' + gui-y: '-200' + + cinder-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,block,storage + annotations: + gui-x: '1250' + gui-y: '350' + + controller-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: nova,compute + annotations: + gui-x: '-200' + gui-y: '500' + + glance-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1200' + gui-y: '600' + + horizon-hacluster: + charm: cs:hacluster + series: *dashboard_series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: dashboard,web + annotations: + gui-x: '250' + gui-y: '50' + + keystone-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: keystone + annotations: + gui-x: '350' + gui-y: '350' + + neutron-api-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: neutron + annotations: + gui-x: '550' + gui-y: '1350' + + percona-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: database + annotations: + gui-x: '1300' + gui-y: '800' + +# Nagios + nagios-server: + charm: cs:nagios + series: *series + num_units: 1 + bindings: + "": *network_space_default + website: *network_space_pub + # website: *network_space_os_mgmt + options: + admin_email: *nagios_admin_email + password: *nagiosadmin_pwd + ro-password: *nagiosro_pwd + monitor_self: true + to: + - 'lxd:0' + nrpe-controller: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cinder: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cephmon: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cephosd: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-glance: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-radosgw: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-keystone: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-dashboard: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-neutron: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-neutrongw: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-nova: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-novacompute: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-percona: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-rabbitmq: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-memcache: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + + rabbitmq-server: + charm: cs:rabbitmq-server + series: *series + num_units: 3 + bindings: + "": *network_space_default + amqp: *network_space_os_mgmt + options: + # access-network: *access_network + nagios_context: *nagios_context + min-cluster-size: 3 + cluster-partition-handling: pause_minority + management_plugin: True + nagios_servicegroups: messaging + use-syslog: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '400' + gui-y: '800' + + percona-cluster: + charm: cs:percona-cluster + series: *series + 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 + nagios_context: *nagios_context + root-password: *root_password + sst-password: *sst_password + vip: *vip_percona + min-cluster-size: 3 + innodb-buffer-pool-size: 10G + max-connections: 30000 + nagios_servicegroups: database + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '800' + + keystone: + charm: cs:keystone + series: *series + 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: + admin-password: *admin_password + admin-token: *admin_token + nagios_context: *nagios_context + os-public-hostname: *os_public_hostname + region: *region + vip: *vip_keystone + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + admin-user: admin + nagios_servicegroups: keystone + worker-multiplier: *worker_multiplier + preferred-api-version: *preferred_api_version + region: *region + use-syslog: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '500' + + openstack-dashboard: + charm: cs:openstack-dashboard + series: *dashboard_series + 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: + nagios_context: *nagios_context + secret: *secret_dashboard + vip: *vip_dashboard + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + endpoint-type: internalURL,publicURL + nagios_servicegroups: dashboard,web + use-syslog: True + webroot: '/' + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '0' + + nova-compute: + charm: cs:nova-compute + series: *series + 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: + # os-internal-network: *os_internal_network + nagios_context: *nagios_context + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + config-flags: *nova_compute_config_flags + cpu-mode: *cpu-mode + #enable-live-migration: False + enable-resize: False + migration-auth-type: ssh + libvirt-image-backend: *libvirt_image_backend + nagios_servicegroups: nova,compute + use-internal-endpoints: True + enable-resize: True + enable-live-migration: True + to: + - '0' + - 'lxd:1' + annotations: + gui-x: '0' + gui-y: '200' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + series: *series + 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: + region: *region + console-proxy-ip: *console_proxy_ip + nagios_context: *nagios_context + vip: *vip_nova_cloud_controller + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + console-access-protocol: 'vnc' + nagios_servicegroups: nova,compute + network-manager: Neutron + cpu-allocation-ratio: *cpu_allocation_ratio + ram-allocation-ratio: *ram_allocation_ratio + service-guard: True + single-nova-consoleauth: False + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '0' + gui-y: '450' + + neutron-api: + charm: cs:neutron-api + series: *series + 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: + region: *region + nagios_context: *nagios_context + neutron-external-network: *neutron_external_network + vip: *vip_neutron + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + enable-ml2-port-security: True + flat-network-providers: *flat_network_providers + nagios_servicegroups: neutron + neutron-security-groups: True + network-device-mtu: *network_device_mtu + use-internal-endpoints: True + use-syslog: True + worker-multiplier: *worker_multiplier + enable-dvr: *dvr_mode + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '1100' + + 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: + # os-data-network: *os_data_network + debug: 'False' + verbose: 'False' + disable-security-groups: False + flat-network-providers: *flat_network_providers + use-syslog: True + enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata + annotations: + gui-x: '1100' + gui-y: '1100' + + cinder: + charm: cs:cinder + series: *series + 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 + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + region: *region + vip: *vip_cinder + openstack-origin: *openstack_origin + action-managed-upgrade: True + block-device: None + glance-api-version: 2 + nagios_servicegroups: ceph,block,storage + region: *region + use-syslog: True + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '200' + + cinder-ceph: + charm: cs:cinder-ceph + series: *series + num_units: 0 + bindings: + "": *network_space_default + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + options: + ceph-osd-replication-count: *ceph_cinder_replication_count + restrict-ceph-pools: True + annotations: + gui-x: '1330' + gui-y: '230' + + ceph-mon: + charm: cs:ceph-mon + series: *series + 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_context: *nagios_context + nagios_servicegroups: ceph,storage + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '1200' + gui-y: '400' + + ceph-osd: + charm: cs:ceph-osd + series: *series + num_units: 2 + bindings: + "": *network_space_default + public: *network_space_os_mgmt + cluster: *network_space_os_data + mon: *network_space_os_mgmt + options: + nagios_context: *nagios_context + osd-devices: *ceph_osd_partition + nagios_servicegroups: ceph,storage + osd-devices: *ceph_osd_partition + # osd-reformat: 'True' + osd-format: 'xfs' + use-syslog: True + to: + - '0' + - '1' + annotations: + gui-x: '1400' + gui-y: '400' + + ceph-radosgw: + charm: cs:ceph-radosgw + series: *series + num_units: 3 + 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 + nagios_servicegroups: ceph,object,storage + region: *region + restrict-ceph-pools: True + use-syslog: True + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + "gui-x": "1000" + "gui-y": "0" + + glance: + charm: cs:glance + series: *series + 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 + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + ceph-osd-replication-count: *ceph_glance_replication_count + region: *region + nagios_context: *nagios_context + vip: *vip_glance + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + nagios_servicegroups: ceph,object,storage + use-internal-endpoints: True + use-syslog: True + restrict-ceph-pools: True + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '400' + + memcached: + charm: cs:memcached + series: *series + num_units: 3 + bindings: + "": *network_space_default + cache: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + allow-ufw-ip6-softfail: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '100' + gui-y: '800' + + neutron-gateway: + charm: cs:neutron-gateway + series: *series + 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: + bridge-mappings: *bridge_mappings + nagios_context: *nagios_context + # os-data-network: *os_data_network + openstack-origin: *openstack_origin + action-managed-upgrade: True + data-port: *data_port + # Lower instance MTU to fit GRE tunnel (without changing switch config etc) + instance-mtu: *instance_mtu + nagios_servicegroups: neutron + to: + - '1' + annotations: + gui-x: '0' + gui-y: '1100' + +# ceilometer: +# charm: cs:ceilometer +# series: *series +# num_units: 1 +# bindings: +# public: *network_space_pub +# admin: *network_space_os_mgmt +# internal: *network_space_os_mgmt +# options: +# region: *region +# action-managed-upgrade: True +# debug: False +# verbose: False +# event-time-to-live: *celiometer_event_time_to_live +# metering-time-to-live: *celiometer_metering_time_to_live +# region: *region +# to: +# - 'lxd:1' +# annotations: +# gui-x: '450' +# gui-y: '-250' + +# ceilometer-agent: +# charm: cs:ceilometer-agent +# series: xenial +# options: +# action-managed-upgrade: True +# annotations: +# gui-x: '200' +# gui-y: '-150' + +# ------------------------------------------------------------------------------ +relations: + - [ ntp, controller ] +# - [ ntp, compute-host ] +# - [ ntp, network-host ] + - [ percona-cluster, percona-hacluster ] + - [ cinder, cinder-hacluster ] + - [ glance, glance-hacluster ] + - [ keystone, keystone-hacluster ] + - [ neutron-api, neutron-api-hacluster ] + - [ nova-cloud-controller, controller-hacluster ] + - [ openstack-dashboard, horizon-hacluster ] + - [ keystone, percona-cluster ] + - [ neutron-api, percona-cluster ] + - [ neutron-api, rabbitmq-server ] + - [ neutron-api, nova-cloud-controller ] + - [ neutron-api, keystone ] + - [ neutron-openvswitch, rabbitmq-server ] + - [ neutron-openvswitch, neutron-api ] + - [ neutron-openvswitch, nova-compute ] + - [ nova-cloud-controller, memcached ] + - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ] + - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ] + - [ nova-cloud-controller, glance ] + - [ nova-cloud-controller, keystone ] + - [ nova-compute, nova-cloud-controller ] + - [ "nova-compute:amqp", "rabbitmq-server:amqp" ] + - [ nova-compute, glance ] + - [ glance, percona-cluster ] + - [ glance, keystone ] + - [ "glance:image-service", "cinder:image-service" ] + - [ "glance:amqp", "rabbitmq-server:amqp" ] + - [ cinder, percona-cluster ] + - [ cinder, rabbitmq-server ] + - [ cinder, nova-cloud-controller ] + - [ cinder, keystone ] + - [ "openstack-dashboard:identity-service", "keystone:identity-service" ] + - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ] + - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ] + - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ] + - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ] + - [ "ceph-mon:client", "nova-compute:ceph" ] + - [ "ceph-mon:client", "cinder-ceph:ceph" ] + - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] + - [ "ceph-mon:client", "glance:ceph" ] + - [ "ceph-osd:mon", "ceph-mon:osd" ] +# ceph-radosgw + - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ] + - [ "keystone:identity-service", "ceph-radosgw:identity-service" ] + - [ "ceph-radosgw:mon", "ceph-mon:radosgw" ] +# - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ] +# default-gw +# - [ "keystone:juju-info", "defaultgw:juju-info" ] +# - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ] +# - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ] +# - [ "glance:juju-info", "defaultgw:juju-info" ] +# - [ "cinder:juju-info", "defaultgw:juju-info" ] +# - [ "neutron-api:juju-info", "defaultgw:juju-info" ] +# nagios server +# - [ "nagios-server:juju-info", "defaultgw:juju-info" ] +# nagios controllers (physical) + - [ controller, nrpe-controller] + - [ "nrpe-controller:monitors", "nagios-server:monitors" ] +# nagios ceph + - [ ceph-mon, nrpe-cephmon] + - [ "nrpe-cephmon:monitors", "nagios-server:monitors" ] + - [ ceph-osd, nrpe-cephosd] + - [ "nrpe-cephosd:monitors", "nagios-server:monitors" ] + - [ cinder, nrpe-cinder] + - [ cinder-hacluster, nrpe-cinder] + - [ "nrpe-cinder:monitors", "nagios-server:monitors" ] + - [ glance, nrpe-glance] + - [ glance-hacluster, nrpe-glance] + - [ "nrpe-glance:monitors", "nagios-server:monitors" ] + - [ ceph-radosgw, nrpe-radosgw] + - [ ceph-radosgw-hacluster, nrpe-radosgw] + - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ] +# nagios keystone + - [ keystone, nrpe-keystone] + - [ keystone-hacluster, nrpe-keystone] + - [ "nrpe-keystone:monitors", "nagios-server:monitors" ] +# nagios horizon + - [ openstack-dashboard, nrpe-dashboard] + - [ horizon-hacluster, nrpe-dashboard] + - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ] +# nagios neutron + - [ neutron-api, nrpe-neutron] + - [ neutron-api-hacluster, nrpe-neutron] + - [ "nrpe-neutron:monitors", "nagios-server:monitors" ] +# - [ network-host, nrpe-neutrongw] + - [ neutron-gateway, nrpe-neutrongw] + - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ] +# nagios nova + - [ nova-cloud-controller, nrpe-nova] + - [ controller-hacluster, nrpe-nova] + - [ "nrpe-nova:monitors", "nagios-server:monitors" ] +# - [ compute-host, nrpe-novacompute] + - [ nova-compute, nrpe-novacompute] + - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ] +# nagios percona + - [ percona-cluster, nrpe-percona] + - [ percona-hacluster, nrpe-percona] + - [ "nrpe-percona:monitors", "nagios-server:monitors" ] +# nagios memcache + - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ] + - [ "nrpe-memcache:monitors", "nagios-server:monitors" ] +# nagios rabbitmq + - [rabbitmq-server, nrpe-rabbitmq] + - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ] +# ceilometer +# - [ "ceilometer:amqp", "rabbitmq-server:amqp" ] +# - [ "ceilometer:identity-service", "keystone:identity-service" ] +# - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ] +# - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ] +# - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ] +# - [ "ceilometer:juju-info", "defaultgw:juju-info" ] diff --git a/bundles/openstack/bundle.yaml b/bundles/openstack/bundle.yaml index 25ff8b76..0cae7b15 100644 --- a/bundles/openstack/bundle.yaml +++ b/bundles/openstack/bundle.yaml @@ -1,11 +1,12 @@ ## Sample bundle for the deployment of OpenStack in a region of the ## GARR Federated Cloud Platform. +## This version deploys a local ceph. -defaults: - +parameters: # sources - openstack-origin: &openstack_origin cloud:xenial-ocata - series: &series xenial + openstack-origin: &openstack_origin distro + series: &series bionic + dashboard-series: &dashboard_series bionic # Ceph configs ceph-radosgw-lightweight-pool-pg-num: &ceph_radosgw_lightweight_pool_pg_num 8 @@ -17,8 +18,9 @@ defaults: neutron-external-network: &neutron_external_network ext_net network-device-mtu: &network_device_mtu 1500 instance-mtu: &instance_mtu 1400 - enable-dvr: &dvr-mode True + enable-dvr: &dvr_mode False vlan-ranges: &vlan_ranges physnet-ovs:801:801 + enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata True # keystone/dashboard preferred-api-version: &preferred_api_version 3 @@ -37,19 +39,86 @@ defaults: event-time-to-live: &celiometer_event_time_to_live -1 metering-time-to-live: &celiometer_metering_time_to_live -1 +## Specific configuration file for a cloud region. +## Edit values within <...> to represent your region. + # Region settings + region: ®ion unipd-1 + # access-network: &access_network <network_used_by_rabbit_and_percona> + # os-internal-network: &os_internal_network <OpenStack_internal_network> + source_ntp: &source_ntp ntp1.inrim.it + # os-data-network: &os_data_network <OS_data_network> + + # Nagios + nagios_context: &nagios_context nagios + nagios_admin_email: &nagios_admin_email vittorio.gallo@unipd.it + nagios_admin_pwd: &nagiosadmin_pwd '!garr123' + nagios_readonly_pwd: &nagiosro_pwd '!garr123' + + # Ceph configs + ceph-osd-partition: &ceph_osd_partition "/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl /dev/sdm /dev/sdn /dev/sdo /dev/sdp /dev/sdq /dev/sdr /dev/sds /dev/sdt /dev/sdu /dev/sdv" + ceph-cinder-replication-count: &ceph_cinder_replication_count 2 + ceph-glance-replication-count: &ceph_glance_replication_count 2 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 2 + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix rgw + + # vips (number of VIPs should match number of different bindings) + + vip-ceilometer: &vip_ceilometer 192.168.20.61 147.162.164.21 + vip-ceph-radosgw: &vip_ceph_radosgw 192.168.20.62 147.162.164.22 + vip-cinder: &vip_cinder 192.168.20.63 147.162.164.23 + vip-glance: &vip_glance 192.168.20.64 147.162.164.24 + vip-heat: &vip_heat 192.168.20.65 147.162.164.25 + vip-dashboard: &vip_dashboard 147.162.164.26 + vip-keystone: &vip_keystone 192.168.20.66 147.162.164.27 + vip-percona: &vip_percona 192.168.20.67 + vip-neutron: &vip_neutron 192.168.20.68 147.162.164.28 + vip-nova: &vip_nova_cloud_controller 192.168.20.69 147.162.164.29 + console-proxy-ip: &console_proxy_ip 147.162.164.29 + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway 147.162.164.1 + + # hostnames + os-public-hostname: &os_public_hostname keystone.ict.unipd.it + os-internal-hostname: &os_internal_hostname keystone.ict.unipd.it + # this one could be identical to internal-hostname + os-admin-hostname: &os_admin_hostname keystone.ict.unipd.it + + # 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 openstack-mgt + #network-space-default: &network_space_default pubblica # temporary change + network-space-pub: &network_space_pub pubblica +# 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 + network-space-os-data: &network_space_os_data openstack-mgt + network-space-os-mgmt: &network_space_os_mgmt openstack-mgt + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + data-port: &data_port "br-ex:enp94s0f1.20" + + # secrets and passwords: + root-password: &root_password '!garr123' + sst-password: &sst_password '!garr123' + admin-password: &admin_password '!garr123' + secret_dashboard: &secret_dashboard garr123 + # 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 + # CLA: ho usato pwgen 62 1 + admin-token: &admin_token Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi + # ------------------------------------------------------------------------------ machines: '0': - constraints: arch=amd64 tags=neutron-gw + constraints: arch=amd64 tags=hyperconverged_host series: *series '1': - constraints: arch=amd64 tags=controller - series: *series - '2': - constraints: arch=amd64 tags=controller - series: *series - '3': - constraints: arch=amd64 tags=compute + constraints: arch=amd64 tags=hyperconverged_host series: *series # ------------------------------------------------------------------------------ @@ -59,32 +128,35 @@ services: charm: cs:ubuntu series: *series num_units: 2 + bindings: + "": *network_space_default to: + - '0' - '1' - - '2' annotations: gui-x: '2000' gui-y: '0' - compute-host: - charm: cs:ubuntu - series: *series - num_units: 1 - to: - - '3' - annotations: - gui-x: '2000' - gui-y: '500' - - network-host: - charm: cs:ubuntu - series: *series - num_units: 1 - to: - - '0' - annotations: - gui-x: '2000' - gui-y: '800' +# compute-host: +# charm: cs:ubuntu +# series: *series +# num_units: 2 +# to: +# - '3' +# - '4' +# annotations: +# gui-x: '2000' +# gui-y: '500' + +# network-host: +# charm: cs:ubuntu +# series: *series +# num_units: 1 +# to: +# - '0' +# annotations: +# gui-x: '2000' +# gui-y: '800' ntp: charm: cs:ntp @@ -95,16 +167,22 @@ services: gui-x: '2200' gui-y: '500' - defaultgw: - charm: cs:~csd-garr/defaultgw - annotations: - gui-x: '800' - gui-y: '0' +# defaultgw: +# charm: cs:~csd-garr/defaultgw +# options: +# gateway: *default_public_gateway +# annotations: +# gui-x: '800' +# gui-y: '0' ceph-radosgw-hacluster: charm: cs:hacluster series: *series + bindings: + "": *network_space_default options: + # corosync_key: *corosync_key + nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: ceph,object,storage annotations: @@ -114,7 +192,11 @@ services: cinder-hacluster: charm: cs:hacluster series: *series + bindings: + "": *network_space_default options: + # corosync_key: *corosync_key + nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: ceph,block,storage annotations: @@ -124,7 +206,11 @@ services: controller-hacluster: charm: cs:hacluster series: *series + bindings: + "": *network_space_default options: + # corosync_key: *corosync_key + nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: nova,compute annotations: @@ -134,7 +220,11 @@ services: glance-hacluster: charm: cs:hacluster series: *series + bindings: + "": *network_space_default options: + # corosync_key: *corosync_key + nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: ceph,object,storage annotations: @@ -143,8 +233,12 @@ services: horizon-hacluster: charm: cs:hacluster - series: *series + series: *dashboard_series + bindings: + "": *network_space_default options: + # corosync_key: *corosync_key + nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: dashboard,web annotations: @@ -154,7 +248,11 @@ services: keystone-hacluster: charm: cs:hacluster series: *series + bindings: + "": *network_space_default options: + # corosync_key: *corosync_key + nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: keystone annotations: @@ -164,7 +262,11 @@ services: neutron-api-hacluster: charm: cs:hacluster series: *series + bindings: + "": *network_space_default options: + # corosync_key: *corosync_key + nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: neutron annotations: @@ -174,7 +276,11 @@ services: percona-hacluster: charm: cs:hacluster series: *series + bindings: + "": *network_space_default options: + # corosync_key: *corosync_key + nagios_context: *nagios_context corosync_transport: 'unicast' nagios_servicegroups: database annotations: @@ -186,10 +292,17 @@ services: charm: cs:nagios series: *series num_units: 1 - options: + bindings: + "": *network_space_default + website: *network_space_pub + # website: *network_space_os_mgmt + options: + admin_email: *nagios_admin_email + password: *nagiosadmin_pwd + ro-password: *nagiosro_pwd monitor_self: true to: - - 'lxd:2' + - 'lxd:0' nrpe-controller: charm: cs:nrpe series: *series @@ -200,6 +313,16 @@ services: series: *series options: swap: '-w 40% -c 25% -n ok' + nrpe-cephmon: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cephosd: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' nrpe-glance: charm: cs:nrpe series: *series @@ -260,14 +383,20 @@ services: charm: cs:rabbitmq-server series: *series num_units: 3 + bindings: + "": *network_space_default + amqp: *network_space_os_mgmt options: - min-cluster-size: 2 + # access-network: *access_network + nagios_context: *nagios_context + min-cluster-size: 3 cluster-partition-handling: pause_minority management_plugin: True nagios_servicegroups: messaging use-syslog: True to: - - 'lxd:2' + - 'lxd:0' + - 'lxd:1' - 'lxd:1' annotations: gui-x: '400' @@ -277,15 +406,25 @@ services: charm: cs:percona-cluster series: *series num_units: 3 - options: - min-cluster-size: 2 + 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 + min-cluster-size: 3 innodb-buffer-pool-size: 10G - lp1366997-workaround: True max-connections: 30000 nagios_servicegroups: database to: + - 'lxd:0' + - 'lxd:0' - 'lxd:1' - - 'lxd:2' annotations: gui-x: '1000' gui-y: '800' @@ -294,7 +433,20 @@ services: charm: cs:keystone series: *series num_units: 3 - options: + 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: + admin-password: *admin_password + admin-token: *admin_token + nagios_context: *nagios_context + os-public-hostname: *os_public_hostname + region: *region + vip: *vip_keystone openstack-origin: *openstack_origin action-managed-upgrade: True debug: 'False' @@ -306,7 +458,8 @@ services: region: *region use-syslog: True to: - - 'lxd:2' + - 'lxd:0' + - 'lxd:1' - 'lxd:1' annotations: gui-x: '500' @@ -314,9 +467,19 @@ services: openstack-dashboard: charm: cs:openstack-dashboard - series: *series + series: *dashboard_series num_units: 3 - options: + 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: + nagios_context: *nagios_context + secret: *secret_dashboard + vip: *vip_dashboard openstack-origin: *openstack_origin action-managed-upgrade: True debug: 'False' @@ -325,8 +488,9 @@ services: use-syslog: True webroot: '/' to: + - 'lxd:0' + - 'lxd:0' - 'lxd:1' - - 'lxd:2' annotations: gui-x: '500' gui-y: '0' @@ -334,24 +498,35 @@ services: nova-compute: charm: cs:nova-compute series: *series - num_units: 1 - options: + 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: + # os-internal-network: *os_internal_network + nagios_context: *nagios_context openstack-origin: *openstack_origin action-managed-upgrade: True debug: 'False' verbose: 'False' config-flags: *nova_compute_config_flags cpu-mode: *cpu-mode - enable-live-migration: False + #enable-live-migration: False enable-resize: False - migration-auth-type: none + migration-auth-type: ssh libvirt-image-backend: *libvirt_image_backend nagios_servicegroups: nova,compute use-internal-endpoints: True enable-resize: True enable-live-migration: True to: - - '3' + - 'lxd:0' + - 'lxd:1' annotations: gui-x: '0' gui-y: '200' @@ -360,7 +535,27 @@ services: charm: cs:nova-cloud-controller series: *series 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: + region: *region + console-proxy-ip: *console_proxy_ip + nagios_context: *nagios_context + vip: *vip_nova_cloud_controller openstack-origin: *openstack_origin action-managed-upgrade: True debug: 'False' @@ -376,8 +571,9 @@ services: use-internal-endpoints: True worker-multiplier: *worker_multiplier to: + - 'lxd:0' + - 'lxd:0' - 'lxd:1' - - 'lxd:2' annotations: gui-x: '0' gui-y: '450' @@ -386,7 +582,22 @@ services: charm: cs:neutron-api series: *series 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: + region: *region + nagios_context: *nagios_context + neutron-external-network: *neutron_external_network + vip: *vip_neutron openstack-origin: *openstack_origin action-managed-upgrade: True debug: 'False' @@ -400,8 +611,10 @@ services: use-internal-endpoints: True use-syslog: True worker-multiplier: *worker_multiplier + enable-dvr: *dvr_mode to: - - 'lxd:2' + - 'lxd:0' + - 'lxd:1' - 'lxd:1' annotations: gui-x: '500' @@ -410,12 +623,20 @@ services: 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: + # os-data-network: *os_data_network debug: 'False' verbose: 'False' disable-security-groups: False flat-network-providers: *flat_network_providers use-syslog: True + enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata annotations: gui-x: '1100' gui-y: '1100' @@ -424,7 +645,23 @@ services: charm: cs:cinder series: *series num_units: 3 - options: + 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: + nagios_context: *nagios_context + region: *region + vip: *vip_cinder openstack-origin: *openstack_origin action-managed-upgrade: True block-device: None @@ -435,8 +672,9 @@ services: use-internal-endpoints: True worker-multiplier: *worker_multiplier to: + - 'lxd:0' + - 'lxd:1' - 'lxd:1' - - 'lxd:2' annotations: gui-x: '1000' gui-y: '200' @@ -445,34 +683,90 @@ services: charm: cs:cinder-ceph series: *series num_units: 0 + bindings: + "": *network_space_default + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt options: + ceph-osd-replication-count: *ceph_cinder_replication_count restrict-ceph-pools: True annotations: gui-x: '1330' gui-y: '230' - ceph-proxy: - charm: cs:ceph-proxy - series: *series - num_units: 1 + ceph-mon: + charm: cs:ceph-mon + series: *series + 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_context: *nagios_context + nagios_servicegroups: ceph,storage to: + - 'lxd:0' + - 'lxd:1' - 'lxd:1' annotations: - gui-x: '1300' - gui-y: '0' + gui-x: '1200' + gui-y: '400' + + ceph-osd: + charm: cs:ceph-osd + series: *series + num_units: 2 + bindings: + "": *network_space_default + public: *network_space_os_mgmt + cluster: *network_space_os_data + mon: *network_space_os_mgmt + options: + nagios_context: *nagios_context + osd-devices: *ceph_osd_partition + nagios_servicegroups: ceph,storage + osd-devices: *ceph_osd_partition + # osd-reformat: 'True' + osd-format: 'xfs' + use-syslog: True + to: + - '0' + - '1' + annotations: + gui-x: '1400' + gui-y: '400' ceph-radosgw: charm: cs:ceph-radosgw series: *series num_units: 3 - options: - nagios_servicegroups: ceph,object,storage + 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 + nagios_servicegroups: ceph,object,storage restrict-ceph-pools: True use-syslog: True to: + - 'lxd:0' + - 'lxd:0' - 'lxd:1' - - 'lxd:2' annotations: "gui-x": "1000" "gui-y": "0" @@ -481,7 +775,24 @@ services: charm: cs:glance series: *series num_units: 3 - options: + 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: + ceph-osd-replication-count: *ceph_glance_replication_count + region: *region + nagios_context: *nagios_context + vip: *vip_glance openstack-origin: *openstack_origin action-managed-upgrade: True debug: 'False' @@ -492,7 +803,8 @@ services: use-syslog: True restrict-ceph-pools: True to: - - 'lxd:2' + - 'lxd:0' + - 'lxd:0' - 'lxd:1' annotations: gui-x: '1000' @@ -502,11 +814,17 @@ services: charm: cs:memcached series: *series num_units: 3 + bindings: + "": *network_space_default + cache: *network_space_os_mgmt + cluster: *network_space_os_mgmt options: + nagios_context: *nagios_context allow-ufw-ip6-softfail: True to: + - 'lxd:0' + - 'lxd:1' - 'lxd:1' - - 'lxd:2' annotations: gui-x: '100' gui-y: '800' @@ -514,8 +832,18 @@ services: neutron-gateway: charm: cs:neutron-gateway series: *series - num_units: 1 - options: + num_units: 2 + 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 openstack-origin: *openstack_origin action-managed-upgrade: True data-port: *data_port @@ -524,41 +852,47 @@ services: nagios_servicegroups: neutron to: - '0' + - '1' annotations: gui-x: '0' gui-y: '1100' - ceilometer: - charm: cs:ceilometer - series: xenial - num_units: 1 - options: - action-managed-upgrade: True - debug: False - verbose: False - event-time-to-live: *celiometer_event_time_to_live - metering-time-to-live: *celiometer_metering_time_to_live - region: *region - to: - - 'lxd:1' - annotations: - gui-x: '450' - gui-y: '-250' - - ceilometer-agent: - charm: cs:ceilometer-agent - series: xenial - options: - action-managed-upgrade: True - annotations: - gui-x: '200' - gui-y: '-150' +# ceilometer: +# charm: cs:ceilometer +# series: *series +# num_units: 1 +# bindings: +# public: *network_space_pub +# admin: *network_space_os_mgmt +# internal: *network_space_os_mgmt +# options: +# region: *region +# action-managed-upgrade: True +# debug: False +# verbose: False +# event-time-to-live: *celiometer_event_time_to_live +# metering-time-to-live: *celiometer_metering_time_to_live +# region: *region +# to: +# - 'lxd:1' +# annotations: +# gui-x: '450' +# gui-y: '-250' + +# ceilometer-agent: +# charm: cs:ceilometer-agent +# series: xenial +# options: +# action-managed-upgrade: True +# annotations: +# gui-x: '200' +# gui-y: '-150' # ------------------------------------------------------------------------------ relations: - [ ntp, controller ] - - [ ntp, compute-host ] - - [ ntp, network-host ] +# - [ ntp, compute-host ] +# - [ ntp, network-host ] - [ percona-cluster, percona-hacluster ] - [ cinder, cinder-hacluster ] - [ glance, glance-hacluster ] @@ -575,14 +909,13 @@ relations: - [ neutron-openvswitch, neutron-api ] - [ neutron-openvswitch, nova-compute ] - [ nova-cloud-controller, memcached ] - - [ nova-cloud-controller, percona-cluster ] - - [ nova-cloud-controller, rabbitmq-server ] + - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ] + - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ] - [ nova-cloud-controller, glance ] - [ nova-cloud-controller, keystone ] - [ nova-compute, nova-cloud-controller ] - [ "nova-compute:amqp", "rabbitmq-server:amqp" ] - [ nova-compute, glance ] - - [ nova-compute, percona-cluster ] - [ glance, percona-cluster ] - [ glance, keystone ] - [ "glance:image-service", "cinder:image-service" ] @@ -591,32 +924,38 @@ relations: - [ cinder, rabbitmq-server ] - [ cinder, nova-cloud-controller ] - [ cinder, keystone ] - - [ openstack-dashboard, keystone ] + - [ "openstack-dashboard:identity-service", "keystone:identity-service" ] - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ] - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ] - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ] - - [ "ceph-proxy:client", "nova-compute:ceph" ] - - [ "ceph-proxy:client", "cinder-ceph:ceph" ] + - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ] + - [ "ceph-mon:client", "nova-compute:ceph" ] + - [ "ceph-mon:client", "cinder-ceph:ceph" ] - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] - - [ "ceph-proxy:client", "glance:ceph" ] + - [ "ceph-mon:client", "glance:ceph" ] + - [ "ceph-osd:mon", "ceph-mon:osd" ] # ceph-radosgw - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ] - [ "keystone:identity-service", "ceph-radosgw:identity-service" ] - - [ "ceph-radosgw:mon", "ceph-proxy:radosgw" ] - - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ] + - [ "ceph-radosgw:mon", "ceph-mon:radosgw" ] +# - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ] # default-gw - - [ "keystone:juju-info", "defaultgw:juju-info" ] - - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ] - - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ] - - [ "glance:juju-info", "defaultgw:juju-info" ] - - [ "cinder:juju-info", "defaultgw:juju-info" ] - - [ "neutron-api:juju-info", "defaultgw:juju-info" ] +# - [ "keystone:juju-info", "defaultgw:juju-info" ] +# - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ] +# - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ] +# - [ "glance:juju-info", "defaultgw:juju-info" ] +# - [ "cinder:juju-info", "defaultgw:juju-info" ] +# - [ "neutron-api:juju-info", "defaultgw:juju-info" ] # nagios server - - [ "nagios-server:juju-info", "defaultgw:juju-info" ] +# - [ "nagios-server:juju-info", "defaultgw:juju-info" ] # nagios controllers (physical) - [ controller, nrpe-controller] - [ "nrpe-controller:monitors", "nagios-server:monitors" ] # nagios ceph + - [ ceph-mon, nrpe-cephmon] + - [ "nrpe-cephmon:monitors", "nagios-server:monitors" ] + - [ ceph-osd, nrpe-cephosd] + - [ "nrpe-cephosd:monitors", "nagios-server:monitors" ] - [ cinder, nrpe-cinder] - [ cinder-hacluster, nrpe-cinder] - [ "nrpe-cinder:monitors", "nagios-server:monitors" ] @@ -632,20 +971,20 @@ relations: - [ "nrpe-keystone:monitors", "nagios-server:monitors" ] # nagios horizon - [ openstack-dashboard, nrpe-dashboard] - - [ horizon-hacluster, nrpe-dashboard] - - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ] + - [ horizon-hacluster, nrpe-dashboard] + - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ] # nagios neutron - [ neutron-api, nrpe-neutron] - [ neutron-api-hacluster, nrpe-neutron] - [ "nrpe-neutron:monitors", "nagios-server:monitors" ] - - [ network-host, nrpe-neutrongw] +# - [ network-host, nrpe-neutrongw] - [ neutron-gateway, nrpe-neutrongw] - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ] # nagios nova - [ nova-cloud-controller, nrpe-nova] - [ controller-hacluster, nrpe-nova] - [ "nrpe-nova:monitors", "nagios-server:monitors" ] - - [ compute-host, nrpe-novacompute] +# - [ compute-host, nrpe-novacompute] - [ nova-compute, nrpe-novacompute] - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ] # nagios percona @@ -659,9 +998,9 @@ relations: - [rabbitmq-server, nrpe-rabbitmq] - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ] # ceilometer - - [ "ceilometer:amqp", "rabbitmq-server:amqp" ] - - [ "ceilometer:identity-service", "keystone:identity-service" ] - - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ] - - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ] - - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ] - - [ "ceilometer:juju-info", "defaultgw:juju-info" ] +# - [ "ceilometer:amqp", "rabbitmq-server:amqp" ] +# - [ "ceilometer:identity-service", "keystone:identity-service" ] +# - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ] +# - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ] +# - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ] +# - [ "ceilometer:juju-info", "defaultgw:juju-info" ] diff --git a/bundles/openstack/bundle_nopasswd_00216760.yaml b/bundles/openstack/bundle_nopasswd_00216760.yaml new file mode 100644 index 00000000..fd50c19c --- /dev/null +++ b/bundles/openstack/bundle_nopasswd_00216760.yaml @@ -0,0 +1,989 @@ +## Sample bundle for the deployment of OpenStack in a region of the +## GARR Federated Cloud Platform. +## This version deploys a local ceph. + +parameters: + # sources + openstack-origin: &openstack_origin distro + series: &series bionic + dashboard-series: &dashboard_series bionic + + # Ceph configs + 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-config-flags: &ceph_radosgw_config_flags + + # network defaults: + flat-network-providers: &flat_network_providers ext_net + neutron-external-network: &neutron_external_network ext_net + network-device-mtu: &network_device_mtu 1500 + instance-mtu: &instance_mtu 1400 + enable-dvr: &dvr_mode False + vlan-ranges: &vlan_ranges physnet-ovs:801:801 + enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata True + + # keystone/dashboard + preferred-api-version: &preferred_api_version 3 + + # 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" + + hugepages: &hugepages '5%' + libvirt-image-backend: &libvirt_image_backend + cpu-mode: &cpu-mode + +# Ceilometer + event-time-to-live: &celiometer_event_time_to_live -1 + metering-time-to-live: &celiometer_metering_time_to_live -1 + +## Specific configuration file for a cloud region. +## Edit values within <...> to represent your region. + # Region settings + region: ®ion unipd-1 + # access-network: &access_network <network_used_by_rabbit_and_percona> + # os-internal-network: &os_internal_network <OpenStack_internal_network> + source_ntp: &source_ntp ntp1.inrim.it + # os-data-network: &os_data_network <OS_data_network> + + # Nagios + nagios_context: &nagios_context nagios + nagios_admin_email: &nagios_admin_email HIDDEN + nagios_admin_pwd: &nagiosadmin_pwd HIDDEN + nagios_readonly_pwd: &nagiosro_pwd HIDDEN + + # Ceph configs + ceph-osd-partition: &ceph_osd_partition "/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl /dev/sdm /dev/sdn /dev/sdo /dev/sdp /dev/sdq /dev/sdr /dev/sds /dev/sdt /dev/sdu /dev/sdv" + ceph-cinder-replication-count: &ceph_cinder_replication_count 2 + ceph-glance-replication-count: &ceph_glance_replication_count 2 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 2 + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix rgw + + # vips (number of VIPs should match number of different bindings) + + vip-ceilometer: &vip_ceilometer 192.168.20.61 147.162.164.21 + vip-ceph-radosgw: &vip_ceph_radosgw 192.168.20.62 147.162.164.22 + vip-cinder: &vip_cinder 192.168.20.63 147.162.164.23 + vip-glance: &vip_glance 192.168.20.64 147.162.164.24 + vip-heat: &vip_heat 192.168.20.65 147.162.164.25 + vip-dashboard: &vip_dashboard 147.162.164.26 + vip-keystone: &vip_keystone 192.168.20.66 147.162.164.27 + vip-percona: &vip_percona 192.168.20.67 + vip-neutron: &vip_neutron 192.168.20.68 147.162.164.28 + vip-nova: &vip_nova_cloud_controller 192.168.20.69 147.162.164.29 + console-proxy-ip: &console_proxy_ip 147.162.164.29 + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway 147.162.164.1 + + # hostnames + os-public-hostname: &os_public_hostname KEYSTONE_HOSTNAME + os-internal-hostname: &os_internal_hostname KEYSTONE_HOSTNAME + # this one could be identical to internal-hostname + os-admin-hostname: &os_admin_hostname KEYSTONE_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 openstack-mgt + #network-space-default: &network_space_default pubblica # temporary change + network-space-pub: &network_space_pub pubblica +# 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 + network-space-os-data: &network_space_os_data openstack-mgt + network-space-os-mgmt: &network_space_os_mgmt openstack-mgt + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + data-port: &data_port "br-ex:enp94s0f1.20" + + # secrets and passwords: + root-password: &root_password HIDDEN + sst-password: &sst_password HIDDEN + admin-password: &admin_password HIDDEN + secret_dashboard: &secret_dashboard HIDDEN + # 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 + # CLA: ho usato pwgen 62 1 + admin-token: &admin_token HIDDEN + +# ------------------------------------------------------------------------------ +machines: + '0': + constraints: arch=amd64 tags=hyperconverged_host + series: *series + '1': + constraints: arch=amd64 tags=hyperconverged_host + series: *series + +# ------------------------------------------------------------------------------ +services: + + controller: + charm: cs:ubuntu + series: *series + num_units: 2 + bindings: + "": *network_space_default + to: + - '0' + - '1' + annotations: + gui-x: '2000' + gui-y: '0' + +# compute-host: +# charm: cs:ubuntu +# series: *series +# num_units: 2 +# to: +# - '3' +# - '4' +# annotations: +# gui-x: '2000' +# gui-y: '500' + +# network-host: +# charm: cs:ubuntu +# series: *series +# num_units: 1 +# to: +# - '0' +# annotations: +# gui-x: '2000' +# gui-y: '800' + + ntp: + charm: cs:ntp + series: *series + options: + source: *source_ntp + annotations: + gui-x: '2200' + gui-y: '500' + +# defaultgw: +# charm: cs:~csd-garr/defaultgw +# options: +# gateway: *default_public_gateway +# annotations: +# gui-x: '800' +# gui-y: '0' + + ceph-radosgw-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1000' + gui-y: '-200' + + cinder-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,block,storage + annotations: + gui-x: '1250' + gui-y: '350' + + controller-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: nova,compute + annotations: + gui-x: '-200' + gui-y: '500' + + glance-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1200' + gui-y: '600' + + horizon-hacluster: + charm: cs:hacluster + series: *dashboard_series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: dashboard,web + annotations: + gui-x: '250' + gui-y: '50' + + keystone-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: keystone + annotations: + gui-x: '350' + gui-y: '350' + + neutron-api-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: neutron + annotations: + gui-x: '550' + gui-y: '1350' + + percona-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: database + annotations: + gui-x: '1300' + gui-y: '800' + +# Nagios + nagios-server: + charm: cs:nagios + series: *series + num_units: 1 + bindings: + "": *network_space_default + website: *network_space_pub + # website: *network_space_os_mgmt + options: + admin_email: *nagios_admin_email + password: *nagiosadmin_pwd + ro-password: *nagiosro_pwd + monitor_self: true + to: + - 'lxd:0' + nrpe-controller: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cinder: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cephmon: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cephosd: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-glance: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-radosgw: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-keystone: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-dashboard: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-neutron: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-neutrongw: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-nova: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-novacompute: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-percona: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-rabbitmq: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-memcache: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + + rabbitmq-server: + charm: cs:rabbitmq-server + series: *series + num_units: 3 + bindings: + "": *network_space_default + amqp: *network_space_os_mgmt + options: + # access-network: *access_network + nagios_context: *nagios_context + min-cluster-size: 3 + cluster-partition-handling: pause_minority + management_plugin: True + nagios_servicegroups: messaging + use-syslog: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '400' + gui-y: '800' + + percona-cluster: + charm: cs:percona-cluster + series: *series + 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 + nagios_context: *nagios_context + root-password: *root_password + sst-password: *sst_password + vip: *vip_percona + min-cluster-size: 3 + innodb-buffer-pool-size: 10G + max-connections: 30000 + nagios_servicegroups: database + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '800' + + keystone: + charm: cs:keystone + series: *series + 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: + admin-password: *admin_password + admin-token: *admin_token + nagios_context: *nagios_context + os-public-hostname: *os_public_hostname + region: *region + vip: *vip_keystone + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + admin-user: admin + nagios_servicegroups: keystone + worker-multiplier: *worker_multiplier + preferred-api-version: *preferred_api_version + region: *region + use-syslog: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '500' + + openstack-dashboard: + charm: cs:openstack-dashboard + series: *dashboard_series + 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: + nagios_context: *nagios_context + secret: *secret_dashboard + vip: *vip_dashboard + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + endpoint-type: internalURL,publicURL + nagios_servicegroups: dashboard,web + use-syslog: True + webroot: '/' + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '0' + + nova-compute: + charm: cs:nova-compute + series: *series + 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: + # os-internal-network: *os_internal_network + nagios_context: *nagios_context + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + config-flags: *nova_compute_config_flags + cpu-mode: *cpu-mode + #enable-live-migration: False + enable-resize: False + migration-auth-type: ssh + libvirt-image-backend: *libvirt_image_backend + nagios_servicegroups: nova,compute + use-internal-endpoints: True + enable-resize: True + enable-live-migration: True + to: + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '0' + gui-y: '200' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + series: *series + 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: + region: *region + console-proxy-ip: *console_proxy_ip + nagios_context: *nagios_context + vip: *vip_nova_cloud_controller + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + console-access-protocol: 'vnc' + nagios_servicegroups: nova,compute + network-manager: Neutron + cpu-allocation-ratio: *cpu_allocation_ratio + ram-allocation-ratio: *ram_allocation_ratio + service-guard: True + single-nova-consoleauth: False + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '0' + gui-y: '450' + + neutron-api: + charm: cs:neutron-api + series: *series + 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: + region: *region + nagios_context: *nagios_context + neutron-external-network: *neutron_external_network + vip: *vip_neutron + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + enable-ml2-port-security: True + flat-network-providers: *flat_network_providers + nagios_servicegroups: neutron + neutron-security-groups: True + network-device-mtu: *network_device_mtu + use-internal-endpoints: True + use-syslog: True + worker-multiplier: *worker_multiplier + enable-dvr: *dvr_mode + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '1100' + + 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: + # os-data-network: *os_data_network + debug: 'False' + verbose: 'False' + disable-security-groups: False + flat-network-providers: *flat_network_providers + use-syslog: True + enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata + annotations: + gui-x: '1100' + gui-y: '1100' + + cinder: + charm: cs:cinder + series: *series + 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 + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + region: *region + vip: *vip_cinder + openstack-origin: *openstack_origin + action-managed-upgrade: True + block-device: None + glance-api-version: 2 + nagios_servicegroups: ceph,block,storage + region: *region + use-syslog: True + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '200' + + cinder-ceph: + charm: cs:cinder-ceph + series: *series + num_units: 0 + bindings: + "": *network_space_default + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + options: + ceph-osd-replication-count: *ceph_cinder_replication_count + restrict-ceph-pools: True + annotations: + gui-x: '1330' + gui-y: '230' + + ceph-mon: + charm: cs:ceph-mon + series: *series + 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_context: *nagios_context + nagios_servicegroups: ceph,storage + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '1200' + gui-y: '400' + + ceph-osd: + charm: cs:ceph-osd + series: *series + num_units: 2 + bindings: + "": *network_space_default + public: *network_space_os_mgmt + cluster: *network_space_os_data + mon: *network_space_os_mgmt + options: + nagios_context: *nagios_context + osd-devices: *ceph_osd_partition + nagios_servicegroups: ceph,storage + osd-devices: *ceph_osd_partition + # osd-reformat: 'True' + osd-format: 'xfs' + use-syslog: True + to: + - '0' + - '1' + annotations: + gui-x: '1400' + gui-y: '400' + + ceph-radosgw: + charm: cs:ceph-radosgw + series: *series + num_units: 3 + 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 + nagios_servicegroups: ceph,object,storage + restrict-ceph-pools: True + use-syslog: True + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + "gui-x": "1000" + "gui-y": "0" + + glance: + charm: cs:glance + series: *series + 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 + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + ceph-osd-replication-count: *ceph_glance_replication_count + region: *region + nagios_context: *nagios_context + vip: *vip_glance + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + nagios_servicegroups: ceph,object,storage + use-internal-endpoints: True + use-syslog: True + restrict-ceph-pools: True + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '400' + + memcached: + charm: cs:memcached + series: *series + num_units: 3 + bindings: + "": *network_space_default + cache: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + allow-ufw-ip6-softfail: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '100' + gui-y: '800' + + neutron-gateway: + charm: cs:neutron-gateway + series: *series + num_units: 2 + 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 + openstack-origin: *openstack_origin + action-managed-upgrade: True + data-port: *data_port + # Lower instance MTU to fit GRE tunnel (without changing switch config etc) + instance-mtu: *instance_mtu + nagios_servicegroups: neutron + to: + - '0' + - '1' + annotations: + gui-x: '0' + gui-y: '1100' + +# ceilometer: +# charm: cs:ceilometer +# series: *series +# num_units: 1 +# bindings: +# public: *network_space_pub +# admin: *network_space_os_mgmt +# internal: *network_space_os_mgmt +# options: +# region: *region +# action-managed-upgrade: True +# debug: False +# verbose: False +# event-time-to-live: *celiometer_event_time_to_live +# metering-time-to-live: *celiometer_metering_time_to_live +# region: *region +# to: +# - 'lxd:1' +# annotations: +# gui-x: '450' +# gui-y: '-250' + +# ceilometer-agent: +# charm: cs:ceilometer-agent +# series: xenial +# options: +# action-managed-upgrade: True +# annotations: +# gui-x: '200' +# gui-y: '-150' + +# ------------------------------------------------------------------------------ +relations: + - [ ntp, controller ] +# - [ ntp, compute-host ] +# - [ ntp, network-host ] + - [ percona-cluster, percona-hacluster ] + - [ cinder, cinder-hacluster ] + - [ glance, glance-hacluster ] + - [ keystone, keystone-hacluster ] + - [ neutron-api, neutron-api-hacluster ] + - [ nova-cloud-controller, controller-hacluster ] + - [ openstack-dashboard, horizon-hacluster ] + - [ keystone, percona-cluster ] + - [ neutron-api, percona-cluster ] + - [ neutron-api, rabbitmq-server ] + - [ neutron-api, nova-cloud-controller ] + - [ neutron-api, keystone ] + - [ neutron-openvswitch, rabbitmq-server ] + - [ neutron-openvswitch, neutron-api ] + - [ neutron-openvswitch, nova-compute ] + - [ nova-cloud-controller, memcached ] + - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ] + - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ] + - [ nova-cloud-controller, glance ] + - [ nova-cloud-controller, keystone ] + - [ nova-compute, nova-cloud-controller ] + - [ "nova-compute:amqp", "rabbitmq-server:amqp" ] + - [ nova-compute, glance ] + - [ glance, percona-cluster ] + - [ glance, keystone ] + - [ "glance:image-service", "cinder:image-service" ] + - [ "glance:amqp", "rabbitmq-server:amqp" ] + - [ cinder, percona-cluster ] + - [ cinder, rabbitmq-server ] + - [ cinder, nova-cloud-controller ] + - [ cinder, keystone ] + - [ "openstack-dashboard:identity-service", "keystone:identity-service" ] + - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ] + - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ] + - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ] + - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ] + - [ "ceph-mon:client", "nova-compute:ceph" ] + - [ "ceph-mon:client", "cinder-ceph:ceph" ] + - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] + - [ "ceph-mon:client", "glance:ceph" ] + - [ "ceph-osd:mon", "ceph-mon:osd" ] +# ceph-radosgw + - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ] + - [ "keystone:identity-service", "ceph-radosgw:identity-service" ] + - [ "ceph-radosgw:mon", "ceph-mon:radosgw" ] +# nagios controllers (physical) + - [ controller, nrpe-controller] + - [ "nrpe-controller:monitors", "nagios-server:monitors" ] +# nagios ceph + - [ ceph-mon, nrpe-cephmon] + - [ "nrpe-cephmon:monitors", "nagios-server:monitors" ] + - [ ceph-osd, nrpe-cephosd] + - [ "nrpe-cephosd:monitors", "nagios-server:monitors" ] + - [ cinder, nrpe-cinder] + - [ cinder-hacluster, nrpe-cinder] + - [ "nrpe-cinder:monitors", "nagios-server:monitors" ] + - [ glance, nrpe-glance] + - [ glance-hacluster, nrpe-glance] + - [ "nrpe-glance:monitors", "nagios-server:monitors" ] + - [ ceph-radosgw, nrpe-radosgw] + - [ ceph-radosgw-hacluster, nrpe-radosgw] + - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ] +# nagios keystone + - [ keystone, nrpe-keystone] + - [ keystone-hacluster, nrpe-keystone] + - [ "nrpe-keystone:monitors", "nagios-server:monitors" ] +# nagios horizon + - [ openstack-dashboard, nrpe-dashboard] + - [ horizon-hacluster, nrpe-dashboard] + - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ] +# nagios neutron + - [ neutron-api, nrpe-neutron] + - [ neutron-api-hacluster, nrpe-neutron] + - [ "nrpe-neutron:monitors", "nagios-server:monitors" ] +# - [ network-host, nrpe-neutrongw] + - [ neutron-gateway, nrpe-neutrongw] + - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ] +# nagios nova + - [ nova-cloud-controller, nrpe-nova] + - [ controller-hacluster, nrpe-nova] + - [ "nrpe-nova:monitors", "nagios-server:monitors" ] +# - [ compute-host, nrpe-novacompute] + - [ nova-compute, nrpe-novacompute] + - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ] +# nagios percona + - [ percona-cluster, nrpe-percona] + - [ percona-hacluster, nrpe-percona] + - [ "nrpe-percona:monitors", "nagios-server:monitors" ] +# nagios memcache + - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ] + - [ "nrpe-memcache:monitors", "nagios-server:monitors" ] +# nagios rabbitmq + - [rabbitmq-server, nrpe-rabbitmq] + - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ] diff --git a/bundles/openstack/old/bundle.cephlocal.pd.tmp.yaml b/bundles/openstack/old/bundle.cephlocal.pd.tmp.yaml new file mode 100644 index 00000000..a4f0b423 --- /dev/null +++ b/bundles/openstack/old/bundle.cephlocal.pd.tmp.yaml @@ -0,0 +1,1003 @@ +## Sample bundle for the deployment of OpenStack in a region of the +## GARR Federated Cloud Platform. +## This version deploys a local ceph. + +parameters: + # sources + openstack-origin: &openstack_origin cloud:bionic-rocky + series: &series bionic + + # Ceph configs + 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-config-flags: &ceph_radosgw_config_flags + + # network defaults: + flat-network-providers: &flat_network_providers ext_net + neutron-external-network: &neutron_external_network ext_net + network-device-mtu: &network_device_mtu 1500 + instance-mtu: &instance_mtu 1400 + enable-dvr: &dvr-mode True + vlan-ranges: &vlan_ranges physnet-ovs:801:801 + + # keystone/dashboard + preferred-api-version: &preferred_api_version 3 + + # 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" + + hugepages: &hugepages '5%' + libvirt-image-backend: &libvirt_image_backend + cpu-mode: &cpu-mode + +# Ceilometer + event-time-to-live: &celiometer_event_time_to_live -1 + metering-time-to-live: &celiometer_metering_time_to_live -1 + +## Specific configuration file for a cloud region. +## Edit values within <...> to represent your region. + # Region settings + region: ®ion unipd-1 + # access-network: &access_network <network_used_by_rabbit_and_percona> + # os-internal-network: &os_internal_network <OpenStack_internal_network> + source_ntp: &source_ntp ntp1.inrim.it + # os-data-network: &os_data_network <OS_data_network> + + # Nagios + nagios_context: &nagios_context nagios + nagios_admin_email: &nagios_admin_email vittorio.gallo@unipd.it + nagios_admin_pwd: &nagiosadmin_pwd !garr123 + nagios_readonly_pwd: &nagiosro_pwd !garr123 + + # Ceph configs + ceph-osd-partition: &ceph_osd_partition "/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl /dev/sdm /dev/sdn /dev/sdo /dev/sdp /dev/sdq /dev/sdr /dev/sds /dev/sdt /dev/sdu /dev/sdv" + ceph-cinder-replication-count: &ceph_cinder_replication_count 2 + ceph-glance-replication-count: &ceph_glance_replication_count 2 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 2 + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix rgw + + # vips (number of VIPs should match number of different bindings) + + vip-ceilometer: &vip_ceilometer 192.168.20.61 147.162.164.21 + vip-ceph-radosgw: &vip_ceph_radosgw 192.168.20.62 147.162.164.22 + vip-cinder: &vip_cinder 192.168.20.63 147.162.164.23 + vip-glance: &vip_glance 192.168.20.64 147.162.164.24 + vip-heat: &vip_heat 192.168.20.65 147.162.164.25 + vip-dashboard: &vip_dashboard 147.162.164.26 + vip-keystone: &vip_keystone 192.168.20.66 147.162.164.27 + vip-percona: &vip_percona 192.168.20.67 + vip-neutron: &vip_neutron 192.168.20.68 147.162.164.28 + vip-nova: &vip_nova_cloud_controller 192.168.20.69 147.162.164.29 + console-proxy-ip: &console_proxy_ip 147.162.164.29 + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway 147.162.164.1 + + # hostnames + os-public-hostname: &os_public_hostname keystone.ict.unipd.it + os-internal-hostname: &os_internal_hostname keystone.ict.unipd.it + # this one could be identical to internal-hostname + os-admin-hostname: &os_admin_hostname keystone.ict.unipd.it + + # 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 openstack-mgt # temporary change + network-space-default: &network_space_default pubblica # temporary change + # <---- + network-space-pub: &network_space_pub pubblica +# 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 + network-space-os-data: &network_space_os_data openstack-mgt + network-space-os-mgmt: &network_space_os_mgmt openstack-mgt + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + data-port: &data_port "br-ex:enp94s0f1.20" + + # secrets and passwords: + root-password: &root_password !garr123 + sst-password: &sst_password !garr123 + admin-password: &admin_password !garr123 + secret_dashboard: &secret_dashboard garr123 + # 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 + # CLA: ho usato pwgen 62 1 + admin-token: &admin_token Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi + +# ------------------------------------------------------------------------------ +machines: + '0': + constraints: arch=amd64 tags=hyperconverged_host + series: *series + '1': + constraints: arch=amd64 tags=hyperconverged_host + series: *series + +# ------------------------------------------------------------------------------ +services: + + controller: + charm: cs:ubuntu + series: *series + num_units: 2 + bindings: + "": *network_space_default + to: + - '0' + - '1' + annotations: + gui-x: '2000' + gui-y: '0' + +# compute-host: +# charm: cs:ubuntu +# series: *series +# num_units: 2 +# to: +# - '3' +# - '4' +# annotations: +# gui-x: '2000' +# gui-y: '500' + +# network-host: +# charm: cs:ubuntu +# series: *series +# num_units: 1 +# to: +# - '0' +# annotations: +# gui-x: '2000' +# gui-y: '800' + + ntp: + charm: cs:ntp + series: *series + options: + source: *source_ntp + annotations: + gui-x: '2200' + gui-y: '500' + +# defaultgw: +# charm: cs:~csd-garr/defaultgw +# options: +# gateway: *default_public_gateway +# annotations: +# gui-x: '800' +# gui-y: '0' + + ceph-radosgw-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1000' + gui-y: '-200' + + cinder-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,block,storage + annotations: + gui-x: '1250' + gui-y: '350' + + controller-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: nova,compute + annotations: + gui-x: '-200' + gui-y: '500' + + glance-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1200' + gui-y: '600' + + horizon-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: dashboard,web + annotations: + gui-x: '250' + gui-y: '50' + + keystone-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: keystone + annotations: + gui-x: '350' + gui-y: '350' + + neutron-api-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: neutron + annotations: + gui-x: '550' + gui-y: '1350' + + percona-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_default + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: database + annotations: + gui-x: '1300' + gui-y: '800' + +# Nagios + nagios-server: + charm: cs:nagios + series: *series + num_units: 1 + bindings: + "": *network_space_default + # website: *network_space_pub # TEMPORARILY CHANGED + website: *network_space_os_mgmt + options: + admin_email: *nagios_admin_email + password: *nagiosadmin_pwd + ro-password: *nagiosro_pwd + monitor_self: true + to: + - 'lxd:0' + nrpe-controller: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cinder: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cephmon: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cephosd: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-glance: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-radosgw: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-keystone: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-dashboard: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-neutron: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-neutrongw: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-nova: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-novacompute: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-percona: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-rabbitmq: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-memcache: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + + rabbitmq-server: + charm: cs:rabbitmq-server + series: *series + num_units: 3 + bindings: + "": *network_space_default + amqp: *network_space_os_mgmt + options: + # access-network: *access_network + nagios_context: *nagios_context + min-cluster-size: 3 + cluster-partition-handling: pause_minority + management_plugin: True + nagios_servicegroups: messaging + use-syslog: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '400' + gui-y: '800' + + percona-cluster: + charm: cs:percona-cluster + series: *series + 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 + nagios_context: *nagios_context + root-password: *root_password + sst-password: *sst_password + vip: *vip_percona + min-cluster-size: 3 + innodb-buffer-pool-size: 10G + max-connections: 30000 + nagios_servicegroups: database + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '800' + + keystone: + charm: cs:keystone + series: *series + 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: + admin-password: *admin_password + admin-token: *admin_token + nagios_context: *nagios_context + os-public-hostname: *os_public_hostname + region: *region + vip: *vip_keystone + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + admin-user: admin + nagios_servicegroups: keystone + worker-multiplier: *worker_multiplier + preferred-api-version: *preferred_api_version + region: *region + use-syslog: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '500' + + openstack-dashboard: + charm: cs:openstack-dashboard + series: *series + 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: + nagios_context: *nagios_context + secret: *secret_dashboard + vip: *vip_dashboard + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + endpoint-type: internalURL,publicURL + nagios_servicegroups: dashboard,web + use-syslog: True + webroot: '/' + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '0' + + nova-compute: + charm: cs:nova-compute + series: *series + 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: + # os-internal-network: *os_internal_network + nagios_context: *nagios_context + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + config-flags: *nova_compute_config_flags + cpu-mode: *cpu-mode + enable-live-migration: False + enable-resize: False + migration-auth-type: ssh + libvirt-image-backend: *libvirt_image_backend + nagios_servicegroups: nova,compute + use-internal-endpoints: True + enable-resize: True + enable-live-migration: True + to: + - '0' + - '1' + annotations: + gui-x: '0' + gui-y: '200' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + series: *series + 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: + region: *region + console-proxy-ip: *console_proxy_ip + nagios_context: *nagios_context + vip: *vip_nova_cloud_controller + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + console-access-protocol: 'vnc' + nagios_servicegroups: nova,compute + network-manager: Neutron + cpu-allocation-ratio: *cpu_allocation_ratio + ram-allocation-ratio: *ram_allocation_ratio + service-guard: True + single-nova-consoleauth: False + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '0' + gui-y: '450' + + neutron-api: + charm: cs:neutron-api + series: *series + 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: + region: *region + nagios_context: *nagios_context + neutron-external-network: *neutron_external_network + vip: *vip_neutron + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + enable-ml2-port-security: True + flat-network-providers: *flat_network_providers + nagios_servicegroups: neutron + neutron-security-groups: True + network-device-mtu: *network_device_mtu + use-internal-endpoints: True + use-syslog: True + worker-multiplier: *worker_multiplier + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '1100' + + 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: + # os-data-network: *os_data_network + debug: 'False' + verbose: 'False' + disable-security-groups: False + flat-network-providers: *flat_network_providers + use-syslog: True + annotations: + gui-x: '1100' + gui-y: '1100' + + cinder: + charm: cs:cinder + series: *series + 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 + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + region: *region + vip: *vip_cinder + openstack-origin: *openstack_origin + action-managed-upgrade: True + block-device: None + glance-api-version: 2 + nagios_servicegroups: ceph,block,storage + region: *region + use-syslog: True + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '200' + + cinder-ceph: + charm: cs:cinder-ceph + series: *series + num_units: 0 + bindings: + "": *network_space_default + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + options: + ceph-osd-replication-count: *ceph_cinder_replication_count + restrict-ceph-pools: True + annotations: + gui-x: '1330' + gui-y: '230' + + ceph-mon: + charm: cs:ceph-mon + series: *series + 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_context: *nagios_context + nagios_servicegroups: ceph,storage + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '1200' + gui-y: '400' + + ceph-osd: + charm: cs:ceph-osd + series: *series + num_units: 2 + bindings: + "": *network_space_default + public: *network_space_os_mgmt + cluster: *network_space_os_data + mon: *network_space_os_mgmt + options: + nagios_context: *nagios_context + osd-devices: *ceph_osd_partition + nagios_servicegroups: ceph,storage + osd-devices: *ceph_osd_partition + # osd-reformat: 'True' + osd-format: 'xfs' + use-syslog: True + to: + - '0' + - '1' + annotations: + gui-x: '1400' + gui-y: '400' + + ceph-radosgw: + charm: cs:ceph-radosgw + series: *series + num_units: 3 + 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 + nagios_servicegroups: ceph,object,storage + region: *region + restrict-ceph-pools: True + use-syslog: True + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + "gui-x": "1000" + "gui-y": "0" + + glance: + charm: cs:glance + series: *series + 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 + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + ceph-osd-replication-count: *ceph_glance_replication_count + region: *region + nagios_context: *nagios_context + vip: *vip_glance + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + nagios_servicegroups: ceph,object,storage + use-internal-endpoints: True + use-syslog: True + restrict-ceph-pools: True + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '400' + + memcached: + charm: cs:memcached + series: *series + num_units: 3 + bindings: + "": *network_space_default + cache: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + allow-ufw-ip6-softfail: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '100' + gui-y: '800' + + neutron-gateway: + charm: cs:neutron-gateway + series: *series + 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: + bridge-mappings: *bridge_mappings + nagios_context: *nagios_context + # os-data-network: *os_data_network + openstack-origin: *openstack_origin + action-managed-upgrade: True + data-port: *data_port + # Lower instance MTU to fit GRE tunnel (without changing switch config etc) + instance-mtu: *instance_mtu + nagios_servicegroups: neutron + to: + - '1' + annotations: + gui-x: '0' + gui-y: '1100' + +# ceilometer: +# charm: cs:ceilometer +# series: *series +# num_units: 1 +# bindings: +# public: *network_space_pub +# admin: *network_space_os_mgmt +# internal: *network_space_os_mgmt +# options: +# region: *region +# action-managed-upgrade: True +# debug: False +# verbose: False +# event-time-to-live: *celiometer_event_time_to_live +# metering-time-to-live: *celiometer_metering_time_to_live +# region: *region +# to: +# - 'lxd:1' +# annotations: +# gui-x: '450' +# gui-y: '-250' + +# ceilometer-agent: +# charm: cs:ceilometer-agent +# series: xenial +# options: +# action-managed-upgrade: True +# annotations: +# gui-x: '200' +# gui-y: '-150' + +# ------------------------------------------------------------------------------ +relations: + - [ ntp, controller ] +# - [ ntp, compute-host ] +# - [ ntp, network-host ] + - [ percona-cluster, percona-hacluster ] + - [ cinder, cinder-hacluster ] + - [ glance, glance-hacluster ] + - [ keystone, keystone-hacluster ] + - [ neutron-api, neutron-api-hacluster ] + - [ nova-cloud-controller, controller-hacluster ] + - [ openstack-dashboard, horizon-hacluster ] + - [ keystone, percona-cluster ] + - [ neutron-api, percona-cluster ] + - [ neutron-api, rabbitmq-server ] + - [ neutron-api, nova-cloud-controller ] + - [ neutron-api, keystone ] + - [ neutron-openvswitch, rabbitmq-server ] + - [ neutron-openvswitch, neutron-api ] + - [ neutron-openvswitch, nova-compute ] + - [ nova-cloud-controller, memcached ] + - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ] + - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ] + - [ nova-cloud-controller, glance ] + - [ nova-cloud-controller, keystone ] + - [ nova-compute, nova-cloud-controller ] + - [ "nova-compute:amqp", "rabbitmq-server:amqp" ] + - [ nova-compute, glance ] + - [ glance, percona-cluster ] + - [ glance, keystone ] + - [ "glance:image-service", "cinder:image-service" ] + - [ "glance:amqp", "rabbitmq-server:amqp" ] + - [ cinder, percona-cluster ] + - [ cinder, rabbitmq-server ] + - [ cinder, nova-cloud-controller ] + - [ cinder, keystone ] + - [ "openstack-dashboard:identity-service", "keystone:identity-service" ] + - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ] + - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ] + - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ] + - [ "ceph-mon:client", "nova-compute:ceph" ] + - [ "ceph-mon:client", "cinder-ceph:ceph" ] + - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] + - [ "ceph-mon:client", "glance:ceph" ] + - [ "ceph-osd:mon", "ceph-mon:osd" ] +# ceph-radosgw + - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ] + - [ "keystone:identity-service", "ceph-radosgw:identity-service" ] + - [ "ceph-radosgw:mon", "ceph-mon:radosgw" ] +# - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ] +# default-gw +# - [ "keystone:juju-info", "defaultgw:juju-info" ] +# - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ] +# - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ] +# - [ "glance:juju-info", "defaultgw:juju-info" ] +# - [ "cinder:juju-info", "defaultgw:juju-info" ] +# - [ "neutron-api:juju-info", "defaultgw:juju-info" ] +# nagios server +# - [ "nagios-server:juju-info", "defaultgw:juju-info" ] +# nagios controllers (physical) + - [ controller, nrpe-controller] + - [ "nrpe-controller:monitors", "nagios-server:monitors" ] +# nagios ceph + - [ ceph-mon, nrpe-cephmon] + - [ "nrpe-cephmon:monitors", "nagios-server:monitors" ] + - [ ceph-osd, nrpe-cephosd] + - [ "nrpe-cephosd:monitors", "nagios-server:monitors" ] + - [ cinder, nrpe-cinder] + - [ cinder-hacluster, nrpe-cinder] + - [ "nrpe-cinder:monitors", "nagios-server:monitors" ] + - [ glance, nrpe-glance] + - [ glance-hacluster, nrpe-glance] + - [ "nrpe-glance:monitors", "nagios-server:monitors" ] + - [ ceph-radosgw, nrpe-radosgw] + - [ ceph-radosgw-hacluster, nrpe-radosgw] + - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ] +# nagios keystone + - [ keystone, nrpe-keystone] + - [ keystone-hacluster, nrpe-keystone] + - [ "nrpe-keystone:monitors", "nagios-server:monitors" ] +# nagios horizon + - [ openstack-dashboard, nrpe-dashboard] + - [ horizon-hacluster, nrpe-dashboard] + - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ] +# nagios neutron + - [ neutron-api, nrpe-neutron] + - [ neutron-api-hacluster, nrpe-neutron] + - [ "nrpe-neutron:monitors", "nagios-server:monitors" ] +# - [ network-host, nrpe-neutrongw] + - [ neutron-gateway, nrpe-neutrongw] + - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ] +# nagios nova + - [ nova-cloud-controller, nrpe-nova] + - [ controller-hacluster, nrpe-nova] + - [ "nrpe-nova:monitors", "nagios-server:monitors" ] +# - [ compute-host, nrpe-novacompute] + - [ nova-compute, nrpe-novacompute] + - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ] +# nagios percona + - [ percona-cluster, nrpe-percona] + - [ percona-hacluster, nrpe-percona] + - [ "nrpe-percona:monitors", "nagios-server:monitors" ] +# nagios memcache + - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ] + - [ "nrpe-memcache:monitors", "nagios-server:monitors" ] +# nagios rabbitmq + - [rabbitmq-server, nrpe-rabbitmq] + - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ] +# ceilometer +# - [ "ceilometer:amqp", "rabbitmq-server:amqp" ] +# - [ "ceilometer:identity-service", "keystone:identity-service" ] +# - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ] +# - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ] +# - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ] +# - [ "ceilometer:juju-info", "defaultgw:juju-info" ] diff --git a/bundles/openstack/old/bundle.cephlocal.pd.yaml b/bundles/openstack/old/bundle.cephlocal.pd.yaml new file mode 100644 index 00000000..63445d7e --- /dev/null +++ b/bundles/openstack/old/bundle.cephlocal.pd.yaml @@ -0,0 +1,1005 @@ +## Sample bundle for the deployment of OpenStack in a region of the +## GARR Federated Cloud Platform. +## This version deploys a local ceph. + +parameters: + # sources + openstack-origin: &openstack_origin cloud:xenial-queens + series: &series xenial + dash-series: &dash_series bionic + + # Ceph configs + 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-config-flags: &ceph_radosgw_config_flags + + # network defaults: + flat-network-providers: &flat_network_providers ext_net + neutron-external-network: &neutron_external_network ext_net + network-device-mtu: &network_device_mtu 1500 + instance-mtu: &instance_mtu 1400 + enable-dvr: &dvr-mode True + vlan-ranges: &vlan_ranges physnet-ovs:801:801 + + # keystone/dashboard + preferred-api-version: &preferred_api_version 3 + + # 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" + + hugepages: &hugepages '5%' + libvirt-image-backend: &libvirt_image_backend + cpu-mode: &cpu-mode + +# Ceilometer + event-time-to-live: &celiometer_event_time_to_live -1 + metering-time-to-live: &celiometer_metering_time_to_live -1 + +## Specific configuration file for a cloud region. +## Edit values within <...> to represent your region. + # Region settings + region: ®ion unipd-1 + # access-network: &access_network <network_used_by_rabbit_and_percona> + # os-internal-network: &os_internal_network <OpenStack_internal_network> + source_ntp: &source_ntp ntp1.inrim.it + # os-data-network: &os_data_network <OS_data_network> + + # Nagios + nagios_context: &nagios_context nagios + nagios_admin_email: &nagios_admin_email vittorio.gallo@unipd.it + nagios_admin_pwd: &nagiosadmin_pwd !garr123 + nagios_readonly_pwd: &nagiosro_pwd !garr123 + + # Ceph configs + ceph-osd-partition: &ceph_osd_partition "/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl /dev/sdm /dev/sdn /dev/sdo /dev/sdp /dev/sdq /dev/sdr /dev/sds /dev/sdt /dev/sdu /dev/sdv" + ceph-cinder-replication-count: &ceph_cinder_replication_count 2 + ceph-glance-replication-count: &ceph_glance_replication_count 2 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 2 + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix rgw + + # vips (number of VIPs should match number of different bindings) + + vip-ceilometer: &vip_ceilometer 192.168.20.61 147.162.164.21 + vip-ceph-radosgw: &vip_ceph_radosgw 192.168.20.62 147.162.164.22 + vip-cinder: &vip_cinder 192.168.20.63 147.162.164.23 + vip-glance: &vip_glance 192.168.20.64 147.162.164.24 + vip-heat: &vip_heat 192.168.20.65 147.162.164.25 + vip-dashboard: &vip_dashboard 147.162.164.26 + vip-keystone: &vip_keystone 192.168.20.66 147.162.164.27 + vip-percona: &vip_percona 192.168.20.67 + vip-neutron: &vip_neutron 192.168.20.68 147.162.164.28 + vip-nova: &vip_nova_cloud_controller 192.168.20.69 147.162.164.29 + console-proxy-ip: &console_proxy_ip 147.162.164.29 + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway 147.162.164.1 + + # hostnames + os-public-hostname: &os_public_hostname keystone.ict.unipd.it + os-internal-hostname: &os_internal_hostname keystone.ict.unipd.it + # this one could be identical to internal-hostname + os-admin-hostname: &os_admin_hostname keystone.ict.unipd.it + + # 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 openstack-mgt # temporary change + network-space-default: &network_space_default pubblica # temporary change + # <---- + network-space-pub: &network_space_pub pubblica +# 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 + network-space-os-data: &network_space_os_data openstack-mgt + network-space-os-mgmt: &network_space_os_mgmt openstack-mgt + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + data-port: &data_port br-ex:bond0.20 + + # secrets and passwords: + root-password: &root_password !garr123 + sst-password: &sst_password !garr123 + admin-password: &admin_password !garr123 + secret_dashboard: &secret_dashboard garr123 + # 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 + # CLA: ho usato pwgen 62 1 + admin-token: &admin_token Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi + +# ------------------------------------------------------------------------------ +machines: + '0': + constraints: arch=amd64 tags=hyperconverged_host + series: *series + '1': + constraints: arch=amd64 tags=hyperconverged_host + series: *series + +# ------------------------------------------------------------------------------ +services: + + controller: + charm: cs:ubuntu + series: *series + num_units: 2 + bindings: + "": *network_space_default + to: + - '0' + - '1' + annotations: + gui-x: '2000' + gui-y: '0' + +# compute-host: +# charm: cs:ubuntu +# series: *series +# num_units: 2 +# to: +# - '3' +# - '4' +# annotations: +# gui-x: '2000' +# gui-y: '500' + +# network-host: +# charm: cs:ubuntu +# series: *series +# num_units: 1 +# to: +# - '0' +# annotations: +# gui-x: '2000' +# gui-y: '800' + + ntp: + charm: cs:ntp + series: *series + options: + source: *source_ntp + annotations: + gui-x: '2200' + gui-y: '500' + + defaultgw: + charm: cs:~csd-garr/defaultgw + options: + gateway: *default_public_gateway + annotations: + gui-x: '800' + gui-y: '0' + + ceph-radosgw-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_os_mgmt + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1000' + gui-y: '-200' + + cinder-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_os_mgmt + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,block,storage + annotations: + gui-x: '1250' + gui-y: '350' + + controller-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_os_mgmt + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: nova,compute + annotations: + gui-x: '-200' + gui-y: '500' + + glance-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_os_mgmt + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1200' + gui-y: '600' + + horizon-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_os_mgmt + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: dashboard,web + annotations: + gui-x: '250' + gui-y: '50' + + keystone-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_os_mgmt + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: keystone + annotations: + gui-x: '350' + gui-y: '350' + + neutron-api-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_os_mgmt + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: neutron + annotations: + gui-x: '550' + gui-y: '1350' + + percona-hacluster: + charm: cs:hacluster + series: *series + bindings: + "": *network_space_os_mgmt + options: + # corosync_key: *corosync_key + nagios_context: *nagios_context + corosync_transport: 'unicast' + nagios_servicegroups: database + annotations: + gui-x: '1300' + gui-y: '800' + +# Nagios + nagios-server: + charm: cs:nagios + series: *series + num_units: 1 + bindings: + "": *network_space_os_mgmt + website: *network_space_pub + options: + admin_email: *nagios_admin_email + password: *nagiosadmin_pwd + ro-password: *nagiosro_pwd + monitor_self: true + to: + - 'lxd:0' + nrpe-controller: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cinder: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cephmon: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-cephosd: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-glance: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-radosgw: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-keystone: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-dashboard: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-neutron: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-neutrongw: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-nova: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-novacompute: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-percona: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-rabbitmq: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + nrpe-memcache: + charm: cs:nrpe + series: *series + options: + swap: '-w 40% -c 25% -n ok' + + rabbitmq-server: + charm: cs:rabbitmq-server + series: *series + num_units: 3 + bindings: + "": *network_space_default + amqp: *network_space_os_mgmt + options: + access-network: *access_network + nagios_context: *nagios_context + min-cluster-size: 3 + cluster-partition-handling: pause_minority + management_plugin: True + nagios_servicegroups: messaging + use-syslog: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '400' + gui-y: '800' + + percona-cluster: + charm: cs:percona-cluster + series: *series + 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 + nagios_context: *nagios_context + root-password: *root_password + sst-password: *sst_password + vip: *vip_percona + min-cluster-size: 3 + innodb-buffer-pool-size: 10G + lp1366997-workaround: True + max-connections: 30000 + nagios_servicegroups: database + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '800' + + keystone: + charm: cs:keystone + series: *series + 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: + admin-password: *admin_password + admin-token: *admin_token + nagios_context: *nagios_context + os-public-hostname: *os_public_hostname + region: *region + vip: *vip_keystone + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + admin-user: admin + nagios_servicegroups: keystone + worker-multiplier: *worker_multiplier + preferred-api-version: *preferred_api_version + region: *region + use-syslog: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '500' + + openstack-dashboard: + charm: cs:openstack-dashboard + series: *dash_series + 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: + nagios_context: *nagios_context + secret: *secret_dashboard + vip: *vip_dashboard + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + endpoint-type: internalURL,publicURL + nagios_servicegroups: dashboard,web + use-syslog: True + webroot: '/' + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '0' + + nova-compute: + charm: cs:nova-compute + series: *series + 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: + os-internal-network: *os_internal_network + nagios_context: *nagios_context + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + config-flags: *nova_compute_config_flags + cpu-mode: *cpu-mode + enable-live-migration: False + enable-resize: False + migration-auth-type: none + libvirt-image-backend: *libvirt_image_backend + nagios_servicegroups: nova,compute + use-internal-endpoints: True + enable-resize: True + enable-live-migration: True + to: + - '0' + - '1' + annotations: + gui-x: '0' + gui-y: '200' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + series: *series + 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: + region: *region + console-proxy-ip: *console_proxy_ip + nagios_context: *nagios_context + vip: *vip_nova_cloud_controller + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + console-access-protocol: 'vnc' + nagios_servicegroups: nova,compute + network-manager: Neutron + cpu-allocation-ratio: *cpu_allocation_ratio + ram-allocation-ratio: *ram_allocation_ratio + service-guard: True + single-nova-consoleauth: False + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '0' + gui-y: '450' + + neutron-api: + charm: cs:neutron-api + series: *series + 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: + region: *region + nagios_context: *nagios_context + neutron-external-network: *neutron_external_network + vip: *vip_neutron + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + enable-ml2-port-security: True + flat-network-providers: *flat_network_providers + nagios_servicegroups: neutron + neutron-security-groups: True + network-device-mtu: *network_device_mtu + use-internal-endpoints: True + use-syslog: True + worker-multiplier: *worker_multiplier + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '1100' + + 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: + os-data-network: *os_data_network + debug: 'False' + verbose: 'False' + disable-security-groups: False + flat-network-providers: *flat_network_providers + use-syslog: True + annotations: + gui-x: '1100' + gui-y: '1100' + + cinder: + charm: cs:cinder + series: *series + 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 + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + region: *region + vip: *vip_cinder + openstack-origin: *openstack_origin + action-managed-upgrade: True + block-device: None + glance-api-version: 2 + nagios_servicegroups: ceph,block,storage + region: *region + use-syslog: True + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '200' + + cinder-ceph: + charm: cs:cinder-ceph + series: *series + num_units: 0 + bindings: + "": *network_space_default + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + options: + ceph-osd-replication-count: *ceph_cinder_replication_count + restrict-ceph-pools: True + annotations: + gui-x: '1330' + gui-y: '230' + + ceph-mon: + charm: cs:ceph-mon + series: *series + 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_context: *nagios_context + nagios_servicegroups: ceph,storage + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '1200' + gui-y: '400' + + ceph-osd: + charm: cs:ceph-osd + series: *series + num_units: 2 + bindings: + "": *network_space_default + public: *network_space_os_mgmt + cluster: *network_space_os_data + mon: *network_space_os_mgmt + options: + nagios_context: *nagios_context + osd-devices: *ceph_osd_partition + nagios_servicegroups: ceph,storage + osd-devices: *ceph_osd_partition + osd-reformat: 'True' + osd-format: 'xfs' + use-syslog: True + to: + - '0' + - '1' + annotations: + gui-x: '1400' + gui-y: '400' + + ceph-radosgw: + charm: cs:ceph-radosgw + series: *series + num_units: 3 + 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 + nagios_servicegroups: ceph,object,storage + region: *region + restrict-ceph-pools: True + use-syslog: True + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + "gui-x": "1000" + "gui-y": "0" + + glance: + charm: cs:glance + series: *series + 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 + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + ceph-osd-replication-count: *ceph_glance_replication_count + region: *region + nagios_context: *nagios_context + vip: *vip_glance + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + nagios_servicegroups: ceph,object,storage + use-internal-endpoints: True + use-syslog: True + restrict-ceph-pools: True + to: + - 'lxd:0' + - 'lxd:0' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '400' + + memcached: + charm: cs:memcached + series: *series + num_units: 3 + bindings: + "": *network_space_default + cache: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + allow-ufw-ip6-softfail: True + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '100' + gui-y: '800' + + neutron-gateway: + charm: cs:neutron-gateway + series: *series + 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: + bridge-mappings: *bridge_mappings + nagios_context: *nagios_context + os-data-network: *os_data_network + openstack-origin: *openstack_origin + action-managed-upgrade: True + data-port: *data_port + # Lower instance MTU to fit GRE tunnel (without changing switch config etc) + instance-mtu: *instance_mtu + nagios_servicegroups: neutron + to: + - '1' + annotations: + gui-x: '0' + gui-y: '1100' + +# ceilometer: +# charm: cs:ceilometer +# series: *series +# num_units: 1 +# bindings: +# public: *network_space_pub +# admin: *network_space_os_mgmt +# internal: *network_space_os_mgmt +# options: +# region: *region +# action-managed-upgrade: True +# debug: False +# verbose: False +# event-time-to-live: *celiometer_event_time_to_live +# metering-time-to-live: *celiometer_metering_time_to_live +# region: *region +# to: +# - 'lxd:1' +# annotations: +# gui-x: '450' +# gui-y: '-250' + +# ceilometer-agent: +# charm: cs:ceilometer-agent +# series: xenial +# options: +# action-managed-upgrade: True +# annotations: +# gui-x: '200' +# gui-y: '-150' + +# ------------------------------------------------------------------------------ +relations: + - [ ntp, controller ] +# - [ ntp, compute-host ] +# - [ ntp, network-host ] + - [ percona-cluster, percona-hacluster ] + - [ cinder, cinder-hacluster ] + - [ glance, glance-hacluster ] + - [ keystone, keystone-hacluster ] + - [ neutron-api, neutron-api-hacluster ] + - [ nova-cloud-controller, controller-hacluster ] + - [ openstack-dashboard, horizon-hacluster ] + - [ keystone, percona-cluster ] + - [ neutron-api, percona-cluster ] + - [ neutron-api, rabbitmq-server ] + - [ neutron-api, nova-cloud-controller ] + - [ neutron-api, keystone ] + - [ neutron-openvswitch, rabbitmq-server ] + - [ neutron-openvswitch, neutron-api ] + - [ neutron-openvswitch, nova-compute ] + - [ nova-cloud-controller, memcached ] + - [ nova-cloud-controller, percona-cluster ] + - [ nova-cloud-controller, rabbitmq-server ] + - [ nova-cloud-controller, glance ] + - [ nova-cloud-controller, keystone ] + - [ nova-compute, nova-cloud-controller ] + - [ "nova-compute:amqp", "rabbitmq-server:amqp" ] + - [ nova-compute, glance ] + - [ nova-compute, percona-cluster ] + - [ glance, percona-cluster ] + - [ glance, keystone ] + - [ "glance:image-service", "cinder:image-service" ] + - [ "glance:amqp", "rabbitmq-server:amqp" ] + - [ cinder, percona-cluster ] + - [ cinder, rabbitmq-server ] + - [ cinder, nova-cloud-controller ] + - [ cinder, keystone ] + - [ openstack-dashboard, keystone ] + - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ] + - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ] + - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ] + - [ "ceph-mon:client", "nova-compute:ceph" ] + - [ "ceph-mon:client", "cinder-ceph:ceph" ] + - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] + - [ "ceph-mon:client", "glance:ceph" ] + - [ "ceph-osd:mon", "ceph-mon:osd" ] +# ceph-radosgw + - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ] + - [ "keystone:identity-service", "ceph-radosgw:identity-service" ] + - [ "ceph-radosgw:mon", "ceph-mon:radosgw" ] + - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ] +# default-gw + - [ "keystone:juju-info", "defaultgw:juju-info" ] + - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ] + - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ] + - [ "glance:juju-info", "defaultgw:juju-info" ] + - [ "cinder:juju-info", "defaultgw:juju-info" ] + - [ "neutron-api:juju-info", "defaultgw:juju-info" ] +# nagios server + - [ "nagios-server:juju-info", "defaultgw:juju-info" ] +# nagios controllers (physical) + - [ controller, nrpe-controller] + - [ "nrpe-controller:monitors", "nagios-server:monitors" ] +# nagios ceph + - [ ceph-mon, nrpe-cephmon] + - [ "nrpe-cephmon:monitors", "nagios-server:monitors" ] + - [ ceph-osd, nrpe-cephosd] + - [ "nrpe-cephosd:monitors", "nagios-server:monitors" ] + - [ cinder, nrpe-cinder] + - [ cinder-hacluster, nrpe-cinder] + - [ "nrpe-cinder:monitors", "nagios-server:monitors" ] + - [ glance, nrpe-glance] + - [ glance-hacluster, nrpe-glance] + - [ "nrpe-glance:monitors", "nagios-server:monitors" ] + - [ ceph-radosgw, nrpe-radosgw] + - [ ceph-radosgw-hacluster, nrpe-radosgw] + - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ] +# nagios keystone + - [ keystone, nrpe-keystone] + - [ keystone-hacluster, nrpe-keystone] + - [ "nrpe-keystone:monitors", "nagios-server:monitors" ] +# nagios horizon + - [ openstack-dashboard, nrpe-dashboard] + - [ horizon-hacluster, nrpe-dashboard] + - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ] +# nagios neutron + - [ neutron-api, nrpe-neutron] + - [ neutron-api-hacluster, nrpe-neutron] + - [ "nrpe-neutron:monitors", "nagios-server:monitors" ] +# - [ network-host, nrpe-neutrongw] + - [ neutron-gateway, nrpe-neutrongw] + - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ] +# nagios nova + - [ nova-cloud-controller, nrpe-nova] + - [ controller-hacluster, nrpe-nova] + - [ "nrpe-nova:monitors", "nagios-server:monitors" ] +# - [ compute-host, nrpe-novacompute] + - [ nova-compute, nrpe-novacompute] + - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ] +# nagios percona + - [ percona-cluster, nrpe-percona] + - [ percona-hacluster, nrpe-percona] + - [ "nrpe-percona:monitors", "nagios-server:monitors" ] +# nagios memcache + - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ] + - [ "nrpe-memcache:monitors", "nagios-server:monitors" ] +# nagios rabbitmq + - [rabbitmq-server, nrpe-rabbitmq] + - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ] +# ceilometer +# - [ "ceilometer:amqp", "rabbitmq-server:amqp" ] +# - [ "ceilometer:identity-service", "keystone:identity-service" ] +# - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ] +# - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ] +# - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ] +# - [ "ceilometer:juju-info", "defaultgw:juju-info" ] diff --git a/bundles/openstack/test-openrc.sh b/bundles/openstack/test-openrc.sh new file mode 100644 index 00000000..e5aaac01 --- /dev/null +++ b/bundles/openstack/test-openrc.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +# To use an OpenStack cloud you need to authenticate against the Identity +# service named keystone, which returns a **Token** and **Service Catalog**. +# The catalog contains the endpoints for all services the user/tenant has +# access to - such as Compute, Image Service, Identity, Object Storage, Block +# Storage, and Networking (code-named nova, glance, keystone, swift, +# cinder, and neutron). +# +# *NOTE*: Using the 3 *Identity API* does not necessarily mean any other +# OpenStack API is version 3. For example, your cloud provider may implement +# Image API v1.1, Block Storage API v2, and Compute API v2.0. OS_AUTH_URL is +# only for the Identity API served through keystone. +export OS_AUTH_URL=http://keystone.ict.unipd.it:5000/v3 +# With the addition of Keystone we have standardized on the term **project** +# as the entity that owns the resources. +export OS_PROJECT_ID=decda90487444329ad4ac3a6e2fda63d +export OS_PROJECT_NAME="admin" +export OS_USER_DOMAIN_NAME="admin_domain" +if [ -z "$OS_USER_DOMAIN_NAME" ]; then unset OS_USER_DOMAIN_NAME; fi +export OS_PROJECT_DOMAIN_ID="0b53b4b9b214405a8d55d336559d4c04" +if [ -z "$OS_PROJECT_DOMAIN_ID" ]; then unset OS_PROJECT_DOMAIN_ID; fi +# unset v2.0 items in case set +unset OS_TENANT_ID +unset OS_TENANT_NAME +# In addition to the owning entity (tenant), OpenStack stores the entity +# performing the action as the **user**. +export OS_USERNAME="admin" +# With Keystone you pass the keystone password. +echo "Please enter your OpenStack Password for project $OS_PROJECT_NAME as user $OS_USERNAME: " +read -sr OS_PASSWORD_INPUT +export OS_PASSWORD=$OS_PASSWORD_INPUT +# If your configuration has multiple regions, we set that information here. +# OS_REGION_NAME is optional and only valid in certain environments. +export OS_REGION_NAME="unipd-1" +# Don't leave a blank variable, unset it if it was empty +if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi +export OS_INTERFACE=public +export OS_IDENTITY_API_VERSION=3 -- GitLab