Merge "[ha] AArch64: Add missing GPG key for armband repo"
[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
13     openstack_version: queens
14
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}
20 {%- else %}
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}
24 {%- endif %}
25
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}
29
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}
34
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}
40
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}
45
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}
50 {%- else %}
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}
55
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}
60
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}
65 {%- endif %}
66
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
88 {%- else %}
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}
108 {%- endif %}
109
110     # openstack compute
111     openstack_compute_node01_hostname: cmp001
112     openstack_compute_node02_hostname: cmp002
113
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}
118 {%- else %}
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}
122 {%- endif %}
123
124     openstack_region: RegionOne
125     admin_email: root@localhost
126     db_connection_recycle_time: 300
127     # Neutron osv/nodvr
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}
160 {%- else %}
161     glusterfs_service_host: ${_param:openstack_control_address}
162 {%- endif %}
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
188     barbican_version: ${_param:openstack_version}
189     barbican_service_host: ${_param:openstack_control_address}
190     mysql_barbican_password: opnfv_secret
191     keystone_barbican_password: opnfv_secret
192     barbican_simple_crypto_kek: "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoxMjM0NTY="
193     barbican_integration_enabled: false
194
195     ceilometer_secret_key: opnfv_secret
196     horizon_version: ${_param:openstack_version}
197     horizon_secret_key: opaesee8Que2yahJoh9fo0eefo1Aeyo6ahyei8zeiboh3aeth5loth7ieNa5xi5e
198     horizon_identity_host: ${_param:openstack_control_address}
199     horizon_identity_encryption: none
200     horizon_identity_version: 3
201     metadata_password: opnfv_secret
202     openstack_telemetry_keepalived_password: opnfv_secret
203     aodh_service_host: ${_param:openstack_telemetry_address}
204     gnocchi_version: 4.2
205     gnocchi_service_host: ${_param:openstack_telemetry_address}
206     mysql_gnocchi_password: opnfv_secret
207     keystone_gnocchi_password: opnfv_secret
208     panko_version: ${_param:openstack_version}
209     panko_service_host: ${_param:openstack_telemetry_address}
210     mysql_panko_password: opnfv_secret
211     keystone_panko_password: opnfv_secret
212     ceilometer_agent_default_polling_interval: 180
213     ceilometer_agent_default_polling_meters:
214       - "*"
215     designate_service_host: ${_param:openstack_control_address}
216     designate_bind9_rndc_key: 4pc+X4PDqb2q+5o72dISm72LM1Ds9X2EYZjqg+nmsS7FhdTwzFFY8l/iEDmHxnyjkA33EQC8H+z0fLLBunoitw==
217     designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
218     designate_pool_ns_records:
219       - hostname: 'ns1.example.org.'
220         priority: 10
221     designate_pool_nameservers:
222       - host: ${_param:openstack_control_node01_address}
223         port: 53
224       - host: ${_param:openstack_control_node02_address}
225         port: 53
226       - host: ${_param:openstack_control_node03_address}
227         port: 53
228     designate_pool_target_type: bind9
229     designate_pool_target_masters:
230       - host: ${_param:openstack_control_node01_address}
231         port: 5354
232       - host: ${_param:openstack_control_node02_address}
233         port: 5354
234       - host: ${_param:openstack_control_node03_address}
235         port: 5354
236     designate_pool_target_options:
237       host: ${_param:openstack_control_node01_address}
238       port: 53
239       rndc_host: ${_param:openstack_control_node01_address}
240       rndc_port: 953
241       rndc_key_file: /etc/designate/rndc.key
242     designate_version: ${_param:openstack_version}
243     # Billing
244     # keystone_billometer_password: opnfv_secret
245     # keystone_billometer_address: ${_param:billometer_service_host}
246     # billometer_service_host: ${_param:openstack_billing_address}
247     # billometer_version: ${_param:openstack_version}
248     # billometer_secret_key: opnfv_secretpasswordpasswordpassword
249     # billometer_identity_password: ${_param:keystone_billometer_password}
250     # billometer_identity_host: ${_param:openstack_control_address}
251     # billometer_identity_token: ${_param:keystone_service_token}
252   linux:
253     system:
254       repo:
255         uca:
256           source: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/${_param:openstack_version} main"
257           key_id: EC4926EA
258           key_server: keyserver.ubuntu.com
259           pin:
260             - pin: 'release o=Canonical'
261               priority: 1200
262               package: 'python-pymysql libvirt* *qemu*'
263 {%- if 'aarch64' in nm.cluster.arch %}
264         armband_3:  # Should be in sync with the repo config generated via curtin/MaaS
265           source: "deb http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename} ${_param:openstack_version}-armband main"
266           key_id: 798AB1D1
267           key_server: keys.gnupg.net
268           pin:
269             - pin: 'release a=${_param:openstack_version}-armband'
270               priority: 1201
271               package: '*'
272 {%- endif %}
273       kernel:
274         sysctl:
275           net.ipv4.tcp_congestion_control: yeah
276           net.ipv4.tcp_slow_start_after_idle: 0
277           net.ipv4.tcp_fin_timeout: 30
278       package:
279         python-tornado:
280           version: latest
281     network:
282       host:
283 {%- if conf.MCP_VCP %}
284         prx:
285           address: ${_param:openstack_proxy_control_address}
286           names:
287             - ${_param:openstack_proxy_hostname}
288             - ${_param:openstack_proxy_hostname}.${_param:cluster_domain}
289         prx01:
290           address: ${_param:openstack_proxy_node01_control_address}
291           names:
292             - ${_param:openstack_proxy_node01_hostname}
293             - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain}
294         prx02:
295           address: ${_param:openstack_proxy_node02_control_address}
296           names:
297             - ${_param:openstack_proxy_node02_hostname}
298             - ${_param:openstack_proxy_node02_hostname}.${_param:cluster_domain}
299         ctl:
300           address: ${_param:openstack_control_address}
301           names:
302             - ${_param:openstack_control_hostname}
303             - ${_param:openstack_control_hostname}.${_param:cluster_domain}
304         ctl01:
305           address: ${_param:openstack_control_node01_address}
306           names:
307             - ${_param:openstack_control_node01_hostname}
308             - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
309         ctl02:
310           address: ${_param:openstack_control_node02_address}
311           names:
312             - ${_param:openstack_control_node02_hostname}
313             - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
314         ctl03:
315           address: ${_param:openstack_control_node03_address}
316           names:
317             - ${_param:openstack_control_node03_hostname}
318             - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
319         msg:
320           address: ${_param:openstack_message_queue_address}
321           names:
322             - ${_param:openstack_message_queue_hostname}
323             - ${_param:openstack_message_queue_hostname}.${_param:cluster_domain}
324         msg01:
325           address: ${_param:openstack_message_queue_node01_address}
326           names:
327             - ${_param:openstack_message_queue_node01_hostname}
328             - ${_param:openstack_message_queue_node01_hostname}.${_param:cluster_domain}
329         msg02:
330           address: ${_param:openstack_message_queue_node02_address}
331           names:
332             - ${_param:openstack_message_queue_node02_hostname}
333             - ${_param:openstack_message_queue_node02_hostname}.${_param:cluster_domain}
334         msg03:
335           address: ${_param:openstack_message_queue_node03_address}
336           names:
337             - ${_param:openstack_message_queue_node03_hostname}
338             - ${_param:openstack_message_queue_node03_hostname}.${_param:cluster_domain}
339         dbs:
340           address: ${_param:openstack_database_address}
341           names:
342             - ${_param:openstack_database_hostname}
343             - ${_param:openstack_database_hostname}.${_param:cluster_domain}
344         dbs01:
345           address: ${_param:openstack_database_node01_address}
346           names:
347             - ${_param:openstack_database_node01_hostname}
348             - ${_param:openstack_database_node01_hostname}.${_param:cluster_domain}
349         dbs02:
350           address: ${_param:openstack_database_node02_address}
351           names:
352             - ${_param:openstack_database_node02_hostname}
353             - ${_param:openstack_database_node02_hostname}.${_param:cluster_domain}
354         dbs03:
355           address: ${_param:openstack_database_node03_address}
356           names:
357             - ${_param:openstack_database_node03_hostname}
358             - ${_param:openstack_database_node03_hostname}.${_param:cluster_domain}
359         mdb:
360           address: ${_param:openstack_telemetry_address}
361           names:
362             - ${_param:openstack_telemetry_hostname}
363             - ${_param:openstack_telemetry_hostname}.${_param:cluster_domain}
364         mdb01:
365           address: ${_param:openstack_telemetry_node01_address}
366           names:
367             - ${_param:openstack_telemetry_node01_hostname}
368             - ${_param:openstack_telemetry_node01_hostname}.${_param:cluster_domain}
369         mdb02:
370           address: ${_param:openstack_telemetry_node02_address}
371           names:
372             - ${_param:openstack_telemetry_node02_hostname}
373             - ${_param:openstack_telemetry_node02_hostname}.${_param:cluster_domain}
374         mdb03:
375           address: ${_param:openstack_telemetry_node03_address}
376           names:
377             - ${_param:openstack_telemetry_node03_hostname}
378             - ${_param:openstack_telemetry_node03_hostname}.${_param:cluster_domain}
379 {%- else %}
380         kvm:
381           address: ${_param:openstack_control_address}
382           names:
383             - ${_param:openstack_control_hostname}
384             - ${_param:openstack_control_hostname}.${_param:cluster_domain}
385         kvm01:
386           address: ${_param:openstack_control_node01_address}
387           names:
388             - ${_param:openstack_control_node01_hostname}
389             - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
390         kvm02:
391           address: ${_param:openstack_control_node02_address}
392           names:
393             - ${_param:openstack_control_node02_hostname}
394             - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
395         kvm03:
396           address: ${_param:openstack_control_node03_address}
397           names:
398             - ${_param:openstack_control_node03_hostname}
399             - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
400 {%- endif %}
401 {#- For compute nodes, expand values in-place, bypassing reclass param expansion #}
402 {%- for cmp in range(1, nm.cmp_nodes + 1) %}
403   {%- set h = 'cmp%03d' | format(cmp) %}
404   {%- set mgmt = nm.net_mgmt_hosts | length + nm.start_ip[nm.net_mgmt] + loop.index %}
405         {{ h }}:
406           address: {{ nm.net_mgmt | ipnet_hostaddr(mgmt) }}
407           names:
408             - {{ h }}
409             - {{ h }}.${_param:cluster_domain}
410 {%- endfor %}