blob: c8ec4fe16d39c4d61b97296192f43c0470c477c2 [file] [log] [blame]
sgudza133b8e2019-05-10 14:32:08 +03001---
2
3heat_template_version: queens
4
5description: MCP environment for heat-cicd-k8s-calico-sl
6
7parameters:
8 instance_domain:
9 type: string
10 default: heat-cicd-k8s-calico-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 kvm_fake_flavor:
38 type: string
39 mon_flavor:
40 type: string
41 log_flavor:
42 type: string
43 mtr_flavor:
44 type: string
45 cmp_flavor:
46 type: string
47 foundation_flavor:
48 type: string
49
50 net_public:
51 type: string
52
Dennis Dmitrievcba86122019-05-24 13:41:46 +030053 foundation_image:
54 type: string
55
sgudza133b8e2019-05-10 14:32:08 +030056resources:
57 networks:
58 type: MCP::Networks
59 properties:
60 stack_name: { get_param: "OS::stack_name" }
61 env_name: { get_param: env_name }
62
63 #flavors:
64 # type: MCP::Flavors
65
66 cfg01_node:
67 type: MCP::MasterNode
68 depends_on: [networks]
69 properties:
70 env_name: { get_param: env_name }
71 mcp_version: { get_param: mcp_version }
72 cfg01_flavor: { get_param: cfg_flavor }
sgudze6bff762019-05-23 18:15:49 +030073 tenant_net_static_ip:
74 list_join:
75 - '.'
76 - [ { get_attr: [networks, tenant_net_prefix] }, '15' ]
77 external_net_static_ip:
78 list_join:
79 - '.'
80 - [ { get_attr: [networks, external_net_prefix] }, '15' ]
sgudza133b8e2019-05-10 14:32:08 +030081 instance_name: cfg01
82 instance_domain: {get_param: instance_domain}
83 network: { get_attr: [networks, network] }
84
85 control_cluster:
86 type: MCP::MultipleInstance
87 depends_on: [cfg01_node]
88 properties:
89 env_name: { get_param: env_name }
90 mcp_version: { get_param: mcp_version }
91 instance_domain: {get_param: instance_domain}
92 instance01_name: ctl01
93 instance02_name: ctl02
94 instance03_name: ctl03
95 instance01_role: k8s_controller
96 instance_flavor: {get_param: ctl_flavor}
97 network: { get_attr: [networks, network] }
98 underlay_userdata: { get_file: ./underlay-userdata.yaml }
99 instance01_control_net_static_ip:
100 list_join:
101 - '.'
102 - [ { get_attr: [networks, control_net_prefix] }, '11' ]
103 instance02_control_net_static_ip:
104 list_join:
105 - '.'
106 - [ { get_attr: [networks, control_net_prefix] }, '12' ]
107 instance03_control_net_static_ip:
108 list_join:
109 - '.'
110 - [ { get_attr: [networks, control_net_prefix] }, '13' ]
sgudze6bff762019-05-23 18:15:49 +0300111 instance01_tenant_net_static_ip:
112 list_join:
113 - '.'
114 - [ { get_attr: [networks, tenant_net_prefix] }, '11' ]
115 instance02_tenant_net_static_ip:
116 list_join:
117 - '.'
118 - [ { get_attr: [networks, tenant_net_prefix] }, '12' ]
119 instance03_tenant_net_static_ip:
120 list_join:
121 - '.'
122 - [ { get_attr: [networks, tenant_net_prefix] }, '13' ]
123 instance01_external_net_static_ip:
124 list_join:
125 - '.'
126 - [ { get_attr: [networks, external_net_prefix] }, '11' ]
127 instance02_external_net_static_ip:
128 list_join:
129 - '.'
130 - [ { get_attr: [networks, external_net_prefix] }, '12' ]
131 instance03_external_net_static_ip:
132 list_join:
133 - '.'
134 - [ { get_attr: [networks, external_net_prefix] }, '13' ]
sgudza133b8e2019-05-10 14:32:08 +0300135
136 instance_config_host: { get_attr: [cfg01_node, instance_address] }
137
138 fake_kvm_cluster:
139 type: MCP::MultipleInstance
140 depends_on: [control_cluster]
141 properties:
142 env_name: { get_param: env_name }
143 mcp_version: { get_param: mcp_version }
144 instance_domain: {get_param: instance_domain}
145 instance01_name: kvm01
146 instance02_name: kvm02
147 instance03_name: kvm03
148 instance_flavor: {get_param: kvm_fake_flavor}
149 network: { get_attr: [networks, network] }
150 underlay_userdata: { get_file: ./underlay-userdata.yaml }
151 instance01_control_net_static_ip:
152 list_join:
153 - '.'
154 - [ { get_attr: [networks, control_net_prefix] }, '241' ]
155 instance02_control_net_static_ip:
156 list_join:
157 - '.'
158 - [ { get_attr: [networks, control_net_prefix] }, '242' ]
159 instance03_control_net_static_ip:
160 list_join:
161 - '.'
162 - [ { get_attr: [networks, control_net_prefix] }, '243' ]
sgudze6bff762019-05-23 18:15:49 +0300163 instance01_tenant_net_static_ip:
164 list_join:
165 - '.'
166 - [ { get_attr: [networks, tenant_net_prefix] }, '241' ]
167 instance02_tenant_net_static_ip:
168 list_join:
169 - '.'
170 - [ { get_attr: [networks, tenant_net_prefix] }, '242' ]
171 instance03_tenant_net_static_ip:
172 list_join:
173 - '.'
174 - [ { get_attr: [networks, tenant_net_prefix] }, '243' ]
175 instance01_external_net_static_ip:
176 list_join:
177 - '.'
178 - [ { get_attr: [networks, external_net_prefix] }, '241' ]
179 instance02_external_net_static_ip:
180 list_join:
181 - '.'
182 - [ { get_attr: [networks, external_net_prefix] }, '242' ]
183 instance03_external_net_static_ip:
184 list_join:
185 - '.'
186 - [ { get_attr: [networks, external_net_prefix] }, '243' ]
sgudza133b8e2019-05-10 14:32:08 +0300187
188 instance_config_host: { get_attr: [cfg01_node, instance_address] }
189
190 cicd_cluster:
191 type: MCP::MultipleInstance
192 depends_on: [fake_kvm_cluster]
193 properties:
194 env_name: { get_param: env_name }
195 mcp_version: { get_param: mcp_version }
196 instance_domain: {get_param: instance_domain}
197 instance01_name: cid01
198 instance02_name: cid02
199 instance03_name: cid03
200 instance_flavor: {get_param: cid_flavor}
201 network: { get_attr: [networks, network] }
202 underlay_userdata: { get_file: ./underlay-userdata.yaml }
203 instance01_control_net_static_ip:
204 list_join:
205 - '.'
206 - [ { get_attr: [networks, control_net_prefix] }, '91' ]
207 instance02_control_net_static_ip:
208 list_join:
209 - '.'
210 - [ { get_attr: [networks, control_net_prefix] }, '92' ]
211 instance03_control_net_static_ip:
212 list_join:
213 - '.'
214 - [ { get_attr: [networks, control_net_prefix] }, '93' ]
sgudze6bff762019-05-23 18:15:49 +0300215 instance01_tenant_net_static_ip:
216 list_join:
217 - '.'
218 - [ { get_attr: [networks, tenant_net_prefix] }, '91' ]
219 instance02_tenant_net_static_ip:
220 list_join:
221 - '.'
222 - [ { get_attr: [networks, tenant_net_prefix] }, '92' ]
223 instance03_tenant_net_static_ip:
224 list_join:
225 - '.'
226 - [ { get_attr: [networks, tenant_net_prefix] }, '93' ]
227 instance01_external_net_static_ip:
228 list_join:
229 - '.'
230 - [ { get_attr: [networks, external_net_prefix] }, '91' ]
231 instance02_external_net_static_ip:
232 list_join:
233 - '.'
234 - [ { get_attr: [networks, external_net_prefix] }, '92' ]
235 instance03_external_net_static_ip:
236 list_join:
237 - '.'
238 - [ { get_attr: [networks, external_net_prefix] }, '93' ]
sgudza133b8e2019-05-10 14:32:08 +0300239
240 instance_config_host: { get_attr: [cfg01_node, instance_address] }
241
242 stacklight_monitor_cluster:
243 type: MCP::MultipleInstance
244 depends_on: [cicd_cluster]
245 properties:
246 env_name: { get_param: env_name }
247 mcp_version: { get_param: mcp_version }
248 instance_domain: {get_param: instance_domain}
249 instance01_name: mon01
250 instance02_name: mon02
251 instance03_name: mon03
252 instance_flavor: {get_param: mon_flavor}
253 network: { get_attr: [networks, network] }
254 underlay_userdata: { get_file: ./underlay-userdata.yaml }
255 instance01_control_net_static_ip:
256 list_join:
257 - '.'
258 - [ { get_attr: [networks, control_net_prefix] }, '71' ]
259 instance02_control_net_static_ip:
260 list_join:
261 - '.'
262 - [ { get_attr: [networks, control_net_prefix] }, '72' ]
263 instance03_control_net_static_ip:
264 list_join:
265 - '.'
266 - [ { get_attr: [networks, control_net_prefix] }, '73' ]
sgudze6bff762019-05-23 18:15:49 +0300267 instance01_tenant_net_static_ip:
268 list_join:
269 - '.'
270 - [ { get_attr: [networks, tenant_net_prefix] }, '71' ]
271 instance02_tenant_net_static_ip:
272 list_join:
273 - '.'
274 - [ { get_attr: [networks, tenant_net_prefix] }, '72' ]
275 instance03_tenant_net_static_ip:
276 list_join:
277 - '.'
278 - [ { get_attr: [networks, tenant_net_prefix] }, '73' ]
279 instance01_external_net_static_ip:
280 list_join:
281 - '.'
282 - [ { get_attr: [networks, external_net_prefix] }, '71' ]
283 instance02_external_net_static_ip:
284 list_join:
285 - '.'
286 - [ { get_attr: [networks, external_net_prefix] }, '72' ]
287 instance03_external_net_static_ip:
288 list_join:
289 - '.'
290 - [ { get_attr: [networks, external_net_prefix] }, '73' ]
291
sgudza133b8e2019-05-10 14:32:08 +0300292 instance_config_host: { get_attr: [cfg01_node, instance_address] }
293
294 stacklight_log_cluster:
295 type: MCP::MultipleInstance
296 depends_on: [stacklight_monitor_cluster]
297 properties:
298 env_name: { get_param: env_name }
299 mcp_version: { get_param: mcp_version }
300 instance_domain: {get_param: instance_domain}
301 instance01_name: log01
302 instance02_name: log02
303 instance03_name: log03
304 instance_flavor: {get_param: log_flavor}
305 network: { get_attr: [networks, network] }
306 underlay_userdata: { get_file: ./underlay-userdata.yaml }
307 instance01_control_net_static_ip:
308 list_join:
309 - '.'
310 - [ { get_attr: [networks, control_net_prefix] }, '61' ]
311 instance02_control_net_static_ip:
312 list_join:
313 - '.'
314 - [ { get_attr: [networks, control_net_prefix] }, '62' ]
315 instance03_control_net_static_ip:
316 list_join:
317 - '.'
318 - [ { get_attr: [networks, control_net_prefix] }, '63' ]
sgudze6bff762019-05-23 18:15:49 +0300319 instance01_tenant_net_static_ip:
320 list_join:
321 - '.'
322 - [ { get_attr: [networks, tenant_net_prefix] }, '61' ]
323 instance02_tenant_net_static_ip:
324 list_join:
325 - '.'
326 - [ { get_attr: [networks, tenant_net_prefix] }, '62' ]
327 instance03_tenant_net_static_ip:
328 list_join:
329 - '.'
330 - [ { get_attr: [networks, tenant_net_prefix] }, '63' ]
331 instance01_external_net_static_ip:
332 list_join:
333 - '.'
334 - [ { get_attr: [networks, external_net_prefix] }, '61' ]
335 instance02_external_net_static_ip:
336 list_join:
337 - '.'
338 - [ { get_attr: [networks, external_net_prefix] }, '62' ]
339 instance03_external_net_static_ip:
340 list_join:
341 - '.'
342 - [ { get_attr: [networks, external_net_prefix] }, '63' ]
343
sgudza133b8e2019-05-10 14:32:08 +0300344 instance_config_host: { get_attr: [cfg01_node, instance_address] }
345
346 stacklight_mtr_cluster:
347 type: MCP::MultipleInstance
348 depends_on: [stacklight_log_cluster]
349 properties:
350 env_name: { get_param: env_name }
351 mcp_version: { get_param: mcp_version }
352 instance_domain: {get_param: instance_domain}
353 instance01_name: mtr01
354 instance02_name: mtr02
355 instance03_name: mtr03
356 instance_flavor: {get_param: mtr_flavor}
357 network: { get_attr: [networks, network] }
358 underlay_userdata: { get_file: ./underlay-userdata.yaml }
359 instance01_control_net_static_ip:
360 list_join:
361 - '.'
362 - [ { get_attr: [networks, control_net_prefix] }, '86' ]
363 instance02_control_net_static_ip:
364 list_join:
365 - '.'
366 - [ { get_attr: [networks, control_net_prefix] }, '87' ]
367 instance03_control_net_static_ip:
368 list_join:
369 - '.'
370 - [ { get_attr: [networks, control_net_prefix] }, '88' ]
sgudze6bff762019-05-23 18:15:49 +0300371 instance01_tenant_net_static_ip:
372 list_join:
373 - '.'
374 - [ { get_attr: [networks, tenant_net_prefix] }, '86' ]
375 instance02_tenant_net_static_ip:
376 list_join:
377 - '.'
378 - [ { get_attr: [networks, tenant_net_prefix] }, '87' ]
379 instance03_tenant_net_static_ip:
380 list_join:
381 - '.'
382 - [ { get_attr: [networks, tenant_net_prefix] }, '88' ]
383 instance01_external_net_static_ip:
384 list_join:
385 - '.'
386 - [ { get_attr: [networks, external_net_prefix] }, '86' ]
387 instance02_external_net_static_ip:
388 list_join:
389 - '.'
390 - [ { get_attr: [networks, external_net_prefix] }, '87' ]
391 instance03_external_net_static_ip:
392 list_join:
393 - '.'
394 - [ { get_attr: [networks, external_net_prefix] }, '88' ]
395
sgudza133b8e2019-05-10 14:32:08 +0300396 instance_config_host: { get_attr: [cfg01_node, instance_address] }
397
398 prx01_virtual:
399 type: MCP::SingleInstance
400 depends_on: [stacklight_mtr_cluster]
401 properties:
402 env_name: { get_param: env_name }
403 mcp_version: { get_param: mcp_version }
404 instance_domain: {get_param: instance_domain}
405 instance_name: prx01
406 instance_flavor: {get_param: cid_flavor}
407 network: { get_attr: [networks, network] }
408 underlay_userdata: { get_file: ./underlay-userdata.yaml }
409 control_net_static_ip:
410 list_join:
411 - '.'
412 - [ { get_attr: [networks, control_net_prefix] }, '221' ]
sgudze6bff762019-05-23 18:15:49 +0300413 tenant_net_static_ip:
414 list_join:
415 - '.'
416 - [ { get_attr: [networks, tenant_net_prefix] }, '221' ]
417 external_net_static_ip:
418 list_join:
419 - '.'
420 - [ { get_attr: [networks, external_net_prefix] }, '221' ]
421
sgudza133b8e2019-05-10 14:32:08 +0300422 instance_config_host: { get_attr: [cfg01_node, instance_address] }
423
424 prx02_virtual:
425 type: MCP::SingleInstance
426 depends_on: [prx01_virtual]
427 properties:
428 env_name: { get_param: env_name }
429 mcp_version: { get_param: mcp_version }
430 instance_domain: {get_param: instance_domain}
431 instance_name: prx02
432 instance_flavor: {get_param: cid_flavor}
433 network: { get_attr: [networks, network] }
434 underlay_userdata: { get_file: ./underlay-userdata.yaml }
435 control_net_static_ip:
436 list_join:
437 - '.'
438 - [ { get_attr: [networks, control_net_prefix] }, '222' ]
sgudze6bff762019-05-23 18:15:49 +0300439 tenant_net_static_ip:
440 list_join:
441 - '.'
442 - [ { get_attr: [networks, tenant_net_prefix] }, '222' ]
443 external_net_static_ip:
444 list_join:
445 - '.'
446 - [ { get_attr: [networks, external_net_prefix] }, '222' ]
447
sgudza133b8e2019-05-10 14:32:08 +0300448 instance_config_host: { get_attr: [cfg01_node, instance_address] }
449
450 cmp001_virtual:
451 type: MCP::Compute
452 depends_on: [prx02_virtual]
453 properties:
454 env_name: { get_param: env_name }
455 mcp_version: { get_param: mcp_version }
456 instance_domain: {get_param: instance_domain}
457 instance_name: cmp001
458 instance_flavor: {get_param: cmp_flavor}
459 network: { get_attr: [networks, network] }
460 underlay_userdata: { get_file: ./underlay-userdata.yaml }
461 control_net_static_ip:
462 list_join:
463 - '.'
464 - [ { get_attr: [networks, control_net_prefix] }, '101' ]
sgudze6bff762019-05-23 18:15:49 +0300465 tenant_net_static_ip:
466 list_join:
467 - '.'
468 - [ { get_attr: [networks, tenant_net_prefix] }, '101' ]
469 external_net_static_ip:
470 list_join:
471 - '.'
472 - [ { get_attr: [networks, external_net_prefix] }, '101' ]
473
sgudza133b8e2019-05-10 14:32:08 +0300474 instance_config_host: { get_attr: [cfg01_node, instance_address] }
475
476 cmp002_virtual:
477 type: MCP::Compute
478 depends_on: [cmp001_virtual]
479 properties:
480 env_name: { get_param: env_name }
481 mcp_version: { get_param: mcp_version }
482 instance_domain: {get_param: instance_domain}
483 instance_name: cmp002
484 instance_flavor: {get_param: cmp_flavor}
485 network: { get_attr: [networks, network] }
486 underlay_userdata: { get_file: ./underlay-userdata.yaml }
487 control_net_static_ip:
488 list_join:
489 - '.'
490 - [ { get_attr: [networks, control_net_prefix] }, '102' ]
sgudze6bff762019-05-23 18:15:49 +0300491 tenant_net_static_ip:
492 list_join:
493 - '.'
494 - [ { get_attr: [networks, tenant_net_prefix] }, '102' ]
495 external_net_static_ip:
496 list_join:
497 - '.'
498 - [ { get_attr: [networks, external_net_prefix] }, '102' ]
499
sgudza133b8e2019-05-10 14:32:08 +0300500 instance_config_host: { get_attr: [cfg01_node, instance_address] }
501
502 cmp003_virtual:
503 type: MCP::Compute
504 depends_on: [cmp002_virtual]
505 properties:
506 env_name: { get_param: env_name }
507 mcp_version: { get_param: mcp_version }
508 instance_domain: {get_param: instance_domain}
509 instance_name: cmp003
510 instance_flavor: {get_param: cmp_flavor}
511 network: { get_attr: [networks, network] }
512 underlay_userdata: { get_file: ./underlay-userdata.yaml }
513 control_net_static_ip:
514 list_join:
515 - '.'
516 - [ { get_attr: [networks, control_net_prefix] }, '103' ]
sgudze6bff762019-05-23 18:15:49 +0300517 tenant_net_static_ip:
518 list_join:
519 - '.'
520 - [ { get_attr: [networks, tenant_net_prefix] }, '103' ]
521 external_net_static_ip:
522 list_join:
523 - '.'
524 - [ { get_attr: [networks, external_net_prefix] }, '103' ]
525
sgudza133b8e2019-05-10 14:32:08 +0300526 instance_config_host: { get_attr: [cfg01_node, instance_address] }
527
528 cmp004_virtual:
529 type: MCP::Compute
530 depends_on: [cmp003_virtual]
531 properties:
532 env_name: { get_param: env_name }
533 mcp_version: { get_param: mcp_version }
534 instance_domain: {get_param: instance_domain}
535 instance_name: cmp004
536 instance_flavor: {get_param: cmp_flavor}
537 network: { get_attr: [networks, network] }
538 underlay_userdata: { get_file: ./underlay-userdata.yaml }
539 control_net_static_ip:
540 list_join:
541 - '.'
542 - [ { get_attr: [networks, control_net_prefix] }, '104' ]
sgudze6bff762019-05-23 18:15:49 +0300543 tenant_net_static_ip:
544 list_join:
545 - '.'
546 - [ { get_attr: [networks, tenant_net_prefix] }, '104' ]
547 external_net_static_ip:
548 list_join:
549 - '.'
550 - [ { get_attr: [networks, external_net_prefix] }, '104' ]
551
sgudza133b8e2019-05-10 14:32:08 +0300552 instance_config_host: { get_attr: [cfg01_node, instance_address] }
553
554 foundation_node:
555 type: MCP::FoundationNode
556 depends_on: [networks]
557 properties:
558 env_name: { get_param: env_name }
559 mcp_version: { get_param: mcp_version }
560 instance_domain: {get_param: instance_domain}
561 instance_name: foundation
Dennis Dmitrievcba86122019-05-24 13:41:46 +0300562 instance_image: { get_param: foundation_image }
sgudza133b8e2019-05-10 14:32:08 +0300563 instance_flavor: {get_param: foundation_flavor}
564 network: { get_attr: [networks, network] }
565 underlay_userdata: { get_file: ./underlay--user-data-foundation.yaml }
566 control_net_static_ip:
567 list_join:
568 - '.'
569 - [ { get_attr: [networks, control_net_prefix] }, '5' ]
sgudze6bff762019-05-23 18:15:49 +0300570 tenant_net_static_ip:
571 list_join:
572 - '.'
573 - [ { get_attr: [networks, tenant_net_prefix] }, '5' ]
574 external_net_static_ip:
575 list_join:
576 - '.'
577 - [ { get_attr: [networks, external_net_prefix] }, '5' ]
578
sgudza133b8e2019-05-10 14:32:08 +0300579 instance_config_host: { get_attr: [cfg01_node, instance_address] }
580
581outputs:
582
583 control_subnet_cidr:
584 description: Control network CIDR
585 value: { get_param: control_subnet_cidr }
586
587 management_subnet_cidr:
588 description: Admin network CIDR
589 value: { get_param: management_subnet_cidr }
590
591 foundation_floating:
592 description: foundation node IP address (floating) from external network
593 value:
594 get_attr:
595 - foundation_node
596 - instance_floating_address
597...