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