diff options
Diffstat (limited to 'mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2')
-rw-r--r-- | mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 | 355 |
1 files changed, 355 insertions, 0 deletions
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 new file mode 100644 index 000000000..a55485ea0 --- /dev/null +++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_init.yml.j2 @@ -0,0 +1,355 @@ +############################################################################## +# Copyright (c) 2018 Mirantis Inc., Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +{%- import 'net_map.j2' as nm with context %} +--- +parameters: + _param: + # openstack service addresses +{%- if conf.MCP_VCP %} + openstack_proxy_control_address: ${_param:opnfv_openstack_proxy_control_address} + openstack_proxy_node01_control_address: ${_param:opnfv_openstack_proxy_node01_control_address} + openstack_proxy_node02_control_address: ${_param:opnfv_openstack_proxy_node02_control_address} +{%- else %} + openstack_proxy_control_address: ${_param:opnfv_openstack_control_address} + openstack_proxy_node01_control_address: ${_param:opnfv_openstack_control_node01_address} + openstack_proxy_node02_control_address: ${_param:opnfv_openstack_control_node03_address} +{%- endif %} + + openstack_proxy_address: ${_param:opnfv_openstack_proxy_address} + openstack_proxy_node01_address: ${_param:opnfv_openstack_proxy_node01_address} + openstack_proxy_node02_address: ${_param:opnfv_openstack_proxy_node02_address} + + openstack_control_address: ${_param:opnfv_openstack_control_address} + openstack_control_node01_address: ${_param:opnfv_openstack_control_node01_address} + openstack_control_node02_address: ${_param:opnfv_openstack_control_node02_address} + openstack_control_node03_address: ${_param:opnfv_openstack_control_node03_address} + +{%- if conf.MCP_VCP %} + openstack_database_address: ${_param:opnfv_openstack_database_address} + openstack_database_node01_address: ${_param:opnfv_openstack_database_node01_address} + openstack_database_node02_address: ${_param:opnfv_openstack_database_node02_address} + openstack_database_node03_address: ${_param:opnfv_openstack_database_node03_address} + + openstack_message_queue_address: ${_param:opnfv_openstack_message_queue_address} + openstack_message_queue_node01_address: ${_param:opnfv_openstack_message_queue_node01_address} + openstack_message_queue_node02_address: ${_param:opnfv_openstack_message_queue_node02_address} + openstack_message_queue_node03_address: ${_param:opnfv_openstack_message_queue_node03_address} + + openstack_telemetry_address: ${_param:opnfv_openstack_telemetry_address} + openstack_telemetry_node01_address: ${_param:opnfv_openstack_telemetry_node01_address} + openstack_telemetry_node02_address: ${_param:opnfv_openstack_telemetry_node02_address} + openstack_telemetry_node03_address: ${_param:opnfv_openstack_telemetry_node03_address} +{%- else %} + openstack_database_address: ${_param:openstack_control_address} + openstack_database_node01_address: ${_param:openstack_control_node01_address} + openstack_database_node02_address: ${_param:openstack_control_node02_address} + openstack_database_node03_address: ${_param:openstack_control_node03_address} + + openstack_message_queue_address: ${_param:openstack_control_address} + openstack_message_queue_node01_address: ${_param:openstack_control_node01_address} + openstack_message_queue_node02_address: ${_param:openstack_control_node02_address} + openstack_message_queue_node03_address: ${_param:openstack_control_node03_address} + + openstack_telemetry_address: ${_param:openstack_control_address} + openstack_telemetry_node01_address: ${_param:openstack_control_node01_address} + openstack_telemetry_node02_address: ${_param:openstack_control_node02_address} + openstack_telemetry_node03_address: ${_param:openstack_control_node03_address} +{%- endif %} + + # openstack service hostnames +{%- if conf.MCP_VCP %} + openstack_proxy_hostname: prx + openstack_proxy_node01_hostname: prx01 + openstack_proxy_node02_hostname: prx02 + openstack_control_hostname: ctl + openstack_control_node01_hostname: ctl01 + openstack_control_node02_hostname: ctl02 + openstack_control_node03_hostname: ctl03 + openstack_database_hostname: dbs + openstack_database_node01_hostname: dbs01 + openstack_database_node02_hostname: dbs02 + openstack_database_node03_hostname: dbs03 + openstack_message_queue_hostname: msg + openstack_message_queue_node01_hostname: msg01 + openstack_message_queue_node02_hostname: msg02 + openstack_message_queue_node03_hostname: msg03 + openstack_telemetry_hostname: mdb + openstack_telemetry_node01_hostname: mdb01 + openstack_telemetry_node02_hostname: mdb02 + openstack_telemetry_node03_hostname: mdb03 +{%- else %} + openstack_proxy_hostname: ${_param:openstack_control_hostname} + openstack_proxy_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_proxy_node02_hostname: ${_param:openstack_control_node03_hostname} + openstack_control_hostname: kvm + openstack_control_node01_hostname: kvm01 + openstack_control_node02_hostname: kvm02 + openstack_control_node03_hostname: kvm03 + openstack_database_hostname: ${_param:openstack_control_hostname} + openstack_database_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_database_node02_hostname: ${_param:openstack_control_node02_hostname} + openstack_database_node03_hostname: ${_param:openstack_control_node03_hostname} + openstack_message_queue_hostname: ${_param:openstack_control_hostname} + openstack_message_queue_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_message_queue_node02_hostname: ${_param:openstack_control_node02_hostname} + openstack_message_queue_node03_hostname: ${_param:openstack_control_node03_hostname} + openstack_telemetry_hostname: ${_param:openstack_control_hostname} + openstack_telemetry_node01_hostname: ${_param:openstack_control_node01_hostname} + openstack_telemetry_node02_hostname: ${_param:openstack_control_node02_hostname} + openstack_telemetry_node03_hostname: ${_param:openstack_control_node03_hostname} +{%- endif %} + + # openstack compute + openstack_compute_node01_hostname: cmp001 + openstack_compute_node02_hostname: cmp002 + + openstack_region: RegionOne + admin_email: root@localhost + db_connection_recycle_time: 300 + # Neutron osv/nodvr + neutron_control_dvr: 'False' + neutron_global_physnet_mtu: 1500 + neutron_external_mtu: 1500 + neutron_gateway_dvr: 'False' + neutron_gateway_agent_mode: legacy + neutron_compute_dvr: 'False' + neutron_compute_agent_mode: legacy + neutron_compute_external_access: 'True' + galera_server_cluster_name: openstack_cluster + glance_version: ${_param:openstack_version} + glance_service_host: ${_param:openstack_control_address} + keystone_version: ${_param:openstack_version} + keystone_service_host: ${_param:openstack_control_address} + heat_version: ${_param:openstack_version} + heat_service_host: ${_param:openstack_control_address} + cinder_version: ${_param:openstack_version} + cinder_service_host: ${_param:openstack_control_address} + ceilometer_version: ${_param:openstack_version} + ceilometer_service_host: ${_param:openstack_telemetry_address} + nova_version: ${_param:openstack_version} + nova_service_host: ${_param:openstack_control_address} + neutron_version: ${_param:openstack_version} + neutron_service_host: ${_param:openstack_control_address} +{%- if conf.MCP_VCP %} + glusterfs_service_host: ${_param:infra_kvm_address} +{%- else %} + glusterfs_service_host: ${_param:openstack_control_address} +{%- endif %} + mysql_admin_user: root + aodh_version: ${_param:openstack_version} + barbican_version: ${_param:openstack_version} + barbican_service_host: ${_param:openstack_control_address} + apache_barbican_api_address: ${_param:single_address} + barbican_integration_enabled: true + horizon_version: ${_param:openstack_version} + horizon_identity_host: ${_param:openstack_control_address} + horizon_identity_encryption: none + horizon_identity_version: 3 + apache_mods_status_enabled: false + nginx_server_site_nginx_proxy_openstack_web_enabled: true + aodh_service_host: ${_param:openstack_telemetry_address} + gnocchi_version: 4.3 + gnocchi_service_host: ${_param:openstack_telemetry_address} + panko_version: ${_param:openstack_version} + panko_service_host: ${_param:openstack_telemetry_address} + ceilometer_agent_default_polling_interval: 180 + ceilometer_agent_default_polling_meters: + - "*" + designate_service_host: ${_param:openstack_control_address} + designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc + designate_pool_ns_records: + - hostname: 'ns1.example.org.' + priority: 10 + designate_pool_nameservers: + - host: ${_param:openstack_control_node01_address} + port: 53 + - host: ${_param:openstack_control_node02_address} + port: 53 + - host: ${_param:openstack_control_node03_address} + port: 53 + designate_pool_target_type: bind9 + designate_pool_target_masters: + - host: ${_param:openstack_control_node01_address} + port: 5354 + - host: ${_param:openstack_control_node02_address} + port: 5354 + - host: ${_param:openstack_control_node03_address} + port: 5354 + designate_pool_target_options: + host: ${_param:openstack_control_node01_address} + port: 53 + rndc_host: ${_param:openstack_control_node01_address} + rndc_port: 953 + rndc_key_file: /etc/designate/rndc.key + designate_version: ${_param:openstack_version} + # Billing + # keystone_billometer_password: opnfv_secret + # keystone_billometer_address: ${_param:billometer_service_host} + # billometer_service_host: ${_param:openstack_billing_address} + # billometer_version: ${_param:openstack_version} + # billometer_secret_key: opnfv_secretpasswordpasswordpassword + # billometer_identity_password: ${_param:keystone_billometer_password} + # billometer_identity_host: ${_param:openstack_control_address} + # billometer_identity_token: ${_param:keystone_service_token} + linux: + system: +{%- if 'aarch64' in nm.cluster.arch %} + repo: + armband_3: # Should be in sync with the repo config generated via curtin/MaaS + source: "deb http://linux.enea.com/mcp-repos/${_param:armband_repo_version}/xenial ${_param:armband_repo_version}-armband main" + key: ${_param:armband_key} + pinning: + 15: + enabled: true + pin: 'release a=${_param:armband_repo_version}-armband' + priority: 15 + package: '*' + 1200: + enabled: true + pin: 'release a=${_param:armband_repo_version}-armband' + priority: 1200 + package: 'qemu-efi' +{%- endif %} + kernel: + sysctl: + net.ipv4.tcp_congestion_control: yeah + net.ipv4.tcp_slow_start_after_idle: 0 + net.ipv4.tcp_fin_timeout: 30 + package: + python-tornado: + version: latest + network: + host: +{%- if conf.MCP_VCP %} + prx: + address: ${_param:openstack_proxy_control_address} + names: + - ${_param:openstack_proxy_hostname} + - ${_param:openstack_proxy_hostname}.${_param:cluster_domain} + prx01: + address: ${_param:openstack_proxy_node01_control_address} + names: + - ${_param:openstack_proxy_node01_hostname} + - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain} + prx02: + address: ${_param:openstack_proxy_node02_control_address} + names: + - ${_param:openstack_proxy_node02_hostname} + - ${_param:openstack_proxy_node02_hostname}.${_param:cluster_domain} + ctl: + address: ${_param:openstack_control_address} + names: + - ${_param:openstack_control_hostname} + - ${_param:openstack_control_hostname}.${_param:cluster_domain} + ctl01: + address: ${_param:openstack_control_node01_address} + names: + - ${_param:openstack_control_node01_hostname} + - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain} + ctl02: + address: ${_param:openstack_control_node02_address} + names: + - ${_param:openstack_control_node02_hostname} + - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain} + ctl03: + address: ${_param:openstack_control_node03_address} + names: + - ${_param:openstack_control_node03_hostname} + - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain} + msg: + address: ${_param:openstack_message_queue_address} + names: + - ${_param:openstack_message_queue_hostname} + - ${_param:openstack_message_queue_hostname}.${_param:cluster_domain} + msg01: + address: ${_param:openstack_message_queue_node01_address} + names: + - ${_param:openstack_message_queue_node01_hostname} + - ${_param:openstack_message_queue_node01_hostname}.${_param:cluster_domain} + msg02: + address: ${_param:openstack_message_queue_node02_address} + names: + - ${_param:openstack_message_queue_node02_hostname} + - ${_param:openstack_message_queue_node02_hostname}.${_param:cluster_domain} + msg03: + address: ${_param:openstack_message_queue_node03_address} + names: + - ${_param:openstack_message_queue_node03_hostname} + - ${_param:openstack_message_queue_node03_hostname}.${_param:cluster_domain} + dbs: + address: ${_param:openstack_database_address} + names: + - ${_param:openstack_database_hostname} + - ${_param:openstack_database_hostname}.${_param:cluster_domain} + dbs01: + address: ${_param:openstack_database_node01_address} + names: + - ${_param:openstack_database_node01_hostname} + - ${_param:openstack_database_node01_hostname}.${_param:cluster_domain} + dbs02: + address: ${_param:openstack_database_node02_address} + names: + - ${_param:openstack_database_node02_hostname} + - ${_param:openstack_database_node02_hostname}.${_param:cluster_domain} + dbs03: + address: ${_param:openstack_database_node03_address} + names: + - ${_param:openstack_database_node03_hostname} + - ${_param:openstack_database_node03_hostname}.${_param:cluster_domain} + mdb: + address: ${_param:openstack_telemetry_address} + names: + - ${_param:openstack_telemetry_hostname} + - ${_param:openstack_telemetry_hostname}.${_param:cluster_domain} + mdb01: + address: ${_param:openstack_telemetry_node01_address} + names: + - ${_param:openstack_telemetry_node01_hostname} + - ${_param:openstack_telemetry_node01_hostname}.${_param:cluster_domain} + mdb02: + address: ${_param:openstack_telemetry_node02_address} + names: + - ${_param:openstack_telemetry_node02_hostname} + - ${_param:openstack_telemetry_node02_hostname}.${_param:cluster_domain} + mdb03: + address: ${_param:openstack_telemetry_node03_address} + names: + - ${_param:openstack_telemetry_node03_hostname} + - ${_param:openstack_telemetry_node03_hostname}.${_param:cluster_domain} +{%- else %} + kvm: + address: ${_param:openstack_control_address} + names: + - ${_param:openstack_control_hostname} + - ${_param:openstack_control_hostname}.${_param:cluster_domain} + kvm01: + address: ${_param:openstack_control_node01_address} + names: + - ${_param:openstack_control_node01_hostname} + - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain} + kvm02: + address: ${_param:openstack_control_node02_address} + names: + - ${_param:openstack_control_node02_hostname} + - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain} + kvm03: + address: ${_param:openstack_control_node03_address} + names: + - ${_param:openstack_control_node03_hostname} + - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain} +{%- endif %} +{#- For compute nodes, expand values in-place, bypassing reclass param expansion #} +{%- for cmp in range(1, nm.cmp_nodes + 1) %} + {%- set h = 'cmp%03d' | format(cmp) %} + {%- set mgmt = nm.net_mgmt_hosts | length + nm.start_ip[nm.net_mgmt] + loop.index %} + {{ h }}: + address: {{ nm.net_mgmt | ipnet_hostaddr(mgmt) }} + names: + - {{ h }} + - {{ h }}.${_param:cluster_domain} +{%- endfor %} |