1 ##############################################################################
2 # Copyright (c) 2018 Mirantis Inc., Enea AB and others.
3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Apache License, Version 2.0
5 # which accompanies this distribution, and is available at
6 # http://www.apache.org/licenses/LICENSE-2.0
7 ##############################################################################
8 {%- import 'net_map.j2' as nm with context %}
11 - cluster.all-mcp-arch-common.uca_repo
14 # openstack service addresses
15 {%- if conf.MCP_VCP %}
16 openstack_proxy_control_address: ${_param:opnfv_openstack_proxy_control_address}
17 openstack_proxy_node01_control_address: ${_param:opnfv_openstack_proxy_node01_control_address}
18 openstack_proxy_node02_control_address: ${_param:opnfv_openstack_proxy_node02_control_address}
20 openstack_proxy_control_address: ${_param:opnfv_openstack_control_address}
21 openstack_proxy_node01_control_address: ${_param:opnfv_openstack_control_node01_address}
22 openstack_proxy_node02_control_address: ${_param:opnfv_openstack_control_node03_address}
25 openstack_proxy_address: ${_param:opnfv_openstack_proxy_address}
26 openstack_proxy_node01_address: ${_param:opnfv_openstack_proxy_node01_address}
27 openstack_proxy_node02_address: ${_param:opnfv_openstack_proxy_node02_address}
29 openstack_control_address: ${_param:opnfv_openstack_control_address}
30 openstack_control_node01_address: ${_param:opnfv_openstack_control_node01_address}
31 openstack_control_node02_address: ${_param:opnfv_openstack_control_node02_address}
32 openstack_control_node03_address: ${_param:opnfv_openstack_control_node03_address}
34 {%- if conf.MCP_VCP %}
35 openstack_database_address: ${_param:opnfv_openstack_database_address}
36 openstack_database_node01_address: ${_param:opnfv_openstack_database_node01_address}
37 openstack_database_node02_address: ${_param:opnfv_openstack_database_node02_address}
38 openstack_database_node03_address: ${_param:opnfv_openstack_database_node03_address}
40 openstack_message_queue_address: ${_param:opnfv_openstack_message_queue_address}
41 openstack_message_queue_node01_address: ${_param:opnfv_openstack_message_queue_node01_address}
42 openstack_message_queue_node02_address: ${_param:opnfv_openstack_message_queue_node02_address}
43 openstack_message_queue_node03_address: ${_param:opnfv_openstack_message_queue_node03_address}
45 openstack_telemetry_address: ${_param:opnfv_openstack_telemetry_address}
46 openstack_telemetry_node01_address: ${_param:opnfv_openstack_telemetry_node01_address}
47 openstack_telemetry_node02_address: ${_param:opnfv_openstack_telemetry_node02_address}
48 openstack_telemetry_node03_address: ${_param:opnfv_openstack_telemetry_node03_address}
50 openstack_database_address: ${_param:openstack_control_address}
51 openstack_database_node01_address: ${_param:openstack_control_node01_address}
52 openstack_database_node02_address: ${_param:openstack_control_node02_address}
53 openstack_database_node03_address: ${_param:openstack_control_node03_address}
55 openstack_message_queue_address: ${_param:openstack_control_address}
56 openstack_message_queue_node01_address: ${_param:openstack_control_node01_address}
57 openstack_message_queue_node02_address: ${_param:openstack_control_node02_address}
58 openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}
60 openstack_telemetry_address: ${_param:openstack_control_address}
61 openstack_telemetry_node01_address: ${_param:openstack_control_node01_address}
62 openstack_telemetry_node02_address: ${_param:openstack_control_node02_address}
63 openstack_telemetry_node03_address: ${_param:openstack_control_node03_address}
66 # openstack service hostnames
67 {%- if conf.MCP_VCP %}
68 openstack_proxy_hostname: prx
69 openstack_proxy_node01_hostname: prx01
70 openstack_proxy_node02_hostname: prx02
71 openstack_control_hostname: ctl
72 openstack_control_node01_hostname: ctl01
73 openstack_control_node02_hostname: ctl02
74 openstack_control_node03_hostname: ctl03
75 openstack_database_hostname: dbs
76 openstack_database_node01_hostname: dbs01
77 openstack_database_node02_hostname: dbs02
78 openstack_database_node03_hostname: dbs03
79 openstack_message_queue_hostname: msg
80 openstack_message_queue_node01_hostname: msg01
81 openstack_message_queue_node02_hostname: msg02
82 openstack_message_queue_node03_hostname: msg03
83 openstack_telemetry_hostname: mdb
84 openstack_telemetry_node01_hostname: mdb01
85 openstack_telemetry_node02_hostname: mdb02
86 openstack_telemetry_node03_hostname: mdb03
88 openstack_proxy_hostname: ${_param:openstack_control_hostname}
89 openstack_proxy_node01_hostname: ${_param:openstack_control_node01_hostname}
90 openstack_proxy_node02_hostname: ${_param:openstack_control_node03_hostname}
91 openstack_control_hostname: kvm
92 openstack_control_node01_hostname: kvm01
93 openstack_control_node02_hostname: kvm02
94 openstack_control_node03_hostname: kvm03
95 openstack_database_hostname: ${_param:openstack_control_hostname}
96 openstack_database_node01_hostname: ${_param:openstack_control_node01_hostname}
97 openstack_database_node02_hostname: ${_param:openstack_control_node02_hostname}
98 openstack_database_node03_hostname: ${_param:openstack_control_node03_hostname}
99 openstack_message_queue_hostname: ${_param:openstack_control_hostname}
100 openstack_message_queue_node01_hostname: ${_param:openstack_control_node01_hostname}
101 openstack_message_queue_node02_hostname: ${_param:openstack_control_node02_hostname}
102 openstack_message_queue_node03_hostname: ${_param:openstack_control_node03_hostname}
103 openstack_telemetry_hostname: ${_param:openstack_control_hostname}
104 openstack_telemetry_node01_hostname: ${_param:openstack_control_node01_hostname}
105 openstack_telemetry_node02_hostname: ${_param:openstack_control_node02_hostname}
106 openstack_telemetry_node03_hostname: ${_param:openstack_control_node03_hostname}
110 openstack_compute_node01_hostname: cmp001
111 openstack_compute_node02_hostname: cmp002
113 # opendaylight options
114 {%- if conf.MCP_VCP %}
115 opendaylight_server_node01_hostname: odl01
116 opendaylight_server_node01_single_address: ${_param:opnfv_opendaylight_server_node01_address}
118 opendaylight_control_hostname: ${_param:openstack_control_node02_hostname}
119 opendaylight_server_node01_hostname: ${_param:opendaylight_control_hostname}
120 opendaylight_server_node01_single_address: ${_param:opnfv_openstack_control_node02_address}
123 openstack_region: RegionOne
124 admin_email: root@localhost
125 db_connection_recycle_time: 300
127 neutron_control_dvr: 'False'
128 neutron_global_physnet_mtu: 1500
129 neutron_external_mtu: 1500
130 neutron_gateway_dvr: 'False'
131 neutron_gateway_agent_mode: legacy
132 neutron_compute_dvr: 'False'
133 neutron_compute_agent_mode: legacy
134 neutron_compute_external_access: 'True'
135 galera_server_cluster_name: openstack_cluster
136 glance_version: ${_param:openstack_version}
137 glance_service_host: ${_param:openstack_control_address}
138 keystone_version: ${_param:openstack_version}
139 keystone_service_host: ${_param:openstack_control_address}
140 heat_version: ${_param:openstack_version}
141 heat_service_host: ${_param:openstack_control_address}
142 cinder_version: ${_param:openstack_version}
143 cinder_service_host: ${_param:openstack_control_address}
144 ceilometer_version: ${_param:openstack_version}
145 ceilometer_service_host: ${_param:openstack_telemetry_address}
146 nova_version: ${_param:openstack_version}
147 nova_service_host: ${_param:openstack_control_address}
148 neutron_version: ${_param:openstack_version}
149 neutron_service_host: ${_param:openstack_control_address}
150 {%- if conf.MCP_VCP %}
151 glusterfs_service_host: ${_param:infra_kvm_address}
153 glusterfs_service_host: ${_param:openstack_control_address}
155 mysql_admin_user: root
156 aodh_version: ${_param:openstack_version}
157 barbican_version: ${_param:openstack_version}
158 barbican_service_host: ${_param:openstack_control_address}
159 barbican_integration_enabled: true
160 horizon_version: ${_param:openstack_version}
161 horizon_identity_host: ${_param:openstack_control_address}
162 horizon_identity_encryption: none
163 horizon_identity_version: 3
164 aodh_service_host: ${_param:openstack_telemetry_address}
166 gnocchi_service_host: ${_param:openstack_telemetry_address}
167 panko_version: ${_param:openstack_version}
168 panko_service_host: ${_param:openstack_telemetry_address}
169 ceilometer_agent_default_polling_interval: 180
170 ceilometer_agent_default_polling_meters:
172 designate_service_host: ${_param:openstack_control_address}
173 designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
174 designate_pool_ns_records:
175 - hostname: 'ns1.example.org.'
177 designate_pool_nameservers:
178 - host: ${_param:openstack_control_node01_address}
180 - host: ${_param:openstack_control_node02_address}
182 - host: ${_param:openstack_control_node03_address}
184 designate_pool_target_type: bind9
185 designate_pool_target_masters:
186 - host: ${_param:openstack_control_node01_address}
188 - host: ${_param:openstack_control_node02_address}
190 - host: ${_param:openstack_control_node03_address}
192 designate_pool_target_options:
193 host: ${_param:openstack_control_node01_address}
195 rndc_host: ${_param:openstack_control_node01_address}
197 rndc_key_file: /etc/designate/rndc.key
198 designate_version: ${_param:openstack_version}
200 # keystone_billometer_password: opnfv_secret
201 # keystone_billometer_address: ${_param:billometer_service_host}
202 # billometer_service_host: ${_param:openstack_billing_address}
203 # billometer_version: ${_param:openstack_version}
204 # billometer_secret_key: opnfv_secretpasswordpasswordpassword
205 # billometer_identity_password: ${_param:keystone_billometer_password}
206 # billometer_identity_host: ${_param:openstack_control_address}
207 # billometer_identity_token: ${_param:keystone_service_token}
213 - pin: 'release o=Canonical'
215 package: 'libvirt* qemu* openvswitch* python-openvswitch ovn* dpdk* libdpdk*'
216 {%- if 'aarch64' in nm.cluster.arch %}
217 armband_3: # Should be in sync with the repo config generated via curtin/MaaS
218 source: "deb http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename} ${_param:openstack_version}-armband main"
219 key: ${_param:armband_key}
221 - pin: 'release a=${_param:openstack_version}-armband'
227 net.ipv4.tcp_congestion_control: yeah
228 net.ipv4.tcp_slow_start_after_idle: 0
229 net.ipv4.tcp_fin_timeout: 30
235 {%- if conf.MCP_VCP %}
237 address: ${_param:openstack_proxy_control_address}
239 - ${_param:openstack_proxy_hostname}
240 - ${_param:openstack_proxy_hostname}.${_param:cluster_domain}
242 address: ${_param:openstack_proxy_node01_control_address}
244 - ${_param:openstack_proxy_node01_hostname}
245 - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain}
247 address: ${_param:openstack_proxy_node02_control_address}
249 - ${_param:openstack_proxy_node02_hostname}
250 - ${_param:openstack_proxy_node02_hostname}.${_param:cluster_domain}
252 address: ${_param:openstack_control_address}
254 - ${_param:openstack_control_hostname}
255 - ${_param:openstack_control_hostname}.${_param:cluster_domain}
257 address: ${_param:openstack_control_node01_address}
259 - ${_param:openstack_control_node01_hostname}
260 - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
262 address: ${_param:openstack_control_node02_address}
264 - ${_param:openstack_control_node02_hostname}
265 - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
267 address: ${_param:openstack_control_node03_address}
269 - ${_param:openstack_control_node03_hostname}
270 - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
272 address: ${_param:openstack_message_queue_address}
274 - ${_param:openstack_message_queue_hostname}
275 - ${_param:openstack_message_queue_hostname}.${_param:cluster_domain}
277 address: ${_param:openstack_message_queue_node01_address}
279 - ${_param:openstack_message_queue_node01_hostname}
280 - ${_param:openstack_message_queue_node01_hostname}.${_param:cluster_domain}
282 address: ${_param:openstack_message_queue_node02_address}
284 - ${_param:openstack_message_queue_node02_hostname}
285 - ${_param:openstack_message_queue_node02_hostname}.${_param:cluster_domain}
287 address: ${_param:openstack_message_queue_node03_address}
289 - ${_param:openstack_message_queue_node03_hostname}
290 - ${_param:openstack_message_queue_node03_hostname}.${_param:cluster_domain}
292 address: ${_param:openstack_database_address}
294 - ${_param:openstack_database_hostname}
295 - ${_param:openstack_database_hostname}.${_param:cluster_domain}
297 address: ${_param:openstack_database_node01_address}
299 - ${_param:openstack_database_node01_hostname}
300 - ${_param:openstack_database_node01_hostname}.${_param:cluster_domain}
302 address: ${_param:openstack_database_node02_address}
304 - ${_param:openstack_database_node02_hostname}
305 - ${_param:openstack_database_node02_hostname}.${_param:cluster_domain}
307 address: ${_param:openstack_database_node03_address}
309 - ${_param:openstack_database_node03_hostname}
310 - ${_param:openstack_database_node03_hostname}.${_param:cluster_domain}
312 address: ${_param:openstack_telemetry_address}
314 - ${_param:openstack_telemetry_hostname}
315 - ${_param:openstack_telemetry_hostname}.${_param:cluster_domain}
317 address: ${_param:openstack_telemetry_node01_address}
319 - ${_param:openstack_telemetry_node01_hostname}
320 - ${_param:openstack_telemetry_node01_hostname}.${_param:cluster_domain}
322 address: ${_param:openstack_telemetry_node02_address}
324 - ${_param:openstack_telemetry_node02_hostname}
325 - ${_param:openstack_telemetry_node02_hostname}.${_param:cluster_domain}
327 address: ${_param:openstack_telemetry_node03_address}
329 - ${_param:openstack_telemetry_node03_hostname}
330 - ${_param:openstack_telemetry_node03_hostname}.${_param:cluster_domain}
333 address: ${_param:openstack_control_address}
335 - ${_param:openstack_control_hostname}
336 - ${_param:openstack_control_hostname}.${_param:cluster_domain}
338 address: ${_param:openstack_control_node01_address}
340 - ${_param:openstack_control_node01_hostname}
341 - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
343 address: ${_param:openstack_control_node02_address}
345 - ${_param:openstack_control_node02_hostname}
346 - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
348 address: ${_param:openstack_control_node03_address}
350 - ${_param:openstack_control_node03_hostname}
351 - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
353 {#- For compute nodes, expand values in-place, bypassing reclass param expansion #}
354 {%- for cmp in range(1, nm.cmp_nodes + 1) %}
355 {%- set h = 'cmp%03d' | format(cmp) %}
356 {%- set mgmt = nm.net_mgmt_hosts | length + nm.start_ip[nm.net_mgmt] + loop.index %}
358 address: {{ nm.net_mgmt | ipnet_hostaddr(mgmt) }}
361 - {{ h }}.${_param:cluster_domain}