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