1 tosca_definitions_version: tosca_simple_yaml_1_0_0
3 template_name: perimeta_ha_swmu
6 file: CommonGlobalTypesServiceTemplate.yaml
7 - NovaServerGlobalTypes:
8 file: NovaServerGlobalTypesServiceTemplate.yaml
9 - NeutronPortGlobalTypes:
10 file: NeutronPortGlobalTypesServiceTemplate.yaml
11 - NeutronSecurityRulesGlobalTypes:
12 file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
13 - NeutronNetGlobalTypes:
14 file: NeutronNetGlobalTypesServiceTemplate.yaml
15 - CinderVolumeGlobalTypes:
16 file: CinderVolumeGlobalTypesServiceTemplate.yaml
17 - ContrailVirtualNetworkGlobalType:
18 file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
19 - ContrailNetworkRuleGlobalType:
20 file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
21 - AbstractSubstituteGlobalTypes:
22 file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
23 - ContrailV2VirtualMachineInterfaceGlobalType:
24 file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
25 - ContrailComputeGlobalTypes:
26 file: ContrailComputeGlobalTypesServiceTemplate.yaml
27 - ContrailPortGlobalTypes:
28 file: ContrailPortGlobalTypesServiceTemplate.yaml
29 - ContrailAbstractSubstituteGlobalTypes:
30 file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
31 - ContrailV2VirtualNetworkGlobalType:
32 file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
33 - ContrailV2NetworkRuleGlobalType:
34 file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
35 - ContrailV2VLANSubInterfaceGlobalType:
36 file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
37 - GlobalSubstitutionTypes:
38 file: GlobalSubstitutionTypesServiceTemplate.yaml
40 org.openecomp.resource.vfc.nodes.heat.vm_b:
41 derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
42 org.openecomp.resource.vfc.nodes.heat.vm_a:
43 derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
50 description: Unique ID for this VF Module instance
55 description: Service network 2 network UUID
62 description: Prefix length of management network
67 description: Orchestration template configuration for instance.
72 description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
79 description: List of service network 3 virtual IP addresses for all instances.
86 description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
93 description: HA network id
96 perimeta_param_server_group:
100 description: Server group to use for these VMs - ignored
101 untrusted_vlan_networks:
105 description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list.
112 description: List of security groups to add on management interfaces.
115 perimeta_instance_index:
119 description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
124 description: List of VLAN IDs to use on the untrusted/access network
131 description: Service network 3 network UUID
136 description: Keypair to use for accessing this Perimeta instance
143 description: List of management virtual IP addresses for all instances.
150 description: List of service network 2 virtual IP addresses for all instances.
157 description: VNF ID of this deployment
162 description: Availability zone for A instances.
167 description: Availability zone for B instances. May be the same as A instance.
172 description: List of fixed IP addresses to use as serv3 fixed IPs of A instances.
179 description: Service network unused port network UUID
184 description: List of fixed IP addresses to use as HA IPs of A instances.
191 description: List of service network 2 alternate virtual IP addresses for all instances.
198 description: List of security groups to add on HA interfaces.
205 description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
212 description: Number of VLANs to connect to on the untrusted/access network
217 description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
224 description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
231 description: List of security groups to add on trusted interfaces.
238 description: List of security groups to add on serv3 interfaces.
245 description: List of service network 1 virtual IP addresses for all instances.
252 description: Service network 1 network UUID
259 description: List of fixed IP addresses to use as serv3 fixed IPs of B instances.
266 description: List of fixed IP addresses to use as HA IPs of B instances.
273 description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
280 description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
287 description: List of fixed IP addresses to use as management IPs of A instances.
294 description: Role of these VMs
299 description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
306 description: Glance image for Perimeta instance
309 mgmt_net_default_gateway:
313 description: IP address of management default gateway
318 description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
321 untrusted_sec_groups:
325 description: List of security groups to add on untrusted interfaces.
332 description: Management network id
335 perimeta_flavor_name:
339 description: Flavor to use for creating VM instances
354 description: List of fixed IP addresses to use as management IPs of B instances.
358 perimeta_a_unused_0_port:
359 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
363 template: $VM_unused_port
368 - get_input: perimeta_instance_index
370 get_input: unused_net_id
373 capability: tosca.capabilities.network.Bindable
374 node: perimeta_a_server_0
375 relationship: tosca.relationships.network.BindsTo
376 perimeta_a_untrusted_0_vlan_ports:
377 type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
382 get_input: untrusted_vlan_ids
383 service_template_filter:
384 substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
386 get_input: untrusted_num_vlans
388 parent_interface: perimeta_a_untrusted_0_port
389 virtual_ipv6_address:
392 - get_input: perimeta_instance_index
396 - get_input: perimeta_instance_index
399 - perimeta_a_untrusted_0_port
404 - get_input: perimeta_instance_index
405 subinterface_name_prefix:
407 template: $VM_untrusted_port_vlan_
412 - get_input: perimeta_instance_index
413 subinterface_instance_index:
416 - service_template_filter
421 - get_input: perimeta_instance_index
423 get_input: untrusted_vlan_networks
425 - binding_contrail_vmi_subinterface:
426 capability: tosca.capabilities.network.Bindable
427 node: perimeta_a_untrusted_0_port
428 relationship: tosca.relationships.network.BindsTo
429 perimeta_a_mgmt_0_port:
430 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
433 get_input: mgmt_sec_groups
438 - get_input: perimeta_instance_index
439 allowed_address_pairs:
443 - get_input: perimeta_instance_index
446 template: $VM_mgmt_port
451 - get_input: perimeta_instance_index
453 get_input: mgmt_net_id
456 capability: tosca.capabilities.network.Bindable
457 node: perimeta_a_server_0
458 relationship: tosca.relationships.network.BindsTo
459 perimeta_b_untrusted_0_port:
460 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
463 get_input: untrusted_sec_groups
468 - get_input: perimeta_instance_index
472 - get_input: perimeta_instance_index
473 allowed_address_pairs:
477 - get_input: perimeta_instance_index
481 - get_input: perimeta_instance_index
484 template: $VM_untrusted_port
489 - get_input: perimeta_instance_index
491 get_input: untrusted_net_id
494 capability: tosca.capabilities.network.Bindable
495 node: perimeta_b_server_0
496 relationship: tosca.relationships.network.BindsTo
497 perimeta_b_untrusted_0_vlan_ports:
498 type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
503 get_input: untrusted_vlan_ids
504 service_template_filter:
505 substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
507 get_input: untrusted_num_vlans
509 parent_interface: perimeta_b_untrusted_0_port
510 virtual_ipv6_address:
513 - get_input: perimeta_instance_index
517 - get_input: perimeta_instance_index
520 - perimeta_b_untrusted_0_port
525 - get_input: perimeta_instance_index
526 subinterface_name_prefix:
528 template: $VM_untrusted_port_vlan_
533 - get_input: perimeta_instance_index
534 subinterface_instance_index:
537 - service_template_filter
542 - get_input: perimeta_instance_index
544 get_input: untrusted_vlan_networks
546 - binding_contrail_vmi_subinterface:
547 capability: tosca.capabilities.network.Bindable
548 node: perimeta_b_untrusted_0_port
549 relationship: tosca.relationships.network.BindsTo
550 perimeta_b_unused_0_port:
551 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
555 template: $VM_unused_port
560 - get_input: perimeta_instance_index
562 get_input: unused_net_id
565 capability: tosca.capabilities.network.Bindable
566 node: perimeta_b_server_0
567 relationship: tosca.relationships.network.BindsTo
568 perimeta_a_trusted_0_port:
569 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
572 get_input: trusted_sec_groups
577 - get_input: perimeta_instance_index
578 allowed_address_pairs:
582 - get_input: perimeta_instance_index
585 template: $VM_trusted_port
590 - get_input: perimeta_instance_index
592 get_input: trusted_net_id
595 capability: tosca.capabilities.network.Bindable
596 node: perimeta_a_server_0
597 relationship: tosca.relationships.network.BindsTo
598 perimeta_b_mgmt_0_port:
599 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
602 get_input: mgmt_sec_groups
607 - get_input: perimeta_instance_index
608 allowed_address_pairs:
612 - get_input: perimeta_instance_index
615 template: $VM_mgmt_port
620 - get_input: perimeta_instance_index
622 get_input: mgmt_net_id
625 capability: tosca.capabilities.network.Bindable
626 node: perimeta_b_server_0
627 relationship: tosca.relationships.network.BindsTo
628 perimeta_b_ha_0_port:
629 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
632 get_input: ha_sec_groups
637 - get_input: perimeta_instance_index
640 template: $VM_ha_port
645 - get_input: perimeta_instance_index
650 capability: tosca.capabilities.network.Bindable
651 node: perimeta_b_server_0
652 relationship: tosca.relationships.network.BindsTo
653 perimeta_b_serv3_0_port:
654 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
657 get_input: serv3_sec_groups
662 - get_input: perimeta_instance_index
663 allowed_address_pairs:
667 - get_input: perimeta_instance_index
670 template: $VM_serv3_port
675 - get_input: perimeta_instance_index
677 get_input: serv3_net_id
680 capability: tosca.capabilities.network.Bindable
681 node: perimeta_b_server_0
682 relationship: tosca.relationships.network.BindsTo
683 perimeta_a_serv3_0_port:
684 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
687 get_input: serv3_sec_groups
692 - get_input: perimeta_instance_index
693 allowed_address_pairs:
697 - get_input: perimeta_instance_index
700 template: $VM_serv3_port
705 - get_input: perimeta_instance_index
707 get_input: serv3_net_id
710 capability: tosca.capabilities.network.Bindable
711 node: perimeta_a_server_0
712 relationship: tosca.relationships.network.BindsTo
714 type: org.openecomp.resource.vfc.nodes.heat.vm_a
717 get_input: perimeta_flavor_name
719 get_input: perimeta_keypair
721 get_input: availability_zone_0
723 get_input: perimeta_image_name
726 get_input: vf_module_id
737 /opt/MetaSwitch/init/custom.ini:
741 user_data_format: RAW
745 - get_input: perimeta_instance_index
747 group: perimeta_server_group_group
750 type: tosca.artifacts.Deployment
751 file: ../Artifacts/custom.ini
752 perimeta_b_trusted_0_port:
753 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
756 get_input: trusted_sec_groups
761 - get_input: perimeta_instance_index
762 allowed_address_pairs:
766 - get_input: perimeta_instance_index
769 template: $VM_trusted_port
774 - get_input: perimeta_instance_index
776 get_input: trusted_net_id
779 capability: tosca.capabilities.network.Bindable
780 node: perimeta_b_server_0
781 relationship: tosca.relationships.network.BindsTo
782 perimeta_a_ha_0_port:
783 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
786 get_input: ha_sec_groups
791 - get_input: perimeta_instance_index
794 template: $VM_ha_port
799 - get_input: perimeta_instance_index
804 capability: tosca.capabilities.network.Bindable
805 node: perimeta_a_server_0
806 relationship: tosca.relationships.network.BindsTo
807 perimeta_a_untrusted_0_port:
808 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
811 get_input: untrusted_sec_groups
816 - get_input: perimeta_instance_index
820 - get_input: perimeta_instance_index
821 allowed_address_pairs:
825 - get_input: perimeta_instance_index
829 - get_input: perimeta_instance_index
832 template: $VM_untrusted_port
837 - get_input: perimeta_instance_index
839 get_input: untrusted_net_id
842 capability: tosca.capabilities.network.Bindable
843 node: perimeta_a_server_0
844 relationship: tosca.relationships.network.BindsTo
846 type: org.openecomp.resource.vfc.nodes.heat.vm_b
849 get_input: perimeta_flavor_name
851 get_input: perimeta_keypair
853 get_input: availability_zone_1
855 get_input: perimeta_image_name
858 get_input: vf_module_id
868 user_data_format: RAW
872 - get_input: perimeta_instance_index
874 group: perimeta_server_group_group
876 perimeta_ha_swmu_group:
877 type: org.openecomp.groups.heat.HeatStack
879 heat_file: ../Artifacts/perimeta_ha_swmu.yaml
881 HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
883 - perimeta_a_unused_0_port
884 - perimeta_a_untrusted_0_vlan_ports
885 - perimeta_a_mgmt_0_port
886 - perimeta_b_untrusted_0_port
887 - perimeta_b_untrusted_0_vlan_ports
888 - perimeta_b_unused_0_port
889 - perimeta_a_trusted_0_port
890 - perimeta_b_mgmt_0_port
891 - perimeta_b_ha_0_port
892 - perimeta_b_serv3_0_port
893 - perimeta_a_serv3_0_port
894 - perimeta_a_server_0
895 - perimeta_b_trusted_0_port
896 - perimeta_a_ha_0_port
897 - perimeta_a_untrusted_0_port
898 - perimeta_b_server_0
899 perimeta_server_group_group:
900 type: tosca.groups.Root
902 - perimeta_a_server_0
903 - perimeta_b_server_0
906 description: Server group used for these VMs
907 value: perimeta_server_group_group
908 substitution_mappings:
909 node_type: org.openecomp.resource.abstract.nodes.heat.perimeta_ha_swmu
911 attachment_perimeta_a_mgmt_0_port:
912 - perimeta_a_mgmt_0_port
914 binding_perimeta_a_server_0:
915 - perimeta_a_server_0
917 host_perimeta_a_server_0:
918 - perimeta_a_server_0
920 binding_perimeta_b_untrusted_0_port:
921 - perimeta_b_untrusted_0_port
923 binding_perimeta_b_unused_0_port:
924 - perimeta_b_unused_0_port
926 binding_perimeta_b_mgmt_0_port:
927 - perimeta_b_mgmt_0_port
929 binding_perimeta_a_mgmt_0_port:
930 - perimeta_a_mgmt_0_port
932 binding_perimeta_a_untrusted_0_port:
933 - perimeta_a_untrusted_0_port
935 endpoint_perimeta_a_server_0:
936 - perimeta_a_server_0
938 attachment_perimeta_b_unused_0_port:
939 - perimeta_b_unused_0_port
941 attachment_perimeta_a_serv3_0_port:
942 - perimeta_a_serv3_0_port
944 attachment_perimeta_b_serv3_0_port:
945 - perimeta_b_serv3_0_port
947 attachment_perimeta_b_ha_0_port:
948 - perimeta_b_ha_0_port
950 attachment_perimeta_b_trusted_0_port:
951 - perimeta_b_trusted_0_port
953 attachment_perimeta_b_untrusted_0_port:
954 - perimeta_b_untrusted_0_port
956 binding_perimeta_b_serv3_0_port:
957 - perimeta_b_serv3_0_port
959 binding_perimeta_a_serv3_0_port:
960 - perimeta_a_serv3_0_port
962 scalable_perimeta_a_server_0:
963 - perimeta_a_server_0
965 binding_perimeta_b_ha_0_port:
966 - perimeta_b_ha_0_port
968 binding_perimeta_b_trusted_0_port:
969 - perimeta_b_trusted_0_port
971 attachment_perimeta_a_trusted_0_port:
972 - perimeta_a_trusted_0_port
974 os_perimeta_b_server_0:
975 - perimeta_b_server_0
977 attachment_perimeta_a_untrusted_0_port:
978 - perimeta_a_untrusted_0_port
980 attachment_perimeta_a_ha_0_port:
981 - perimeta_a_ha_0_port
983 binding_perimeta_a_trusted_0_port:
984 - perimeta_a_trusted_0_port
986 binding_perimeta_a_unused_0_port:
987 - perimeta_a_unused_0_port
989 binding_perimeta_b_server_0:
990 - perimeta_b_server_0
992 scalable_perimeta_b_server_0:
993 - perimeta_b_server_0
995 attachment_perimeta_a_unused_0_port:
996 - perimeta_a_unused_0_port
998 endpoint_perimeta_b_server_0:
999 - perimeta_b_server_0
1001 binding_perimeta_a_ha_0_port:
1002 - perimeta_a_ha_0_port
1004 os_perimeta_a_server_0:
1005 - perimeta_a_server_0
1007 host_perimeta_b_server_0:
1008 - perimeta_b_server_0
1010 attachment_perimeta_b_mgmt_0_port:
1011 - perimeta_b_mgmt_0_port
1014 link_perimeta_a_trusted_0_port:
1015 - perimeta_a_trusted_0_port
1017 link_perimeta_b_untrusted_0_port:
1018 - perimeta_b_untrusted_0_port
1020 link_perimeta_a_unused_0_port:
1021 - perimeta_a_unused_0_port
1023 link_perimeta_b_serv3_0_port:
1024 - perimeta_b_serv3_0_port
1026 link_perimeta_b_ha_0_port:
1027 - perimeta_b_ha_0_port
1029 link_perimeta_b_trusted_0_port:
1030 - perimeta_b_trusted_0_port
1032 local_storage_perimeta_a_server_0:
1033 - perimeta_a_server_0
1035 link_perimeta_a_mgmt_0_port:
1036 - perimeta_a_mgmt_0_port
1038 link_contrail_vmi_subinterface_perimeta_b_untrusted_0_vlan_ports:
1039 - perimeta_b_untrusted_0_vlan_ports
1040 - link_contrail_vmi_subinterface
1041 local_storage_perimeta_b_server_0:
1042 - perimeta_b_server_0
1044 link_contrail_vmi_subinterface_perimeta_a_untrusted_0_vlan_ports:
1045 - perimeta_a_untrusted_0_vlan_ports
1046 - link_contrail_vmi_subinterface
1047 link_perimeta_a_untrusted_0_port:
1048 - perimeta_a_untrusted_0_port
1050 link_perimeta_a_serv3_0_port:
1051 - perimeta_a_serv3_0_port
1053 link_perimeta_b_unused_0_port:
1054 - perimeta_b_unused_0_port
1056 link_perimeta_b_mgmt_0_port:
1057 - perimeta_b_mgmt_0_port
1059 link_perimeta_a_ha_0_port:
1060 - perimeta_a_ha_0_port
1063 perimeta_server_group_policy:
1064 type: org.openecomp.policies.placement.Antilocate
1068 template: $SYSTEM_server_group
1073 - get_input: perimeta_instance_index
1074 container_type: host
1076 - perimeta_server_group_group