1 heat_template_version: 2013-05-23
3 description: heat template that creates MOG stack
7 type: comma_delimited_list
9 description: name of the PD instance
13 description: PD image name
17 description: flavor name of PD instance
19 type: comma_delimited_list
20 label: OAM server names
21 description: name of the OAM instance
25 description: OAM image name
28 label: OAM flavor name
29 description: flavor name of OAM instance
31 type: comma_delimited_list
32 label: SM server names
33 description: name of the SM instance
37 description: SM image name
41 description: flavor name of SM instance
43 type: comma_delimited_list
44 label: PS server names
45 description: name of the PS instance
49 description: PS image name
53 description: flavor name of PS instance
55 type: comma_delimited_list
56 label: CM server names
57 description: name of the CM instance
61 description: CM image name
65 description: flavor name of CM instance
66 availabilityzone_name:
68 label: availabilityzone name
69 description: availabilityzone name
72 label: oam network name
73 description: name of the oam network
75 type: comma_delimited_list
76 label: internet network ips
77 description: ip of the OAM network
80 # label: internet network name
81 # description: id of the internet network
83 # type: comma_delimited_list
84 # label: internet network ips
85 # description: ip of the internet network
86 # internet_net_floating_ip:
88 # label: mog internet virtual ip
89 # description: mog internet virtual ip
92 label: silver lining network name
93 description: id of the sl network
95 type: comma_delimited_list
96 label: silver lining network ips
97 description: ips of the sl network
100 label: mog sl net virtual ip
101 description: mog sl net virtual ip
104 label: Replication network name
105 description: name of the replication network
107 type: comma_delimited_list
108 label: repl network ips
109 description: ips of repl network
112 label: Rx network name
113 description: Rx network name
115 type: comma_delimited_list
116 label: Rx network ips
117 description: Rx network ips
120 label: mog rx net virtual ip
121 description: mog rx net virtual ip
124 label: RAN network name
125 description: RAN network name
127 type: comma_delimited_list
128 label: RAN network ips
129 description: RAN network ip
132 label: mog ran net virtual ip
133 description: mog ran net virtual ip
136 label: csb internal network name
137 description: csb internal network name
140 label: csb internal start
141 description: csb internal start
144 label: csb internal end
145 description: csb internal end
148 label: csb ineternal cidr
149 description: csb internal cidr
152 description: CSB internal network subnet mask
154 type: comma_delimited_list
155 description: mog_csb_net IP addresses
158 label: csb internal network name
159 description: csb internal network name
162 label: csb internal start
163 description: csb internal start
166 label: csb internal end
167 description: csb internal end
170 label: csb ineternal cidr
171 description: csb internal cidr
174 description: CSB internal network subnet mask
177 label: csb internal network name
178 description: csb internal network name
181 label: csb internal start
182 description: csb internal start
185 label: csb internal end
186 description: csb internal end
189 label: csb ineternal cidr
190 description: csb internal cidr
193 description: CSB internal network subnet mask
197 label: security group name
198 description: the name of security group
199 cluster-manager-vol-1:
202 description: Cluster Manager volume 1
203 session-manager-vol-1:
206 description: Session Manager volume 1
207 session-manager-vol-2:
210 description: Session Manager volume 2
214 description: OAM volume 1
218 description: OAM volume 2
221 label: mog Config URL
222 description: Config URL
225 label: mog Config script directory
226 description: Config script directory
229 label: mog Config script name
230 description: Config script name
233 label: mog script parameter name
234 description: Config script parameter csv file name
235 cluster-manager-vol-2:
238 description: Cluster Manager volume 2 with ISO image
242 type: OS::Neutron::SecurityGroup
244 description: mog security group
245 name: {get_param: security_group_name}
246 rules: [{"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0},
247 {"direction": egress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0},
248 {"direction": egress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0},
249 {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": tcp, "remote_ip_prefix": 0.0.0.0/0},
250 {"direction": ingress, "ethertype": IPv4, "port_range_min": 1, "port_range_max": 65535, "protocol": udp, "remote_ip_prefix": 0.0.0.0/0},
251 {"direction": ingress, "ethertype": IPv4, "protocol": icmp, "remote_ip_prefix": 0.0.0.0/0}
255 type: OS::Contrail::VirtualNetwork
257 name: { get_param: csb_net_name}
260 type: OS::Neutron::Subnet
262 name: {get_param: csb_net_name}
263 network_id: { get_resource: csb_net }
264 cidr: { get_param: csb_net_cidr }
265 allocation_pools: [{"start": {get_param: csb_net_start}, "end": {get_param: csb_net_end}}]
269 type: OS::Contrail::VirtualNetwork
271 name: { get_param: dummy_net_name_0}
274 type: OS::Neutron::Subnet
276 name: {get_param: dummy_net_name_0}
277 network_id: { get_resource: dummy_net_0 }
278 cidr: { get_param: dummy_net_cidr_0 }
279 allocation_pools: [{"start": {get_param: dummy_net_start_0}, "end": {get_param: dummy_net_end_0}}]
283 type: OS::Contrail::VirtualNetwork
285 name: { get_param: dummy_net_name_1}
288 type: OS::Neutron::Subnet
290 name: {get_param: dummy_net_name_1}
291 network_id: { get_resource: dummy_net_1 }
292 cidr: { get_param: dummy_net_cidr_1 }
293 allocation_pools: [{"start": {get_param: dummy_net_start_1}, "end": {get_param: dummy_net_end_1}}]
298 type: OS::Heat::SoftwareConfig
305 wget -P script_dir swift_container/script_name
306 wget -P script_dir swift_container/parameter_name
307 chmod 755 script_dir/script_name
308 script_dir/script_name
310 swift_container: {get_param: mog_swift_container}
311 script_dir: {get_param: mog_script_dir}
312 script_name: {get_param: mog_script_name}
313 #parameter_name: {get_param: mog_parameter_name}
317 type: OS::Nova::ServerGroup
322 type: OS::Nova::Server
324 # config_drive: "True"
325 name: {get_param: [pd_server_names, 0]}
326 image: {get_param: pd_image_name}
327 flavor: {get_param: pd_flavor_name}
328 availability_zone: {get_param: availabilityzone_name}
330 - port: {get_resource: pd01_port_0}
331 - port: {get_resource: pd01_port_1}
332 - port: {get_resource: pd01_port_2}
333 - port: {get_resource: pd01_port_3}
334 - port: {get_resource: pd01_port_4}
335 - port: {get_resource: pd01_port_5}
336 - port: {get_resource: pd01_port_6}
337 # - port: {get_resource: pd01_port_7}
339 scheduler_hints: {group: {get_resource: servergroup_mog01}}
340 user_data_format: RAW
344 type: OS::Neutron::Port
346 network: {get_resource: csb_net}
347 security_groups: [{get_resource: mog_security_group}]
349 type: OS::Neutron::Port
351 network: {get_param: oam_net_name}
352 fixed_ips: [{"ip_address": {get_param: [oam_net_ips, 0]}}]
353 security_groups: [{get_resource: mog_security_group}]
355 type: OS::Neutron::Port
357 network: {get_resource: dummy_net_0}
358 security_groups: [{get_resource: mog_security_group}]
360 type: OS::Neutron::Port
362 network: {get_param: rx_net_name}
363 fixed_ips: [{"ip_address": {get_param: [rx_net_ips, 0]}}]
364 allowed_address_pairs: [{"ip_address": {get_param: rx_net_floating_ip} }]
365 security_groups: [{get_resource: mog_security_group}]
367 type: OS::Neutron::Port
369 network: {get_resource: dummy_net_1}
370 security_groups: [{get_resource: mog_security_group}]
372 type: OS::Neutron::Port
374 network: {get_param: ran_net_name}
375 fixed_ips: [{"ip_address": {get_param: [ran_net_ips, 0]}}]
376 allowed_address_pairs: [{"ip_address": {get_param: ran_net_floating_ip} }]
377 security_groups: [{get_resource: mog_security_group}]
380 type: OS::Neutron::Port
382 network: {get_param: sl_net_name}
383 fixed_ips: [{"ip_address": {get_param: [sl_net_ips, 0]}}]
384 allowed_address_pairs: [{"ip_address": {get_param: sl_net_floating_ip}}]
385 security_groups: [{get_resource: mog_security_group}]
388 #j type: OS::Neutron::Port
390 # network: {get_param: internet_net_name}
391 # fixed_ips: [{"ip_address": {get_param: [internet_net_ips, 0]}}]
392 # allowed_address_pairs: [{"ip_address": {get_param: internet_net_floating_ip} }]
393 # security_groups: [{get_resource: mog_security_group}]
396 type: OS::Nova::Server
398 # config_drive: "True"
399 name: {get_param: [pd_server_names, 1]}
400 image: {get_param: pd_image_name}
401 flavor: {get_param: pd_flavor_name}
402 availability_zone: {get_param: availabilityzone_name}
404 - port: {get_resource: pd02_port_0}
405 - port: {get_resource: pd02_port_1}
406 - port: {get_resource: pd02_port_2}
407 - port: {get_resource: pd02_port_3}
408 - port: {get_resource: pd02_port_4}
409 - port: {get_resource: pd02_port_5}
410 - port: {get_resource: pd02_port_6}
411 # - port: {get_resource: pd02_port_7}
414 scheduler_hints: {group: {get_resource: servergroup_mog01}}
415 user_data_format: RAW
418 type: OS::Neutron::Port
420 network: {get_resource: csb_net}
421 security_groups: [{get_resource: mog_security_group}]
424 type: OS::Neutron::Port
426 network: {get_param: oam_net_name}
427 fixed_ips: [{"ip_address": {get_param: [oam_net_ips, 1]}}]
428 security_groups: [{get_resource: mog_security_group}]
431 type: OS::Neutron::Port
433 network: {get_resource: dummy_net_0}
434 security_groups: [{get_resource: mog_security_group}]
437 type: OS::Neutron::Port
439 network: {get_param: rx_net_name}
440 fixed_ips: [{"ip_address": {get_param: [rx_net_ips, 1]}}]
441 allowed_address_pairs: [{"ip_address": {get_param: rx_net_floating_ip} }]
442 security_groups: [{get_resource: mog_security_group}]
445 type: OS::Neutron::Port
447 network: {get_resource: dummy_net_1}
448 security_groups: [{get_resource: mog_security_group}]
451 type: OS::Neutron::Port
453 network: {get_param: ran_net_name}
454 fixed_ips: [{"ip_address": {get_param: [ran_net_ips, 1]}}]
455 allowed_address_pairs: [{"ip_address": {get_param: ran_net_floating_ip} }]
456 security_groups: [{get_resource: mog_security_group}]
459 type: OS::Neutron::Port
461 network: {get_param: sl_net_name}
462 fixed_ips: [{"ip_address": {get_param: [sl_net_ips, 1]}}]
463 allowed_address_pairs: [{"ip_address": {get_param: sl_net_floating_ip}}]
464 security_groups: [{get_resource: mog_security_group}]
467 # type: OS::Neutron::Port
469 # network: {get_param: internet_net_name}
470 # fixed_ips: [{"ip_address": {get_param: [internet_net_ips, 1]}}]
471 # allowed_address_pairs: [{"ip_address": {get_param: internet_net_floating_ip} }]
472 # security_groups: [{get_resource: mog_security_group}]
475 type: OS::Nova::ServerGroup
480 type: OS::Nova::Server
482 # config_drive: "True"
483 name: {get_param: [oam_server_names, 0]}
484 image: {get_param: oam_image_name}
485 flavor: {get_param: oam_flavor_name}
486 availability_zone: {get_param: availabilityzone_name}
488 - port: {get_resource: oam01_port_0}
489 - port: {get_resource: oam01_port_1}
490 # block_device_mapping:
492 # volume_id: { get_param: oam-vol-1 }
494 scheduler_hints: {group: {get_resource: servergroup_mog02}}
495 user_data_format: RAW
498 type: OS::Neutron::Port
500 network: {get_resource: csb_net}
501 security_groups: [{get_resource: mog_security_group}]
504 type: OS::Neutron::Port
506 network: {get_param: oam_net_name}
507 fixed_ips: [{"ip_address": {get_param: [oam_net_ips, 2]}}]
508 security_groups: [{get_resource: mog_security_group}]
512 type: OS::Nova::Server
514 # config_drive: "True"
515 name: {get_param: [oam_server_names, 1]}
516 image: {get_param: oam_image_name}
517 flavor: {get_param: oam_flavor_name}
518 availability_zone: {get_param: availabilityzone_name}
520 - port: {get_resource: oam02_port_0}
521 - port: {get_resource: oam02_port_1}
522 # block_device_mapping:
524 # volume_id: { get_param: oam-vol-2 }
526 scheduler_hints: {group: {get_resource: servergroup_mog02}}
527 user_data_format: RAW
530 type: OS::Neutron::Port
532 network: {get_resource: csb_net}
533 security_groups: [{get_resource: mog_security_group}]
536 type: OS::Neutron::Port
538 network: {get_param: oam_net_name}
539 fixed_ips: [{"ip_address": {get_param: [oam_net_ips, 3]}}]
540 security_groups: [{get_resource: mog_security_group}]
544 type: OS::Nova::Server
546 # config_drive: "True"
547 name: {get_param: [sm_server_names, 0]}
548 image: {get_param: sm_image_name}
549 flavor: {get_param: sm_flavor_name}
550 availability_zone: {get_param: availabilityzone_name}
552 - port: {get_resource: sm01_port_0}
553 - port: {get_resource: sm01_port_1}
554 # block_device_mapping:
556 # volume_id: { get_param: session-manager-vol-1 }
558 scheduler_hints: {group: {get_resource: servergroup_mog02}}
559 user_data_format: RAW
562 type: OS::Neutron::Port
564 network: {get_resource: csb_net}
565 security_groups: [{get_resource: mog_security_group}]
568 type: OS::Neutron::Port
570 network: {get_resource: dummy_net_0}
571 security_groups: [{get_resource: mog_security_group}]
574 type: OS::Neutron::Port
576 network: {get_param: repl_net_name}
577 fixed_ips: [{"ip_address": {get_param: [repl_net_ips, 0]}}]
578 security_groups: [{get_resource: mog_security_group}]
581 type: OS::Nova::Server
583 # config_drive: "True"
584 name: {get_param: [sm_server_names, 1]}
585 image: {get_param: sm_image_name}
586 flavor: {get_param: sm_flavor_name}
587 availability_zone: {get_param: availabilityzone_name}
588 # block_device_mapping:
590 # volume_id: { get_param: session-manager-vol-2 }
592 - port: {get_resource: sm02_port_0}
593 - port: {get_resource: sm02_port_1}
595 scheduler_hints: {group: {get_resource: servergroup_mog02}}
596 user_data_format: RAW
599 type: OS::Neutron::Port
601 network: {get_resource: csb_net}
602 security_groups: [{get_resource: mog_security_group}]
605 type: OS::Neutron::Port
607 network: {get_resource: dummy_net_0}
608 security_groups: [{get_resource: mog_security_group}]
611 type: OS::Neutron::Port
613 network: {get_param: repl_net_name}
614 fixed_ips: [{"ip_address": {get_param: [repl_net_ips, 1]}}]
615 security_groups: [{get_resource: mog_security_group}]
618 type: OS::Nova::ServerGroup
623 type: OS::Nova::Server
625 # config_drive: "True"
626 name: {get_param: [ps_server_names, 0]}
627 image: {get_param: ps_image_name}
628 flavor: {get_param: ps_flavor_name}
629 availability_zone: {get_param: availabilityzone_name}
631 - port: {get_resource: ps01_port_0}
633 scheduler_hints: {group: {get_resource: servergroup_mog03}}
634 user_data_format: RAW
637 type: OS::Neutron::Port
639 network: {get_resource: csb_net}
640 security_groups: [{get_resource: mog_security_group}]
643 type: OS::Nova::Server
645 # config_drive: "True"
646 name: {get_param: [ps_server_names, 1]}
647 image: {get_param: ps_image_name}
648 flavor: {get_param: ps_flavor_name}
649 availability_zone: {get_param: availabilityzone_name}
651 - port: {get_resource: ps02_port_0}
653 scheduler_hints: {group: {get_resource: servergroup_mog03}}
654 user_data_format: RAW
657 type: OS::Neutron::Port
659 network: {get_resource: csb_net}
660 security_groups: [{get_resource: mog_security_group}]
663 type: OS::Nova::Server
665 name: {get_param: [ps_server_names, 2]}
666 image: {get_param: ps_image_name}
667 flavor: {get_param: ps_flavor_name}
668 availability_zone: {get_param: availabilityzone_name}
670 - port: {get_resource: ps03_port_0}
672 scheduler_hints: {group: {get_resource: servergroup_mog03}}
673 user_data_format: RAW
676 type: OS::Neutron::Port
678 network: {get_resource: csb_net}
679 security_groups: [{get_resource: mog_security_group}]
682 type: OS::Nova::Server
684 name: {get_param: [ps_server_names, 3]}
685 image: {get_param: ps_image_name}
686 flavor: {get_param: ps_flavor_name}
687 availability_zone: {get_param: availabilityzone_name}
689 - port: {get_resource: ps04_port_0}
691 scheduler_hints: {group: {get_resource: servergroup_mog03}}
692 user_data_format: RAW
695 type: OS::Neutron::Port
697 network: {get_resource: csb_net}
698 security_groups: [{get_resource: mog_security_group}]
701 type: OS::Nova::Server
703 # config_drive: "True"
704 name: {get_param: [cm_server_names, 0]}
705 image: {get_param: cm_image_name}
706 flavor: {get_param: cm_flavor_name}
707 availability_zone: {get_param: availabilityzone_name}
709 - port: {get_resource: cm01_port_0}
710 - port: {get_resource: cm01_port_1}
711 # block_device_mapping:
713 # volume_id: { get_param: cluster-manager-vol-2 }
715 # volume_id: { get_param: cluster-manager-vol-1 }
717 scheduler_hints: {group: {get_resource: servergroup_mog03}}
718 user_data_format: RAW
721 type: OS::Neutron::Port
723 network: {get_resource: csb_net}
724 fixed_ips: [{"ip_address": {get_param: [csb_net_ips, 10]}}]
725 security_groups: [{get_resource: mog_security_group}]
728 type: OS::Neutron::Port
730 network: {get_param: oam_net_name}
731 fixed_ips: [{"ip_address": {get_param: [oam_net_ips, 4]}}]
732 security_groups: [{get_resource: mog_security_group}]