blob: f3f0e125058d506cc18ba60d8a4c1b333cc1cedf [file] [log] [blame]
sgudz9c5699d2019-04-11 14:16:41 +03001---
2
3heat_template_version: queens
4
5description: MCP environment for heat-cicd-pike-contrail41-sl
6
7parameters:
8 instance_domain:
9 type: string
10 default: heat-cicd-pike-contrail41-sl.local
11 mcp_version:
12 type: string
13 env_name:
14 type: string
15 control_subnet_cidr:
16 type: string
17 management_subnet_cidr:
18 type: string
19 management_subnet_pool_start:
20 type: string
21 management_subnet_pool_end:
22 type: string
23 management_subnet_cfg01_ip:
24 type: string
25 management_subnet_gateway_ip:
26 type: string
27
28 key_pair:
29 type: string
30
31 ctl_flavor:
32 type: string
33 cfg_flavor:
34 type: string
35 cid_flavor:
36 type: string
37 ntw_flavor:
38 type: string
39 nal_flavor:
40 type: string
41 kvm_fake_flavor:
42 type: string
43 dbs_flavor:
44 type: string
45 msg_flavor:
46 type: string
47 mon_flavor:
48 type: string
49 log_flavor:
50 type: string
51 mtr_flavor:
52 type: string
53 cmp_flavor:
54 type: string
sgudz47545942019-04-25 19:34:56 +030055 cmn_flavor:
56 type: string
57 rgw_flavor:
58 type: string
59 osd_flavor:
60 type: string
sgudz9c5699d2019-04-11 14:16:41 +030061 foundation_flavor:
62 type: string
63
64 net_public:
65 type: string
66
67resources:
68 networks:
69 type: MCP::Networks
70 properties:
71 stack_name: { get_param: "OS::stack_name" }
72 env_name: { get_param: env_name }
73
74 #flavors:
75 # type: MCP::Flavors
76
77 cfg01_node:
78 type: MCP::MasterNode
79 depends_on: [networks]
80 properties:
81 env_name: { get_param: env_name }
82 mcp_version: { get_param: mcp_version }
83 cfg01_flavor: { get_param: cfg_flavor }
84 instance_name: cfg01
85 instance_domain: {get_param: instance_domain}
86 network: { get_attr: [networks, network] }
87
88 control_cluster:
89 type: MCP::MultipleInstance
90 depends_on: [cfg01_node]
91 properties:
92 env_name: { get_param: env_name }
93 mcp_version: { get_param: mcp_version }
94 instance_domain: {get_param: instance_domain}
95 instance01_name: ctl01
96 instance02_name: ctl02
97 instance03_name: ctl03
98 instance_flavor: {get_param: ctl_flavor}
99 network: { get_attr: [networks, network] }
100 underlay_userdata: { get_file: ./underlay-userdata.yaml }
101 instance01_control_net_static_ip:
102 list_join:
103 - '.'
104 - [ { get_attr: [networks, control_net_prefix] }, '11' ]
105 instance02_control_net_static_ip:
106 list_join:
107 - '.'
108 - [ { get_attr: [networks, control_net_prefix] }, '12' ]
109 instance03_control_net_static_ip:
110 list_join:
111 - '.'
112 - [ { get_attr: [networks, control_net_prefix] }, '13' ]
113
114 instance_config_host: { get_attr: [cfg01_node, instance_address] }
115
116 openstack_database_cluster:
117 type: MCP::MultipleInstance
118 depends_on: [control_cluster]
119 properties:
120 env_name: { get_param: env_name }
121 mcp_version: { get_param: mcp_version }
122 instance_domain: {get_param: instance_domain}
123 instance01_name: dbs01
124 instance02_name: dbs02
125 instance03_name: dbs03
126 instance_flavor: {get_param: dbs_flavor}
127 network: { get_attr: [networks, network] }
128 underlay_userdata: { get_file: ./underlay-userdata.yaml }
129 instance01_control_net_static_ip:
130 list_join:
131 - '.'
132 - [ { get_attr: [networks, control_net_prefix] }, '51' ]
133 instance02_control_net_static_ip:
134 list_join:
135 - '.'
136 - [ { get_attr: [networks, control_net_prefix] }, '52' ]
137 instance03_control_net_static_ip:
138 list_join:
139 - '.'
140 - [ { get_attr: [networks, control_net_prefix] }, '53' ]
141 instance_config_host: { get_attr: [cfg01_node, instance_address] }
142
143 fake_kvm_cluster:
144 type: MCP::MultipleInstance
145 depends_on: [cfg01_node]
146 properties:
147 env_name: { get_param: env_name }
148 mcp_version: { get_param: mcp_version }
149 instance_domain: {get_param: instance_domain}
150 instance01_name: kvm01
151 instance02_name: kvm02
152 instance03_name: kvm03
153 instance_flavor: {get_param: kvm_fake_flavor}
154 network: { get_attr: [networks, network] }
155 underlay_userdata: { get_file: ./underlay-userdata.yaml }
156 instance01_control_net_static_ip:
157 list_join:
158 - '.'
159 - [ { get_attr: [networks, control_net_prefix] }, '241' ]
160 instance02_control_net_static_ip:
161 list_join:
162 - '.'
163 - [ { get_attr: [networks, control_net_prefix] }, '242' ]
164 instance03_control_net_static_ip:
165 list_join:
166 - '.'
167 - [ { get_attr: [networks, control_net_prefix] }, '243' ]
168
169 instance_config_host: { get_attr: [cfg01_node, instance_address] }
170
171 openstack_message_queue_cluster:
172 type: MCP::MultipleInstance
173 depends_on: [openstack_database_cluster]
174 properties:
175 env_name: { get_param: env_name }
176 mcp_version: { get_param: mcp_version }
177 instance_domain: {get_param: instance_domain}
178 instance01_name: msg01
179 instance02_name: msg02
180 instance03_name: msg03
181 instance_flavor: {get_param: msg_flavor}
182 network: { get_attr: [networks, network] }
183 underlay_userdata: { get_file: ./underlay-userdata.yaml }
184 instance01_control_net_static_ip:
185 list_join:
186 - '.'
187 - [ { get_attr: [networks, control_net_prefix] }, '41' ]
188 instance02_control_net_static_ip:
189 list_join:
190 - '.'
191 - [ { get_attr: [networks, control_net_prefix] }, '42' ]
192 instance03_control_net_static_ip:
193 list_join:
194 - '.'
195 - [ { get_attr: [networks, control_net_prefix] }, '43' ]
196 instance_config_host: { get_attr: [cfg01_node, instance_address] }
197
198 cicd_cluster:
199 type: MCP::MultipleInstance
200 depends_on: [cfg01_node]
201 properties:
202 env_name: { get_param: env_name }
203 mcp_version: { get_param: mcp_version }
204 instance_domain: {get_param: instance_domain}
205 instance01_name: cid01
206 instance02_name: cid02
207 instance03_name: cid03
208 instance_flavor: {get_param: cid_flavor}
209 network: { get_attr: [networks, network] }
210 underlay_userdata: { get_file: ./underlay-userdata.yaml }
211 instance01_control_net_static_ip:
212 list_join:
213 - '.'
214 - [ { get_attr: [networks, control_net_prefix] }, '91' ]
215 instance02_control_net_static_ip:
216 list_join:
217 - '.'
218 - [ { get_attr: [networks, control_net_prefix] }, '92' ]
219 instance03_control_net_static_ip:
220 list_join:
221 - '.'
222 - [ { get_attr: [networks, control_net_prefix] }, '93' ]
223
224 instance_config_host: { get_attr: [cfg01_node, instance_address] }
225
226 contrail_ntw_cluster:
227 type: MCP::MultipleInstance
228 depends_on: [openstack_message_queue_cluster]
229 properties:
230 env_name: { get_param: env_name }
231 mcp_version: { get_param: mcp_version }
232 instance_domain: {get_param: instance_domain}
233 instance01_name: ntw01
234 instance02_name: ntw02
235 instance03_name: ntw03
236 instance_flavor: {get_param: ntw_flavor}
237 network: { get_attr: [networks, network] }
238 underlay_userdata: { get_file: ./underlay-userdata.yaml }
239 instance01_control_net_static_ip:
240 list_join:
241 - '.'
242 - [ { get_attr: [networks, control_net_prefix] }, '21' ]
243 instance02_control_net_static_ip:
244 list_join:
245 - '.'
246 - [ { get_attr: [networks, control_net_prefix] }, '22' ]
247 instance03_control_net_static_ip:
248 list_join:
249 - '.'
250 - [ { get_attr: [networks, control_net_prefix] }, '23' ]
251 instance_config_host: { get_attr: [cfg01_node, instance_address] }
252
253 contrail_nal_cluster:
254 type: MCP::MultipleInstance
255 depends_on: [contrail_ntw_cluster]
256 properties:
257 env_name: { get_param: env_name }
258 mcp_version: { get_param: mcp_version }
259 instance_domain: {get_param: instance_domain}
260 instance01_name: nal01
261 instance02_name: nal02
262 instance03_name: nal03
263 instance_flavor: {get_param: nal_flavor}
264 network: { get_attr: [networks, network] }
265 underlay_userdata: { get_file: ./underlay-userdata.yaml }
266 instance01_control_net_static_ip:
267 list_join:
268 - '.'
269 - [ { get_attr: [networks, control_net_prefix] }, '31' ]
270 instance02_control_net_static_ip:
271 list_join:
272 - '.'
273 - [ { get_attr: [networks, control_net_prefix] }, '32' ]
274 instance03_control_net_static_ip:
275 list_join:
276 - '.'
277 - [ { get_attr: [networks, control_net_prefix] }, '33' ]
278 instance_config_host: { get_attr: [cfg01_node, instance_address] }
279
280 stacklight_monitor_cluster:
281 type: MCP::MultipleInstance
282 depends_on: [openstack_message_queue_cluster]
283 properties:
284 env_name: { get_param: env_name }
285 mcp_version: { get_param: mcp_version }
286 instance_domain: {get_param: instance_domain}
287 instance01_name: mon01
288 instance02_name: mon02
289 instance03_name: mon03
290 instance_flavor: {get_param: mon_flavor}
291 network: { get_attr: [networks, network] }
292 underlay_userdata: { get_file: ./underlay-userdata.yaml }
293 instance01_control_net_static_ip:
294 list_join:
295 - '.'
296 - [ { get_attr: [networks, control_net_prefix] }, '71' ]
297 instance02_control_net_static_ip:
298 list_join:
299 - '.'
300 - [ { get_attr: [networks, control_net_prefix] }, '72' ]
301 instance03_control_net_static_ip:
302 list_join:
303 - '.'
304 - [ { get_attr: [networks, control_net_prefix] }, '73' ]
305 instance_config_host: { get_attr: [cfg01_node, instance_address] }
306
307 stacklight_log_cluster:
308 type: MCP::MultipleInstance
309 depends_on: [stacklight_monitor_cluster]
310 properties:
311 env_name: { get_param: env_name }
312 mcp_version: { get_param: mcp_version }
313 instance_domain: {get_param: instance_domain}
314 instance01_name: log01
315 instance02_name: log02
316 instance03_name: log03
317 instance_flavor: {get_param: log_flavor}
318 network: { get_attr: [networks, network] }
319 underlay_userdata: { get_file: ./underlay-userdata.yaml }
320 instance01_control_net_static_ip:
321 list_join:
322 - '.'
323 - [ { get_attr: [networks, control_net_prefix] }, '61' ]
324 instance02_control_net_static_ip:
325 list_join:
326 - '.'
327 - [ { get_attr: [networks, control_net_prefix] }, '62' ]
328 instance03_control_net_static_ip:
329 list_join:
330 - '.'
331 - [ { get_attr: [networks, control_net_prefix] }, '63' ]
332 instance_config_host: { get_attr: [cfg01_node, instance_address] }
333
334 stacklight_mtr_cluster:
335 type: MCP::MultipleInstance
336 depends_on: [stacklight_log_cluster]
337 properties:
338 env_name: { get_param: env_name }
339 mcp_version: { get_param: mcp_version }
340 instance_domain: {get_param: instance_domain}
341 instance01_name: mtr01
342 instance02_name: mtr02
343 instance03_name: mtr03
344 instance_flavor: {get_param: mtr_flavor}
345 network: { get_attr: [networks, network] }
346 underlay_userdata: { get_file: ./underlay-userdata.yaml }
347 instance01_control_net_static_ip:
348 list_join:
349 - '.'
350 - [ { get_attr: [networks, control_net_prefix] }, '86' ]
351 instance02_control_net_static_ip:
352 list_join:
353 - '.'
354 - [ { get_attr: [networks, control_net_prefix] }, '87' ]
355 instance03_control_net_static_ip:
356 list_join:
357 - '.'
358 - [ { get_attr: [networks, control_net_prefix] }, '88' ]
359 instance_config_host: { get_attr: [cfg01_node, instance_address] }
360
sgudz47545942019-04-25 19:34:56 +0300361 ceph_cmn_cluster:
362 type: MCP::MultipleInstance
363 depends_on: [cfg01_node]
364 properties:
365 env_name: { get_param: env_name }
366 mcp_version: { get_param: mcp_version }
367 instance_domain: {get_param: instance_domain}
368 instance01_name: cmn01
369 instance02_name: cmn02
370 instance03_name: cmn03
371 instance_flavor: {get_param: cmn_flavor}
372 network: { get_attr: [networks, network] }
373 underlay_userdata: { get_file: ./underlay-userdata.yaml }
374 instance01_control_net_static_ip:
375 list_join:
376 - '.'
377 - [ { get_attr: [networks, control_net_prefix] }, '66' ]
378 instance02_control_net_static_ip:
379 list_join:
380 - '.'
381 - [ { get_attr: [networks, control_net_prefix] }, '67' ]
382 instance03_control_net_static_ip:
383 list_join:
384 - '.'
385 - [ { get_attr: [networks, control_net_prefix] }, '68' ]
386 instance_config_host: { get_attr: [cfg01_node, instance_address] }
387
388 ceph_rgw_cluster:
389 type: MCP::MultipleInstance
390 depends_on: [cfg01_node]
391 properties:
392 env_name: { get_param: env_name }
393 mcp_version: { get_param: mcp_version }
394 instance_domain: {get_param: instance_domain}
395 instance01_name: rgw01
396 instance02_name: rgw02
397 instance03_name: rgw03
398 instance_flavor: {get_param: rgw_flavor}
399 network: { get_attr: [networks, network] }
400 underlay_userdata: { get_file: ./underlay-userdata.yaml }
401 instance01_control_net_static_ip:
402 list_join:
403 - '.'
404 - [ { get_attr: [networks, control_net_prefix] }, '76' ]
405 instance02_control_net_static_ip:
406 list_join:
407 - '.'
408 - [ { get_attr: [networks, control_net_prefix] }, '77' ]
409 instance03_control_net_static_ip:
410 list_join:
411 - '.'
412 - [ { get_attr: [networks, control_net_prefix] }, '78' ]
413 instance_config_host: { get_attr: [cfg01_node, instance_address] }
414
415 ceph_osd_cluster:
416 type: MCP::MultipleInstance
417 depends_on: [cfg01_node]
418 properties:
419 env_name: { get_param: env_name }
420 mcp_version: { get_param: mcp_version }
421 instance_domain: {get_param: instance_domain}
422 instance01_name: osd001
423 instance02_name: osd002
424 instance03_name: osd003
425 instance_flavor: {get_param: osd_flavor}
426 network: { get_attr: [networks, network] }
427 underlay_userdata: { get_file: ./underlay-userdata.yaml }
428 instance01_control_net_static_ip:
429 list_join:
430 - '.'
431 - [ { get_attr: [networks, control_net_prefix] }, '201' ]
432 instance02_control_net_static_ip:
433 list_join:
434 - '.'
435 - [ { get_attr: [networks, control_net_prefix] }, '202' ]
436 instance03_control_net_static_ip:
437 list_join:
438 - '.'
439 - [ { get_attr: [networks, control_net_prefix] }, '203' ]
440 instance_config_host: { get_attr: [cfg01_node, instance_address] }
441
sgudz9c5699d2019-04-11 14:16:41 +0300442 prx01_virtual:
443 type: MCP::SingleInstance
444 depends_on: [control_cluster]
445 properties:
446 env_name: { get_param: env_name }
447 mcp_version: { get_param: mcp_version }
448 instance_domain: {get_param: instance_domain}
449 instance_name: prx01
450 instance_flavor: {get_param: cid_flavor}
451 network: { get_attr: [networks, network] }
452 underlay_userdata: { get_file: ./underlay-userdata.yaml }
453 control_net_static_ip:
454 list_join:
455 - '.'
456 - [ { get_attr: [networks, control_net_prefix] }, '81' ]
457
458 instance_config_host: { get_attr: [cfg01_node, instance_address] }
459
460 cmp001_virtual:
461 type: MCP::Compute
462 depends_on: [cfg01_node]
463 properties:
464 env_name: { get_param: env_name }
465 mcp_version: { get_param: mcp_version }
466 instance_domain: {get_param: instance_domain}
467 instance_name: cmp001
468 instance_flavor: {get_param: cmp_flavor}
469 network: { get_attr: [networks, network] }
470 underlay_userdata: { get_file: ./underlay-userdata.yaml }
471 control_net_static_ip:
472 list_join:
473 - '.'
474 - [ { get_attr: [networks, control_net_prefix] }, '101' ]
475 instance_config_host: { get_attr: [cfg01_node, instance_address] }
476
477 cmp002_virtual:
478 type: MCP::Compute
479 depends_on: [cfg01_node]
480 properties:
481 env_name: { get_param: env_name }
482 mcp_version: { get_param: mcp_version }
483 instance_domain: {get_param: instance_domain}
484 instance_name: cmp002
485 instance_flavor: {get_param: cmp_flavor}
486 network: { get_attr: [networks, network] }
487 underlay_userdata: { get_file: ./underlay-userdata.yaml }
488 control_net_static_ip:
489 list_join:
490 - '.'
491 - [ { get_attr: [networks, control_net_prefix] }, '102' ]
492 instance_config_host: { get_attr: [cfg01_node, instance_address] }
493
494 foundation_node:
495 type: MCP::FoundationNode
496 depends_on: [networks]
497 properties:
498 env_name: { get_param: env_name }
499 mcp_version: { get_param: mcp_version }
500 instance_domain: {get_param: instance_domain}
501 instance_name: foundation
502 instance_flavor: {get_param: foundation_flavor}
503 network: { get_attr: [networks, network] }
504 underlay_userdata: { get_file: ./underlay--user-data-foundation.yaml }
505 control_net_static_ip:
506 list_join:
507 - '.'
508 - [ { get_attr: [networks, control_net_prefix] }, '5' ]
509 instance_config_host: { get_attr: [cfg01_node, instance_address] }
510
511outputs:
512
513 control_subnet_cidr:
514 description: Control network CIDR
515 value: { get_param: control_subnet_cidr }
516
517 management_subnet_cidr:
518 description: Admin network CIDR
519 value: { get_param: management_subnet_cidr }
520
521 foundation_floating:
522 description: foundation node IP address (floating) from external network
523 value:
524 get_attr:
525 - foundation_node
526 - instance_floating_address
527...