Merge "[cleanup] Move default storage dir to /var/lib"
[fuel.git] / mcp / reclass / classes / cluster / mcp-common-ha / openstack_init.yml.j2
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 %}
9 ---
10 parameters:
11   _param:
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}
17 {%- else %}
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}
21 {%- endif %}
22
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}
26
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}
31
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}
37
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}
42
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}
47 {%- else %}
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}
52
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}
57
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}
62 {%- endif %}
63
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
85 {%- else %}
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}
105 {%- endif %}
106
107     # openstack compute
108     openstack_compute_node01_hostname: cmp001
109     openstack_compute_node02_hostname: cmp002
110
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}
115 {%- else %}
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}
119 {%- endif %}
120
121     openstack_region: RegionOne
122     admin_email: root@localhost
123     db_connection_recycle_time: 300
124     # Neutron osv/nodvr
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}
157 {%- else %}
158     glusterfs_service_host: ${_param:openstack_control_address}
159 {%- endif %}
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
184
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
191
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}
201     gnocchi_version: 4.2
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:
211       - "*"
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.'
217         priority: 10
218     designate_pool_nameservers:
219       - host: ${_param:openstack_control_node01_address}
220         port: 53
221       - host: ${_param:openstack_control_node02_address}
222         port: 53
223       - host: ${_param:openstack_control_node03_address}
224         port: 53
225     designate_pool_target_type: bind9
226     designate_pool_target_masters:
227       - host: ${_param:openstack_control_node01_address}
228         port: 5354
229       - host: ${_param:openstack_control_node02_address}
230         port: 5354
231       - host: ${_param:openstack_control_node03_address}
232         port: 5354
233     designate_pool_target_options:
234       host: ${_param:openstack_control_node01_address}
235       port: 53
236       rndc_host: ${_param:openstack_control_node01_address}
237       rndc_port: 953
238       rndc_key_file: /etc/designate/rndc.key
239     designate_version: ${_param:openstack_version}
240     # Billing
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}
249   linux:
250     system:
251       repo:
252         uca:
253           source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/${_param:openstack_version} main"
254           key_id: EC4926EA
255           key_server: keyserver.ubuntu.com
256           pin:
257             - pin: 'release o=Canonical'
258               priority: 1200
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"
263           key_id: 798AB1D1
264           key_server: keys.gnupg.net
265           pin:
266             - pin: 'release a=${_param:openstack_version}-armband'
267               priority: 1201
268               package: '*'
269 {%- endif %}
270       kernel:
271         sysctl:
272           net.ipv4.tcp_congestion_control: yeah
273           net.ipv4.tcp_slow_start_after_idle: 0
274           net.ipv4.tcp_fin_timeout: 30
275       package:
276         python-tornado:
277           version: latest
278     network:
279       host:
280 {%- if conf.MCP_VCP %}
281         prx:
282           address: ${_param:openstack_proxy_control_address}
283           names:
284             - ${_param:openstack_proxy_hostname}
285             - ${_param:openstack_proxy_hostname}.${_param:cluster_domain}
286         prx01:
287           address: ${_param:openstack_proxy_node01_control_address}
288           names:
289             - ${_param:openstack_proxy_node01_hostname}
290             - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain}
291         prx02:
292           address: ${_param:openstack_proxy_node02_control_address}
293           names:
294             - ${_param:openstack_proxy_node02_hostname}
295             - ${_param:openstack_proxy_node02_hostname}.${_param:cluster_domain}
296         ctl:
297           address: ${_param:openstack_control_address}
298           names:
299             - ${_param:openstack_control_hostname}
300             - ${_param:openstack_control_hostname}.${_param:cluster_domain}
301         ctl01:
302           address: ${_param:openstack_control_node01_address}
303           names:
304             - ${_param:openstack_control_node01_hostname}
305             - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
306         ctl02:
307           address: ${_param:openstack_control_node02_address}
308           names:
309             - ${_param:openstack_control_node02_hostname}
310             - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
311         ctl03:
312           address: ${_param:openstack_control_node03_address}
313           names:
314             - ${_param:openstack_control_node03_hostname}
315             - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
316         msg:
317           address: ${_param:openstack_message_queue_address}
318           names:
319             - ${_param:openstack_message_queue_hostname}
320             - ${_param:openstack_message_queue_hostname}.${_param:cluster_domain}
321         msg01:
322           address: ${_param:openstack_message_queue_node01_address}
323           names:
324             - ${_param:openstack_message_queue_node01_hostname}
325             - ${_param:openstack_message_queue_node01_hostname}.${_param:cluster_domain}
326         msg02:
327           address: ${_param:openstack_message_queue_node02_address}
328           names:
329             - ${_param:openstack_message_queue_node02_hostname}
330             - ${_param:openstack_message_queue_node02_hostname}.${_param:cluster_domain}
331         msg03:
332           address: ${_param:openstack_message_queue_node03_address}
333           names:
334             - ${_param:openstack_message_queue_node03_hostname}
335             - ${_param:openstack_message_queue_node03_hostname}.${_param:cluster_domain}
336         dbs:
337           address: ${_param:openstack_database_address}
338           names:
339             - ${_param:openstack_database_hostname}
340             - ${_param:openstack_database_hostname}.${_param:cluster_domain}
341         dbs01:
342           address: ${_param:openstack_database_node01_address}
343           names:
344             - ${_param:openstack_database_node01_hostname}
345             - ${_param:openstack_database_node01_hostname}.${_param:cluster_domain}
346         dbs02:
347           address: ${_param:openstack_database_node02_address}
348           names:
349             - ${_param:openstack_database_node02_hostname}
350             - ${_param:openstack_database_node02_hostname}.${_param:cluster_domain}
351         dbs03:
352           address: ${_param:openstack_database_node03_address}
353           names:
354             - ${_param:openstack_database_node03_hostname}
355             - ${_param:openstack_database_node03_hostname}.${_param:cluster_domain}
356         mdb:
357           address: ${_param:openstack_telemetry_address}
358           names:
359             - ${_param:openstack_telemetry_hostname}
360             - ${_param:openstack_telemetry_hostname}.${_param:cluster_domain}
361         mdb01:
362           address: ${_param:openstack_telemetry_node01_address}
363           names:
364             - ${_param:openstack_telemetry_node01_hostname}
365             - ${_param:openstack_telemetry_node01_hostname}.${_param:cluster_domain}
366         mdb02:
367           address: ${_param:openstack_telemetry_node02_address}
368           names:
369             - ${_param:openstack_telemetry_node02_hostname}
370             - ${_param:openstack_telemetry_node02_hostname}.${_param:cluster_domain}
371         mdb03:
372           address: ${_param:openstack_telemetry_node03_address}
373           names:
374             - ${_param:openstack_telemetry_node03_hostname}
375             - ${_param:openstack_telemetry_node03_hostname}.${_param:cluster_domain}
376 {%- else %}
377         kvm:
378           address: ${_param:openstack_control_address}
379           names:
380             - ${_param:openstack_control_hostname}
381             - ${_param:openstack_control_hostname}.${_param:cluster_domain}
382         kvm01:
383           address: ${_param:openstack_control_node01_address}
384           names:
385             - ${_param:openstack_control_node01_hostname}
386             - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
387         kvm02:
388           address: ${_param:openstack_control_node02_address}
389           names:
390             - ${_param:openstack_control_node02_hostname}
391             - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
392         kvm03:
393           address: ${_param:openstack_control_node03_address}
394           names:
395             - ${_param:openstack_control_node03_hostname}
396             - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
397 {%- endif %}
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 %}
402         {{ h }}:
403           address: {{ nm.net_mgmt | ipnet_hostaddr(mgmt) }}
404           names:
405             - {{ h }}
406             - {{ h }}.${_param:cluster_domain}
407 {%- endfor %}