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}
258 property_get_file_name: { get_file: art1.sh }
263 csb_net_name: { get_param: csb_net_name}
268 csb_net_name: { get_param: csb_net_name}
271 type: OS::Neutron::Subnet
273 name: {get_param: csb_net_name}
274 network_id: { get_resource: csb_net }
275 cidr: { get_param: csb_net_cidr }
276 allocation_pools: [{"start": {get_param: csb_net_start}, "end": {get_param: csb_net_end}}]
280 type: OS::Contrail::VirtualNetwork
282 name: { get_param: dummy_net_name_0}
285 type: OS::Neutron::Subnet
287 name: {get_param: dummy_net_name_0}
288 network_id: { get_resource: dummy_net_0 }
289 cidr: { get_param: dummy_net_cidr_0 }
290 allocation_pools: [{"start": {get_param: dummy_net_start_0}, "end": {get_param: dummy_net_end_0}}]
294 type: OS::Contrail::VirtualNetwork
296 name: { get_param: dummy_net_name_1}
299 type: OS::Neutron::Subnet
301 name: {get_param: dummy_net_name_1}
302 network_id: { get_resource: dummy_net_1 }
303 cidr: { get_param: dummy_net_cidr_1 }
304 allocation_pools: [{"start": {get_param: dummy_net_start_1}, "end": {get_param: dummy_net_end_1}}]
309 type: OS::Heat::SoftwareConfig
316 wget -P script_dir swift_container/script_name
317 wget -P script_dir swift_container/parameter_name
318 chmod 755 script_dir/script_name
319 script_dir/script_name
321 swift_container: {get_param: mog_swift_container}
322 script_dir: {get_param: mog_script_dir}
323 script_name: {get_param: mog_script_name}
324 #parameter_name: {get_param: mog_parameter_name}
328 type: OS::Nova::ServerGroup
333 type: OS::Nova::Server
335 # config_drive: "True"
336 name: {get_param: [pd_server_names, 0]}
337 image: {get_param: pd_image_name}
338 flavor: {get_param: pd_flavor_name}
339 availability_zone: {get_param: availabilityzone_name}
341 - port: {get_resource: pd01_port_0}
342 - port: {get_resource: pd01_port_1}
343 - port: {get_resource: pd01_port_2}
344 - port: {get_resource: pd01_port_3}
345 - port: {get_resource: pd01_port_4}
346 - port: {get_resource: pd01_port_5}
347 - port: {get_resource: pd01_port_6}
348 # - port: {get_resource: pd01_port_7}
350 scheduler_hints: {group: {get_resource: servergroup_mog01}}
351 user_data_format: RAW
355 type: OS::Neutron::Port
357 network: {get_resource: csb_net}
358 security_groups: [{get_resource: mog_security_group}]
360 type: OS::Neutron::Port
362 network: {get_param: oam_net_name}
363 fixed_ips: [{"ip_address": {get_param: [oam_net_ips, 0]}}]
364 security_groups: [{get_resource: mog_security_group}]
366 type: OS::Neutron::Port
368 network: {get_resource: dummy_net_0}
369 security_groups: [{get_resource: mog_security_group}]
371 type: OS::Neutron::Port
373 network: {get_param: rx_net_name}
374 fixed_ips: [{"ip_address": {get_param: [rx_net_ips, 0]}}]
375 allowed_address_pairs: [{"ip_address": {get_param: rx_net_floating_ip} }]
376 security_groups: [{get_resource: mog_security_group}]
378 type: OS::Neutron::Port
380 network: {get_resource: dummy_net_1}
381 security_groups: [{get_resource: mog_security_group}]
383 type: OS::Neutron::Port
385 network: {get_param: ran_net_name}
386 fixed_ips: [{"ip_address": {get_param: [ran_net_ips, 0]}}]
387 allowed_address_pairs: [{"ip_address": {get_param: ran_net_floating_ip} }]
388 security_groups: [{get_resource: mog_security_group}]
391 type: OS::Neutron::Port
393 network: {get_param: sl_net_name}
394 fixed_ips: [{"ip_address": {get_param: [sl_net_ips, 0]}}]
395 allowed_address_pairs: [{"ip_address": {get_param: sl_net_floating_ip}}]
396 security_groups: [{get_resource: mog_security_group}]
399 #j type: OS::Neutron::Port
401 # network: {get_param: internet_net_name}
402 # fixed_ips: [{"ip_address": {get_param: [internet_net_ips, 0]}}]
403 # allowed_address_pairs: [{"ip_address": {get_param: internet_net_floating_ip} }]
404 # security_groups: [{get_resource: mog_security_group}]
407 type: OS::Nova::Server
409 # config_drive: "True"
410 name: {get_param: [pd_server_names, 1]}
411 image: {get_param: pd_image_name}
412 flavor: {get_param: pd_flavor_name}
413 availability_zone: {get_param: availabilityzone_name}
415 - port: {get_resource: pd02_port_0}
416 - port: {get_resource: pd02_port_1}
417 - port: {get_resource: pd02_port_2}
418 - port: {get_resource: pd02_port_3}
419 - port: {get_resource: pd02_port_4}
420 - port: {get_resource: pd02_port_5}
421 - port: {get_resource: pd02_port_6}
422 # - port: {get_resource: pd02_port_7}
425 scheduler_hints: {group: {get_resource: servergroup_mog01}}
426 user_data_format: RAW
429 type: OS::Neutron::Port
431 network: {get_resource: csb_net}
432 security_groups: [{get_resource: mog_security_group}]
435 type: OS::Neutron::Port
437 network: {get_param: oam_net_name}
438 fixed_ips: [{"ip_address": {get_param: [oam_net_ips, 1]}}]
439 security_groups: [{get_resource: mog_security_group}]
442 type: OS::Neutron::Port
444 network: {get_resource: dummy_net_0}
445 security_groups: [{get_resource: mog_security_group}]
448 type: OS::Neutron::Port
450 network: {get_param: rx_net_name}
451 fixed_ips: [{"ip_address": {get_param: [rx_net_ips, 1]}}]
452 allowed_address_pairs: [{"ip_address": {get_param: rx_net_floating_ip} }]
453 security_groups: [{get_resource: mog_security_group}]
456 type: OS::Neutron::Port
458 network: {get_resource: dummy_net_1}
459 security_groups: [{get_resource: mog_security_group}]
462 type: OS::Neutron::Port
464 network: {get_param: ran_net_name}
465 fixed_ips: [{"ip_address": {get_param: [ran_net_ips, 1]}}]
466 allowed_address_pairs: [{"ip_address": {get_param: ran_net_floating_ip} }]
467 security_groups: [{get_resource: mog_security_group}]
470 type: OS::Neutron::Port
472 network: {get_param: sl_net_name}
473 fixed_ips: [{"ip_address": {get_param: [sl_net_ips, 1]}}]
474 allowed_address_pairs: [{"ip_address": {get_param: sl_net_floating_ip}}]
475 security_groups: [{get_resource: mog_security_group}]
478 # type: OS::Neutron::Port
480 # network: {get_param: internet_net_name}
481 # fixed_ips: [{"ip_address": {get_param: [internet_net_ips, 1]}}]
482 # allowed_address_pairs: [{"ip_address": {get_param: internet_net_floating_ip} }]
483 # security_groups: [{get_resource: mog_security_group}]
486 type: OS::Nova::ServerGroup
491 type: OS::Nova::Server
493 # config_drive: "True"
494 name: {get_param: [oam_server_names, 0]}
495 image: {get_param: oam_image_name}
496 flavor: {get_param: oam_flavor_name}
497 availability_zone: {get_param: availabilityzone_name}
499 - port: {get_resource: oam01_port_0}
500 - port: {get_resource: oam01_port_1}
501 # block_device_mapping:
503 # volume_id: { get_param: oam-vol-1 }
505 scheduler_hints: {group: {get_resource: servergroup_mog02}}
506 user_data_format: RAW
509 type: OS::Neutron::Port
511 network: {get_resource: csb_net}
512 security_groups: [{get_resource: mog_security_group}]
515 type: OS::Neutron::Port
517 network: {get_param: oam_net_name}
518 fixed_ips: [{"ip_address": {get_param: [oam_net_ips, 2]}}]
519 security_groups: [{get_resource: mog_security_group}]
523 type: OS::Nova::Server
525 # config_drive: "True"
526 name: {get_param: [oam_server_names, 1]}
527 image: {get_param: oam_image_name}
528 flavor: {get_param: oam_flavor_name}
529 availability_zone: {get_param: availabilityzone_name}
531 - port: {get_resource: oam02_port_0}
532 - port: {get_resource: oam02_port_1}
533 # block_device_mapping:
535 # volume_id: { get_param: oam-vol-2 }
537 scheduler_hints: {group: {get_resource: servergroup_mog02}}
538 user_data_format: RAW
541 type: OS::Neutron::Port
543 network: {get_resource: csb_net}
544 security_groups: [{get_resource: mog_security_group}]
547 type: OS::Neutron::Port
549 network: {get_param: oam_net_name}
550 fixed_ips: [{"ip_address": {get_param: [oam_net_ips, 3]}}]
551 security_groups: [{get_resource: mog_security_group}]
555 type: OS::Nova::Server
557 # config_drive: "True"
558 name: {get_param: [sm_server_names, 0]}
559 image: {get_param: sm_image_name}
560 flavor: {get_param: sm_flavor_name}
561 availability_zone: {get_param: availabilityzone_name}
563 - port: {get_resource: sm01_port_0}
564 - port: {get_resource: sm01_port_1}
565 # block_device_mapping:
567 # volume_id: { get_param: session-manager-vol-1 }
569 scheduler_hints: {group: {get_resource: servergroup_mog02}}
570 user_data_format: RAW
573 type: OS::Neutron::Port
575 network: {get_resource: csb_net}
576 security_groups: [{get_resource: mog_security_group}]
579 type: OS::Neutron::Port
581 network: {get_resource: dummy_net_0}
582 security_groups: [{get_resource: mog_security_group}]
585 type: OS::Neutron::Port
587 network: {get_param: repl_net_name}
588 fixed_ips: [{"ip_address": {get_param: [repl_net_ips, 0]}}]
589 security_groups: [{get_resource: mog_security_group}]
592 type: OS::Nova::Server
594 # config_drive: "True"
595 name: {get_param: [sm_server_names, 1]}
596 image: {get_param: sm_image_name}
597 flavor: {get_param: sm_flavor_name}
598 availability_zone: {get_param: availabilityzone_name}
599 # block_device_mapping:
601 # volume_id: { get_param: session-manager-vol-2 }
603 - port: {get_resource: sm02_port_0}
604 - port: {get_resource: sm02_port_1}
606 scheduler_hints: {group: {get_resource: servergroup_mog02}}
607 user_data_format: RAW
610 type: OS::Neutron::Port
612 network: {get_resource: csb_net}
613 security_groups: [{get_resource: mog_security_group}]
616 type: OS::Neutron::Port
618 network: {get_resource: dummy_net_0}
619 security_groups: [{get_resource: mog_security_group}]
622 type: OS::Neutron::Port
624 network: {get_param: repl_net_name}
625 fixed_ips: [{"ip_address": {get_param: [repl_net_ips, 1]}}]
626 security_groups: [{get_resource: mog_security_group}]
629 type: OS::Nova::ServerGroup
634 type: OS::Nova::Server
636 # config_drive: "True"
637 name: {get_param: [ps_server_names, 0]}
638 image: {get_param: ps_image_name}
639 flavor: {get_param: ps_flavor_name}
640 availability_zone: {get_param: availabilityzone_name}
642 - port: {get_resource: ps01_port_0}
644 scheduler_hints: {group: {get_resource: servergroup_mog03}}
645 user_data_format: RAW
648 type: OS::Neutron::Port
650 network: {get_resource: csb_net}
651 security_groups: [{get_resource: mog_security_group}]
654 type: OS::Nova::Server
656 # config_drive: "True"
657 name: {get_param: [ps_server_names, 1]}
658 image: {get_param: ps_image_name}
659 flavor: {get_param: ps_flavor_name}
660 availability_zone: {get_param: availabilityzone_name}
662 - port: {get_resource: ps02_port_0}
664 scheduler_hints: {group: {get_resource: servergroup_mog03}}
665 user_data_format: RAW
668 type: OS::Neutron::Port
670 network: {get_resource: csb_net}
671 security_groups: [{get_resource: mog_security_group}]
674 type: OS::Nova::Server
676 name: {get_param: [ps_server_names, 2]}
677 image: {get_param: ps_image_name}
678 flavor: {get_param: ps_flavor_name}
679 availability_zone: {get_param: availabilityzone_name}
681 - port: {get_resource: ps03_port_0}
683 scheduler_hints: {group: {get_resource: servergroup_mog03}}
684 user_data_format: RAW
687 type: OS::Neutron::Port
689 network: {get_resource: csb_net}
690 security_groups: [{get_resource: mog_security_group}]
693 type: OS::Nova::Server
695 name: {get_param: [ps_server_names, 3]}
696 image: {get_param: ps_image_name}
697 flavor: {get_param: ps_flavor_name}
698 availability_zone: {get_param: availabilityzone_name}
700 - port: {get_resource: ps04_port_0}
702 scheduler_hints: {group: {get_resource: servergroup_mog03}}
703 user_data_format: RAW
706 type: OS::Neutron::Port
708 network: {get_resource: csb_net}
709 security_groups: [{get_resource: mog_security_group}]
712 type: OS::Nova::Server
714 # config_drive: "True"
715 name: {get_param: [cm_server_names, 0]}
716 image: {get_param: cm_image_name}
717 flavor: {get_param: cm_flavor_name}
718 availability_zone: {get_param: availabilityzone_name}
720 - port: {get_resource: cm01_port_0}
721 - port: {get_resource: cm01_port_1}
722 # block_device_mapping:
724 # volume_id: { get_param: cluster-manager-vol-2 }
726 # volume_id: { get_param: cluster-manager-vol-1 }
728 scheduler_hints: {group: {get_resource: servergroup_mog03}}
729 user_data_format: RAW
732 type: OS::Neutron::Port
734 network: {get_resource: csb_net}
735 fixed_ips: [{"ip_address": {get_param: [csb_net_ips, 10]}}]
736 security_groups: [{get_resource: mog_security_group}]
739 type: OS::Neutron::Port
741 network: {get_param: oam_net_name}
742 fixed_ips: [{"ip_address": {get_param: [oam_net_ips, 4]}}]
743 security_groups: [{get_resource: mog_security_group}]