aarch64: Pin qemu-efi from Armband repos
[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     openstack_region: RegionOne
112     admin_email: root@localhost
113     db_connection_recycle_time: 300
114     # Neutron osv/nodvr
115     neutron_control_dvr: 'False'
116     neutron_global_physnet_mtu: 1500
117     neutron_external_mtu: 1500
118     neutron_gateway_dvr: 'False'
119     neutron_gateway_agent_mode: legacy
120     neutron_compute_dvr: 'False'
121     neutron_compute_agent_mode: legacy
122     neutron_compute_external_access: 'True'
123     galera_server_cluster_name: openstack_cluster
124     glance_version: ${_param:openstack_version}
125     glance_service_host: ${_param:openstack_control_address}
126     keystone_version: ${_param:openstack_version}
127     keystone_service_host: ${_param:openstack_control_address}
128     heat_version: ${_param:openstack_version}
129     heat_service_host: ${_param:openstack_control_address}
130     cinder_version: ${_param:openstack_version}
131     cinder_service_host: ${_param:openstack_control_address}
132     ceilometer_version: ${_param:openstack_version}
133     ceilometer_service_host: ${_param:openstack_telemetry_address}
134     nova_version: ${_param:openstack_version}
135     nova_service_host: ${_param:openstack_control_address}
136     neutron_version: ${_param:openstack_version}
137     neutron_service_host: ${_param:openstack_control_address}
138 {%- if conf.MCP_VCP %}
139     glusterfs_service_host: ${_param:infra_kvm_address}
140 {%- else %}
141     glusterfs_service_host: ${_param:openstack_control_address}
142 {%- endif %}
143     mysql_admin_user: root
144     aodh_version: ${_param:openstack_version}
145     barbican_version: ${_param:openstack_version}
146     barbican_service_host: ${_param:openstack_control_address}
147     apache_barbican_api_address: ${_param:single_address}
148     barbican_integration_enabled: true
149     horizon_version: ${_param:openstack_version}
150     horizon_identity_host: ${_param:openstack_control_address}
151     horizon_identity_encryption: none
152     horizon_identity_version: 3
153     apache_mods_status_enabled: false
154     nginx_server_site_nginx_proxy_openstack_web_enabled: true
155     aodh_service_host: ${_param:openstack_telemetry_address}
156     gnocchi_version: 4.3
157     gnocchi_service_host: ${_param:openstack_telemetry_address}
158     panko_version: ${_param:openstack_version}
159     panko_service_host: ${_param:openstack_telemetry_address}
160     ceilometer_agent_default_polling_interval: 180
161     ceilometer_agent_default_polling_meters:
162       - "*"
163     designate_service_host: ${_param:openstack_control_address}
164     designate_domain_id: 5186883b-91fb-4891-bd49-e6769234a8fc
165     designate_pool_ns_records:
166       - hostname: 'ns1.example.org.'
167         priority: 10
168     designate_pool_nameservers:
169       - host: ${_param:openstack_control_node01_address}
170         port: 53
171       - host: ${_param:openstack_control_node02_address}
172         port: 53
173       - host: ${_param:openstack_control_node03_address}
174         port: 53
175     designate_pool_target_type: bind9
176     designate_pool_target_masters:
177       - host: ${_param:openstack_control_node01_address}
178         port: 5354
179       - host: ${_param:openstack_control_node02_address}
180         port: 5354
181       - host: ${_param:openstack_control_node03_address}
182         port: 5354
183     designate_pool_target_options:
184       host: ${_param:openstack_control_node01_address}
185       port: 53
186       rndc_host: ${_param:openstack_control_node01_address}
187       rndc_port: 953
188       rndc_key_file: /etc/designate/rndc.key
189     designate_version: ${_param:openstack_version}
190     # Billing
191     # keystone_billometer_password: opnfv_secret
192     # keystone_billometer_address: ${_param:billometer_service_host}
193     # billometer_service_host: ${_param:openstack_billing_address}
194     # billometer_version: ${_param:openstack_version}
195     # billometer_secret_key: opnfv_secretpasswordpasswordpassword
196     # billometer_identity_password: ${_param:keystone_billometer_password}
197     # billometer_identity_host: ${_param:openstack_control_address}
198     # billometer_identity_token: ${_param:keystone_service_token}
199   linux:
200     system:
201 {%- if 'aarch64' in nm.cluster.arch %}
202       repo:
203         armband_3:  # Should be in sync with the repo config generated via curtin/MaaS
204           source: "deb http://linux.enea.com/mcp-repos/${_param:armband_repo_version}/xenial ${_param:armband_repo_version}-armband main"
205           key: ${_param:armband_key}
206           pinning:
207             15:
208               enabled: true
209               pin: 'release a=${_param:armband_repo_version}-armband'
210               priority: 15
211               package: '*'
212             1200:
213               enabled: true
214               pin: 'release a=${_param:armband_repo_version}-armband'
215               priority: 1200
216               package: 'qemu-efi'
217 {%- endif %}
218       kernel:
219         sysctl:
220           net.ipv4.tcp_congestion_control: yeah
221           net.ipv4.tcp_slow_start_after_idle: 0
222           net.ipv4.tcp_fin_timeout: 30
223       package:
224         python-tornado:
225           version: latest
226     network:
227       host:
228 {%- if conf.MCP_VCP %}
229         prx:
230           address: ${_param:openstack_proxy_control_address}
231           names:
232             - ${_param:openstack_proxy_hostname}
233             - ${_param:openstack_proxy_hostname}.${_param:cluster_domain}
234         prx01:
235           address: ${_param:openstack_proxy_node01_control_address}
236           names:
237             - ${_param:openstack_proxy_node01_hostname}
238             - ${_param:openstack_proxy_node01_hostname}.${_param:cluster_domain}
239         prx02:
240           address: ${_param:openstack_proxy_node02_control_address}
241           names:
242             - ${_param:openstack_proxy_node02_hostname}
243             - ${_param:openstack_proxy_node02_hostname}.${_param:cluster_domain}
244         ctl:
245           address: ${_param:openstack_control_address}
246           names:
247             - ${_param:openstack_control_hostname}
248             - ${_param:openstack_control_hostname}.${_param:cluster_domain}
249         ctl01:
250           address: ${_param:openstack_control_node01_address}
251           names:
252             - ${_param:openstack_control_node01_hostname}
253             - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
254         ctl02:
255           address: ${_param:openstack_control_node02_address}
256           names:
257             - ${_param:openstack_control_node02_hostname}
258             - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
259         ctl03:
260           address: ${_param:openstack_control_node03_address}
261           names:
262             - ${_param:openstack_control_node03_hostname}
263             - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
264         msg:
265           address: ${_param:openstack_message_queue_address}
266           names:
267             - ${_param:openstack_message_queue_hostname}
268             - ${_param:openstack_message_queue_hostname}.${_param:cluster_domain}
269         msg01:
270           address: ${_param:openstack_message_queue_node01_address}
271           names:
272             - ${_param:openstack_message_queue_node01_hostname}
273             - ${_param:openstack_message_queue_node01_hostname}.${_param:cluster_domain}
274         msg02:
275           address: ${_param:openstack_message_queue_node02_address}
276           names:
277             - ${_param:openstack_message_queue_node02_hostname}
278             - ${_param:openstack_message_queue_node02_hostname}.${_param:cluster_domain}
279         msg03:
280           address: ${_param:openstack_message_queue_node03_address}
281           names:
282             - ${_param:openstack_message_queue_node03_hostname}
283             - ${_param:openstack_message_queue_node03_hostname}.${_param:cluster_domain}
284         dbs:
285           address: ${_param:openstack_database_address}
286           names:
287             - ${_param:openstack_database_hostname}
288             - ${_param:openstack_database_hostname}.${_param:cluster_domain}
289         dbs01:
290           address: ${_param:openstack_database_node01_address}
291           names:
292             - ${_param:openstack_database_node01_hostname}
293             - ${_param:openstack_database_node01_hostname}.${_param:cluster_domain}
294         dbs02:
295           address: ${_param:openstack_database_node02_address}
296           names:
297             - ${_param:openstack_database_node02_hostname}
298             - ${_param:openstack_database_node02_hostname}.${_param:cluster_domain}
299         dbs03:
300           address: ${_param:openstack_database_node03_address}
301           names:
302             - ${_param:openstack_database_node03_hostname}
303             - ${_param:openstack_database_node03_hostname}.${_param:cluster_domain}
304         mdb:
305           address: ${_param:openstack_telemetry_address}
306           names:
307             - ${_param:openstack_telemetry_hostname}
308             - ${_param:openstack_telemetry_hostname}.${_param:cluster_domain}
309         mdb01:
310           address: ${_param:openstack_telemetry_node01_address}
311           names:
312             - ${_param:openstack_telemetry_node01_hostname}
313             - ${_param:openstack_telemetry_node01_hostname}.${_param:cluster_domain}
314         mdb02:
315           address: ${_param:openstack_telemetry_node02_address}
316           names:
317             - ${_param:openstack_telemetry_node02_hostname}
318             - ${_param:openstack_telemetry_node02_hostname}.${_param:cluster_domain}
319         mdb03:
320           address: ${_param:openstack_telemetry_node03_address}
321           names:
322             - ${_param:openstack_telemetry_node03_hostname}
323             - ${_param:openstack_telemetry_node03_hostname}.${_param:cluster_domain}
324 {%- else %}
325         kvm:
326           address: ${_param:openstack_control_address}
327           names:
328             - ${_param:openstack_control_hostname}
329             - ${_param:openstack_control_hostname}.${_param:cluster_domain}
330         kvm01:
331           address: ${_param:openstack_control_node01_address}
332           names:
333             - ${_param:openstack_control_node01_hostname}
334             - ${_param:openstack_control_node01_hostname}.${_param:cluster_domain}
335         kvm02:
336           address: ${_param:openstack_control_node02_address}
337           names:
338             - ${_param:openstack_control_node02_hostname}
339             - ${_param:openstack_control_node02_hostname}.${_param:cluster_domain}
340         kvm03:
341           address: ${_param:openstack_control_node03_address}
342           names:
343             - ${_param:openstack_control_node03_hostname}
344             - ${_param:openstack_control_node03_hostname}.${_param:cluster_domain}
345 {%- endif %}
346 {#- For compute nodes, expand values in-place, bypassing reclass param expansion #}
347 {%- for cmp in range(1, nm.cmp_nodes + 1) %}
348   {%- set h = 'cmp%03d' | format(cmp) %}
349   {%- set mgmt = nm.net_mgmt_hosts | length + nm.start_ip[nm.net_mgmt] + loop.index %}
350         {{ h }}:
351           address: {{ nm.net_mgmt | ipnet_hostaddr(mgmt) }}
352           names:
353             - {{ h }}
354             - {{ h }}.${_param:cluster_domain}
355 {%- endfor %}