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