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 %}
12 # openstack service addresses
13 {%- if conf.MCP_VCP %}
14 openstack_proxy_control_address: ${_param:opnfv_openstack_proxy_control_address}
15 openstack_proxy_node01_control_address: ${_param:opnfv_openstack_proxy_node01_control_address}
16 openstack_proxy_node02_control_address: ${_param:opnfv_openstack_proxy_node02_control_address}
18 openstack_proxy_control_address: ${_param:opnfv_openstack_control_address}
19 openstack_proxy_node01_control_address: ${_param:opnfv_openstack_control_node01_address}
20 openstack_proxy_node02_control_address: ${_param:opnfv_openstack_control_node03_address}
23 openstack_proxy_address: ${_param:opnfv_openstack_proxy_address}
24 openstack_proxy_node01_address: ${_param:opnfv_openstack_proxy_node01_address}
25 openstack_proxy_node02_address: ${_param:opnfv_openstack_proxy_node02_address}
27 openstack_control_address: ${_param:opnfv_openstack_control_address}
28 openstack_control_node01_address: ${_param:opnfv_openstack_control_node01_address}
29 openstack_control_node02_address: ${_param:opnfv_openstack_control_node02_address}
30 openstack_control_node03_address: ${_param:opnfv_openstack_control_node03_address}
32 {%- if conf.MCP_VCP %}
33 openstack_database_address: ${_param:opnfv_openstack_database_address}
34 openstack_database_node01_address: ${_param:opnfv_openstack_database_node01_address}
35 openstack_database_node02_address: ${_param:opnfv_openstack_database_node02_address}
36 openstack_database_node03_address: ${_param:opnfv_openstack_database_node03_address}
38 openstack_message_queue_address: ${_param:opnfv_openstack_message_queue_address}
39 openstack_message_queue_node01_address: ${_param:opnfv_openstack_message_queue_node01_address}
40 openstack_message_queue_node02_address: ${_param:opnfv_openstack_message_queue_node02_address}
41 openstack_message_queue_node03_address: ${_param:opnfv_openstack_message_queue_node03_address}
43 openstack_telemetry_address: ${_param:opnfv_openstack_telemetry_address}
44 openstack_telemetry_node01_address: ${_param:opnfv_openstack_telemetry_node01_address}
45 openstack_telemetry_node02_address: ${_param:opnfv_openstack_telemetry_node02_address}
46 openstack_telemetry_node03_address: ${_param:opnfv_openstack_telemetry_node03_address}
48 openstack_database_address: ${_param:openstack_control_address}
49 openstack_database_node01_address: ${_param:openstack_control_node01_address}
50 openstack_database_node02_address: ${_param:openstack_control_node02_address}
51 openstack_database_node03_address: ${_param:openstack_control_node03_address}
53 openstack_message_queue_address: ${_param:openstack_control_address}
54 openstack_message_queue_node01_address: ${_param:openstack_control_node01_address}
55 openstack_message_queue_node02_address: ${_param:openstack_control_node02_address}
56 openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}
58 openstack_telemetry_address: ${_param:openstack_control_address}
59 openstack_telemetry_node01_address: ${_param:openstack_control_node01_address}
60 openstack_telemetry_node02_address: ${_param:openstack_control_node02_address}
61 openstack_telemetry_node03_address: ${_param:openstack_control_node03_address}
64 # openstack service hostnames
65 {%- if conf.MCP_VCP %}
66 openstack_proxy_hostname: prx
67 openstack_proxy_node01_hostname: prx01
68 openstack_proxy_node02_hostname: prx02
69 openstack_control_hostname: ctl
70 openstack_control_node01_hostname: ctl01
71 openstack_control_node02_hostname: ctl02
72 openstack_control_node03_hostname: ctl03
73 openstack_database_hostname: dbs
74 openstack_database_node01_hostname: dbs01
75 openstack_database_node02_hostname: dbs02
76 openstack_database_node03_hostname: dbs03
77 openstack_message_queue_hostname: msg
78 openstack_message_queue_node01_hostname: msg01
79 openstack_message_queue_node02_hostname: msg02
80 openstack_message_queue_node03_hostname: msg03
81 openstack_telemetry_hostname: mdb
82 openstack_telemetry_node01_hostname: mdb01
83 openstack_telemetry_node02_hostname: mdb02
84 openstack_telemetry_node03_hostname: mdb03
86 openstack_proxy_hostname: ${_param:openstack_control_hostname}
87 openstack_proxy_node01_hostname: ${_param:openstack_control_node01_hostname}
88 openstack_proxy_node02_hostname: ${_param:openstack_control_node03_hostname}
89 openstack_control_hostname: kvm
90 openstack_control_node01_hostname: kvm01
91 openstack_control_node02_hostname: kvm02
92 openstack_control_node03_hostname: kvm03
93 openstack_database_hostname: ${_param:openstack_control_hostname}
94 openstack_database_node01_hostname: ${_param:openstack_control_node01_hostname}
95 openstack_database_node02_hostname: ${_param:openstack_control_node02_hostname}
96 openstack_database_node03_hostname: ${_param:openstack_control_node03_hostname}
97 openstack_message_queue_hostname: ${_param:openstack_control_hostname}
98 openstack_message_queue_node01_hostname: ${_param:openstack_control_node01_hostname}
99 openstack_message_queue_node02_hostname: ${_param:openstack_control_node02_hostname}
100 openstack_message_queue_node03_hostname: ${_param:openstack_control_node03_hostname}
101 openstack_telemetry_hostname: ${_param:openstack_control_hostname}
102 openstack_telemetry_node01_hostname: ${_param:openstack_control_node01_hostname}
103 openstack_telemetry_node02_hostname: ${_param:openstack_control_node02_hostname}
104 openstack_telemetry_node03_hostname: ${_param:openstack_control_node03_hostname}
108 openstack_compute_node01_hostname: cmp001
109 openstack_compute_node02_hostname: cmp002
111 # opendaylight options
112 {%- if conf.MCP_VCP %}
113 opendaylight_server_node01_hostname: odl01
114 opendaylight_server_node01_single_address: ${_param:opnfv_opendaylight_server_node01_single_address}
116 opendaylight_control_hostname: ${_param:openstack_control_node02_hostname}
117 opendaylight_server_node01_hostname: ${_param:opendaylight_control_hostname}
118 opendaylight_server_node01_single_address: ${_param:opnfv_openstack_control_node02_address}
121 openstack_region: RegionOne
122 admin_email: root@localhost
123 db_connection_recycle_time: 300
125 neutron_control_dvr: 'False'
126 neutron_global_physnet_mtu: 1500
127 neutron_external_mtu: 1500
128 neutron_gateway_dvr: 'False'
129 neutron_gateway_agent_mode: legacy
130 neutron_compute_dvr: 'False'
131 neutron_compute_agent_mode: legacy
132 neutron_compute_external_access: 'True'
133 galera_server_cluster_name: openstack_cluster
134 galera_server_maintenance_password: opnfv_secret
135 galera_server_admin_password: opnfv_secret
136 rabbitmq_secret_key: opnfv_secret
137 rabbitmq_admin_password: opnfv_secret
138 rabbitmq_openstack_password: opnfv_secret
139 glance_version: ${_param:openstack_version}
140 glance_service_host: ${_param:openstack_control_address}
141 keystone_version: ${_param:openstack_version}
142 keystone_service_host: ${_param:openstack_control_address}
143 heat_version: ${_param:openstack_version}
144 heat_service_host: ${_param:openstack_control_address}
145 heat_domain_admin_password: opnfv_secret
146 cinder_version: ${_param:openstack_version}
147 cinder_service_host: ${_param:openstack_control_address}
148 ceilometer_version: ${_param:openstack_version}
149 ceilometer_service_host: ${_param:openstack_telemetry_address}
150 ceilometer_influxdb_password: opnfv_secret
151 nova_version: ${_param:openstack_version}
152 nova_service_host: ${_param:openstack_control_address}
153 neutron_version: ${_param:openstack_version}
154 neutron_service_host: ${_param:openstack_control_address}
155 {%- if conf.MCP_VCP %}
156 glusterfs_service_host: ${_param:infra_kvm_address}
158 glusterfs_service_host: ${_param:openstack_control_address}
160 mysql_admin_user: root
161 mysql_admin_password: opnfv_secret
162 mysql_cinder_password: opnfv_secret
163 mysql_ceilometer_password: opnfv_secret
164 mysql_glance_password: opnfv_secret
165 mysql_grafana_password: opnfv_secret
166 mysql_heat_password: opnfv_secret
167 mysql_keystone_password: opnfv_secret
168 mysql_neutron_password: opnfv_secret
169 mysql_nova_password: opnfv_secret
170 mysql_aodh_password: opnfv_secret
171 mysql_designate_password: opnfv_secret
172 aodh_version: ${_param:openstack_version}
173 keystone_aodh_password: opnfv_secret
174 keystone_service_token: opnfv_secret
175 keystone_admin_password: opnfv_secret
176 keystone_ceilometer_password: opnfv_secret
177 keystone_cinder_password: opnfv_secret
178 keystone_glance_password: opnfv_secret
179 keystone_heat_password: opnfv_secret
180 keystone_keystone_password: opnfv_secret
181 keystone_neutron_password: opnfv_secret
182 keystone_nova_password: opnfv_secret
183 keystone_designate_password: opnfv_secret
185 barbican_version: ${_param:openstack_version}
186 barbican_service_host: ${_param:openstack_control_address}
187 mysql_barbican_password: opnfv_secret
188 keystone_barbican_password: opnfv_secret
189 barbican_simple_crypto_kek: "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY="
190 barbican_integration_enabled: true
192 ceilometer_secret_key: opnfv_secret
193 horizon_version: ${_param:openstack_version}
194 horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e
195 horizon_identity_host: ${_param:openstack_control_address}
196 horizon_identity_encryption: none
197 horizon_identity_version: 3
198 metadata_password: opnfv_secret
199 openstack_telemetry_keepalived_password: opnfv_secret
200 aodh_service_host: ${_param:openstack_telemetry_address}
202 gnocchi_service_host: ${_param:openstack_telemetry_address}
203 mysql_gnocchi_password: opnfv_secret
204 keystone_gnocchi_password: opnfv_secret
205 panko_version: ${_param:openstack_version}
206 panko_service_host: ${_param:openstack_telemetry_address}
207 mysql_panko_password: opnfv_secret
208 keystone_panko_password: opnfv_secret
209 ceilometer_agent_default_polling_interval: 180
210 ceilometer_agent_default_polling_meters:
212 designate_service_host: ${_param:openstack_control_address}
213 designate_bind9_rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8H+z0fLLBunoitw==
214 designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
215 designate_pool_ns_records:
216 - hostname: 'ns1.example.org.'
218 designate_pool_nameservers:
219 - host: ${_param:openstack_control_node01_address}
221 - host: ${_param:openstack_control_node02_address}
223 - host: ${_param:openstack_control_node03_address}
225 designate_pool_target_type: bind9
226 designate_pool_target_masters:
227 - host: ${_param:openstack_control_node01_address}
229 - host: ${_param:openstack_control_node02_address}
231 - host: ${_param:openstack_control_node03_address}
233 designate_pool_target_options:
234 host: ${_param:openstack_control_node01_address}
236 rndc_host: ${_param:openstack_control_node01_address}
238 rndc_key_file: /etc/designate/rndc.key
239 designate_version: ${_param:openstack_version}
241 # keystone_billometer_password: opnfv_secret
242 # keystone_billometer_address: ${_param:billometer_service_host}
243 # billometer_service_host: ${_param:openstack_billing_address}
244 # billometer_version: ${_param:openstack_version}
245 # billometer_secret_key: opnfv_secretpasswordpasswordpassword
246 # billometer_identity_password: ${_param:keystone_billometer_password}
247 # billometer_identity_host: ${_param:openstack_control_address}
248 # billometer_identity_token: ${_param:keystone_service_token}
253 source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/${_param:openstack_version} main"
255 key_server: keyserver.ubuntu.com
257 - pin: 'release o=Canonical'
259 package: 'libvirt* qemu* openvswitch* python-openvswitch ovn* dpdk* libdpdk*'
260 {%- if 'aarch64' in nm.cluster.arch %}
261 armband_3: # Should be in sync with the repo config generated via curtin/MaaS
262 source: "deb http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename} ${_param:openstack_version}-armband main"
264 key_server: keys.gnupg.net
266 - pin: 'release a=${_param:openstack_version}-armband'
272 net.ipv4.tcp_congestion_control: yeah
273 net.ipv4.tcp_slow_start_after_idle: 0
274 net.ipv4.tcp_fin_timeout: 30
280 {%- if conf.MCP_VCP %}
282 address: ${_param:openstack_proxy_control_address}
284 - ${_param:openstack_proxy_hostname}
285 - ${_param:openstack_proxy_hostname}.${_param:cluster_domain}
287 address: ${_param:openstack_proxy_node01_control_address}
289 - ${_param:openstack_proxy_node01_hostname}
290 - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain}
292 address: ${_param:openstack_proxy_node02_control_address}
294 - ${_param:openstack_proxy_node02_hostname}
295 - ${_param:openstack_proxy_node02_hostname}.${_param:cluster_domain}
297 address: ${_param:openstack_control_address}
299 - ${_param:openstack_control_hostname}
300 - ${_param:openstack_control_hostname}.${_param:cluster_domain}
302 address: ${_param:openstack_control_node01_address}
304 - ${_param:openstack_control_node01_hostname}
305 - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
307 address: ${_param:openstack_control_node02_address}
309 - ${_param:openstack_control_node02_hostname}
310 - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
312 address: ${_param:openstack_control_node03_address}
314 - ${_param:openstack_control_node03_hostname}
315 - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
317 address: ${_param:openstack_message_queue_address}
319 - ${_param:openstack_message_queue_hostname}
320 - ${_param:openstack_message_queue_hostname}.${_param:cluster_domain}
322 address: ${_param:openstack_message_queue_node01_address}
324 - ${_param:openstack_message_queue_node01_hostname}
325 - ${_param:openstack_message_queue_node01_hostname}.${_param:cluster_domain}
327 address: ${_param:openstack_message_queue_node02_address}
329 - ${_param:openstack_message_queue_node02_hostname}
330 - ${_param:openstack_message_queue_node02_hostname}.${_param:cluster_domain}
332 address: ${_param:openstack_message_queue_node03_address}
334 - ${_param:openstack_message_queue_node03_hostname}
335 - ${_param:openstack_message_queue_node03_hostname}.${_param:cluster_domain}
337 address: ${_param:openstack_database_address}
339 - ${_param:openstack_database_hostname}
340 - ${_param:openstack_database_hostname}.${_param:cluster_domain}
342 address: ${_param:openstack_database_node01_address}
344 - ${_param:openstack_database_node01_hostname}
345 - ${_param:openstack_database_node01_hostname}.${_param:cluster_domain}
347 address: ${_param:openstack_database_node02_address}
349 - ${_param:openstack_database_node02_hostname}
350 - ${_param:openstack_database_node02_hostname}.${_param:cluster_domain}
352 address: ${_param:openstack_database_node03_address}
354 - ${_param:openstack_database_node03_hostname}
355 - ${_param:openstack_database_node03_hostname}.${_param:cluster_domain}
357 address: ${_param:openstack_telemetry_address}
359 - ${_param:openstack_telemetry_hostname}
360 - ${_param:openstack_telemetry_hostname}.${_param:cluster_domain}
362 address: ${_param:openstack_telemetry_node01_address}
364 - ${_param:openstack_telemetry_node01_hostname}
365 - ${_param:openstack_telemetry_node01_hostname}.${_param:cluster_domain}
367 address: ${_param:openstack_telemetry_node02_address}
369 - ${_param:openstack_telemetry_node02_hostname}
370 - ${_param:openstack_telemetry_node02_hostname}.${_param:cluster_domain}
372 address: ${_param:openstack_telemetry_node03_address}
374 - ${_param:openstack_telemetry_node03_hostname}
375 - ${_param:openstack_telemetry_node03_hostname}.${_param:cluster_domain}
378 address: ${_param:openstack_control_address}
380 - ${_param:openstack_control_hostname}
381 - ${_param:openstack_control_hostname}.${_param:cluster_domain}
383 address: ${_param:openstack_control_node01_address}
385 - ${_param:openstack_control_node01_hostname}
386 - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
388 address: ${_param:openstack_control_node02_address}
390 - ${_param:openstack_control_node02_hostname}
391 - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
393 address: ${_param:openstack_control_node03_address}
395 - ${_param:openstack_control_node03_hostname}
396 - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
398 {#- For compute nodes, expand values in-place, bypassing reclass param expansion #}
399 {%- for cmp in range(1, nm.cmp_nodes + 1) %}
400 {%- set h = 'cmp%03d' | format(cmp) %}
401 {%- set mgmt = nm.net_mgmt_hosts | length + nm.start_ip[nm.net_mgmt] + loop.index %}
403 address: {{ nm.net_mgmt | ipnet_hostaddr(mgmt) }}
406 - {{ h }}.${_param:cluster_domain}