diff --git a/bundles/openstack/bundle-ceph-config.yaml b/bundles/openstack/bundle-ceph-config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..533f746d60bfae57ed0a1e198c0aa57ca384c83e --- /dev/null +++ b/bundles/openstack/bundle-ceph-config.yaml @@ -0,0 +1,393 @@ +## Specific configuration file for a cloud region. +## Edit values within <...> to represent your region. +## This version deploys a local Ceph cluster. +## This is the bundle "overlay" file, to be used in conjunction with the bundle base file. + +## Deploy with the command: +## juju deploy --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml + +parameters: + + # Region settings + region: ®ion <region-name> + source_ntp: &source_ntp ntp1.inrim.it + + # Nagios + nagios_context: &nagios_context <nagios-context> #can be set to region-name + nagios_admin_email: &nagios_admin_email <email-address> + nagios_admin_pwd: &nagiosadmin_pwd <nagios-admin-pwd> + nagios_readonly_pwd: &nagiosro_pwd <nagios-ro-pwd> + + # ceph radosgw pool prefix + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix <radosgw-prefix> + + # vips (number of VIPs should match number of different bindings) + vip-percona: &vip_percona <percona-priv-vip> + vip-ceilometer: &vip_ceilometer <ceilometer-priv-vip> <ceilometer-pub-vip> + vip-ceph-radosgw: &vip_ceph_radosgw <radosgw-priv-vip> <radosgw-pub-vip> + vip-cinder: &vip_cinder <cinder-priv-vip> <cinder-pub-vip> + vip-glance: &vip_glance <glance-priv-vip> <glance-pub-vip> + vip-dashboard: &vip_dashboard <dashboard-priv-vip> <dashboard-pub-vip> + vip-keystone: &vip_keystone <keystone-priv-vip> <keystone-pub-vip> + vip-neutron: &vip_neutron <neutron-priv-vip> <neutron-pub-vip> + vip-nova: &vip_nova_cloud_controller <nova-priv-vip> <nova-pub-vip> + console-proxy-ip: &console_proxy_ip <nova-pub-vip> + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway <network-public-gateway> + + # 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 <default-space-name> + network-space-pub: &network_space_pub <public-space-name> + network-space-os-data: &network_space_os_data <os-data-space-name> + network-space-os-mgmt: &network_space_os_mgmt <os-mgmt-space-name> + + # Change with the name of the public network physical interface. Check the base file for bridge mapping definition + data-port: &data_port br-ex:<physical-interface-name> + + # secrets and passwords: + root-password: &root_password <percona-root-password> + sst-password: &sst_password <percona-sst-password> + + # admin password. Access the dashboard with domain: admin_domain; username: admin; password: <keystone-admin-password> + admin-password: &admin_password <keystone-admin-password> + secret_dashboard: &secret_dashboard <secret-dashboard-password> + + # keystone + admin-token: &admin_token <keystone-admin-token> + + + +# ------------------------------------------------------------------------------ + +machines: + '0': + constraints: arch=amd64 tags=devel-na-net + '1': + constraints: arch=amd64 tags=devel-na-ctrl + '2': + constraints: arch=amd64 tags=devel-na-ctrl + '3': + constraints: arch=amd64 tags=devel-na-compute + '4': + constraints: arch=amd64 tags=devel-na-compute + +# ---------------------------------------------------------------------- + +applications: + + network-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 1 + to: + - '0' + + controller-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 2 + to: + - '1' + - '2' + + compute-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 2 + to: + - '3' + - '4' + + defaultgw: + charm: cs:~csd-garr/defaultgw + options: + gateway: *default_public_gateway + + controller-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + glance-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + horizon-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + keystone-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + neutron-api-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + percona-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + ceph-radosgw-hacluster: + charm: cs:hacluster + options: + nagios_context: *nagios_context + + nagios-server: + charm: cs:nagios + bindings: + "": *network_space_os_mgmt + website: *network_space_pub + num_units: 1 + to: + - 'lxd:1' + + + rabbitmq-server: + charm: cs:rabbitmq-server + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + percona-cluster: + charm: cs:percona-cluster + bindings: + "": *network_space_default + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + root-password: *root_password + sst-password: *sst_password + vip: *vip_percona + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + keystone: + charm: cs:keystone + bindings: + "": *network_space_default + public: *network_space_pub + options: + admin-password: *admin_password + admin-token: *admin_token + nagios_context: *nagios_context + os-public-hostname: *os_public_hostname + region: *region + vip: *vip_keystone + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + openstack-dashboard: + charm: cs:openstack-dashboard + bindings: + "": *network_space_default + website: *network_space_pub + options: + nagios_context: *nagios_context + secret: *secret_dashboard + vip: *vip_dashboard + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + nova-compute: + charm: cs:nova-compute + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 2 + to: + - '3' + - '4' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + console-proxy-ip: *console_proxy_ip + vip: *vip_nova_cloud_controller + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + neutron-api: + charm: cs:neutron-api + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + vip: *vip_neutron + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + neutron-openvswitch: + charm: cs:neutron-openvswitch + bindings: + "": *network_space_default + + cinder: + charm: cs:cinder + bindings: + "": *network_space_default + public: *network_space_pub + options: + nagios_context: *nagios_context + region: *region + vip: *vip_cinder + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + cinder-ceph: + charm: cs:cinder-ceph + bindings: + "": *network_space_default + options: + + ceph-mon: + charm: cs:ceph-mon + bindings: + "": *network_space_default + public: *network_space_os_mgmt + options: + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '1200' + gui-y: '400' + + ceph-osd: + charm: cs:ceph-osd + series: *series + bindings: + "": *network_space_default + public: *network_space_os_mgmt + cluster: *network_space_os_data + mon: *network_space_os_mgmt + options: + nagios_context: *nagios_context + num_units: 2 + to: + - '3' + - '4' + annotations: + gui-x: '1400' + gui-y: '400' + + ceph-radosgw: + charm: cs:ceph-radosgw + bindings: + "": *network_space_default + public: *network_space_pub + options: + pool-prefix: *ceph_radosgw_pool_prefix + region: *region + vip: *vip_ceph_radosgw + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + glance: + charm: cs:glance + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + vip: *vip_glance + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + memcached: + charm: cs:memcached + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + + neutron-gateway: + charm: cs:neutron-gateway + bindings: + "": *network_space_default + data: *network_space_os_data + options: + data-port: *data_port + nagios_context: *nagios_context + num_units: 1 + to: + - '0' + + ceilometer: + charm: cs:ceilometer + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + num_units: 1 + to: + - 'lxd:1' + diff --git a/bundles/openstack/bundle-cephproxy-config.yaml b/bundles/openstack/bundle-cephproxy-config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f27b2ce0ddc85ca32e1e62bd391b9673323775de --- /dev/null +++ b/bundles/openstack/bundle-cephproxy-config.yaml @@ -0,0 +1,374 @@ +## Specific configuration file for a cloud region. +## Edit values within <...> to represent your region. +## This version connects to an external Ceph cluster via ceph-proxy charm. +## This is the bundle "overlay" file, to be used in conjunction with the bundle base file. + +## Deploy with the command: +## juju deploy --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml + +parameters: + + # Region settings + region: ®ion <region-name> + source_ntp: &source_ntp ntp1.inrim.it + + # Nagios + nagios_context: &nagios_context <nagios-context> #can be set to region-name + nagios_admin_email: &nagios_admin_email <email-address> + nagios_admin_pwd: &nagiosadmin_pwd <nagios-admin-pwd> + nagios_readonly_pwd: &nagiosro_pwd <nagios-ro-pwd> + + # Ceph proxy + ceph-proxy-admin-key: &ceph_proxy_admin_key <ceph-admin-key> + ceph-proxy-fsid: &ceph_proxy_fsid <ceph-fsid> + ceph-proxy-monitor-hosts: &ceph_proxy_monitor_hosts <ceph-mon-hosts> + + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix <radosgw-prefix> + + # vips (number of VIPs should match number of different bindings) + vip-percona: &vip_percona <percona-priv-vip> + vip-ceilometer: &vip_ceilometer <ceilometer-priv-vip> <ceilometer-pub-vip> + vip-ceph-radosgw: &vip_ceph_radosgw <radosgw-priv-vip> <radosgw-pub-vip> + vip-cinder: &vip_cinder <cinder-priv-vip> <cinder-pub-vip> + vip-glance: &vip_glance <glance-priv-vip> <glance-pub-vip> + vip-dashboard: &vip_dashboard <dashboard-priv-vip> <dashboard-pub-vip> + vip-keystone: &vip_keystone <keystone-priv-vip> <keystone-pub-vip> + vip-neutron: &vip_neutron <neutron-priv-vip> <neutron-pub-vip> + vip-nova: &vip_nova_cloud_controller <nova-priv-vip> <nova-pub-vip> + console-proxy-ip: &console_proxy_ip <nova-pub-vip> + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway <network-public-gateway> + + # 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 <default-space-name> + network-space-pub: &network_space_pub <public-space-name> + network-space-os-data: &network_space_os_data <os-data-space-name> + network-space-os-mgmt: &network_space_os_mgmt <os-mgmt-space-name> + + # Change with the name of the public network physical interface. Check the base file for bridge mapping definition + data-port: &data_port br-ex:<physical-interface-name> + + # secrets and passwords: + root-password: &root_password <percona-root-password> + sst-password: &sst_password <percona-sst-password> + + # admin password. Access the dashboard with domain: admin_domain; username: admin; password: <keystone-admin-password> + admin-password: &admin_password <keystone-admin-password> + secret_dashboard: &secret_dashboard <secret-dashboard-password> + + # keystone + admin-token: &admin_token <keystone-admin-token> + +# ------------------------------------------------------------------------------ + +# Tag machines on MAAS +machines: + '0': + constraints: arch=amd64 tags=<network-server-tag> + '1': + constraints: arch=amd64 tags=<controller-server-tag> + '2': + constraints: arch=amd64 tags=<controller-server-ta> + '3': + constraints: arch=amd64 tags=<compute-server-tag> + '4': + constraints: arch=amd64 tags=<compute-server-tag> + +# ---------------------------------------------------------------------- + +applications: + + network-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 1 + to: + - '0' + + controller-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 2 + to: + - '1' + - '2' + + compute-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 2 + to: + - '3' + - '4' + + defaultgw: + charm: cs:~csd-garr/defaultgw + options: + gateway: *default_public_gateway + + controller-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + glance-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + horizon-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + keystone-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + neutron-api-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + percona-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + ceph-radosgw-hacluster: + charm: cs:hacluster + options: + nagios_context: *nagios_context + + nagios-server: + charm: cs:nagios + bindings: + "": *network_space_os_mgmt + website: *network_space_pub + num_units: 1 + to: + - 'lxd:1' + + + rabbitmq-server: + charm: cs:rabbitmq-server + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + percona-cluster: + charm: cs:percona-cluster + bindings: + "": *network_space_default + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + root-password: *root_password + sst-password: *sst_password + vip: *vip_percona + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + keystone: + charm: cs:keystone + bindings: + "": *network_space_default + public: *network_space_pub + options: + admin-password: *admin_password + admin-token: *admin_token + nagios_context: *nagios_context + os-public-hostname: *os_public_hostname + region: *region + vip: *vip_keystone + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + openstack-dashboard: + charm: cs:openstack-dashboard + bindings: + "": *network_space_default + website: *network_space_pub + options: + nagios_context: *nagios_context + secret: *secret_dashboard + vip: *vip_dashboard + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + nova-compute: + charm: cs:nova-compute + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 2 + to: + - '3' + - '4' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + console-proxy-ip: *console_proxy_ip + vip: *vip_nova_cloud_controller + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + neutron-api: + charm: cs:neutron-api + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + vip: *vip_neutron + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + neutron-openvswitch: + charm: cs:neutron-openvswitch + bindings: + "": *network_space_default + + cinder: + charm: cs:cinder + bindings: + "": *network_space_default + public: *network_space_pub + options: + nagios_context: *nagios_context + region: *region + vip: *vip_cinder + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + cinder-ceph: + charm: cs:cinder-ceph + bindings: + "": *network_space_default + options: + + ceph-proxy: + charm: cs:ceph-proxy + bindings: + "": *network_space_default + options: + admin-key: *ceph_proxy_admin_key + fsid: *ceph_proxy_fsid + monitor-hosts: *ceph_proxy_monitor_hosts + num_units: 1 + to: + - 'lxd:1' + + ceph-radosgw: + charm: cs:ceph-radosgw + bindings: + "": *network_space_default + public: *network_space_pub + options: + pool-prefix: *ceph_radosgw_pool_prefix + region: *region + vip: *vip_ceph_radosgw + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + glance: + charm: cs:glance + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + vip: *vip_glance + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + memcached: + charm: cs:memcached + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + + neutron-gateway: + charm: cs:neutron-gateway + bindings: + "": *network_space_default + data: *network_space_os_data + options: + data-port: *data_port + nagios_context: *nagios_context + num_units: 1 + to: + - '0' + + ceilometer: + charm: cs:ceilometer + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + num_units: 1 + to: + - 'lxd:1' + diff --git a/bundles/openstack/bundle-openstack-ceph-base.yaml b/bundles/openstack/bundle-openstack-ceph-base.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b498b769b6bdbf7cdea1bc0930c795a2a74f83f2 --- /dev/null +++ b/bundles/openstack/bundle-openstack-ceph-base.yaml @@ -0,0 +1,679 @@ +## Sample bundle for the deployment of OpenStack in a region of the +## GARR Federated Cloud Platform. +## This version deploys a local ceph. +## This is the base bundle file, to be used in conjunction with an "overlay" file with custom parameters (passwords etc) + +## Deploy with the command: +## juju deploy --overlay ./bundle-openstack-cephproxy-overlay.yaml ./bundle-openstack-cephproxy-base.yaml + +parameters: + + # sources + #openstack-origin: &openstack_origin cloud:xenial-queens + #series: &series xenial + #dashboard-series: &dashboard_series xenial + + openstack-origin: &openstack_origin distro + series: &series bionic + dashboard-series: &dashboard_series bionic + + # Region settings + region: ®ion garr-na2-devel + source_ntp: &source_ntp ntp1.inrim.it + + # Ceph configs + ceph-osd-partition: &ceph_osd_partition "/dev/sda /dev/sdb /dev/sdc" + ceph-cinder-replication-count: &ceph_cinder_replication_count 3 + ceph-glance-replication-count: &ceph_glance_replication_count 3 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 3 + + 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 9000 + instance-mtu: &instance_mtu 8000 + enable-dvr: &dvr-mode False + vlan-ranges: &vlan_ranges physnet-ovs:801:801 + enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata True + enable-ml2-dns: &enable_ml2_dns True + dns-domain: &dns_domain garr.cloud.na. + enable-dvr: &dvr_mode False + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + + # 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 rbd + rbd-pool: &rbd_pool cinder-ceph + 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 + +# ------------------------------------------------------------------------------ + +machines: + '0': + series: *series + '1': + series: *series + '2': + series: *series + '3': + series: *series + '4': + series: *series + +# ---------------------------------------------------------------------- + +applications: + + controller-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '0' + + compute-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '500' + + network-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '800' + + ntp: + charm: cs:ntp + series: *series + annotations: + gui-x: '2200' + gui-y: '500' + + defaultgw: + charm: cs:~csd-garr/defaultgw + series: *series + annotations: + gui-x: '800' + gui-y: '0' + + ceph-radosgw-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1000' + gui-y: '-200' + + cinder-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,block,storage + annotations: + gui-x: '1250' + gui-y: '350' + + controller-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: nova,compute + annotations: + gui-x: '-200' + gui-y: '500' + + glance-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1200' + gui-y: '600' + + horizon-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: dashboard,web + annotations: + gui-x: '250' + gui-y: '50' + + keystone-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: keystone + annotations: + gui-x: '350' + gui-y: '350' + + neutron-api-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: neutron + annotations: + gui-x: '550' + gui-y: '1350' + + percona-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: database + annotations: + gui-x: '1300' + gui-y: '800' + +# Nagios + nagios-server: + charm: cs:nagios + series: *series + options: + monitor_self: true + + 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-glance: + 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-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 + options: + min-cluster-size: 1 + cluster-partition-handling: pause_minority + management_plugin: True + nagios_servicegroups: messaging + use-syslog: True + annotations: + gui-x: '400' + gui-y: '800' + + percona-cluster: + charm: cs:percona-cluster + series: *series + options: + min-cluster-size: 2 + innodb-buffer-pool-size: 10G + max-connections: 30000 + nagios_servicegroups: database + annotations: + gui-x: '1000' + gui-y: '800' + + keystone: + charm: cs:keystone + series: *series + options: + 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 + use-syslog: True + annotations: + gui-x: '500' + gui-y: '500' + + openstack-dashboard: + charm: cs:openstack-dashboard + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + endpoint-type: internalURL,publicURL + nagios_servicegroups: dashboard,web + use-syslog: True + webroot: '/' + annotations: + gui-x: '500' + gui-y: '0' + + nova-compute: + charm: cs:nova-compute + series: *series + options: + 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: True + enable-resize: True + migration-auth-type: ssh + libvirt-image-backend: *libvirt_image_backend + rbd-pool: *rbd_pool + nagios_servicegroups: nova,compute + use-internal-endpoints: True + enable-resize: True + enable-live-migration: True + annotations: + gui-x: '0' + gui-y: '200' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + 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 + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + annotations: + gui-x: '0' + gui-y: '450' + + neutron-api: + charm: cs:neutron-api + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + 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 + neutron-external-network: *neutron_external_network + enable-dvr: *dvr_mode + enable-ml2-dns: *enable_ml2_dns + dns-domain: *dns_domain + annotations: + gui-x: '500' + gui-y: '1100' + + neutron-openvswitch: + charm: cs:neutron-openvswitch + series: *series + options: + 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 + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + block-device: None + glance-api-version: 2 + nagios_servicegroups: ceph,block,storage + use-syslog: True + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + annotations: + gui-x: '1000' + gui-y: '200' + + cinder-ceph: + charm: cs:cinder-ceph + series: *series + options: + restrict-ceph-pools: True + ceph-osd-replication-count: *ceph_cinder_replication_count + annotations: + gui-x: '1330' + gui-y: '230' + + ceph-mon: + charm: cs:ceph-mon + series: *series + options: + source: *openstack_origin + nagios_servicegroups: ceph,storage + annotations: + gui-x: '1200' + gui-y: '400' + + ceph-osd: + charm: cs:ceph-osd + series: *series + options: + source: *openstack_origin + osd-devices: *ceph_osd_partition + nagios_servicegroups: ceph,storage + # osd-reformat: 'True' + osd-format: 'xfs' + use-syslog: True + annotations: + gui-x: '1400' + gui-y: '400' + + ceph-radosgw: + charm: cs:ceph-radosgw + series: *series + options: + source: *openstack_origin + ceph-osd-replication-count: *ceph_radosgw_replication_count + config-flags: *ceph_radosgw_config_flags + rgw-buckets-pool-weight: *ceph_radosgw_rgw_buckets_pool_weight + rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num + nagios_servicegroups: ceph,object,storage + restrict-ceph-pools: True + use-syslog: True + annotations: + "gui-x": "1000" + "gui-y": "0" + + glance: + charm: cs:glance + series: *series + options: + openstack-origin: *openstack_origin + ceph-osd-replication-count: *ceph_glance_replication_count + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + nagios_servicegroups: ceph,object,storage + use-internal-endpoints: True + use-syslog: True + restrict-ceph-pools: True + annotations: + gui-x: '1000' + gui-y: '400' + + memcached: + charm: cs:memcached + series: *series + options: + allow-ufw-ip6-softfail: True + annotations: + gui-x: '100' + gui-y: '800' + + neutron-gateway: + charm: cs:neutron-gateway + series: *series + options: + openstack-origin: *openstack_origin + bridge-mappings: *bridge_mappings + action-managed-upgrade: True + # Lower instance MTU to fit GRE tunnel (without changing switch config etc) + instance-mtu: *instance_mtu + nagios_servicegroups: neutron + annotations: + gui-x: '0' + gui-y: '1100' + + ceilometer: + charm: cs:ceilometer + series: *series + options: + openstack-origin: *openstack_origin + 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 + annotations: + gui-x: '450' + gui-y: '-250' + + ceilometer-agent: + charm: cs:ceilometer-agent + series: *series + annotations: + gui-x: '200' + gui-y: '-150' + +# ------------------------------------------------------------------------------ +relations: + - [ ntp, controller-host ] + - [ 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" ] + - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] +# ceph + - [ "ceph-mon:client", "nova-compute:ceph" ] + - [ "ceph-mon:client", "cinder-ceph:ceph" ] + - [ "ceph-mon:client", "glance:ceph" ] + - [ "ceph-mon:radosgw", "ceph-radosgw:mon" ] + - [ "ceph-osd:mon", "ceph-mon:osd" ] +# ceph-radosgw + - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ] + - [ "keystone:identity-service", "ceph-radosgw:identity-service" ] +# default-gw + - [ "ceph-radosgw: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 controllers (physical) + - [ controller-host, 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-openstack-cephproxy-base.yaml b/bundles/openstack/bundle-openstack-cephproxy-base.yaml new file mode 100644 index 0000000000000000000000000000000000000000..45d5a8897d38ab48a7d81e9b02db0f968953a9d5 --- /dev/null +++ b/bundles/openstack/bundle-openstack-cephproxy-base.yaml @@ -0,0 +1,642 @@ +## Sample bundle for the deployment of OpenStack in a region of the +## GARR Federated Cloud Platform. +## This version connects to an external Ceph cluster via ceph-proxy charm. +## This is the base bundle file, to be used in conjunction with an "overlay" file with custom parameters (passwords etc) + +## Deploy with the command: +## juju deploy --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml + + +parameters: + + # sources + #openstack-origin: &openstack_origin cloud:xenial-queens + #series: &series xenial + #dashboard-series: &dashboard_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 + ceph-radosgw-rgw-buckets-pool-weight: &ceph_radosgw_rgw_buckets_pool_weight 5 + ceph-radosgw-config-flags: &ceph_radosgw_config_flags + + ceph-cinder-replication-count: &ceph_cinder_replication_count 3 + ceph-glance-replication-count: &ceph_glance_replication_count 3 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 3 + + # network defaults: + flat-network-providers: &flat_network_providers ext_net + neutron-external-network: &neutron_external_network ext_net + network-device-mtu: &network_device_mtu 9000 + instance-mtu: &instance_mtu 8000 + enable-dvr: &dvr-mode False + vlan-ranges: &vlan_ranges physnet-ovs:801:801 + enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata True + enable-ml2-dns: &enable_ml2_dns True + dns-domain: &dns_domain garr.cloud.na. + enable-dvr: &dvr_mode False + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + + # 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 rbd + rbd-pool: &rbd_pool cinder-ceph + 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 + +# ------------------------------------------------------------------------------ + +machines: + '0': + series: *series + '1': + series: *series + '2': + series: *series + '3': + series: *series + '4': + series: *series + +# ---------------------------------------------------------------------- + +applications: + + controller-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '0' + + compute-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '500' + + network-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '800' + + ntp: + charm: cs:ntp + series: *series + annotations: + gui-x: '2200' + gui-y: '500' + + defaultgw: + charm: cs:~csd-garr/defaultgw + series: *series + annotations: + gui-x: '800' + gui-y: '0' + + ceph-radosgw-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1000' + gui-y: '-200' + + cinder-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,block,storage + annotations: + gui-x: '1250' + gui-y: '350' + + controller-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: nova,compute + annotations: + gui-x: '-200' + gui-y: '500' + + glance-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1200' + gui-y: '600' + + horizon-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: dashboard,web + annotations: + gui-x: '250' + gui-y: '50' + + keystone-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: keystone + annotations: + gui-x: '350' + gui-y: '350' + + neutron-api-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: neutron + annotations: + gui-x: '550' + gui-y: '1350' + + percona-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: database + annotations: + gui-x: '1300' + gui-y: '800' + +# Nagios + nagios-server: + charm: cs:nagios + series: *series + options: + monitor_self: true + + 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-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 + options: + min-cluster-size: 1 + cluster-partition-handling: pause_minority + management_plugin: True + nagios_servicegroups: messaging + use-syslog: True + annotations: + gui-x: '400' + gui-y: '800' + + percona-cluster: + charm: cs:percona-cluster + series: *series + options: + min-cluster-size: 2 + innodb-buffer-pool-size: 10G + max-connections: 30000 + nagios_servicegroups: database + annotations: + gui-x: '1000' + gui-y: '800' + + keystone: + charm: cs:keystone + series: *series + options: + 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 + use-syslog: True + annotations: + gui-x: '500' + gui-y: '500' + + openstack-dashboard: + charm: cs:openstack-dashboard + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + endpoint-type: internalURL,publicURL + nagios_servicegroups: dashboard,web + use-syslog: True + webroot: '/' + annotations: + gui-x: '500' + gui-y: '0' + + nova-compute: + charm: cs:nova-compute + series: *series + options: + 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: True + enable-resize: True + migration-auth-type: ssh + libvirt-image-backend: *libvirt_image_backend + rbd-pool: *rbd_pool + nagios_servicegroups: nova,compute + use-internal-endpoints: True + enable-resize: True + enable-live-migration: True + annotations: + gui-x: '0' + gui-y: '200' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + 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 + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + annotations: + gui-x: '0' + gui-y: '450' + + neutron-api: + charm: cs:neutron-api + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + 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 + neutron-external-network: *neutron_external_network + enable-dvr: *dvr_mode + enable-ml2-dns: *enable_ml2_dns + dns-domain: *dns_domain + annotations: + gui-x: '500' + gui-y: '1100' + + neutron-openvswitch: + charm: cs:neutron-openvswitch + series: *series + options: + 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 + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + block-device: None + glance-api-version: 2 + nagios_servicegroups: ceph,block,storage + use-syslog: True + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + annotations: + gui-x: '1000' + gui-y: '200' + + cinder-ceph: + charm: cs:cinder-ceph + series: *series + options: + restrict-ceph-pools: True + ceph-osd-replication-count: *ceph_cinder_replication_count + annotations: + gui-x: '1330' + gui-y: '230' + + ceph-proxy: + charm: cs:ceph-proxy + series: *series + options: + source: *openstack_origin + annotations: + gui-x: '1300' + gui-y: '0' + + ceph-radosgw: + charm: cs:ceph-radosgw + series: *series + options: + source: *openstack_origin + ceph-osd-replication-count: *ceph_radosgw_replication_count + config-flags: *ceph_radosgw_config_flags + rgw-buckets-pool-weight: *ceph_radosgw_rgw_buckets_pool_weight + rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num + nagios_servicegroups: ceph,object,storage + restrict-ceph-pools: True + use-syslog: True + annotations: + "gui-x": "1000" + "gui-y": "0" + + glance: + charm: cs:glance + series: *series + options: + openstack-origin: *openstack_origin + ceph-osd-replication-count: *ceph_glance_replication_count + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + nagios_servicegroups: ceph,object,storage + use-internal-endpoints: True + use-syslog: True + restrict-ceph-pools: True + annotations: + gui-x: '1000' + gui-y: '400' + + memcached: + charm: cs:memcached + series: *series + options: + allow-ufw-ip6-softfail: True + annotations: + gui-x: '100' + gui-y: '800' + + neutron-gateway: + charm: cs:neutron-gateway + series: *series + options: + openstack-origin: *openstack_origin + bridge-mappings: *bridge_mappings + action-managed-upgrade: True + # Lower instance MTU to fit GRE tunnel (without changing switch config etc) + instance-mtu: *instance_mtu + nagios_servicegroups: neutron + annotations: + gui-x: '0' + gui-y: '1100' + + ceilometer: + charm: cs:ceilometer + series: *series + options: + openstack-origin: *openstack_origin + 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 + annotations: + gui-x: '450' + gui-y: '-250' + + ceilometer-agent: + charm: cs:ceilometer-agent + series: *series + annotations: + gui-x: '200' + gui-y: '-150' + +# ------------------------------------------------------------------------------ +relations: + - [ ntp, controller-host ] + - [ 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-proxy:client", "nova-compute:ceph" ] + - [ "ceph-proxy:client", "cinder-ceph:ceph" ] + - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] + - [ "ceph-proxy:client", "glance:ceph" ] +# ceph-radosgw + - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ] + - [ "keystone:identity-service", "ceph-radosgw:identity-service" ] + - [ "ceph-radosgw:mon", "ceph-proxy:radosgw" ] +# default-gw + - [ "ceph-radosgw: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 controllers (physical) + - [ controller-host, nrpe-controller] + - [ "nrpe-controller:monitors", "nagios-server:monitors" ] +# nagios ceph + - [ 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-config.yaml b/bundles/openstack/napoli/bundle-config.yaml similarity index 100% rename from bundles/openstack/bundle-config.yaml rename to bundles/openstack/napoli/bundle-config.yaml diff --git a/bundles/openstack/napoli/bundle-na-ceph-config.yaml b/bundles/openstack/napoli/bundle-na-ceph-config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..44ccb9e1372e31bd21568a54ac1c783205767019 --- /dev/null +++ b/bundles/openstack/napoli/bundle-na-ceph-config.yaml @@ -0,0 +1,389 @@ +## Specific configuration file for a cloud region. +## Edit values within <...> to represent your region. +## This version deploys a local Ceph cluster. +## This is the bundle "overlay" file, to be used in conjunction with the bundle base file. + +## Deploy with the command: +## juju deploy --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml + +parameters: + + # Region settings + region: ®ion garr-na2-devel + source_ntp: &source_ntp ntp1.inrim.it + + # Nagios + nagios_context: &nagios_context na2-devel + nagios_admin_email: &nagios_admin_email csd-support@garr.it + nagios_admin_pwd: &nagiosadmin_pwd '123grid@G4rr' + nagios_readonly_pwd: &nagiosro_pwd '123grid@G4rr' + + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix rgw-devel + + # vips (number of VIPs should match number of different bindings) + vip-percona: &vip_percona 10.6.4.110 + vip-ceilometer: &vip_ceilometer 10.6.4.111 90.147.153.111 + vip-ceph-radosgw: &vip_ceph_radosgw 10.6.4.112 90.147.153.112 + vip-cinder: &vip_cinder 10.6.4.113 90.147.153.113 + vip-glance: &vip_glance 10.6.4.114 90.147.153.114 + vip-dashboard: &vip_dashboard 10.6.4.115 90.147.153.115 + vip-keystone: &vip_keystone 10.6.4.116 90.147.153.116 + vip-neutron: &vip_neutron 10.6.4.117 90.147.153.117 + vip-nova: &vip_nova_cloud_controller 10.6.4.118 90.147.153.118 + console-proxy-ip: &console_proxy_ip 90.147.153.118 + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway 90.147.153.1 + + # hostnames + os-public-hostname: &os_public_hostname keystone.na2.garrservices.it + os-internal-hostname: &os_internal_hostname keystone.na2.garrservices.it + # this one could be identical to internal-hostname + os-admin-hostname: &os_admin_hostname keystone.na2.garrservices.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 space-os-mgmt + network-space-pub: &network_space_pub space-pub + network-space-os-data: &network_space_os_data space-os-data + network-space-os-mgmt: &network_space_os_mgmt space-os-mgmt + + # Change as appropriate + data-port: &data_port br-ex:bond0.401 + + # secrets and passwords: + root-password: &root_password '123percona@G4rr' + sst-password: &sst_password '123percona@G4rr' + admin-password: &admin_password 'ADMIN_g4rrXpr0gr3ss' + secret_dashboard: &secret_dashboard '123grid@G4rr' + #encryption-key: &encryption_key <encryption_key> + + # keystone/dashboard + admin-token: &admin_token Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi + +# ------------------------------------------------------------------------------ + +machines: + '0': + constraints: arch=amd64 tags=devel-na-net + '1': + constraints: arch=amd64 tags=devel-na-ctrl + '2': + constraints: arch=amd64 tags=devel-na-ctrl + '3': + constraints: arch=amd64 tags=devel-na-compute + '4': + constraints: arch=amd64 tags=devel-na-compute + +# ---------------------------------------------------------------------- + +applications: + + network-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 1 + to: + - '0' + + controller-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 2 + to: + - '1' + - '2' + + compute-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 2 + to: + - '3' + - '4' + + defaultgw: + charm: cs:~csd-garr/defaultgw + options: + gateway: *default_public_gateway + + controller-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + glance-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + horizon-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + keystone-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + neutron-api-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + percona-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + ceph-radosgw-hacluster: + charm: cs:hacluster + options: + nagios_context: *nagios_context + + nagios-server: + charm: cs:nagios + bindings: + "": *network_space_os_mgmt + website: *network_space_pub + num_units: 1 + to: + - 'lxd:1' + + + rabbitmq-server: + charm: cs:rabbitmq-server + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + percona-cluster: + charm: cs:percona-cluster + bindings: + "": *network_space_default + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + root-password: *root_password + sst-password: *sst_password + vip: *vip_percona + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + keystone: + charm: cs:keystone + bindings: + "": *network_space_default + public: *network_space_pub + options: + admin-password: *admin_password + admin-token: *admin_token + nagios_context: *nagios_context + os-public-hostname: *os_public_hostname + region: *region + vip: *vip_keystone + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + openstack-dashboard: + charm: cs:openstack-dashboard + bindings: + "": *network_space_default + website: *network_space_pub + options: + nagios_context: *nagios_context + secret: *secret_dashboard + vip: *vip_dashboard + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + nova-compute: + charm: cs:nova-compute + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 2 + to: + - '3' + - '4' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + console-proxy-ip: *console_proxy_ip + vip: *vip_nova_cloud_controller + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + neutron-api: + charm: cs:neutron-api + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + vip: *vip_neutron + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + neutron-openvswitch: + charm: cs:neutron-openvswitch + bindings: + "": *network_space_default + + cinder: + charm: cs:cinder + bindings: + "": *network_space_default + public: *network_space_pub + options: + nagios_context: *nagios_context + region: *region + vip: *vip_cinder + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + cinder-ceph: + charm: cs:cinder-ceph + bindings: + "": *network_space_default + options: + + ceph-mon: + charm: cs:ceph-mon + bindings: + "": *network_space_default + public: *network_space_os_mgmt + options: + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:0' + - 'lxd:1' + - 'lxd:1' + annotations: + gui-x: '1200' + gui-y: '400' + + ceph-osd: + charm: cs:ceph-osd + series: *series + bindings: + "": *network_space_default + public: *network_space_os_mgmt + cluster: *network_space_os_data + mon: *network_space_os_mgmt + options: + nagios_context: *nagios_context + num_units: 2 + to: + - '3' + - '4' + annotations: + gui-x: '1400' + gui-y: '400' + + ceph-radosgw: + charm: cs:ceph-radosgw + bindings: + "": *network_space_default + public: *network_space_pub + options: + pool-prefix: *ceph_radosgw_pool_prefix + region: *region + vip: *vip_ceph_radosgw + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + glance: + charm: cs:glance + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + vip: *vip_glance + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + memcached: + charm: cs:memcached + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + + neutron-gateway: + charm: cs:neutron-gateway + bindings: + "": *network_space_default + data: *network_space_os_data + options: + data-port: *data_port + nagios_context: *nagios_context + num_units: 1 + to: + - '0' + + ceilometer: + charm: cs:ceilometer + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + num_units: 1 + to: + - 'lxd:1' + diff --git a/bundles/openstack/napoli/bundle-na-cephproxy-config.yaml b/bundles/openstack/napoli/bundle-na-cephproxy-config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..31b884aed7c6e1eec565c3381fa2d9036b8ba370 --- /dev/null +++ b/bundles/openstack/napoli/bundle-na-cephproxy-config.yaml @@ -0,0 +1,376 @@ +## Specific configuration file for a cloud region. +## Edit values within <...> to represent your region. +## This version connects to an external Ceph cluster via ceph-proxy charm. +## This is the bundle "overlay" file, to be used in conjunction with the bundle base file. + +## Deploy with the command: +## juju deploy --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml + +parameters: + + # Region settings + region: ®ion garr-na2-devel + source_ntp: &source_ntp ntp1.inrim.it + + # Nagios + nagios_context: &nagios_context na2-devel + nagios_admin_email: &nagios_admin_email csd-support@garr.it + nagios_admin_pwd: &nagiosadmin_pwd '123grid@G4rr' + nagios_readonly_pwd: &nagiosro_pwd '123grid@G4rr' + + #### Ceph configs + # local Ceph + #ceph-osd-partition: &ceph_osd_partition "/dev/sdb" + + # Ceph proxy + ceph-proxy-admin-key: &ceph_proxy_admin_key AQAIc7lcZDfDBxAAku93E8t4R+wDZWsEe/yXBA== + ceph-proxy-fsid: &ceph_proxy_fsid 6a3ce468-2e7e-49b4-8136-233916037d94 + ceph-proxy-monitor-hosts: &ceph_proxy_monitor_hosts "10.6.3.21" + + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix rgw-devel + + # vips (number of VIPs should match number of different bindings) + vip-percona: &vip_percona 10.6.4.110 + vip-ceilometer: &vip_ceilometer 10.6.4.111 90.147.153.111 + vip-ceph-radosgw: &vip_ceph_radosgw 10.6.4.112 90.147.153.112 + vip-cinder: &vip_cinder 10.6.4.113 90.147.153.113 + vip-glance: &vip_glance 10.6.4.114 90.147.153.114 + vip-dashboard: &vip_dashboard 10.6.4.115 90.147.153.115 + vip-keystone: &vip_keystone 10.6.4.116 90.147.153.116 + vip-neutron: &vip_neutron 10.6.4.117 90.147.153.117 + vip-nova: &vip_nova_cloud_controller 10.6.4.118 90.147.153.118 + console-proxy-ip: &console_proxy_ip 90.147.153.118 + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway 90.147.153.1 + + # hostnames + os-public-hostname: &os_public_hostname keystone.na2.garrservices.it + os-internal-hostname: &os_internal_hostname keystone.na2.garrservices.it + # this one could be identical to internal-hostname + os-admin-hostname: &os_admin_hostname keystone.na2.garrservices.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 space-os-mgmt + network-space-pub: &network_space_pub space-pub + network-space-os-data: &network_space_os_data space-os-data + network-space-os-mgmt: &network_space_os_mgmt space-os-mgmt + + # Change as appropriate + data-port: &data_port br-ex:bond0.401 + + # secrets and passwords: + root-password: &root_password '123percona@G4rr' + sst-password: &sst_password '123percona@G4rr' + admin-password: &admin_password 'ADMIN_g4rrXpr0gr3ss' + secret_dashboard: &secret_dashboard '123grid@G4rr' + #encryption-key: &encryption_key <encryption_key> + + # keystone/dashboard + admin-token: &admin_token Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi + +# ------------------------------------------------------------------------------ + +machines: + '0': + constraints: arch=amd64 tags=devel-na-net + '1': + constraints: arch=amd64 tags=devel-na-ctrl + '2': + constraints: arch=amd64 tags=devel-na-ctrl + '3': + constraints: arch=amd64 tags=devel-na-compute + '4': + constraints: arch=amd64 tags=devel-na-compute + +# ---------------------------------------------------------------------- + +applications: + + network-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 1 + to: + - '0' + + controller-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 2 + to: + - '1' + - '2' + + compute-host: + charm: cs:ubuntu + bindings: + "": *network_space_default + num_units: 2 + to: + - '3' + - '4' + + defaultgw: + charm: cs:~csd-garr/defaultgw + options: + gateway: *default_public_gateway + + controller-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + glance-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + horizon-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + keystone-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + neutron-api-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + percona-hacluster: + charm: cs:hacluster + bindings: + "": *network_space_os_mgmt + options: + nagios_context: *nagios_context + + ceph-radosgw-hacluster: + charm: cs:hacluster + options: + nagios_context: *nagios_context + + nagios-server: + charm: cs:nagios + bindings: + "": *network_space_os_mgmt + website: *network_space_pub + num_units: 1 + to: + - 'lxd:1' + + + rabbitmq-server: + charm: cs:rabbitmq-server + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + percona-cluster: + charm: cs:percona-cluster + bindings: + "": *network_space_default + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + nagios_context: *nagios_context + root-password: *root_password + sst-password: *sst_password + vip: *vip_percona + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + keystone: + charm: cs:keystone + bindings: + "": *network_space_default + public: *network_space_pub + options: + admin-password: *admin_password + admin-token: *admin_token + nagios_context: *nagios_context + os-public-hostname: *os_public_hostname + region: *region + vip: *vip_keystone + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + openstack-dashboard: + charm: cs:openstack-dashboard + bindings: + "": *network_space_default + website: *network_space_pub + options: + nagios_context: *nagios_context + secret: *secret_dashboard + vip: *vip_dashboard + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + nova-compute: + charm: cs:nova-compute + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 2 + to: + - '3' + - '4' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + console-proxy-ip: *console_proxy_ip + vip: *vip_nova_cloud_controller + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + neutron-api: + charm: cs:neutron-api + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + vip: *vip_neutron + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + neutron-openvswitch: + charm: cs:neutron-openvswitch + bindings: + "": *network_space_default + + cinder: + charm: cs:cinder + bindings: + "": *network_space_default + public: *network_space_pub + options: + nagios_context: *nagios_context + region: *region + vip: *vip_cinder + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + cinder-ceph: + charm: cs:cinder-ceph + bindings: + "": *network_space_default + options: + + ceph-proxy: + charm: cs:ceph-proxy + bindings: + "": *network_space_default + options: + admin-key: *ceph_proxy_admin_key + fsid: *ceph_proxy_fsid + monitor-hosts: *ceph_proxy_monitor_hosts + num_units: 1 + to: + - 'lxd:1' + + ceph-radosgw: + charm: cs:ceph-radosgw + bindings: + "": *network_space_default + public: *network_space_pub + options: + pool-prefix: *ceph_radosgw_pool_prefix + region: *region + vip: *vip_ceph_radosgw + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + glance: + charm: cs:glance + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + nagios_context: *nagios_context + vip: *vip_glance + num_units: 3 + to: + - 'lxd:1' + - 'lxd:2' + + memcached: + charm: cs:memcached + bindings: + "": *network_space_default + options: + nagios_context: *nagios_context + num_units: 3 + to: + - 'lxd:2' + - 'lxd:1' + + + neutron-gateway: + charm: cs:neutron-gateway + bindings: + "": *network_space_default + data: *network_space_os_data + options: + data-port: *data_port + nagios_context: *nagios_context + num_units: 1 + to: + - '0' + + ceilometer: + charm: cs:ceilometer + bindings: + "": *network_space_default + public: *network_space_pub + options: + region: *region + num_units: 1 + to: + - 'lxd:1' + diff --git a/bundles/openstack/napoli/bundle-na-cephproxy-defaults.yaml b/bundles/openstack/napoli/bundle-na-cephproxy-defaults.yaml new file mode 100644 index 0000000000000000000000000000000000000000..969cd866c68738d1eaf36f2ef4d62fafb1e506ba --- /dev/null +++ b/bundles/openstack/napoli/bundle-na-cephproxy-defaults.yaml @@ -0,0 +1,789 @@ +## Sample bundle for the deployment of OpenStack in a region of the +## GARR Federated Cloud Platform. + +defaults: + + # 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 + + ceph-cinder-replication-count: &ceph_cinder_replication_count 3 + ceph-glance-replication-count: &ceph_glance_replication_count 3 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 3 + + # 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 rbd + rbd-pool: &rbd_pool cinder-ceph + 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 + +services: + + controller-host: + charm: cs:ubuntu + series: *series + bindings: + "": *network_space_default + num_units: 2 + to: + - '1' + - '2' + annotations: + gui-x: '2000' + gui-y: '0' + + compute-host: + charm: cs:ubuntu + series: *series + bindings: + "": *network_space_default + num_units: 1 + to: + - '3' + annotations: + gui-x: '2000' + gui-y: '500' + + network-host: + charm: cs:ubuntu + series: *series + bindings: + "": *network_space_default + 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 + 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 + 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 + bindings: + "": *network_space_os_mgmt + website: *network_space_pub + num_units: 1 + options: + admin_email: *nagios_admin_email + password: *nagiosadmin_pwd + ro-password: *nagiosro_pwd + monitor_self: true + to: + - 'lxd:2' + 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-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 + bindings: + "": *network_space_default + num_units: 3 + options: + access-network: *access_network + nagios_context: *nagios_context + min-cluster-size: 1 + cluster-partition-handling: pause_minority + management_plugin: True + nagios_servicegroups: messaging + use-syslog: True + to: + - 'lxd:2' + - 'lxd:1' + annotations: + gui-x: '400' + gui-y: '800' + + percona-cluster: + charm: cs:percona-cluster + series: *series + bindings: + "": *network_space_default + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + num_units: 3 + options: + nagios_context: *nagios_context + root-password: *root_password + sst-password: *sst_password + vip: *vip_percona + min-cluster-size: 2 + innodb-buffer-pool-size: 10G + lp1366997-workaround: True + max-connections: 30000 + nagios_servicegroups: database + to: + - 'lxd:1' + - 'lxd:2' + annotations: + gui-x: '1000' + gui-y: '800' + + keystone: + charm: cs:keystone + series: *series + bindings: + "": *network_space_default + public: *network_space_pub + num_units: 3 + options: + admin-password: *admin_password + admin-token: *admin_token + nagios_context: *nagios_context + openstack-origin: *openstack_origin + os-public-hostname: *os_public_hostname + 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 + vip: *vip_keystone + to: + - 'lxd:2' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '500' + + openstack-dashboard: + charm: cs:openstack-dashboard + series: *series + bindings: + "": *network_space_default + website: *network_space_pub + num_units: 3 + 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:1' + - 'lxd:2' + annotations: + gui-x: '500' + gui-y: '0' + + nova-compute: + charm: cs:nova-compute + series: *series + bindings: + "": *network_space_default + num_units: 1 + options: + openstack-origin: *openstack_origin + nagios_context: *nagios_context + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + config-flags: *nova_compute_config_flags + cpu-mode: *cpu-mode + enable-live-migration: True + enable-resize: True + migration-auth-type: ssh + libvirt-image-backend: *libvirt_image_backend + rbd-pool: *rbd_pool + nagios_servicegroups: nova,compute + use-internal-endpoints: True + enable-resize: True + enable-live-migration: True + to: + - '3' + annotations: + gui-x: '0' + gui-y: '200' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + series: *series + bindings: + "": *network_space_default + public: *network_space_pub + num_units: 3 + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + region: *region + console-access-protocol: 'vnc' + nagios_context: *nagios_context + 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 + console-proxy-ip: *console_proxy_ip + vip: *vip_nova_cloud_controller + + to: + - 'lxd:1' + - 'lxd:2' + annotations: + gui-x: '0' + gui-y: '450' + + neutron-api: + charm: cs:neutron-api + series: *series + bindings: + "": *network_space_default + public: *network_space_pub + num_units: 3 + options: + 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_context: *nagios_context + nagios_servicegroups: neutron + neutron-security-groups: True + network-device-mtu: *network_device_mtu + use-internal-endpoints: True + use-syslog: True + worker-multiplier: *worker_multiplier + neutron-external-network: *neutron_external_network + enable-dvr: *dvr_mode + enable-ml2-dns: *enable_ml2_dns + dns-domain: *dns_domain + vip: *vip_neutron + to: + - 'lxd:2' + - 'lxd:1' + annotations: + gui-x: '500' + gui-y: '1100' + + neutron-openvswitch: + charm: cs:neutron-openvswitch + series: *series + bindings: + "": *network_space_default + options: + 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 + bindings: + "": *network_space_default + public: *network_space_pub + num_units: 3 + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + block-device: None + glance-api-version: 2 + nagios_context: *nagios_context + nagios_servicegroups: ceph,block,storage + region: *region + use-syslog: True + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + region: *region + vip: *vip_cinder + to: + - 'lxd:1' + - 'lxd:2' + annotations: + gui-x: '1000' + gui-y: '200' + + cinder-ceph: + charm: cs:cinder-ceph + series: *series + bindings: + "": *network_space_default + options: + restrict-ceph-pools: True + ceph-osd-replication-count: *ceph_cinder_replication_count + annotations: + gui-x: '1330' + gui-y: '230' + + ceph-proxy: + charm: cs:ceph-proxy + series: *series + bindings: + "": *network_space_default + options: + admin-key: *ceph_proxy_admin_key + fsid: *ceph_proxy_fsid + monitor-hosts: *ceph_proxy_monitor_hosts + source: *openstack_origin + num_units: 1 + to: + - 'lxd:1' + annotations: + gui-x: '1300' + gui-y: '0' + + ceph-radosgw: + charm: cs:ceph-radosgw + series: *series + bindings: + "": *network_space_default + public: *network_space_pub + num_units: 3 + options: + ceph-osd-replication-count: *ceph_radosgw_replication_count + config-flags: *ceph_radosgw_config_flags + 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_context: *nagios_context + nagios_servicegroups: ceph,object,storage + restrict-ceph-pools: True + use-syslog: True + to: + - 'lxd:1' + - 'lxd:2' + annotations: + "gui-x": "1000" + "gui-y": "0" + + glance: + charm: cs:glance + series: *series + bindings: + "": *network_space_default + public: *network_space_pub + num_units: 3 + 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' + nagios_servicegroups: ceph,object,storage + use-internal-endpoints: True + use-syslog: True + restrict-ceph-pools: True + to: + - 'lxd:2' + - 'lxd:1' + annotations: + gui-x: '1000' + gui-y: '400' + + memcached: + charm: cs:memcached + series: *series + bindings: + "": *network_space_default + num_units: 3 + options: + nagios_context: *nagios_context + allow-ufw-ip6-softfail: True + to: + - 'lxd:1' + - 'lxd:2' + annotations: + gui-x: '100' + gui-y: '800' + + neutron-gateway: + charm: cs:neutron-gateway + series: *series + bindings: + "": *network_space_default + data: *network_space_os_data + num_units: 1 + options: + bridge-mappings: *bridge_mappings + 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_context: *nagios_context + nagios_servicegroups: neutron + to: + - '0' + annotations: + gui-x: '0' + gui-y: '1100' + + ceilometer: + charm: cs:ceilometer + series: *series + bindings: + "": *network_space_default + public: *network_space_pub + num_units: 1 + options: + openstack-origin: *openstack_origin + 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: *series + 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" ] + - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ] + - [ "ceph-proxy:client", "nova-compute:ceph" ] + - [ "ceph-proxy:client", "cinder-ceph:ceph" ] + - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] + - [ "ceph-proxy:client", "glance:ceph" ] +# ceph-radosgw + - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ] + - [ "keystone:identity-service", "ceph-radosgw:identity-service" ] + - [ "ceph-radosgw:mon", "ceph-proxy:radosgw" ] +# default-gw + - [ "ceph-radosgw: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 controllers (physical) + - [ controller, nrpe-controller] + - [ "nrpe-controller:monitors", "nagios-server:monitors" ] +# nagios ceph + - [ 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/napoli/bundle-openstack-ceph-base.yaml b/bundles/openstack/napoli/bundle-openstack-ceph-base.yaml new file mode 100644 index 0000000000000000000000000000000000000000..8db566cae7e063cfa84f320286b9bf90a624aa63 --- /dev/null +++ b/bundles/openstack/napoli/bundle-openstack-ceph-base.yaml @@ -0,0 +1,680 @@ +## Sample bundle for the deployment of OpenStack in a region of the +## GARR Federated Cloud Platform. +## This version deploys a local ceph. +## This is the base bundle file, to be used in conjunction with an "overlay" file with custom parameters (passwords etc) + +## Deploy with the command: +## juju deploy --overlay ./bundle-openstack-cephproxy-overlay.yaml ./bundle-openstack-cephproxy-base.yaml + +parameters: + + # sources + #openstack-origin: &openstack_origin cloud:xenial-queens + #series: &series xenial + #dashboard-series: &dashboard_series xenial + + openstack-origin: &openstack_origin distro + series: &series bionic + dashboard-series: &dashboard_series bionic + + # Region settings + region: ®ion garr-na2-devel + source_ntp: &source_ntp ntp1.inrim.it + + # Ceph configs + ceph-osd-partition: &ceph_osd_partition "/dev/sda /dev/sdb /dev/sdc" + ceph-cinder-replication-count: &ceph_cinder_replication_count 3 + ceph-glance-replication-count: &ceph_glance_replication_count 3 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 3 + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix rgw + + 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 9000 + instance-mtu: &instance_mtu 8000 + enable-dvr: &dvr-mode False + vlan-ranges: &vlan_ranges physnet-ovs:801:801 + enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata True + enable-ml2-dns: &enable_ml2_dns True + dns-domain: &dns_domain garr.cloud.na. + enable-dvr: &dvr_mode False + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + + # 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 rbd + rbd-pool: &rbd_pool cinder-ceph + 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 + +# ------------------------------------------------------------------------------ + +machines: + '0': + series: *series + '1': + series: *series + '2': + series: *series + '3': + series: *series + '4': + series: *series + +# ---------------------------------------------------------------------- + +applications: + + controller-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '0' + + compute-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '500' + + network-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '800' + + ntp: + charm: cs:ntp + series: *series + annotations: + gui-x: '2200' + gui-y: '500' + + defaultgw: + charm: cs:~csd-garr/defaultgw + series: *series + annotations: + gui-x: '800' + gui-y: '0' + + ceph-radosgw-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1000' + gui-y: '-200' + + cinder-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,block,storage + annotations: + gui-x: '1250' + gui-y: '350' + + controller-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: nova,compute + annotations: + gui-x: '-200' + gui-y: '500' + + glance-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1200' + gui-y: '600' + + horizon-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: dashboard,web + annotations: + gui-x: '250' + gui-y: '50' + + keystone-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: keystone + annotations: + gui-x: '350' + gui-y: '350' + + neutron-api-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: neutron + annotations: + gui-x: '550' + gui-y: '1350' + + percona-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: database + annotations: + gui-x: '1300' + gui-y: '800' + +# Nagios + nagios-server: + charm: cs:nagios + series: *series + options: + monitor_self: true + + 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-glance: + 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-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 + options: + min-cluster-size: 1 + cluster-partition-handling: pause_minority + management_plugin: True + nagios_servicegroups: messaging + use-syslog: True + annotations: + gui-x: '400' + gui-y: '800' + + percona-cluster: + charm: cs:percona-cluster + series: *series + options: + min-cluster-size: 2 + innodb-buffer-pool-size: 10G + max-connections: 30000 + nagios_servicegroups: database + annotations: + gui-x: '1000' + gui-y: '800' + + keystone: + charm: cs:keystone + series: *series + options: + 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 + use-syslog: True + annotations: + gui-x: '500' + gui-y: '500' + + openstack-dashboard: + charm: cs:openstack-dashboard + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + endpoint-type: internalURL,publicURL + nagios_servicegroups: dashboard,web + use-syslog: True + webroot: '/' + annotations: + gui-x: '500' + gui-y: '0' + + nova-compute: + charm: cs:nova-compute + series: *series + options: + 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: True + enable-resize: True + migration-auth-type: ssh + libvirt-image-backend: *libvirt_image_backend + rbd-pool: *rbd_pool + nagios_servicegroups: nova,compute + use-internal-endpoints: True + enable-resize: True + enable-live-migration: True + annotations: + gui-x: '0' + gui-y: '200' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + 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 + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + annotations: + gui-x: '0' + gui-y: '450' + + neutron-api: + charm: cs:neutron-api + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + 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 + neutron-external-network: *neutron_external_network + enable-dvr: *dvr_mode + enable-ml2-dns: *enable_ml2_dns + dns-domain: *dns_domain + annotations: + gui-x: '500' + gui-y: '1100' + + neutron-openvswitch: + charm: cs:neutron-openvswitch + series: *series + options: + 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 + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + block-device: None + glance-api-version: 2 + nagios_servicegroups: ceph,block,storage + use-syslog: True + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + annotations: + gui-x: '1000' + gui-y: '200' + + cinder-ceph: + charm: cs:cinder-ceph + series: *series + options: + restrict-ceph-pools: True + ceph-osd-replication-count: *ceph_cinder_replication_count + annotations: + gui-x: '1330' + gui-y: '230' + + ceph-mon: + charm: cs:ceph-mon + series: *series + options: + source: *openstack_origin + nagios_servicegroups: ceph,storage + annotations: + gui-x: '1200' + gui-y: '400' + + ceph-osd: + charm: cs:ceph-osd + series: *series + options: + source: *openstack_origin + osd-devices: *ceph_osd_partition + nagios_servicegroups: ceph,storage + # osd-reformat: 'True' + osd-format: 'xfs' + use-syslog: True + annotations: + gui-x: '1400' + gui-y: '400' + + ceph-radosgw: + charm: cs:ceph-radosgw + series: *series + options: + source: *openstack_origin + ceph-osd-replication-count: *ceph_radosgw_replication_count + config-flags: *ceph_radosgw_config_flags + rgw-buckets-pool-weight: *ceph_radosgw_rgw_buckets_pool_weight + rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num + nagios_servicegroups: ceph,object,storage + restrict-ceph-pools: True + use-syslog: True + annotations: + "gui-x": "1000" + "gui-y": "0" + + glance: + charm: cs:glance + series: *series + options: + openstack-origin: *openstack_origin + ceph-osd-replication-count: *ceph_glance_replication_count + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + nagios_servicegroups: ceph,object,storage + use-internal-endpoints: True + use-syslog: True + restrict-ceph-pools: True + annotations: + gui-x: '1000' + gui-y: '400' + + memcached: + charm: cs:memcached + series: *series + options: + allow-ufw-ip6-softfail: True + annotations: + gui-x: '100' + gui-y: '800' + + neutron-gateway: + charm: cs:neutron-gateway + series: *series + options: + openstack-origin: *openstack_origin + bridge-mappings: *bridge_mappings + action-managed-upgrade: True + # Lower instance MTU to fit GRE tunnel (without changing switch config etc) + instance-mtu: *instance_mtu + nagios_servicegroups: neutron + annotations: + gui-x: '0' + gui-y: '1100' + + ceilometer: + charm: cs:ceilometer + series: *series + options: + openstack-origin: *openstack_origin + 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 + annotations: + gui-x: '450' + gui-y: '-250' + + ceilometer-agent: + charm: cs:ceilometer-agent + series: *series + annotations: + gui-x: '200' + gui-y: '-150' + +# ------------------------------------------------------------------------------ +relations: + - [ ntp, controller-host ] + - [ 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" ] + - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] +# ceph + - [ "ceph-mon:client", "nova-compute:ceph" ] + - [ "ceph-mon:client", "cinder-ceph:ceph" ] + - [ "ceph-mon:client", "glance:ceph" ] + - [ "ceph-mon:radosgw", "ceph-radosgw:mon" ] + - [ "ceph-osd:mon", "ceph-mon:osd" ] +# ceph-radosgw + - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ] + - [ "keystone:identity-service", "ceph-radosgw:identity-service" ] +# default-gw + - [ "ceph-radosgw: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 controllers (physical) + - [ controller-host, 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/napoli/bundle-openstack-cephproxy-base.yaml b/bundles/openstack/napoli/bundle-openstack-cephproxy-base.yaml new file mode 100644 index 0000000000000000000000000000000000000000..45d5a8897d38ab48a7d81e9b02db0f968953a9d5 --- /dev/null +++ b/bundles/openstack/napoli/bundle-openstack-cephproxy-base.yaml @@ -0,0 +1,642 @@ +## Sample bundle for the deployment of OpenStack in a region of the +## GARR Federated Cloud Platform. +## This version connects to an external Ceph cluster via ceph-proxy charm. +## This is the base bundle file, to be used in conjunction with an "overlay" file with custom parameters (passwords etc) + +## Deploy with the command: +## juju deploy --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml + + +parameters: + + # sources + #openstack-origin: &openstack_origin cloud:xenial-queens + #series: &series xenial + #dashboard-series: &dashboard_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 + ceph-radosgw-rgw-buckets-pool-weight: &ceph_radosgw_rgw_buckets_pool_weight 5 + ceph-radosgw-config-flags: &ceph_radosgw_config_flags + + ceph-cinder-replication-count: &ceph_cinder_replication_count 3 + ceph-glance-replication-count: &ceph_glance_replication_count 3 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 3 + + # network defaults: + flat-network-providers: &flat_network_providers ext_net + neutron-external-network: &neutron_external_network ext_net + network-device-mtu: &network_device_mtu 9000 + instance-mtu: &instance_mtu 8000 + enable-dvr: &dvr-mode False + vlan-ranges: &vlan_ranges physnet-ovs:801:801 + enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata True + enable-ml2-dns: &enable_ml2_dns True + dns-domain: &dns_domain garr.cloud.na. + enable-dvr: &dvr_mode False + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + + # 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 rbd + rbd-pool: &rbd_pool cinder-ceph + 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 + +# ------------------------------------------------------------------------------ + +machines: + '0': + series: *series + '1': + series: *series + '2': + series: *series + '3': + series: *series + '4': + series: *series + +# ---------------------------------------------------------------------- + +applications: + + controller-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '0' + + compute-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '500' + + network-host: + charm: cs:ubuntu + series: *series + annotations: + gui-x: '2000' + gui-y: '800' + + ntp: + charm: cs:ntp + series: *series + annotations: + gui-x: '2200' + gui-y: '500' + + defaultgw: + charm: cs:~csd-garr/defaultgw + series: *series + annotations: + gui-x: '800' + gui-y: '0' + + ceph-radosgw-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1000' + gui-y: '-200' + + cinder-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,block,storage + annotations: + gui-x: '1250' + gui-y: '350' + + controller-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: nova,compute + annotations: + gui-x: '-200' + gui-y: '500' + + glance-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: ceph,object,storage + annotations: + gui-x: '1200' + gui-y: '600' + + horizon-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: dashboard,web + annotations: + gui-x: '250' + gui-y: '50' + + keystone-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: keystone + annotations: + gui-x: '350' + gui-y: '350' + + neutron-api-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: neutron + annotations: + gui-x: '550' + gui-y: '1350' + + percona-hacluster: + charm: cs:hacluster + series: *series + options: + corosync_transport: 'unicast' + nagios_servicegroups: database + annotations: + gui-x: '1300' + gui-y: '800' + +# Nagios + nagios-server: + charm: cs:nagios + series: *series + options: + monitor_self: true + + 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-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 + options: + min-cluster-size: 1 + cluster-partition-handling: pause_minority + management_plugin: True + nagios_servicegroups: messaging + use-syslog: True + annotations: + gui-x: '400' + gui-y: '800' + + percona-cluster: + charm: cs:percona-cluster + series: *series + options: + min-cluster-size: 2 + innodb-buffer-pool-size: 10G + max-connections: 30000 + nagios_servicegroups: database + annotations: + gui-x: '1000' + gui-y: '800' + + keystone: + charm: cs:keystone + series: *series + options: + 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 + use-syslog: True + annotations: + gui-x: '500' + gui-y: '500' + + openstack-dashboard: + charm: cs:openstack-dashboard + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + endpoint-type: internalURL,publicURL + nagios_servicegroups: dashboard,web + use-syslog: True + webroot: '/' + annotations: + gui-x: '500' + gui-y: '0' + + nova-compute: + charm: cs:nova-compute + series: *series + options: + 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: True + enable-resize: True + migration-auth-type: ssh + libvirt-image-backend: *libvirt_image_backend + rbd-pool: *rbd_pool + nagios_servicegroups: nova,compute + use-internal-endpoints: True + enable-resize: True + enable-live-migration: True + annotations: + gui-x: '0' + gui-y: '200' + + nova-cloud-controller: + charm: cs:nova-cloud-controller + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + 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 + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + annotations: + gui-x: '0' + gui-y: '450' + + neutron-api: + charm: cs:neutron-api + series: *series + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + 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 + neutron-external-network: *neutron_external_network + enable-dvr: *dvr_mode + enable-ml2-dns: *enable_ml2_dns + dns-domain: *dns_domain + annotations: + gui-x: '500' + gui-y: '1100' + + neutron-openvswitch: + charm: cs:neutron-openvswitch + series: *series + options: + 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 + options: + openstack-origin: *openstack_origin + action-managed-upgrade: True + block-device: None + glance-api-version: 2 + nagios_servicegroups: ceph,block,storage + use-syslog: True + use-internal-endpoints: True + worker-multiplier: *worker_multiplier + annotations: + gui-x: '1000' + gui-y: '200' + + cinder-ceph: + charm: cs:cinder-ceph + series: *series + options: + restrict-ceph-pools: True + ceph-osd-replication-count: *ceph_cinder_replication_count + annotations: + gui-x: '1330' + gui-y: '230' + + ceph-proxy: + charm: cs:ceph-proxy + series: *series + options: + source: *openstack_origin + annotations: + gui-x: '1300' + gui-y: '0' + + ceph-radosgw: + charm: cs:ceph-radosgw + series: *series + options: + source: *openstack_origin + ceph-osd-replication-count: *ceph_radosgw_replication_count + config-flags: *ceph_radosgw_config_flags + rgw-buckets-pool-weight: *ceph_radosgw_rgw_buckets_pool_weight + rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num + nagios_servicegroups: ceph,object,storage + restrict-ceph-pools: True + use-syslog: True + annotations: + "gui-x": "1000" + "gui-y": "0" + + glance: + charm: cs:glance + series: *series + options: + openstack-origin: *openstack_origin + ceph-osd-replication-count: *ceph_glance_replication_count + action-managed-upgrade: True + debug: 'False' + verbose: 'False' + nagios_servicegroups: ceph,object,storage + use-internal-endpoints: True + use-syslog: True + restrict-ceph-pools: True + annotations: + gui-x: '1000' + gui-y: '400' + + memcached: + charm: cs:memcached + series: *series + options: + allow-ufw-ip6-softfail: True + annotations: + gui-x: '100' + gui-y: '800' + + neutron-gateway: + charm: cs:neutron-gateway + series: *series + options: + openstack-origin: *openstack_origin + bridge-mappings: *bridge_mappings + action-managed-upgrade: True + # Lower instance MTU to fit GRE tunnel (without changing switch config etc) + instance-mtu: *instance_mtu + nagios_servicegroups: neutron + annotations: + gui-x: '0' + gui-y: '1100' + + ceilometer: + charm: cs:ceilometer + series: *series + options: + openstack-origin: *openstack_origin + 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 + annotations: + gui-x: '450' + gui-y: '-250' + + ceilometer-agent: + charm: cs:ceilometer-agent + series: *series + annotations: + gui-x: '200' + gui-y: '-150' + +# ------------------------------------------------------------------------------ +relations: + - [ ntp, controller-host ] + - [ 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-proxy:client", "nova-compute:ceph" ] + - [ "ceph-proxy:client", "cinder-ceph:ceph" ] + - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ] + - [ "ceph-proxy:client", "glance:ceph" ] +# ceph-radosgw + - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ] + - [ "keystone:identity-service", "ceph-radosgw:identity-service" ] + - [ "ceph-radosgw:mon", "ceph-proxy:radosgw" ] +# default-gw + - [ "ceph-radosgw: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 controllers (physical) + - [ controller-host, nrpe-controller] + - [ "nrpe-controller:monitors", "nagios-server:monitors" ] +# nagios ceph + - [ 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/napoli/bundle_allinone.yaml b/bundles/openstack/napoli/bundle_allinone.yaml new file mode 100644 index 0000000000000000000000000000000000000000..636dccfc386f7f8a5ace03ece848455e9eb867bd --- /dev/null +++ b/bundles/openstack/napoli/bundle_allinone.yaml @@ -0,0 +1,1015 @@ +## 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 9000 + instance-mtu: &instance_mtu 8000 + 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 garr-na2 + # 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 csd-support@garr.it + nagios_admin_pwd: &nagiosadmin_pwd '123grid@G4rr' + nagios_readonly_pwd: &nagiosro_pwd '123grid@G4rr' + + # Ceph configs + ceph-osd-partition: &ceph_osd_partition "/dev/sdb" + ceph-cinder-replication-count: &ceph_cinder_replication_count 1 + ceph-glance-replication-count: &ceph_glance_replication_count 1 + ceph-radosgw-replication-count: &ceph_radosgw_replication_count 1 + ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix rgw + + # vips (number of VIPs should match number of different bindings) + + vip-ceilometer: &vip_ceilometer 10.6.4.100 90.147.153.100 + vip-ceph-radosgw: &vip_ceph_radosgw 10.6.4.101 90.147.153.101 + vip-cinder: &vip_cinder 10.6.4.102 90.147.153.102 + vip-glance: &vip_glance 10.6.4.103 90.147.153.103 + vip-heat: &vip_heat 10.6.4.104 90.147.153.104 + vip-dashboard: &vip_dashboard 10.6.4.105 90.147.153.105 + vip-keystone: &vip_keystone 10.6.4.106 90.147.153.106 + vip-percona: &vip_percona 10.6.4.107 + vip-neutron: &vip_neutron 10.6.4.108 90.147.153.108 + vip-nova: &vip_nova_cloud_controller 10.6.4.109 90.147.153.109 + console-proxy-ip: &console_proxy_ip 90.147.153.109 + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway 90.147.153.1 + + # hostnames + os-public-hostname: &os_public_hostname keystone.na2.garrservices.it + os-internal-hostname: &os_internal_hostname keystone.na2.garrservices.it + # this one could be identical to internal-hostname + os-admin-hostname: &os_admin_hostname keystone.na2.garrservices.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 space-os-mgmt + #network-space-default: &network_space_default pubblica # temporary change + network-space-pub: &network_space_pub space-pub +# 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 space-os-data + network-space-os-mgmt: &network_space_os_mgmt space-os-mgmt + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + data-port: &data_port "br-ex:bond0.401" + + # secrets and passwords: + root-password: &root_password '123percona@G4rr' + sst-password: &sst_password '123percona@G4rr' + admin-password: &admin_password 'ADMIN_g4rrXpr0gr3ss' + secret_dashboard: &secret_dashboard '123grid@G4rr' + # 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=staging-na-ctrl + series: *series + '1': + constraints: arch=amd64 tags=staging-na-ctrl + series: *series + '2': + constraints: arch=amd64 tags=staging-na-net + series: *series + '3': + constraints: arch=amd64 tags=staging-na-compute + series: *series + '4': + constraints: arch=amd64 tags=staging-na-compute + 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: + - '2' + 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: + - '3' + - '4' + 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: 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: + - '2' + 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/napoli/bundle_cephproxy.yaml b/bundles/openstack/napoli/bundle_cephproxy.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dcbbc8c5d2bc61ed363f984a91c4509be0f20f3a --- /dev/null +++ b/bundles/openstack/napoli/bundle_cephproxy.yaml @@ -0,0 +1,1042 @@ +## 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 + dashboard-series: &dashboard_series bionic + + # Ceph proxy config + ceph-proxy-admin-key: &ceph_proxy_admin_key AQAIc7lcZDfDBxAAku93E8t4R+wDZWsEe/yXBA== + ceph-proxy-fsid: &ceph_proxy_fsid 6a3ce468-2e7e-49b4-8136-233916037d94 + ceph-proxy-monitor-hosts: &ceph_proxy_monitor_hosts "10.6.3.21" + + + # 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 9000 + instance-mtu: &instance_mtu 8000 + enable-dvr: &dvr_mode False + vlan-ranges: &vlan_ranges physnet-ovs:801:801 + enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata True + enable-ml2-dns: &enable_ml2_dns True + dns-domain: &dns_domain garr.cloud.na. + + # 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 rbd + rbd-pool: &rbd_pool cinder-ceph + 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 garr-na2-staging + # 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 csd-support@garr.it + nagios_admin_pwd: &nagiosadmin_pwd '123grid@G4rr' + nagios_readonly_pwd: &nagiosro_pwd '123grid@G4rr' + + # Ceph configs + #ceph-osd-partition: &ceph_osd_partition "/dev/sdb" + ceph-cinder-replication-count: &ceph_cinder_replication_count 3 + #ceph-glance-replication-count: &ceph_glance_replication_count 1 + #ceph-radosgw-replication-count: &ceph_radosgw_replication_count 1 + #ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix rgw + + # vips (number of VIPs should match number of different bindings) + + vip-percona: &vip_percona 10.6.4.100 + vip-ceilometer: &vip_ceilometer 10.6.4.101 90.147.153.101 + vip-ceph-radosgw: &vip_ceph_radosgw 10.6.4.102 90.147.153.102 + vip-cinder: &vip_cinder 10.6.4.103 90.147.153.103 + vip-glance: &vip_glance 10.6.4.104 90.147.153.104 + vip-heat: &vip_heat 10.6.4.105 90.147.153.105 + vip-dashboard: &vip_dashboard 10.6.4.106 90.147.153.106 + vip-keystone: &vip_keystone 10.6.4.107 90.147.153.107 + vip-neutron: &vip_neutron 10.6.4.108 90.147.153.108 + vip-nova: &vip_nova_cloud_controller 10.6.4.109 90.147.153.109 + console-proxy-ip: &console_proxy_ip 90.147.153.109 + # This is the gateway for public VIPs + default_public_gateway: &default_public_gateway 90.147.153.1 + + # hostnames + os-public-hostname: &os_public_hostname keystone.na2.garrservices.it + os-internal-hostname: &os_internal_hostname keystone.na2.garrservices.it + # this one could be identical to internal-hostname + os-admin-hostname: &os_admin_hostname keystone.na2.garrservices.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 space-os-mgmt + #network-space-default: &network_space_default pubblica # temporary change + network-space-pub: &network_space_pub space-pub +# 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 space-os-data + network-space-os-mgmt: &network_space_os_mgmt space-os-mgmt + + # Change as appropriate + bridge-mappings: &bridge_mappings ext_net:br-ex + data-port: &data_port "br-ex:bond0.401" + + # secrets and passwords: + root-password: &root_password '123percona@G4rr' + sst-password: &sst_password '123percona@G4rr' + admin-password: &admin_password 'ADMIN_g4rrXpr0gr3ss' + secret_dashboard: &secret_dashboard '123grid@G4rr' + # 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=staging-na-ctrl + series: *series + '1': + constraints: arch=amd64 tags=staging-na-ctrl + series: *series + '2': + constraints: arch=amd64 tags=staging-na-net + series: *series + '3': + constraints: arch=amd64 tags=staging-na-net + series: *series + '4': + constraints: arch=amd64 tags=staging-na-compute + series: *series + '5': + constraints: arch=amd64 tags=staging-na-compute + 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' + + network-host: + charm: cs:ubuntu + series: *series + num_units: 2 + to: + - '2' + - '3' + annotations: + gui-x: '2000' + gui-y: '800' + + compute-host: + charm: cs:ubuntu + series: *series + num_units: 2 + to: + - '4' + - '5' + annotations: + gui-x: '2000' + gui-y: '500' + + ntp: + charm: cs:ntp + series: *series + options: + source: *source_ntp + annotations: + gui-x: '2200' + gui-y: '500' + + ceph-proxy: + charm: cs:ceph-proxy + series: *series + bindings: + "": *network_space_default + options: + admin-key: *ceph_proxy_admin_key + fsid: *ceph_proxy_fsid + monitor-hosts: *ceph_proxy_monitor_hosts + source: *openstack_origin + annotations: + gui-x: '1000' + gui-y: '-200' + + 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 + rbd-pool: *rbd_pool + nagios_servicegroups: nova,compute + use-internal-endpoints: True + enable-resize: True + enable-live-migration: True + to: + - '4' + - '5' + 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 + enable-ml2-dns: *enable_ml2_dns + dns-domain: *dns_domain + 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: + - '2' + - '3' + 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" ] + - [ "ceph-proxy:client", "nova-compute:ceph" ] + - [ "ceph-proxy: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: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-config.cephlocal.yaml b/bundles/openstack/old/bundle-config.cephlocal.yaml similarity index 100% rename from bundles/openstack/bundle-config.cephlocal.yaml rename to bundles/openstack/old/bundle-config.cephlocal.yaml diff --git a/bundles/openstack/bundle-config.cephlocal.yaml.ori b/bundles/openstack/old/bundle-config.cephlocal.yaml.ori similarity index 100% rename from bundles/openstack/bundle-config.cephlocal.yaml.ori rename to bundles/openstack/old/bundle-config.cephlocal.yaml.ori diff --git a/bundles/openstack/old/bundle-config.yaml b/bundles/openstack/old/bundle-config.yaml new file mode 100644 index 0000000000000000000000000000000000000000..614ba9f24bd9133c91d852dffec5bb7b28d81ad0 --- /dev/null +++ b/bundles/openstack/old/bundle-config.yaml @@ -0,0 +1,371 @@ +## 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-fsid: &ceph_fsid <FSID_here> + ceph-monitor-hosts: &ceph_monitor_hosts [cephmon1:port[ cephmon2:port cephmon3:port]] + ceph-admin-key: &ceph_admin_key <ceph_admin_key_here> + + 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> + 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-proxy: + bindings: + "": *network_space_default + public: *network_space_os_mgmt + client: *network_space_os_mgmt + radosgw: *network_space_os_mgmt + options: + fsid: *ceph_fsid + monitor-hosts: *ceph_monitor_hosts + admin-key: *ceph_admin_key + + ceph-radosgw: + bindings: + "": *network_space_default + public: *network_space_pub + admin: *network_space_os_mgmt + internal: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + ceph-osd-replication-count: *ceph_radosgw_replication_count + config-flags: *ceph_radosgw_config_flags + nagios_context: *nagios_context + pool-prefix: *ceph_radosgw_pool_prefix + region: *region + rgw-buckets-pool-weight: *ceph_radosgw_rgw_buckets_pool_weight + rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num + vip: *vip_ceph_radosgw + + glance: + bindings: + "": *network_space_default + public: *network_space_pub + admin: *network_space_os_mgmt + internal: *network_space_os_mgmt + amqp: *network_space_os_mgmt + cinder-volume-service: *network_space_os_mgmt + identity-service: *network_space_os_mgmt + image-service: *network_space_os_mgmt + ceph: *network_space_os_mgmt + storage-backend: *network_space_os_mgmt + shared-db: *network_space_os_mgmt + cluster: *network_space_os_mgmt + options: + 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.allinone.yaml b/bundles/openstack/old/bundle.allinone.yaml similarity index 100% rename from bundles/openstack/bundle.allinone.yaml rename to bundles/openstack/old/bundle.allinone.yaml diff --git a/bundles/openstack/bundle.cephlocal.allinone.yaml b/bundles/openstack/old/bundle.cephlocal.allinone.yaml similarity index 100% rename from bundles/openstack/bundle.cephlocal.allinone.yaml rename to bundles/openstack/old/bundle.cephlocal.allinone.yaml diff --git a/bundles/openstack/bundle.cephlocal.yaml b/bundles/openstack/old/bundle.cephlocal.yaml similarity index 100% rename from bundles/openstack/bundle.cephlocal.yaml rename to bundles/openstack/old/bundle.cephlocal.yaml diff --git a/bundles/openstack/bundle_nopasswd_00216760.yaml b/bundles/openstack/old/bundle_nopasswd_00216760.yaml similarity index 100% rename from bundles/openstack/bundle_nopasswd_00216760.yaml rename to bundles/openstack/old/bundle_nopasswd_00216760.yaml diff --git a/bundles/openstack/unipd/bundle.pd.federation.yaml b/bundles/openstack/unipd/bundle.pd.federation.yaml new file mode 100644 index 0000000000000000000000000000000000000000..97458e62de6e6cda64837a27f48b8ce0f0148315 --- /dev/null +++ b/bundles/openstack/unipd/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/unipd/bundle.yaml b/bundles/openstack/unipd/bundle.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c05e19a652784671247aa4c205dce35e13d6fae0 --- /dev/null +++ b/bundles/openstack/unipd/bundle.yaml @@ -0,0 +1,1010 @@ +## 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 + local-dns-domain: &local_dns_domain garr.cloud.na. + + # 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: + - '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 + enable-ml2-dns: True + dns-domain: *local_dns_domain + 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: + expected-osd-count: 1 + 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" ] +# - [ "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" ]