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 %}
13 openstack_version: queens
15 # openstack service addresses
16 {%- if conf.MCP_VCP %}
17 openstack_proxy_control_address: ${_param:opnfv_openstack_proxy_control_address}
18 openstack_proxy_node01_control_address: ${_param:opnfv_openstack_proxy_node01_control_address}
19 openstack_proxy_node02_control_address: ${_param:opnfv_openstack_proxy_node02_control_address}
21 openstack_proxy_control_address: ${_param:opnfv_openstack_control_address}
22 openstack_proxy_node01_control_address: ${_param:opnfv_openstack_control_node01_address}
23 openstack_proxy_node02_control_address: ${_param:opnfv_openstack_control_node03_address}
26 openstack_proxy_address: ${_param:opnfv_openstack_proxy_address}
27 openstack_proxy_node01_address: ${_param:opnfv_openstack_proxy_node01_address}
28 openstack_proxy_node02_address: ${_param:opnfv_openstack_proxy_node02_address}
30 openstack_control_address: ${_param:opnfv_openstack_control_address}
31 openstack_control_node01_address: ${_param:opnfv_openstack_control_node01_address}
32 openstack_control_node02_address: ${_param:opnfv_openstack_control_node02_address}
33 openstack_control_node03_address: ${_param:opnfv_openstack_control_node03_address}
35 {%- if conf.MCP_VCP %}
36 openstack_database_address: ${_param:opnfv_openstack_database_address}
37 openstack_database_node01_address: ${_param:opnfv_openstack_database_node01_address}
38 openstack_database_node02_address: ${_param:opnfv_openstack_database_node02_address}
39 openstack_database_node03_address: ${_param:opnfv_openstack_database_node03_address}
41 openstack_message_queue_address: ${_param:opnfv_openstack_message_queue_address}
42 openstack_message_queue_node01_address: ${_param:opnfv_openstack_message_queue_node01_address}
43 openstack_message_queue_node02_address: ${_param:opnfv_openstack_message_queue_node02_address}
44 openstack_message_queue_node03_address: ${_param:opnfv_openstack_message_queue_node03_address}
46 openstack_telemetry_address: ${_param:opnfv_openstack_telemetry_address}
47 openstack_telemetry_node01_address: ${_param:opnfv_openstack_telemetry_node01_address}
48 openstack_telemetry_node02_address: ${_param:opnfv_openstack_telemetry_node02_address}
49 openstack_telemetry_node03_address: ${_param:opnfv_openstack_telemetry_node03_address}
51 openstack_database_address: ${_param:openstack_control_address}
52 openstack_database_node01_address: ${_param:openstack_control_node01_address}
53 openstack_database_node02_address: ${_param:openstack_control_node02_address}
54 openstack_database_node03_address: ${_param:openstack_control_node03_address}
56 openstack_message_queue_address: ${_param:openstack_control_address}
57 openstack_message_queue_node01_address: ${_param:openstack_control_node01_address}
58 openstack_message_queue_node02_address: ${_param:openstack_control_node02_address}
59 openstack_message_queue_node03_address: ${_param:openstack_control_node03_address}
61 openstack_telemetry_address: ${_param:openstack_control_address}
62 openstack_telemetry_node01_address: ${_param:openstack_control_node01_address}
63 openstack_telemetry_node02_address: ${_param:openstack_control_node02_address}
64 openstack_telemetry_node03_address: ${_param:openstack_control_node03_address}
67 # openstack service hostnames
68 {%- if conf.MCP_VCP %}
69 openstack_proxy_hostname: prx
70 openstack_proxy_node01_hostname: prx01
71 openstack_proxy_node02_hostname: prx02
72 openstack_control_hostname: ctl
73 openstack_control_node01_hostname: ctl01
74 openstack_control_node02_hostname: ctl02
75 openstack_control_node03_hostname: ctl03
76 openstack_database_hostname: dbs
77 openstack_database_node01_hostname: dbs01
78 openstack_database_node02_hostname: dbs02
79 openstack_database_node03_hostname: dbs03
80 openstack_message_queue_hostname: msg
81 openstack_message_queue_node01_hostname: msg01
82 openstack_message_queue_node02_hostname: msg02
83 openstack_message_queue_node03_hostname: msg03
84 openstack_telemetry_hostname: mdb
85 openstack_telemetry_node01_hostname: mdb01
86 openstack_telemetry_node02_hostname: mdb02
87 openstack_telemetry_node03_hostname: mdb03
89 openstack_proxy_hostname: ${_param:openstack_control_hostname}
90 openstack_proxy_node01_hostname: ${_param:openstack_control_node01_hostname}
91 openstack_proxy_node02_hostname: ${_param:openstack_control_node03_hostname}
92 openstack_control_hostname: kvm
93 openstack_control_node01_hostname: kvm01
94 openstack_control_node02_hostname: kvm02
95 openstack_control_node03_hostname: kvm03
96 openstack_database_hostname: ${_param:openstack_control_hostname}
97 openstack_database_node01_hostname: ${_param:openstack_control_node01_hostname}
98 openstack_database_node02_hostname: ${_param:openstack_control_node02_hostname}
99 openstack_database_node03_hostname: ${_param:openstack_control_node03_hostname}
100 openstack_message_queue_hostname: ${_param:openstack_control_hostname}
101 openstack_message_queue_node01_hostname: ${_param:openstack_control_node01_hostname}
102 openstack_message_queue_node02_hostname: ${_param:openstack_control_node02_hostname}
103 openstack_message_queue_node03_hostname: ${_param:openstack_control_node03_hostname}
104 openstack_telemetry_hostname: ${_param:openstack_control_hostname}
105 openstack_telemetry_node01_hostname: ${_param:openstack_control_node01_hostname}
106 openstack_telemetry_node02_hostname: ${_param:openstack_control_node02_hostname}
107 openstack_telemetry_node03_hostname: ${_param:openstack_control_node03_hostname}
111 openstack_compute_node01_hostname: cmp001
112 openstack_compute_node02_hostname: cmp002
114 # opendaylight options
115 {%- if conf.MCP_VCP %}
116 opendaylight_server_node01_hostname: odl01
117 opendaylight_server_node01_single_address: ${_param:opnfv_opendaylight_server_node01_single_address}
119 opendaylight_control_hostname: ${_param:openstack_control_node02_hostname}
120 opendaylight_server_node01_hostname: ${_param:opendaylight_control_hostname}
121 opendaylight_server_node01_single_address: ${_param:opnfv_openstack_control_node02_address}
124 openstack_region: RegionOne
125 admin_email: root@localhost
126 db_connection_recycle_time: 300
128 neutron_control_dvr: 'False'
129 neutron_global_physnet_mtu: 1500
130 neutron_external_mtu: 1500
131 neutron_gateway_dvr: 'False'
132 neutron_gateway_agent_mode: legacy
133 neutron_compute_dvr: 'False'
134 neutron_compute_agent_mode: legacy
135 neutron_compute_external_access: 'True'
136 galera_server_cluster_name: openstack_cluster
137 galera_server_maintenance_password: opnfv_secret
138 galera_server_admin_password: opnfv_secret
139 rabbitmq_secret_key: opnfv_secret
140 rabbitmq_admin_password: opnfv_secret
141 rabbitmq_openstack_password: opnfv_secret
142 glance_version: ${_param:openstack_version}
143 glance_service_host: ${_param:openstack_control_address}
144 keystone_version: ${_param:openstack_version}
145 keystone_service_host: ${_param:openstack_control_address}
146 heat_version: ${_param:openstack_version}
147 heat_service_host: ${_param:openstack_control_address}
148 heat_domain_admin_password: opnfv_secret
149 cinder_version: ${_param:openstack_version}
150 cinder_service_host: ${_param:openstack_control_address}
151 ceilometer_version: ${_param:openstack_version}
152 ceilometer_service_host: ${_param:openstack_telemetry_address}
153 ceilometer_influxdb_password: opnfv_secret
154 nova_version: ${_param:openstack_version}
155 nova_service_host: ${_param:openstack_control_address}
156 neutron_version: ${_param:openstack_version}
157 neutron_service_host: ${_param:openstack_control_address}
158 {%- if conf.MCP_VCP %}
159 glusterfs_service_host: ${_param:infra_kvm_address}
161 glusterfs_service_host: ${_param:openstack_control_address}
163 mysql_admin_user: root
164 mysql_admin_password: opnfv_secret
165 mysql_cinder_password: opnfv_secret
166 mysql_ceilometer_password: opnfv_secret
167 mysql_glance_password: opnfv_secret
168 mysql_grafana_password: opnfv_secret
169 mysql_heat_password: opnfv_secret
170 mysql_keystone_password: opnfv_secret
171 mysql_neutron_password: opnfv_secret
172 mysql_nova_password: opnfv_secret
173 mysql_aodh_password: opnfv_secret
174 mysql_designate_password: opnfv_secret
175 aodh_version: ${_param:openstack_version}
176 keystone_aodh_password: opnfv_secret
177 keystone_service_token: opnfv_secret
178 keystone_admin_password: opnfv_secret
179 keystone_ceilometer_password: opnfv_secret
180 keystone_cinder_password: opnfv_secret
181 keystone_glance_password: opnfv_secret
182 keystone_heat_password: opnfv_secret
183 keystone_keystone_password: opnfv_secret
184 keystone_neutron_password: opnfv_secret
185 keystone_nova_password: opnfv_secret
186 keystone_designate_password: opnfv_secret
187 ceilometer_secret_key: opnfv_secret
188 horizon_version: ${_param:openstack_version}
189 horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e
190 horizon_identity_host: ${_param:openstack_control_address}
191 horizon_identity_encryption: none
192 horizon_identity_version: 3
193 metadata_password: opnfv_secret
194 openstack_telemetry_keepalived_password: opnfv_secret
195 aodh_service_host: ${_param:openstack_telemetry_address}
197 gnocchi_service_host: ${_param:openstack_telemetry_address}
198 mysql_gnocchi_password: opnfv_secret
199 keystone_gnocchi_password: opnfv_secret
200 panko_version: ${_param:openstack_version}
201 panko_service_host: ${_param:openstack_telemetry_address}
202 mysql_panko_password: opnfv_secret
203 keystone_panko_password: opnfv_secret
204 ceilometer_agent_default_polling_interval: 180
205 ceilometer_agent_default_polling_meters:
207 designate_service_host: ${_param:openstack_control_address}
208 designate_bind9_rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8H+z0fLLBunoitw==
209 designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
210 designate_pool_ns_records:
211 - hostname: 'ns1.example.org.'
213 designate_pool_nameservers:
214 - host: ${_param:openstack_control_node01_address}
216 - host: ${_param:openstack_control_node02_address}
218 - host: ${_param:openstack_control_node03_address}
220 designate_pool_target_type: bind9
221 designate_pool_target_masters:
222 - host: ${_param:openstack_control_node01_address}
224 - host: ${_param:openstack_control_node02_address}
226 - host: ${_param:openstack_control_node03_address}
228 designate_pool_target_options:
229 host: ${_param:openstack_control_node01_address}
231 rndc_host: ${_param:openstack_control_node01_address}
233 rndc_key_file: /etc/designate/rndc.key
234 designate_version: ${_param:openstack_version}
236 # keystone_billometer_password: opnfv_secret
237 # keystone_billometer_address: ${_param:billometer_service_host}
238 # billometer_service_host: ${_param:openstack_billing_address}
239 # billometer_version: ${_param:openstack_version}
240 # billometer_secret_key: opnfv_secretpasswordpasswordpassword
241 # billometer_identity_password: ${_param:keystone_billometer_password}
242 # billometer_identity_host: ${_param:openstack_control_address}
243 # billometer_identity_token: ${_param:keystone_service_token}
248 source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/${_param:openstack_version} main"
250 key_server: keyserver.ubuntu.com
252 - pin: 'release o=Canonical'
254 package: 'python-pymysql libvirt* *qemu*'
255 {%- if 'aarch64' in nm.cluster.arch %}
256 armband_3: # Should be in sync with the repo config generated via curtin/MaaS
257 source: "deb http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename} ${_param:openstack_version}-armband main"
259 - pin: 'release a=${_param:openstack_version}-armband'
265 net.ipv4.tcp_congestion_control: yeah
266 net.ipv4.tcp_slow_start_after_idle: 0
267 net.ipv4.tcp_fin_timeout: 30
273 {%- if conf.MCP_VCP %}
275 address: ${_param:openstack_proxy_control_address}
277 - ${_param:openstack_proxy_hostname}
278 - ${_param:openstack_proxy_hostname}.${_param:cluster_domain}
280 address: ${_param:openstack_proxy_node01_control_address}
282 - ${_param:openstack_proxy_node01_hostname}
283 - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain}
285 address: ${_param:openstack_proxy_node02_control_address}
287 - ${_param:openstack_proxy_node02_hostname}
288 - ${_param:openstack_proxy_node02_hostname}.${_param:cluster_domain}
290 address: ${_param:openstack_control_address}
292 - ${_param:openstack_control_hostname}
293 - ${_param:openstack_control_hostname}.${_param:cluster_domain}
295 address: ${_param:openstack_control_node01_address}
297 - ${_param:openstack_control_node01_hostname}
298 - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
300 address: ${_param:openstack_control_node02_address}
302 - ${_param:openstack_control_node02_hostname}
303 - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
305 address: ${_param:openstack_control_node03_address}
307 - ${_param:openstack_control_node03_hostname}
308 - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
310 address: ${_param:openstack_message_queue_address}
312 - ${_param:openstack_message_queue_hostname}
313 - ${_param:openstack_message_queue_hostname}.${_param:cluster_domain}
315 address: ${_param:openstack_message_queue_node01_address}
317 - ${_param:openstack_message_queue_node01_hostname}
318 - ${_param:openstack_message_queue_node01_hostname}.${_param:cluster_domain}
320 address: ${_param:openstack_message_queue_node02_address}
322 - ${_param:openstack_message_queue_node02_hostname}
323 - ${_param:openstack_message_queue_node02_hostname}.${_param:cluster_domain}
325 address: ${_param:openstack_message_queue_node03_address}
327 - ${_param:openstack_message_queue_node03_hostname}
328 - ${_param:openstack_message_queue_node03_hostname}.${_param:cluster_domain}
330 address: ${_param:openstack_database_address}
332 - ${_param:openstack_database_hostname}
333 - ${_param:openstack_database_hostname}.${_param:cluster_domain}
335 address: ${_param:openstack_database_node01_address}
337 - ${_param:openstack_database_node01_hostname}
338 - ${_param:openstack_database_node01_hostname}.${_param:cluster_domain}
340 address: ${_param:openstack_database_node02_address}
342 - ${_param:openstack_database_node02_hostname}
343 - ${_param:openstack_database_node02_hostname}.${_param:cluster_domain}
345 address: ${_param:openstack_database_node03_address}
347 - ${_param:openstack_database_node03_hostname}
348 - ${_param:openstack_database_node03_hostname}.${_param:cluster_domain}
350 address: ${_param:openstack_telemetry_address}
352 - ${_param:openstack_telemetry_hostname}
353 - ${_param:openstack_telemetry_hostname}.${_param:cluster_domain}
355 address: ${_param:openstack_telemetry_node01_address}
357 - ${_param:openstack_telemetry_node01_hostname}
358 - ${_param:openstack_telemetry_node01_hostname}.${_param:cluster_domain}
360 address: ${_param:openstack_telemetry_node02_address}
362 - ${_param:openstack_telemetry_node02_hostname}
363 - ${_param:openstack_telemetry_node02_hostname}.${_param:cluster_domain}
365 address: ${_param:openstack_telemetry_node03_address}
367 - ${_param:openstack_telemetry_node03_hostname}
368 - ${_param:openstack_telemetry_node03_hostname}.${_param:cluster_domain}
371 address: ${_param:openstack_control_address}
373 - ${_param:openstack_control_hostname}
374 - ${_param:openstack_control_hostname}.${_param:cluster_domain}
376 address: ${_param:openstack_control_node01_address}
378 - ${_param:openstack_control_node01_hostname}
379 - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
381 address: ${_param:openstack_control_node02_address}
383 - ${_param:openstack_control_node02_hostname}
384 - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
386 address: ${_param:openstack_control_node03_address}
388 - ${_param:openstack_control_node03_hostname}
389 - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
391 {#- For compute nodes, expand values in-place, bypassing reclass param expansion #}
392 {%- for cmp in range(1, nm.cmp_nodes + 1) %}
393 {%- set h = 'cmp%03d' | format(cmp) %}
394 {%- set mgmt = nm.net_mgmt_hosts | length + nm.start_ip[nm.net_mgmt] + loop.index %}
396 address: {{ nm.net_mgmt | ipnet_hostaddr(mgmt) }}
399 - {{ h }}.${_param:cluster_domain}