blob: 3f091f30675e20748abf06850f5f0f0d7d2034ec [file] [log] [blame]
Pavel Glazovdbffe0f2022-11-09 23:01:43 +04001---
2
3heat_template_version: queens
4
5description: MCP environment for heat-cicd-pike-contrail-stb-sl
6
7parameters:
8 instance_domain:
9 type: string
10 default: heat-cicd-pike-contrail-stb-sl.local
11 mcp_version:
12 type: string
13 env_name:
14 type: string
15 control_subnet_cidr:
16 type: string
17 default: "10.6.0.0/24"
18 tenant_subnet_cidr:
19 type: string
20 default: "10.8.0.0/24"
21 external_subnet_cidr:
22 type: string
23 default: "10.9.0.0/24"
24 management_subnet_cidr:
25 type: string
26 default: "10.7.0.0/24"
27 management_subnet_cfg01_ip:
28 type: string
29 default: 10.7.0.15
30 management_subnet_gateway_ip:
31 type: string
32 default: 10.7.0.1
33 management_subnet_pool_start:
34 type: string
35 default: 10.7.0.20
36 management_subnet_pool_end:
37 type: string
38 default: 10.7.0.90
39 salt_master_control_ip:
40 type: string
41 default: 10.6.0.15
42 deploy_empty_node:
43 type: boolean
44 default: False
45
46 key_pair:
47 type: string
48
49 ctl_flavor:
50 type: string
51 cfg_flavor:
52 type: string
53 cid_flavor:
54 type: string
55 ntw_flavor:
56 type: string
57 nal_flavor:
58 type: string
59 kvm_fake_flavor:
60 type: string
61 dbs_flavor:
62 type: string
63 msg_flavor:
64 type: string
65 mon_flavor:
66 type: string
67 log_flavor:
68 type: string
69 mtr_flavor:
70 type: string
71 cmp_flavor:
72 type: string
73 cmn_flavor:
74 type: string
75 rgw_flavor:
76 type: string
77 osd_flavor:
78 type: string
79 foundation_flavor:
80 type: string
81 vsrx_flavor:
82 type: string
83 prx_flavor:
84 type: string
85 net_public:
86 type: string
87
88 foundation_image:
89 type: string
90
91 bm_availability_zone:
92 type: string
93 vm_availability_zone:
94 type: string
95
96resources:
97 networks:
98 type: MCP::Networks
99 properties:
100 stack_name: { get_param: "OS::stack_name" }
101 env_name: { get_param: env_name }
102 subnets:
103 depends_on: [networks]
104 type: MCP::SubnetsWithFloating
105 properties:
106 stack_name: { get_param: "OS::stack_name" }
107 env_name: { get_param: env_name }
108 management_net: { list_join: ['-', [ 'management_net', { get_param: env_name } ]] }
109 control_net: { list_join: ['-', [ 'control_net', { get_param: env_name } ]] }
110 tenant_net: { list_join: ['-', [ 'tenant_net', { get_param: env_name } ]] }
111 external_net: { list_join: ['-', [ 'external_net', { get_param: env_name } ]] }
112 control_subnet_cidr: { get_param: control_subnet_cidr }
113 tenant_subnet_cidr: { get_param: tenant_subnet_cidr }
114 external_subnet_cidr: { get_param: external_subnet_cidr }
115 management_subnet_cidr: { get_param: management_subnet_cidr }
116 management_subnet_gateway_ip: { get_param: management_subnet_gateway_ip }
117 management_subnet_pool_start: { get_param: management_subnet_pool_start }
118 management_subnet_pool_end: { get_param: management_subnet_pool_end }
119
120 #flavors:
121 # type: MCP::Flavors
122
123 cfg01_node:
124 type: MCP::MasterNode
125 depends_on: [subnets]
126 properties:
127 env_name: { get_param: env_name }
128 mcp_version: { get_param: mcp_version }
129 cfg01_flavor: { get_param: cfg_flavor }
130 availability_zone: { get_param: vm_availability_zone }
131 management_net: { list_join: ['-', [ 'management_net', { get_param: env_name } ]] }
132 control_net: { list_join: ['-', [ 'control_net', { get_param: env_name } ]] }
133 tenant_net: { list_join: ['-', [ 'tenant_net', { get_param: env_name } ]] }
134 external_net: { list_join: ['-', [ 'external_net', { get_param: env_name } ]] }
135 salt_master_control_ip: { get_param: salt_master_control_ip }
136 management_subnet_cfg01_ip: { get_param: management_subnet_cfg01_ip }
137 tenant_net_static_ip:
138 list_join:
139 - '.'
140 - [ { get_attr: [subnets, tenant_net_prefix] }, '15' ]
141 external_net_static_ip:
142 list_join:
143 - '.'
144 - [ { get_attr: [subnets, external_net_prefix] }, '15' ]
145 instance_name: cfg01
146 instance_domain: {get_param: instance_domain}
147
148 control_cluster:
149 type: MCP::MultipleInstance
150 depends_on: [cfg01_node]
151 properties:
152 env_name: { get_param: env_name }
153 mcp_version: { get_param: mcp_version }
154 instance_domain: {get_param: instance_domain}
155 instance01_name: ctl01
156 instance02_name: ctl02
157 instance03_name: ctl03
158 instance_flavor: {get_param: ctl_flavor}
159 availability_zone: { get_param: vm_availability_zone }
160 underlay_userdata: { get_file: ./underlay-userdata.yaml }
161 instance01_control_net_static_ip:
162 list_join:
163 - '.'
164 - [ { get_attr: [subnets, control_net_prefix] }, '11' ]
165 instance02_control_net_static_ip:
166 list_join:
167 - '.'
168 - [ { get_attr: [subnets, control_net_prefix] }, '12' ]
169 instance03_control_net_static_ip:
170 list_join:
171 - '.'
172 - [ { get_attr: [subnets, control_net_prefix] }, '13' ]
173 instance01_tenant_net_static_ip:
174 list_join:
175 - '.'
176 - [ { get_attr: [subnets, tenant_net_prefix] }, '11' ]
177 instance02_tenant_net_static_ip:
178 list_join:
179 - '.'
180 - [ { get_attr: [subnets, tenant_net_prefix] }, '12' ]
181 instance03_tenant_net_static_ip:
182 list_join:
183 - '.'
184 - [ { get_attr: [subnets, tenant_net_prefix] }, '13' ]
185 instance01_external_net_static_ip:
186 list_join:
187 - '.'
188 - [ { get_attr: [subnets, external_net_prefix] }, '11' ]
189 instance02_external_net_static_ip:
190 list_join:
191 - '.'
192 - [ { get_attr: [subnets, external_net_prefix] }, '12' ]
193 instance03_external_net_static_ip:
194 list_join:
195 - '.'
196 - [ { get_attr: [subnets, external_net_prefix] }, '13' ]
197
198 instance_config_host: { get_attr: [cfg01_node, instance_address] }
199
200 openstack_database_cluster:
201 type: MCP::MultipleInstance
202 depends_on: [control_cluster]
203 properties:
204 env_name: { get_param: env_name }
205 mcp_version: { get_param: mcp_version }
206 instance_domain: {get_param: instance_domain}
207 instance01_name: dbs01
208 instance02_name: dbs02
209 instance03_name: dbs03
210 instance_flavor: {get_param: dbs_flavor}
211 availability_zone: { get_param: vm_availability_zone }
212 underlay_userdata: { get_file: ./underlay-userdata.yaml }
213 instance01_control_net_static_ip:
214 list_join:
215 - '.'
216 - [ { get_attr: [subnets, control_net_prefix] }, '51' ]
217 instance02_control_net_static_ip:
218 list_join:
219 - '.'
220 - [ { get_attr: [subnets, control_net_prefix] }, '52' ]
221 instance03_control_net_static_ip:
222 list_join:
223 - '.'
224 - [ { get_attr: [subnets, control_net_prefix] }, '53' ]
225 instance01_tenant_net_static_ip:
226 list_join:
227 - '.'
228 - [ { get_attr: [subnets, tenant_net_prefix] }, '51' ]
229 instance02_tenant_net_static_ip:
230 list_join:
231 - '.'
232 - [ { get_attr: [subnets, tenant_net_prefix] }, '52' ]
233 instance03_tenant_net_static_ip:
234 list_join:
235 - '.'
236 - [ { get_attr: [subnets, tenant_net_prefix] }, '53' ]
237 instance01_external_net_static_ip:
238 list_join:
239 - '.'
240 - [ { get_attr: [subnets, external_net_prefix] }, '51' ]
241 instance02_external_net_static_ip:
242 list_join:
243 - '.'
244 - [ { get_attr: [subnets, external_net_prefix] }, '52' ]
245 instance03_external_net_static_ip:
246 list_join:
247 - '.'
248 - [ { get_attr: [subnets, external_net_prefix] }, '53' ]
249
250 instance_config_host: { get_attr: [cfg01_node, instance_address] }
251
252 fake_kvm_cluster:
253 type: MCP::MultipleInstance
254 depends_on: [cfg01_node]
255 properties:
256 env_name: { get_param: env_name }
257 mcp_version: { get_param: mcp_version }
258 instance_domain: {get_param: instance_domain}
259 instance01_name: kvm01
260 instance02_name: kvm02
261 instance03_name: kvm03
262 instance_flavor: {get_param: kvm_fake_flavor}
263 availability_zone: { get_param: vm_availability_zone }
264 underlay_userdata: { get_file: ./underlay-userdata.yaml }
265 instance01_control_net_static_ip:
266 list_join:
267 - '.'
268 - [ { get_attr: [subnets, control_net_prefix] }, '241' ]
269 instance02_control_net_static_ip:
270 list_join:
271 - '.'
272 - [ { get_attr: [subnets, control_net_prefix] }, '242' ]
273 instance03_control_net_static_ip:
274 list_join:
275 - '.'
276 - [ { get_attr: [subnets, control_net_prefix] }, '243' ]
277 instance01_tenant_net_static_ip:
278 list_join:
279 - '.'
280 - [ { get_attr: [subnets, tenant_net_prefix] }, '241' ]
281 instance02_tenant_net_static_ip:
282 list_join:
283 - '.'
284 - [ { get_attr: [subnets, tenant_net_prefix] }, '242' ]
285 instance03_tenant_net_static_ip:
286 list_join:
287 - '.'
288 - [ { get_attr: [subnets, tenant_net_prefix] }, '243' ]
289 instance01_external_net_static_ip:
290 list_join:
291 - '.'
292 - [ { get_attr: [subnets, external_net_prefix] }, '241' ]
293 instance02_external_net_static_ip:
294 list_join:
295 - '.'
296 - [ { get_attr: [subnets, external_net_prefix] }, '242' ]
297 instance03_external_net_static_ip:
298 list_join:
299 - '.'
300 - [ { get_attr: [subnets, external_net_prefix] }, '243' ]
301
302 instance_config_host: { get_attr: [cfg01_node, instance_address] }
303
304 openstack_message_queue_cluster:
305 type: MCP::MultipleInstance
306 depends_on: [openstack_database_cluster]
307 properties:
308 env_name: { get_param: env_name }
309 mcp_version: { get_param: mcp_version }
310 instance_domain: {get_param: instance_domain}
311 instance01_name: msg01
312 instance02_name: msg02
313 instance03_name: msg03
314 instance_flavor: {get_param: msg_flavor}
315 availability_zone: { get_param: vm_availability_zone }
316 underlay_userdata: { get_file: ./underlay-userdata.yaml }
317 instance01_control_net_static_ip:
318 list_join:
319 - '.'
320 - [ { get_attr: [subnets, control_net_prefix] }, '41' ]
321 instance02_control_net_static_ip:
322 list_join:
323 - '.'
324 - [ { get_attr: [subnets, control_net_prefix] }, '42' ]
325 instance03_control_net_static_ip:
326 list_join:
327 - '.'
328 - [ { get_attr: [subnets, control_net_prefix] }, '43' ]
329 instance01_tenant_net_static_ip:
330 list_join:
331 - '.'
332 - [ { get_attr: [subnets, tenant_net_prefix] }, '41' ]
333 instance02_tenant_net_static_ip:
334 list_join:
335 - '.'
336 - [ { get_attr: [subnets, tenant_net_prefix] }, '42' ]
337 instance03_tenant_net_static_ip:
338 list_join:
339 - '.'
340 - [ { get_attr: [subnets, tenant_net_prefix] }, '43' ]
341 instance01_external_net_static_ip:
342 list_join:
343 - '.'
344 - [ { get_attr: [subnets, external_net_prefix] }, '41' ]
345 instance02_external_net_static_ip:
346 list_join:
347 - '.'
348 - [ { get_attr: [subnets, external_net_prefix] }, '42' ]
349 instance03_external_net_static_ip:
350 list_join:
351 - '.'
352 - [ { get_attr: [subnets, external_net_prefix] }, '43' ]
353
354 instance_config_host: { get_attr: [cfg01_node, instance_address] }
355
356 cicd_cluster:
357 type: MCP::MultipleInstance
358 depends_on: [cfg01_node]
359 properties:
360 env_name: { get_param: env_name }
361 mcp_version: { get_param: mcp_version }
362 instance_domain: {get_param: instance_domain}
363 instance01_name: cid01
364 instance02_name: cid02
365 instance03_name: cid03
366 instance_flavor: {get_param: cid_flavor}
367 availability_zone: { get_param: vm_availability_zone }
368 underlay_userdata: { get_file: ./underlay-userdata.yaml }
369 instance01_control_net_static_ip:
370 list_join:
371 - '.'
372 - [ { get_attr: [subnets, control_net_prefix] }, '91' ]
373 instance02_control_net_static_ip:
374 list_join:
375 - '.'
376 - [ { get_attr: [subnets, control_net_prefix] }, '92' ]
377 instance03_control_net_static_ip:
378 list_join:
379 - '.'
380 - [ { get_attr: [subnets, control_net_prefix] }, '93' ]
381 instance01_tenant_net_static_ip:
382 list_join:
383 - '.'
384 - [ { get_attr: [subnets, tenant_net_prefix] }, '91' ]
385 instance02_tenant_net_static_ip:
386 list_join:
387 - '.'
388 - [ { get_attr: [subnets, tenant_net_prefix] }, '92' ]
389 instance03_tenant_net_static_ip:
390 list_join:
391 - '.'
392 - [ { get_attr: [subnets, tenant_net_prefix] }, '93' ]
393 instance01_external_net_static_ip:
394 list_join:
395 - '.'
396 - [ { get_attr: [subnets, external_net_prefix] }, '91' ]
397 instance02_external_net_static_ip:
398 list_join:
399 - '.'
400 - [ { get_attr: [subnets, external_net_prefix] }, '92' ]
401 instance03_external_net_static_ip:
402 list_join:
403 - '.'
404 - [ { get_attr: [subnets, external_net_prefix] }, '93' ]
405
406 instance_config_host: { get_attr: [cfg01_node, instance_address] }
407
408 contrail_ntw_cluster:
409 type: MCP::MultipleInstance
410 depends_on: [openstack_message_queue_cluster]
411 properties:
412 env_name: { get_param: env_name }
413 mcp_version: { get_param: mcp_version }
414 instance_domain: {get_param: instance_domain}
415 instance01_name: ntw01
416 instance02_name: ntw02
417 instance03_name: ntw03
418 instance_flavor: {get_param: ntw_flavor}
419 availability_zone: { get_param: vm_availability_zone }
420 underlay_userdata: { get_file: ./underlay-userdata.yaml }
421 instance01_control_net_static_ip:
422 list_join:
423 - '.'
424 - [ { get_attr: [subnets, control_net_prefix] }, '21' ]
425 instance02_control_net_static_ip:
426 list_join:
427 - '.'
428 - [ { get_attr: [subnets, control_net_prefix] }, '22' ]
429 instance03_control_net_static_ip:
430 list_join:
431 - '.'
432 - [ { get_attr: [subnets, control_net_prefix] }, '23' ]
433 instance01_tenant_net_static_ip:
434 list_join:
435 - '.'
436 - [ { get_attr: [subnets, tenant_net_prefix] }, '21' ]
437 instance02_tenant_net_static_ip:
438 list_join:
439 - '.'
440 - [ { get_attr: [subnets, tenant_net_prefix] }, '22' ]
441 instance03_tenant_net_static_ip:
442 list_join:
443 - '.'
444 - [ { get_attr: [subnets, tenant_net_prefix] }, '23' ]
445 instance01_external_net_static_ip:
446 list_join:
447 - '.'
448 - [ { get_attr: [subnets, external_net_prefix] }, '21' ]
449 instance02_external_net_static_ip:
450 list_join:
451 - '.'
452 - [ { get_attr: [subnets, external_net_prefix] }, '22' ]
453 instance03_external_net_static_ip:
454 list_join:
455 - '.'
456 - [ { get_attr: [subnets, external_net_prefix] }, '23' ]
457
458 instance_config_host: { get_attr: [cfg01_node, instance_address] }
459
460 contrail_nal_cluster:
461 type: MCP::MultipleInstance
462 depends_on: [contrail_ntw_cluster]
463 properties:
464 env_name: { get_param: env_name }
465 mcp_version: { get_param: mcp_version }
466 instance_domain: {get_param: instance_domain}
467 instance01_name: nal01
468 instance02_name: nal02
469 instance03_name: nal03
470 instance_flavor: {get_param: nal_flavor}
471 availability_zone: { get_param: vm_availability_zone }
472 underlay_userdata: { get_file: ./underlay-userdata.yaml }
473 instance01_control_net_static_ip:
474 list_join:
475 - '.'
476 - [ { get_attr: [subnets, control_net_prefix] }, '31' ]
477 instance02_control_net_static_ip:
478 list_join:
479 - '.'
480 - [ { get_attr: [subnets, control_net_prefix] }, '32' ]
481 instance03_control_net_static_ip:
482 list_join:
483 - '.'
484 - [ { get_attr: [subnets, control_net_prefix] }, '33' ]
485 instance01_tenant_net_static_ip:
486 list_join:
487 - '.'
488 - [ { get_attr: [subnets, tenant_net_prefix] }, '31' ]
489 instance02_tenant_net_static_ip:
490 list_join:
491 - '.'
492 - [ { get_attr: [subnets, tenant_net_prefix] }, '32' ]
493 instance03_tenant_net_static_ip:
494 list_join:
495 - '.'
496 - [ { get_attr: [subnets, tenant_net_prefix] }, '33' ]
497 instance01_external_net_static_ip:
498 list_join:
499 - '.'
500 - [ { get_attr: [subnets, external_net_prefix] }, '31' ]
501 instance02_external_net_static_ip:
502 list_join:
503 - '.'
504 - [ { get_attr: [subnets, external_net_prefix] }, '32' ]
505 instance03_external_net_static_ip:
506 list_join:
507 - '.'
508 - [ { get_attr: [subnets, external_net_prefix] }, '33' ]
509
510 instance_config_host: { get_attr: [cfg01_node, instance_address] }
511
512 stacklight_monitor_cluster:
513 type: MCP::MultipleInstance
514 depends_on: [openstack_message_queue_cluster]
515 properties:
516 env_name: { get_param: env_name }
517 mcp_version: { get_param: mcp_version }
518 instance_domain: {get_param: instance_domain}
519 instance01_name: mon01
520 instance02_name: mon02
521 instance03_name: mon03
522 instance_flavor: {get_param: mon_flavor}
523 availability_zone: { get_param: vm_availability_zone }
524 underlay_userdata: { get_file: ./underlay-userdata.yaml }
525 instance01_control_net_static_ip:
526 list_join:
527 - '.'
528 - [ { get_attr: [subnets, control_net_prefix] }, '71' ]
529 instance02_control_net_static_ip:
530 list_join:
531 - '.'
532 - [ { get_attr: [subnets, control_net_prefix] }, '72' ]
533 instance03_control_net_static_ip:
534 list_join:
535 - '.'
536 - [ { get_attr: [subnets, control_net_prefix] }, '73' ]
537 instance01_tenant_net_static_ip:
538 list_join:
539 - '.'
540 - [ { get_attr: [subnets, tenant_net_prefix] }, '71' ]
541 instance02_tenant_net_static_ip:
542 list_join:
543 - '.'
544 - [ { get_attr: [subnets, tenant_net_prefix] }, '72' ]
545 instance03_tenant_net_static_ip:
546 list_join:
547 - '.'
548 - [ { get_attr: [subnets, tenant_net_prefix] }, '73' ]
549 instance01_external_net_static_ip:
550 list_join:
551 - '.'
552 - [ { get_attr: [subnets, external_net_prefix] }, '71' ]
553 instance02_external_net_static_ip:
554 list_join:
555 - '.'
556 - [ { get_attr: [subnets, external_net_prefix] }, '72' ]
557 instance03_external_net_static_ip:
558 list_join:
559 - '.'
560 - [ { get_attr: [subnets, external_net_prefix] }, '73' ]
561
562 instance_config_host: { get_attr: [cfg01_node, instance_address] }
563
564 stacklight_log_cluster:
565 type: MCP::MultipleInstance
566 depends_on: [stacklight_monitor_cluster]
567 properties:
568 env_name: { get_param: env_name }
569 mcp_version: { get_param: mcp_version }
570 instance_domain: {get_param: instance_domain}
571 instance01_name: log01
572 instance02_name: log02
573 instance03_name: log03
574 instance_flavor: {get_param: log_flavor}
575 availability_zone: { get_param: vm_availability_zone }
576 underlay_userdata: { get_file: ./underlay-userdata.yaml }
577 instance01_control_net_static_ip:
578 list_join:
579 - '.'
580 - [ { get_attr: [subnets, control_net_prefix] }, '61' ]
581 instance02_control_net_static_ip:
582 list_join:
583 - '.'
584 - [ { get_attr: [subnets, control_net_prefix] }, '62' ]
585 instance03_control_net_static_ip:
586 list_join:
587 - '.'
588 - [ { get_attr: [subnets, control_net_prefix] }, '63' ]
589 instance01_tenant_net_static_ip:
590 list_join:
591 - '.'
592 - [ { get_attr: [subnets, tenant_net_prefix] }, '61' ]
593 instance02_tenant_net_static_ip:
594 list_join:
595 - '.'
596 - [ { get_attr: [subnets, tenant_net_prefix] }, '62' ]
597 instance03_tenant_net_static_ip:
598 list_join:
599 - '.'
600 - [ { get_attr: [subnets, tenant_net_prefix] }, '63' ]
601 instance01_external_net_static_ip:
602 list_join:
603 - '.'
604 - [ { get_attr: [subnets, external_net_prefix] }, '61' ]
605 instance02_external_net_static_ip:
606 list_join:
607 - '.'
608 - [ { get_attr: [subnets, external_net_prefix] }, '62' ]
609 instance03_external_net_static_ip:
610 list_join:
611 - '.'
612 - [ { get_attr: [subnets, external_net_prefix] }, '63' ]
613
614 instance_config_host: { get_attr: [cfg01_node, instance_address] }
615
616 stacklight_mtr_cluster:
617 type: MCP::MultipleInstance
618 depends_on: [stacklight_log_cluster]
619 properties:
620 env_name: { get_param: env_name }
621 mcp_version: { get_param: mcp_version }
622 instance_domain: {get_param: instance_domain}
623 instance01_name: mtr01
624 instance02_name: mtr02
625 instance03_name: mtr03
626 instance_flavor: {get_param: mtr_flavor}
627 availability_zone: { get_param: vm_availability_zone }
628 underlay_userdata: { get_file: ./underlay-userdata.yaml }
629 instance01_control_net_static_ip:
630 list_join:
631 - '.'
632 - [ { get_attr: [subnets, control_net_prefix] }, '86' ]
633 instance02_control_net_static_ip:
634 list_join:
635 - '.'
636 - [ { get_attr: [subnets, control_net_prefix] }, '87' ]
637 instance03_control_net_static_ip:
638 list_join:
639 - '.'
640 - [ { get_attr: [subnets, control_net_prefix] }, '88' ]
641 instance01_tenant_net_static_ip:
642 list_join:
643 - '.'
644 - [ { get_attr: [subnets, tenant_net_prefix] }, '86' ]
645 instance02_tenant_net_static_ip:
646 list_join:
647 - '.'
648 - [ { get_attr: [subnets, tenant_net_prefix] }, '87' ]
649 instance03_tenant_net_static_ip:
650 list_join:
651 - '.'
652 - [ { get_attr: [subnets, tenant_net_prefix] }, '88' ]
653 instance01_external_net_static_ip:
654 list_join:
655 - '.'
656 - [ { get_attr: [subnets, external_net_prefix] }, '86' ]
657 instance02_external_net_static_ip:
658 list_join:
659 - '.'
660 - [ { get_attr: [subnets, external_net_prefix] }, '87' ]
661 instance03_external_net_static_ip:
662 list_join:
663 - '.'
664 - [ { get_attr: [subnets, external_net_prefix] }, '88' ]
665
666 instance_config_host: { get_attr: [cfg01_node, instance_address] }
667
668 ceph_cmn_cluster:
669 type: MCP::MultipleInstance
670 depends_on: [cfg01_node]
671 properties:
672 env_name: { get_param: env_name }
673 mcp_version: { get_param: mcp_version }
674 instance_domain: {get_param: instance_domain}
675 instance01_name: cmn01
676 instance02_name: cmn02
677 instance03_name: cmn03
678 instance_flavor: {get_param: cmn_flavor}
679 availability_zone: { get_param: vm_availability_zone }
680 underlay_userdata: { get_file: ./underlay-userdata.yaml }
681 instance01_control_net_static_ip:
682 list_join:
683 - '.'
684 - [ { get_attr: [subnets, control_net_prefix] }, '66' ]
685 instance02_control_net_static_ip:
686 list_join:
687 - '.'
688 - [ { get_attr: [subnets, control_net_prefix] }, '67' ]
689 instance03_control_net_static_ip:
690 list_join:
691 - '.'
692 - [ { get_attr: [subnets, control_net_prefix] }, '68' ]
693 instance01_tenant_net_static_ip:
694 list_join:
695 - '.'
696 - [ { get_attr: [subnets, tenant_net_prefix] }, '66' ]
697 instance02_tenant_net_static_ip:
698 list_join:
699 - '.'
700 - [ { get_attr: [subnets, tenant_net_prefix] }, '67' ]
701 instance03_tenant_net_static_ip:
702 list_join:
703 - '.'
704 - [ { get_attr: [subnets, tenant_net_prefix] }, '68' ]
705 instance01_external_net_static_ip:
706 list_join:
707 - '.'
708 - [ { get_attr: [subnets, external_net_prefix] }, '66' ]
709 instance02_external_net_static_ip:
710 list_join:
711 - '.'
712 - [ { get_attr: [subnets, external_net_prefix] }, '67' ]
713 instance03_external_net_static_ip:
714 list_join:
715 - '.'
716 - [ { get_attr: [subnets, external_net_prefix] }, '68' ]
717 instance_config_host: { get_attr: [cfg01_node, instance_address] }
718
719 ceph_rgw_cluster:
720 type: MCP::MultipleInstance
721 depends_on: [cfg01_node]
722 properties:
723 env_name: { get_param: env_name }
724 mcp_version: { get_param: mcp_version }
725 instance_domain: {get_param: instance_domain}
726 instance01_name: rgw01
727 instance02_name: rgw02
728 instance03_name: rgw03
729 instance_flavor: {get_param: rgw_flavor}
730 availability_zone: { get_param: vm_availability_zone }
731 underlay_userdata: { get_file: ./underlay-userdata.yaml }
732 instance01_control_net_static_ip:
733 list_join:
734 - '.'
735 - [ { get_attr: [subnets, control_net_prefix] }, '76' ]
736 instance02_control_net_static_ip:
737 list_join:
738 - '.'
739 - [ { get_attr: [subnets, control_net_prefix] }, '77' ]
740 instance03_control_net_static_ip:
741 list_join:
742 - '.'
743 - [ { get_attr: [subnets, control_net_prefix] }, '78' ]
744 instance01_tenant_net_static_ip:
745 list_join:
746 - '.'
747 - [ { get_attr: [subnets, tenant_net_prefix] }, '76' ]
748 instance02_tenant_net_static_ip:
749 list_join:
750 - '.'
751 - [ { get_attr: [subnets, tenant_net_prefix] }, '77' ]
752 instance03_tenant_net_static_ip:
753 list_join:
754 - '.'
755 - [ { get_attr: [subnets, tenant_net_prefix] }, '78' ]
756 instance01_external_net_static_ip:
757 list_join:
758 - '.'
759 - [ { get_attr: [subnets, external_net_prefix] }, '76' ]
760 instance02_external_net_static_ip:
761 list_join:
762 - '.'
763 - [ { get_attr: [subnets, external_net_prefix] }, '77' ]
764 instance03_external_net_static_ip:
765 list_join:
766 - '.'
767 - [ { get_attr: [subnets, external_net_prefix] }, '78' ]
768 instance_config_host: { get_attr: [cfg01_node, instance_address] }
769
770 ceph_osd_cluster:
771 type: MCP::MultipleInstance2Volumes
772 depends_on: [cfg01_node]
773 properties:
774 env_name: { get_param: env_name }
775 mcp_version: { get_param: mcp_version }
776 instance_domain: {get_param: instance_domain}
777 instance01_name: osd001
778 instance02_name: osd002
779 instance03_name: osd003
780 instance_flavor: {get_param: osd_flavor}
781 availability_zone: { get_param: vm_availability_zone }
782 underlay_userdata: { get_file: ./underlay-userdata.yaml }
783 instance01_control_net_static_ip:
784 list_join:
785 - '.'
786 - [ { get_attr: [subnets, control_net_prefix] }, '201' ]
787 instance02_control_net_static_ip:
788 list_join:
789 - '.'
790 - [ { get_attr: [subnets, control_net_prefix] }, '202' ]
791 instance03_control_net_static_ip:
792 list_join:
793 - '.'
794 - [ { get_attr: [subnets, control_net_prefix] }, '203' ]
795 instance01_tenant_net_static_ip:
796 list_join:
797 - '.'
798 - [ { get_attr: [subnets, tenant_net_prefix] }, '201' ]
799 instance02_tenant_net_static_ip:
800 list_join:
801 - '.'
802 - [ { get_attr: [subnets, tenant_net_prefix] }, '202' ]
803 instance03_tenant_net_static_ip:
804 list_join:
805 - '.'
806 - [ { get_attr: [subnets, tenant_net_prefix] }, '203' ]
807 instance01_external_net_static_ip:
808 list_join:
809 - '.'
810 - [ { get_attr: [subnets, external_net_prefix] }, '201' ]
811 instance02_external_net_static_ip:
812 list_join:
813 - '.'
814 - [ { get_attr: [subnets, external_net_prefix] }, '202' ]
815 instance03_external_net_static_ip:
816 list_join:
817 - '.'
818 - [ { get_attr: [subnets, external_net_prefix] }, '203' ]
819
820 instance_config_host: { get_attr: [cfg01_node, instance_address] }
821
822 prx01_virtual:
823 type: MCP::SingleInstance
824 depends_on: [control_cluster]
825 properties:
826 env_name: { get_param: env_name }
827 mcp_version: { get_param: mcp_version }
828 instance_domain: {get_param: instance_domain}
829 instance_name: prx01
830 instance_flavor: {get_param: prx_flavor}
831 availability_zone: { get_param: vm_availability_zone }
832 underlay_userdata: { get_file: ./underlay-userdata.yaml }
833 control_net_static_ip:
834 list_join:
835 - '.'
836 - [ { get_attr: [subnets, control_net_prefix] }, '81' ]
837 tenant_net_static_ip:
838 list_join:
839 - '.'
840 - [ { get_attr: [subnets, tenant_net_prefix] }, '81' ]
841 external_net_static_ip:
842 list_join:
843 - '.'
844 - [ { get_attr: [subnets, external_net_prefix] }, '81' ]
845
846 instance_config_host: { get_attr: [cfg01_node, instance_address] }
847
848 prx02_virtual:
849 type: MCP::SingleInstance
850 depends_on: [control_cluster]
851 properties:
852 env_name: { get_param: env_name }
853 mcp_version: { get_param: mcp_version }
854 instance_domain: {get_param: instance_domain}
855 instance_name: prx02
856 instance_flavor: {get_param: prx_flavor}
857 availability_zone: { get_param: vm_availability_zone }
858 underlay_userdata: { get_file: ./underlay-userdata.yaml }
859 control_net_static_ip:
860 list_join:
861 - '.'
862 - [ { get_attr: [subnets, control_net_prefix] }, '82' ]
863 tenant_net_static_ip:
864 list_join:
865 - '.'
866 - [ { get_attr: [subnets, tenant_net_prefix] }, '82' ]
867 external_net_static_ip:
868 list_join:
869 - '.'
870 - [ { get_attr: [subnets, external_net_prefix] }, '82' ]
871
872 instance_config_host: { get_attr: [cfg01_node, instance_address] }
873 cmp001_virtual:
874 type: MCP::Compute
875 depends_on: [cfg01_node]
876 properties:
877 env_name: { get_param: env_name }
878 mcp_version: { get_param: mcp_version }
879 instance_domain: {get_param: instance_domain}
880 instance_name: cmp001
881 instance_flavor: {get_param: cmp_flavor}
882 availability_zone: { get_param: vm_availability_zone }
883 underlay_userdata: { get_file: ./underlay-userdata.yaml }
884 control_net_static_ip:
885 list_join:
886 - '.'
887 - [ { get_attr: [subnets, control_net_prefix] }, '101' ]
888 tenant_net_static_ip:
889 list_join:
890 - '.'
891 - [ { get_attr: [subnets, tenant_net_prefix] }, '101' ]
892 external_net_static_ip:
893 list_join:
894 - '.'
895 - [ { get_attr: [subnets, external_net_prefix] }, '101' ]
896
897 instance_config_host: { get_attr: [cfg01_node, instance_address] }
898
899 cmp002_virtual:
900 type: MCP::Compute
901 depends_on: [cfg01_node]
902 properties:
903 env_name: { get_param: env_name }
904 mcp_version: { get_param: mcp_version }
905 instance_domain: {get_param: instance_domain}
906 instance_name: cmp002
907 instance_flavor: {get_param: cmp_flavor}
908 availability_zone: { get_param: vm_availability_zone }
909 underlay_userdata: { get_file: ./underlay-userdata.yaml }
910 control_net_static_ip:
911 list_join:
912 - '.'
913 - [ { get_attr: [subnets, control_net_prefix] }, '102' ]
914 tenant_net_static_ip:
915 list_join:
916 - '.'
917 - [ { get_attr: [subnets, tenant_net_prefix] }, '102' ]
918 external_net_static_ip:
919 list_join:
920 - '.'
921 - [ { get_attr: [subnets, external_net_prefix] }, '102' ]
922
923 instance_config_host: { get_attr: [cfg01_node, instance_address] }
924
925 foundation_node:
926 type: MCP::FoundationNodeWithFloating
927 depends_on: [subnets]
928 properties:
929 env_name: { get_param: env_name }
930 mcp_version: { get_param: mcp_version }
931 instance_domain: {get_param: instance_domain}
932 instance_name: foundation
933 instance_image: { get_param: foundation_image }
934 instance_flavor: {get_param: foundation_flavor}
935 availability_zone: { get_param: vm_availability_zone }
936 management_net: { list_join: ['-', [ 'management_net', { get_param: env_name } ]] }
937 control_net: { list_join: ['-', [ 'control_net', { get_param: env_name } ]] }
938 tenant_net: { list_join: ['-', [ 'tenant_net', { get_param: env_name } ]] }
939 external_net: { list_join: ['-', [ 'external_net', { get_param: env_name } ]] }
940 management_subnet_gateway_ip: { get_param: management_subnet_gateway_ip }
941 underlay_userdata: { get_file: ./underlay--user-data-foundation.yaml }
942 management_net_static_ip:
943 list_join:
944 - '.'
945 - [ { get_attr: [subnets, management_net_prefix] }, '5' ]
946 control_net_static_ip:
947 list_join:
948 - '.'
949 - [ { get_attr: [subnets, control_net_prefix] }, '5' ]
950 tenant_net_static_ip:
951 list_join:
952 - '.'
953 - [ { get_attr: [subnets, tenant_net_prefix] }, '5' ]
954 external_net_static_ip:
955 list_join:
956 - '.'
957 - [ { get_attr: [subnets, external_net_prefix] }, '5' ]
958 instance_config_host: { get_attr: [cfg01_node, instance_address] }
959
960 vsrx_node:
961 type: MCP::VsrxNode
962 depends_on: [cfg01_node]
963 properties:
964 env_name: { get_param: env_name }
965 mcp_version: { get_param: mcp_version }
966 instance_domain: {get_param: instance_domain}
967 instance_name: vsrx
968 instance_flavor: {get_param: vsrx_flavor}
969 availability_zone: { get_param: vm_availability_zone }
970 management_net: { list_join: ['-', [ 'management_net', { get_param: env_name } ]] }
971 control_net: { list_join: ['-', [ 'control_net', { get_param: env_name } ]] }
972 tenant_net: { list_join: ['-', [ 'tenant_net', { get_param: env_name } ]] }
973 external_net: { list_join: ['-', [ 'external_net', { get_param: env_name } ]] }
974 instance_image: system_vsrx-12.1X46-D20.5
975 control_net_static_ip:
976 list_join:
977 - '.'
978 - [ { get_attr: [subnets, control_net_prefix] }, '220' ]
979 tenant_net_static_ip:
980 list_join:
981 - '.'
982 - [ { get_attr: [subnets, tenant_net_prefix] }, '220' ]
983 external_net_static_ip:
984 list_join:
985 - '.'
986 - [ { get_attr: [subnets, external_net_prefix] }, '220' ]
987 instance_config_host: { get_attr: [cfg01_node, instance_address] }
988
989 empty_node:
990 type: MCP::SingleInstance2Volumes
991 depends_on: [cfg01_node]
992 condition: { get_param: deploy_empty_node }
993 properties:
994 env_name: { get_param: env_name }
995 mcp_version: { get_param: mcp_version }
996 instance_domain: {get_param: instance_domain}
997 instance_name: xtra
998 role: none
999 instance_flavor: {get_param: osd_flavor}
1000 availability_zone: { get_param: vm_availability_zone }
1001 underlay_userdata: { get_file: ./underlay-userdata.yaml }
1002 control_net_static_ip:
1003 list_join:
1004 - '.'
1005 - [ { get_attr: [subnets, control_net_prefix] }, '205' ]
1006 tenant_net_static_ip:
1007 list_join:
1008 - '.'
1009 - [ { get_attr: [subnets, tenant_net_prefix] }, '205' ]
1010 external_net_static_ip:
1011 list_join:
1012 - '.'
1013 - [ { get_attr: [subnets, external_net_prefix] }, '205' ]
1014
1015 instance_config_host: { get_attr: [cfg01_node, instance_address] }
1016
1017
1018outputs:
1019 foundation_public_ip:
1020 description: foundation node IP address (floating) from external network
1021 value:
1022 get_attr:
1023 - foundation_node
1024 - instance_floating_address
1025...