1 heat_template_version: '2014-10-16'
4 ## Note: Nokia VM HOT file for vCCF
5 ## Copyright: Nokia 2016
6 ## Name: "base_vIECCF.yml"
11 ## - Initial version for IECCF R30.3.3
13 ## - Updated vCCF package to address removal of shared volume for IO VMs
15 ## - Updated vCCF package to address ICE feedback reviewed on 1/13/2017
16 ## - Updated to remove Nokia related values and match AT&T environment
17 ## - Updated vm_role to match vm_type used in the resource naming convention
19 ## - Updated vCCF package from Nokia
21 ## - Updated vCCF package from Nokia to add output parameter for OAM IP address
23 ## - Updated to replace ':' in port resource names with '_'
25 ## - Updated to revert port resource names back to original with embedded ':'
26 ## - Updated to replace ':' in port name property with '_'
28 ## - Updated for mini instance in DPA2a - VM reduction
33 description: Unique ID for this VF instance
36 description: Unique ID for this VF Module instance
39 description: Unique name for this VF instance
42 description: Unique name for this VF Module instance
45 type: comma_delimited_list
46 description: VM names for plt VMs
48 type: comma_delimited_list
49 description: VM names for iox VMs
51 type: comma_delimited_list
52 description: VM names for app VMs
54 openstack_cacert: # Is this needed, and why?
56 label: 'OpenStack CA Certificate'
57 description: 'CA Certificate to use for OpenStack client calls.'
60 label: 'configure server CA Certificate'
61 description: 'CA Certificate for download from siteinfo url and config url.'
66 ignore_siteinfo_audit:
68 label: 'Siteinfo Audit Ignore Flag'
69 description: 'Set to true if siteinfo audit failure should not prevent system installation'
73 description: First availability zone ID or Name
76 description: Second availability zone ID or Name
80 description: Pilot image
84 description: Pilot flavor
87 type: comma_delimited_list
88 description: Pilot security group
97 description: IO flavor
100 type: comma_delimited_list
101 description: IO security group
105 description: App image
109 description: App flavor
112 type: comma_delimited_list
113 description: App security group
116 type: comma_delimited_list
117 description: OAM security group
119 data_security_groups:
120 type: comma_delimited_list
121 description: DATA security group
125 description: 'OAM network'
129 description: 'DATA network'
132 # label: 'IO network'
136 description: 'siteinfo url'
139 description: 'IECCF configuration package URL'
142 description: 'IECCF debug flag'
143 # growth_mini_siteinfo_url_01:
145 # label: 'IECCF app node growth mini siteinfo URL'
149 description: 'IP address of name server 1'
152 description: 'IP address of name server 2'
155 description: What is this domain?
158 type: comma_delimited_list
159 description: Fixed IPv4 assignments for plt VMs on the OAM network
161 type: comma_delimited_list
162 description: Fixed IPv4 assignments for iox VMs on the OAM network
164 type: comma_delimited_list
165 description: Fixed IPv4 assignments for app VMs on the OAM network
168 type: comma_delimited_list
169 description: Fixed IPv6 assignments for plt VMs on the DATA network
171 type: comma_delimited_list
172 description: Fixed IPv6 assignments for iox VMs on the DATA network
174 type: comma_delimited_list
175 description: Fixed IPv6 assignments for app VMs on the DATA network
179 description: Floating IPv4 for plt VMs on the OAM network
182 description: Floating IPv4 for iox VMs on the OAM network
184 plt_data_floating_v6_ip:
186 description: Floating IPv6 for plt VMs on the DATA network
187 iox_data_floating_v6_ip:
189 description: Floating IPv6 for iox VMs on the DATA network
191 internal_subnet_cidr:
193 description: IP subnet for internal network
197 description: UUID for plt VM pair
200 description: UUID for iox VM pair
202 plt_volume_shared_id_0:
204 description: ServiceData2 volume for plt VMs
208 description: ServiceData1 volume for first plt VM
212 description: ServiceData1 volume for second plt VM
216 description: ServiceData1 volume for first app VM
220 description: ServiceData1 volume for second app VM
224 description: ServiceData1 volume for third app VM
229 type: OS::Neutron::Net
233 template: $prefix-internal_net_0
235 $prefix: { get_param: vnf_name }
238 type: OS::Neutron::Subnet
242 template: $vnf_name-internal_0_subnet_0
246 cidr: {get_param: internal_subnet_cidr}
247 network: {get_resource: internal_net_0 }
252 type: OS::Nova::ServerGroup
257 $vnf_name: {get_param: vnf_name}
258 template: $vnf_name-app_server_group
263 type: OS::Nova::Server
265 name: { get_param: [plt_names, 0]}
267 get_param: availability_zone_0
269 get_param: plt_image_name
271 get_param: plt_flavor_name
272 image_update_policy: REBUILD
274 block_device_mapping:
276 delete_on_termination: 'false'
279 get_param: plt_volume_id_0
283 get_resource: plt_internal_0_port_0
286 get_resource: plt_oam_0_port_0
289 get_resource: plt_data_0_port_0
290 user_data_format: RAW
294 get_file: node_userdata_script.sh
295 # get_param: _node_userdata_script_
298 get_param: 'OS::stack_name'
299 __node_siteinfo_url__: { get_param: siteinfo_url }
300 __ieccf_config_url__: { get_param: ieccf_config_url }
301 __ieccf_debug__: { get_param: ieccf_debug }
304 - 'network:system:vip:m001:m002'
305 # - 'network_system_vip_m001_m002'
317 get_param: openstack_cacert
318 # get_file: openstack_cacert.crt
320 get_param: config_server_cacert
321 # get_file: config_server_cacert.crt
323 __ignore_siteinfo_audit__:
324 get_param: ignore_siteinfo_audit
325 __nameserver1__: {get_param: name_server_1}
326 __nameserver2__: {get_param: name_server_2}
327 __domain__: { get_param: domain }
329 # get_resource: 'node:m001:m002:shared_vol1'
330 get_param: plt_volume_shared_id_0
333 vnf_id: {get_param: vnf_id}
334 vnf_name: {get_param: vnf_name}
335 vf_module_id: {get_param: vf_module_id}
336 vf_module_name: {get_param: vf_module_name}
343 - plt_internal_0_port_0
354 pair_uuid: {get_param: plt_pair_uuid}
355 shared_vol1: {get_param: plt_volume_shared_id_0}
356 plt_internal_0_port_0:
357 type: OS::Neutron::Port
361 template: $vnf_name-plt_internal_0_port_0
365 network: {get_resource: internal_net_0 }
366 replacement_policy: AUTO
367 allowed_address_pairs:
369 ip_address: {get_param: internal_subnet_cidr}
371 get_param: plt_security_groups
373 os_net: {get_resource: internal_net_0 }
375 plt_internal_0_port_1:
376 type: OS::Neutron::Port
380 template: $vnf_name-plt_internal_0_port_0
384 network: {get_resource: internal_net_0 }
385 replacement_policy: AUTO
386 allowed_address_pairs:
388 ip_address: {get_param: internal_subnet_cidr}
390 get_param: plt_security_groups
392 os_net: {get_resource: internal_net_0 }
395 type: OS::Neutron::Port
399 template: $vnf_name-plt_oam_0_port_0
403 network: { get_param: oam_net_id }
404 replacement_policy: AUTO
405 allowed_address_pairs:
409 - 'network:oam:vip:m001:m002'
410 # - 'network_oam_vip_m001_m002'
416 ip_address: {get_param: [plt_oam_ips, 0]}
418 # get_param: plt_security_groups
419 get_param: oam_security_groups
421 os_net: { get_param: oam_net_id }
425 type: OS::Neutron::Port
429 template: $vnf_name-plt_oam_0_port_0
433 network: { get_param: oam_net_id }
434 replacement_policy: AUTO
435 allowed_address_pairs:
439 - 'network:oam:vip:m001:m002'
440 # - 'network_oam_vip_m001_m002'
446 ip_address: {get_param: [plt_oam_ips, 0]}
448 # get_param: plt_security_groups
449 get_param: oam_security_groups
451 os_net: { get_param: oam_net_id }
455 type: OS::Neutron::Port
459 template: $vnf_name-plt_data_0_port_0
463 network: { get_param: data_net_id }
464 replacement_policy: AUTO
465 allowed_address_pairs:
469 - 'network:data:vip:m001:m002'
470 # - 'network_data_vip_m001_m002'
476 ip_address: {get_param: [plt_data_v6_ips, 0]}
478 # get_param: plt_security_groups
479 get_param: data_security_groups
481 os_net: { get_param: data_net_id }
485 type: OS::Neutron::Port
489 template: $vnf_name-plt_data_0_port_0
493 network: { get_param: data_net_id }
494 replacement_policy: AUTO
495 allowed_address_pairs:
499 - 'network:data:vip:m001:m002'
500 # - 'network_data_vip_m001_m002'
506 ip_address: {get_param: [plt_data_v6_ips, 1]}
508 # get_param: plt_security_groups
509 get_param: data_security_groups
511 os_net: { get_param: data_net_id }
515 type: OS::Nova::Server
517 name: { get_param: [plt_names, 1]}
519 get_param: availability_zone_1
521 get_param: plt_image_name
523 get_param: plt_flavor_name
524 image_update_policy: REBUILD
526 block_device_mapping:
528 delete_on_termination: 'false'
531 get_param: plt_volume_id_1
535 get_resource: plt_internal_0_port_1
538 get_resource: plt_oam_0_port_1
541 get_resource: plt_data_0_port_1
542 user_data_format: RAW
546 get_file: node_userdata_script.sh
547 # get_param: _node_userdata_script_
550 get_param: 'OS::stack_name'
551 __node_siteinfo_url__: { get_param: siteinfo_url }
552 __ieccf_config_url__: { get_param: ieccf_config_url }
553 __ieccf_debug__: { get_param: ieccf_debug }
556 - 'network:system:vip:m001:m002'
557 # - 'network_system_vip_m001_m002'
569 get_param: openstack_cacert
570 # get_file: openstack_cacert.crt
572 get_param: config_server_cacert
573 # get_file: config_server_cacert.crt
575 __ignore_siteinfo_audit__:
576 get_param: ignore_siteinfo_audit
577 __nameserver1__: {get_param: name_server_1}
578 __nameserver2__: {get_param: name_server_2}
579 __domain__: {get_param: domain}
581 # get_resource: 'node:m001:m002:shared_vol1'
582 get_param: plt_volume_shared_id_0
585 vnf_id: {get_param: vnf_id}
586 vnf_name: {get_param: vnf_name}
587 vf_module_id: {get_param: vf_module_id}
588 vf_module_name: {get_param: vf_module_name}
595 - plt_internal_1_port_0
606 pair_uuid: {get_param: plt_pair_uuid}
607 shared_vol1: {get_param: plt_volume_shared_id_0}
609 'network:system:vip:m001:m002':
610 # 'network_system_vip_m001_m002':
611 type: OS::Neutron::Port
615 # template: '$vnf_name-network:system:vip:m001:m002'
616 template: '$vnf_name-network_system_vip_m001_m002'
620 network: {get_resource: internal_net_0 }
622 replacement_policy: AUTO
623 allowed_address_pairs:
625 ip_address: {get_param: internal_subnet_cidr }
627 get_param: plt_security_groups
629 os_net: {get_resource: internal_net_0 }
631 pair_uuid: {get_param: plt_pair_uuid}
632 'network:oam:vip:m001:m002':
633 # 'network_oam_vip_m001_m002':
634 type: OS::Neutron::Port
638 # template: '$vnf_name-network:oam:vip:m001:m002'
639 template: '$vnf_name-network_oam_vip_m001_m002'
643 network: { get_param: oam_net_id }
644 replacement_policy: AUTO
647 ip_address: {get_param: plt_oam_floating_ip}
649 # get_param: plt_security_groups
650 get_param: oam_security_groups
652 os_net: { get_param: oam_net_id }
654 pair_uuid: {get_param: plt_pair_uuid}
655 'network:data:vip:m001:m002':
656 # 'network_data_vip_m001_m002':
657 type: OS::Neutron::Port
661 # template: '$vnf_name-network:data:vip:m001:m002'
662 template: '$vnf_name-network_data_vip_m001_m002'
666 network: { get_param: data_net_id }
667 replacement_policy: AUTO
670 ip_address: {get_param: plt_data_floating_v6_ip}
672 # get_param: plt_security_groups
673 get_param: data_security_groups
675 os_net: { get_param: data_net_id }
677 pair_uuid: {get_param: plt_pair_uuid}
680 type: OS::Nova::Server
682 name: { get_param: [iox_names, 0]}
684 get_param: availability_zone_0
686 get_param: iox_image_name
688 get_param: iox_flavor_name
689 image_update_policy: REBUILD
694 get_resource: iox_internal_0_port_0
697 get_resource: iox_oam_0_port_0
700 get_resource: iox_data_0_port_0
701 user_data_format: RAW
705 get_file: node_userdata_script.sh
706 # get_param: _node_userdata_script_
709 get_param: 'OS::stack_name'
710 __node_siteinfo_url__: { get_param: siteinfo_url }
711 __ieccf_config_url__: { get_param: ieccf_config_url }
712 __ieccf_debug__: { get_param: ieccf_debug }
715 - 'network:system:vip:m001:m002'
716 # - 'network_system_vip_m001_m002'
730 __ignore_siteinfo_audit__:
731 get_param: ignore_siteinfo_audit
732 __nameserver1__: {get_param: name_server_1}
733 __nameserver2__: {get_param: name_server_2}
734 __domain__: {get_param: domain}
736 # get_resource: 'node:m003:m004:shared_vol1'
737 # get_param: iox_volume_shared_0
740 vnf_id: {get_param: vnf_id}
741 vnf_name: {get_param: vnf_name}
742 vf_module_id: {get_param: vf_module_id}
743 vf_module_name: {get_param: vf_module_name}
750 - iox_internal_0_port_0
761 pair_uuid: {get_param: iox_pair_uuid}
762 # shared_vol1: {get_param: iox_volume_shared_0}
763 iox_internal_0_port_0:
764 type: OS::Neutron::Port
768 template: $vnf_name-iox_internal_0_port_0
772 network: {get_resource: internal_net_0 }
773 replacement_policy: AUTO
774 allowed_address_pairs:
776 ip_address: {get_param: internal_subnet_cidr}
778 get_param: iox_security_groups
780 os_net: {get_resource: internal_net_0 }
783 type: OS::Neutron::Port
787 template: $vnf_name-iox_oam_0_port_0
791 network: { get_param: oam_net_id }
792 replacement_policy: AUTO
793 allowed_address_pairs:
797 - 'network:io:vip:m004:m003'
798 # - 'network_io_vip_m004_m003'
804 ip_address: {get_param: [iox_oam_ips, 0]}
806 # get_param: iox_security_groups
807 get_param: oam_security_groups
809 os_net: { get_param: oam_net_id }
812 type: OS::Neutron::Port
816 template: $vnf_name-iox_data_0_port_0
820 network: { get_param: data_net_id }
821 replacement_policy: AUTO
822 allowed_address_pairs:
826 - 'network:data:vip:m004:m003'
827 # - 'network_data_vip_m001_m002'
833 ip_address: {get_param: [iox_data_v6_ips, 0]}
835 # get_param: iox_security_groups
836 get_param: data_security_groups
838 os_net: { get_param: data_net_id }
841 type: OS::Nova::Server
843 name: { get_param: [iox_names, 1]}
845 get_param: availability_zone_1
847 get_param: iox_image_name
849 get_param: iox_flavor_name
850 image_update_policy: REBUILD
855 get_resource: iox_internal_0_port_1
858 get_resource: iox_oam_0_port_1
861 get_resource: iox_data_0_port_1
862 user_data_format: RAW
866 get_file: node_userdata_script.sh
867 # get_param: _node_userdata_script_
870 get_param: 'OS::stack_name'
871 __node_siteinfo_url__: { get_param: siteinfo_url }
872 __ieccf_config_url__: { get_param: ieccf_config_url }
873 __ieccf_debug__: { get_param: ieccf_debug }
876 - 'network:system:vip:m001:m002'
877 # - 'network_system_vip_m001_m002'
891 __ignore_siteinfo_audit__:
892 get_param: ignore_siteinfo_audit
893 __nameserver1__: {get_param: name_server_1}
894 __nameserver2__: {get_param: name_server_2}
895 __domain__: {get_param: domain}
897 # get_resource: 'node:m003:m004:shared_vol1'
898 # get_param: iox_volume_shared_0
901 vnf_id: {get_param: vnf_id}
902 vnf_name: {get_param: vnf_name}
903 vf_module_id: {get_param: vf_module_id}
904 vf_module_name: {get_param: vf_module_name}
911 - iox_internal_1_port_0
922 pair_uuid: {get_param: iox_pair_uuid}
923 # shared_vol1: {get_param: iox_volume_shared_0}
924 iox_internal_0_port_1:
925 type: OS::Neutron::Port
929 template: $vnf_name-iox_internal_1_port_0
933 network: {get_resource: internal_net_0 }
935 replacement_policy: AUTO
936 allowed_address_pairs:
938 ip_address: {get_param: internal_subnet_cidr}
940 get_param: iox_security_groups
942 os_net: {get_resource: internal_net_0 }
945 type: OS::Neutron::Port
949 template: $vnf_name-iox_oam_1_port_0
953 network: { get_param: oam_net_id }
954 replacement_policy: AUTO
955 allowed_address_pairs:
959 - 'network:io:vip:m004:m003'
960 # - 'network_io_vip_m004_m003'
966 ip_address: {get_param: [iox_oam_ips, 1]}
968 # get_param: iox_security_groups
969 get_param: oam_security_groups
971 os_net: { get_param: oam_net_id }
974 type: OS::Neutron::Port
978 template: $vnf_name-iox_data_1_port_0
982 network: { get_param: data_net_id }
983 replacement_policy: AUTO
984 allowed_address_pairs:
988 - 'network:data:vip:m004:m003'
989 # - 'network_data_vip_m001_m002'
995 ip_address: {get_param: [iox_data_v6_ips, 1]}
997 # get_param: iox_security_groups
998 get_param: data_security_groups
1000 os_net: { get_param: data_net_id }
1002 'network:io:vip:m004:m003':
1003 # 'network_io_vip_m004_m003':
1004 type: OS::Neutron::Port
1008 # template: '$vnf_name-network:io:vip:m004:m003'
1009 template: '$vnf_name-network_io_vip_m004_m003'
1013 network: { get_param: oam_net_id }
1014 replacement_policy: AUTO
1017 ip_address: {get_param: iox_oam_floating_ip}
1019 # get_param: iox_security_groups
1020 get_param: oam_security_groups
1022 os_net: { get_param: oam_net_id }
1024 pair_uuid: {get_param: iox_pair_uuid}
1025 'network:data:vip:m004:m003':
1026 # 'network_data_vip_m004_m003':
1027 type: OS::Neutron::Port
1031 # template: '$vnf_name-network:data:vip:m004:m003'
1032 template: '$vnf_name-network_data_vip_m004_m003'
1036 network: { get_param: data_net_id }
1037 replacement_policy: AUTO
1040 ip_address: {get_param: iox_data_floating_v6_ip}
1042 # get_param: iox_security_groups
1043 get_param: data_security_groups
1045 os_net: { get_param: data_net_id }
1047 pair_uuid: {get_param: iox_pair_uuid}
1050 type: OS::Nova::Server
1052 name: { get_param: [app_names, 0]}
1054 get_param: availability_zone_0
1056 get_param: app_image_name
1058 get_param: app_flavor_name
1059 image_update_policy: REBUILD
1060 config_drive: 'True'
1061 block_device_mapping:
1063 delete_on_termination: 'false'
1066 get_param: app_volume_id_0
1070 get_resource: app_internal_0_port_0
1073 get_resource: app_oam_0_port_0
1076 get_resource: app_data_0_port_0
1077 user_data_format: RAW
1081 get_file: node_userdata_script.sh
1082 # get_param: _node_userdata_script_
1084 __heat_stack_name__:
1085 get_param: 'OS::stack_name'
1086 __node_siteinfo_url__: { get_param: siteinfo_url }
1087 __ieccf_config_url__: { get_param: ieccf_config_url }
1088 __ieccf_debug__: { get_param: ieccf_debug }
1091 - 'network:system:vip:m001:m002'
1092 # - 'network_system_vip_m001_m002'
1098 - 'sysinfo:host_key'
1106 __ignore_siteinfo_audit__:
1107 get_param: ignore_siteinfo_audit
1108 __nameserver1__: {get_param: name_server_1}
1109 __nameserver2__: {get_param: name_server_2}
1110 __domain__: {get_param: domain}
1112 group: {get_resource: app_server_group}
1115 vnf_id: {get_param: vnf_id}
1116 vnf_name: {get_param: vnf_name}
1117 vf_module_id: {get_param: vf_module_id}
1118 vf_module_name: {get_param: vf_module_name}
1125 - app_internal_0_port_0
1135 app_internal_0_port_0:
1136 type: OS::Neutron::Port
1140 template: $vnf_name-app_internal_0_port_0
1144 network: {get_resource: internal_net_0 }
1145 replacement_policy: AUTO
1146 allowed_address_pairs:
1148 ip_address: {get_param: internal_subnet_cidr}
1150 get_param: app_security_groups
1152 os_net: {get_resource: internal_net_0 }
1155 type: OS::Neutron::Port
1159 template: $vnf_name-app_oam_0_port_0
1163 network: { get_param: oam_net_id }
1164 replacement_policy: AUTO
1167 ip_address: {get_param: [app_oam_ips, 0]}
1170 # get_param: app_security_groups
1171 get_param: oam_security_groups
1173 os_net: { get_param: oam_net_id }
1177 type: OS::Neutron::Port
1181 template: $vnf_name-app_data_0_port_0
1185 network: { get_param: data_net_id }
1186 replacement_policy: AUTO
1189 ip_address: {get_param: [app_data_v6_ips, 0]}
1191 # get_param: app_security_groups
1192 get_param: data_security_groups
1194 os_net: { get_param: data_net_id }
1198 type: OS::Nova::Server
1200 name: { get_param: [app_names, 1]}
1202 get_param: availability_zone_1
1204 get_param: app_image_name
1206 get_param: app_flavor_name
1207 image_update_policy: REBUILD
1208 config_drive: 'True'
1209 block_device_mapping:
1211 delete_on_termination: 'false'
1214 get_param: app_volume_id_1
1218 get_resource: app_internal_0_port_1
1221 get_resource: app_oam_0_port_1
1224 get_resource: app_data_0_port_1
1225 user_data_format: RAW
1229 get_file: node_userdata_script.sh
1230 # get_param: _node_userdata_script_
1232 __heat_stack_name__:
1233 get_param: 'OS::stack_name'
1234 __node_siteinfo_url__: { get_param: siteinfo_url }
1235 __ieccf_config_url__: { get_param: ieccf_config_url }
1236 __ieccf_debug__: { get_param: ieccf_debug }
1239 - 'network:system:vip:m001:m002'
1240 # - 'network_system_vip_m001_m002'
1246 - 'sysinfo:host_key'
1254 __ignore_siteinfo_audit__:
1255 get_param: ignore_siteinfo_audit
1256 __nameserver1__: {get_param: name_server_1}
1257 __nameserver2__: {get_param: name_server_2}
1258 __domain__: {get_param: domain}
1260 group: {get_resource: app_server_group}
1264 vnf_id: {get_param: vnf_id}
1265 vnf_name: {get_param: vnf_name}
1266 vf_module_id: {get_param: vf_module_id}
1267 vf_module_name: {get_param: vf_module_name}
1274 - app_internal_1_port_0
1284 app_internal_0_port_1:
1285 type: OS::Neutron::Port
1289 template: $vnf_name-app_internal_1_port_0
1293 network: {get_resource: internal_net_0 }
1294 replacement_policy: AUTO
1295 allowed_address_pairs:
1297 ip_address: {get_param: internal_subnet_cidr}
1299 get_param: app_security_groups
1301 os_net: {get_resource: internal_net_0 }
1304 type: OS::Neutron::Port
1308 template: $vnf_name-app_oam_1_port_0
1312 network: { get_param: oam_net_id }
1313 replacement_policy: AUTO
1316 ip_address: {get_param: [app_oam_ips, 1]}
1319 # get_param: app_security_groups
1320 get_param: oam_security_groups
1322 os_net: { get_param: oam_net_id }
1326 type: OS::Neutron::Port
1330 template: $vnf_name-app_data_1_port_0
1334 network: { get_param: data_net_id }
1335 replacement_policy: AUTO
1338 ip_address: {get_param: [app_data_v6_ips, 1]}
1340 # get_param: app_security_groups
1341 get_param: data_security_groups
1343 os_net: { get_param: data_net_id }
1347 type: OS::Nova::Server
1349 name: { get_param: [app_names, 2]}
1351 get_param: availability_zone_0
1353 get_param: app_image_name
1355 get_param: app_flavor_name
1356 image_update_policy: REBUILD
1357 config_drive: 'True'
1358 block_device_mapping:
1360 delete_on_termination: 'false'
1363 get_param: app_volume_id_2
1367 get_resource: app_internal_0_port_2
1370 get_resource: app_oam_0_port_2
1373 get_resource: app_data_0_port_2
1374 user_data_format: RAW
1378 get_file: node_userdata_script.sh
1379 # get_param: _node_userdata_script_
1381 __heat_stack_name__:
1382 get_param: 'OS::stack_name'
1383 __node_siteinfo_url__: { get_param: siteinfo_url }
1384 __ieccf_config_url__: { get_param: ieccf_config_url }
1385 __ieccf_debug__: { get_param: ieccf_debug }
1388 - 'network:system:vip:m001:m002'
1389 # - 'network_system_vip_m001_m002'
1395 - 'sysinfo:host_key'
1403 __ignore_siteinfo_audit__:
1404 get_param: ignore_siteinfo_audit
1405 __nameserver1__: {get_param: name_server_1}
1406 __nameserver2__: {get_param: name_server_2}
1407 __domain__: {get_param: domain}
1409 group: {get_resource: app_server_group}
1412 vnf_id: {get_param: vnf_id}
1413 vnf_name: {get_param: vnf_name}
1414 vf_module_id: {get_param: vf_module_id}
1415 vf_module_name: {get_param: vf_module_name}
1422 - app_internal_2_port_0
1432 app_internal_0_port_2:
1433 type: OS::Neutron::Port
1437 template: $vnf_name-app_internal_2_port_0
1441 network: {get_resource: internal_net_0 }
1442 replacement_policy: AUTO
1443 allowed_address_pairs:
1445 ip_address: {get_param: internal_subnet_cidr}
1447 get_param: app_security_groups
1449 os_net: {get_resource: internal_net_0 }
1452 type: OS::Neutron::Port
1456 template: $vnf_name-app_oam_2_port_0
1460 network: { get_param: oam_net_id }
1461 replacement_policy: AUTO
1464 ip_address: {get_param: [app_oam_ips, 2]}
1467 # get_param: app_security_groups
1468 get_param: oam_security_groups
1470 os_net: { get_param: oam_net_id }
1474 type: OS::Neutron::Port
1478 template: $vnf_name-app_data_2_port_0
1482 network: { get_param: data_net_id }
1483 replacement_policy: AUTO
1486 ip_address: {get_param: [app_data_v6_ips, 2]}
1488 # get_param: app_security_groups
1489 get_param: data_security_groups
1491 os_net: { get_param: data_net_id }
1495 'sysinfo:input_store': # What is the purpose of this?
1496 type: 'OS::Heat::RandomString'
1502 get_param: openstack_cacert
1503 # get_file: openstack_cacert.crt
1505 get_param: config_server_cacert
1506 # get_file: config_server_cacert.crt
1507 ignore_siteinfo_audit:
1508 get_param: ignore_siteinfo_audit
1510 get_param: availability_zone_0
1512 get_param: plt_image_name
1514 get_param: plt_flavor_name
1515 m001_security_groups:
1516 get_param: plt_security_groups
1518 get_param: availability_zone_1
1520 get_param: plt_image_name
1522 get_param: plt_flavor_name
1523 m002_security_groups:
1524 get_param: plt_security_groups
1526 get_param: availability_zone_0
1528 get_param: iox_image_name
1530 get_param: iox_flavor_name
1531 m003_security_groups:
1532 get_param: iox_security_groups
1534 get_param: availability_zone_1
1536 get_param: iox_image_name
1538 get_param: iox_flavor_name
1539 m004_security_groups:
1540 get_param: iox_security_groups
1542 get_param: availability_zone_0
1544 get_param: app_image_name
1546 get_param: app_flavor_name
1547 m005_security_groups:
1548 get_param: app_security_groups
1550 get_param: availability_zone_1
1552 get_param: app_image_name
1554 get_param: app_flavor_name
1555 m006_security_groups:
1556 get_param: app_security_groups
1558 get_param: availability_zone_0
1560 get_param: app_image_name
1562 get_param: app_flavor_name
1563 m007_security_groups:
1564 get_param: app_security_groups
1566 get_param: availability_zone_1
1568 get_param: app_image_name
1570 get_param: app_flavor_name
1571 m008_security_groups:
1572 get_param: app_security_groups
1574 get_param: availability_zone_0
1576 get_param: app_image_name
1578 get_param: app_flavor_name
1579 m009_security_groups:
1580 get_param: app_security_groups
1582 get_param: availability_zone_1
1584 get_param: app_image_name
1586 get_param: app_flavor_name
1587 m010_security_groups:
1588 get_param: app_security_groups
1590 get_param: availability_zone_0
1592 get_param: app_image_name
1594 get_param: app_flavor_name
1595 m011_security_groups:
1596 get_param: app_security_groups
1598 type: 'OS::Heat::RandomString'
1603 oam_management_v4_address:
1604 value: {get_param: plt_oam_floating_ip}