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