1 tosca_definitions_version: tosca_simple_yaml_1_0_0
3 template_name: perimeta_ha_sw
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 fixed IP addresses to use as untrusted fixed IPs of B instances.
86 description: HA network id
89 perimeta_param_server_group:
93 description: Server group to use for these VMs - ignored
94 untrusted_vlan_networks:
98 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.
105 description: List of security groups to add on management interfaces.
108 perimeta_instance_index:
112 description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
117 description: List of VLAN IDs to use on the untrusted/access network
124 description: Keypair to use for accessing this Perimeta instance
131 description: List of management virtual IP addresses for all instances.
138 description: List of service network 2 virtual IP addresses for all instances.
145 description: VNF ID of this deployment
150 description: Availability zone for A instances.
155 description: Availability zone for B instances. May be the same as A instance.
160 description: List of fixed IP addresses to use as HA IPs of A instances.
167 description: List of service network 2 alternate virtual IP addresses for all instances.
174 description: List of security groups to add on HA interfaces.
181 description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
188 description: Number of VLANs to connect to on the untrusted/access network
193 description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
200 description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
207 description: List of security groups to add on trusted interfaces.
214 description: List of service network 1 virtual IP addresses for all instances.
221 description: Service network 1 network UUID
228 description: List of fixed IP addresses to use as HA IPs of B instances.
235 description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
242 description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
249 description: List of fixed IP addresses to use as management IPs of A instances.
256 description: Role of these VMs
261 description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
268 description: Glance image for Perimeta instance
271 mgmt_net_default_gateway:
275 description: IP address of management default gateway
280 description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
283 untrusted_sec_groups:
287 description: List of security groups to add on untrusted interfaces.
294 description: Management network id
297 perimeta_flavor_name:
301 description: Flavor to use for creating VM instances
316 description: List of fixed IP addresses to use as management IPs of B instances.
320 perimeta_b_ha_0_port:
321 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
324 get_input: ha_sec_groups
329 - get_input: perimeta_instance_index
332 template: $VM_ha_port
337 - get_input: perimeta_instance_index
342 capability: tosca.capabilities.network.Bindable
343 node: perimeta_b_server_0
344 relationship: tosca.relationships.network.BindsTo
345 perimeta_a_untrusted_0_vlan_ports:
346 type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
351 get_input: untrusted_vlan_ids
352 service_template_filter:
353 substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
355 get_input: untrusted_num_vlans
357 parent_interface: perimeta_a_untrusted_0_port
358 virtual_ipv6_address:
361 - get_input: perimeta_instance_index
365 - get_input: perimeta_instance_index
368 - perimeta_a_untrusted_0_port
373 - get_input: perimeta_instance_index
374 subinterface_name_prefix:
376 template: $VM_untrusted_port_vlan_
381 - get_input: perimeta_instance_index
382 subinterface_instance_index:
385 - service_template_filter
390 - get_input: perimeta_instance_index
392 get_input: untrusted_vlan_networks
394 - binding_contrail_vmi_subinterface:
395 capability: tosca.capabilities.network.Bindable
396 node: perimeta_a_untrusted_0_port
397 relationship: tosca.relationships.network.BindsTo
399 type: org.openecomp.resource.vfc.nodes.heat.vm_a
402 get_input: perimeta_flavor_name
404 get_input: perimeta_keypair
406 get_input: availability_zone_0
408 get_input: perimeta_image_name
411 get_input: vf_module_id
422 /opt/MetaSwitch/init/custom.ini:
426 user_data_format: RAW
430 - get_input: perimeta_instance_index
432 group: perimeta_server_group_group
435 type: tosca.artifacts.Deployment
436 file: ../Artifacts/custom.ini
437 perimeta_a_mgmt_0_port:
438 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
441 get_input: mgmt_sec_groups
446 - get_input: perimeta_instance_index
447 allowed_address_pairs:
451 - get_input: perimeta_instance_index
454 template: $VM_mgmt_port
459 - get_input: perimeta_instance_index
461 get_input: mgmt_net_id
464 capability: tosca.capabilities.network.Bindable
465 node: perimeta_a_server_0
466 relationship: tosca.relationships.network.BindsTo
467 perimeta_b_trusted_0_port:
468 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
471 get_input: trusted_sec_groups
476 - get_input: perimeta_instance_index
477 allowed_address_pairs:
481 - get_input: perimeta_instance_index
484 template: $VM_trusted_port
489 - get_input: perimeta_instance_index
491 get_input: trusted_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_port:
498 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
501 get_input: untrusted_sec_groups
506 - get_input: perimeta_instance_index
510 - get_input: perimeta_instance_index
511 allowed_address_pairs:
515 - get_input: perimeta_instance_index
519 - get_input: perimeta_instance_index
522 template: $VM_untrusted_port
527 - get_input: perimeta_instance_index
529 get_input: untrusted_net_id
532 capability: tosca.capabilities.network.Bindable
533 node: perimeta_b_server_0
534 relationship: tosca.relationships.network.BindsTo
535 perimeta_b_untrusted_0_vlan_ports:
536 type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
541 get_input: untrusted_vlan_ids
542 service_template_filter:
543 substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
545 get_input: untrusted_num_vlans
547 parent_interface: perimeta_b_untrusted_0_port
548 virtual_ipv6_address:
551 - get_input: perimeta_instance_index
555 - get_input: perimeta_instance_index
558 - perimeta_b_untrusted_0_port
563 - get_input: perimeta_instance_index
564 subinterface_name_prefix:
566 template: $VM_untrusted_port_vlan_
571 - get_input: perimeta_instance_index
572 subinterface_instance_index:
575 - service_template_filter
580 - get_input: perimeta_instance_index
582 get_input: untrusted_vlan_networks
584 - binding_contrail_vmi_subinterface:
585 capability: tosca.capabilities.network.Bindable
586 node: perimeta_b_untrusted_0_port
587 relationship: tosca.relationships.network.BindsTo
588 perimeta_a_ha_0_port:
589 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
592 get_input: ha_sec_groups
597 - get_input: perimeta_instance_index
600 template: $VM_ha_port
605 - get_input: perimeta_instance_index
610 capability: tosca.capabilities.network.Bindable
611 node: perimeta_a_server_0
612 relationship: tosca.relationships.network.BindsTo
613 perimeta_a_trusted_0_port:
614 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
617 get_input: trusted_sec_groups
622 - get_input: perimeta_instance_index
623 allowed_address_pairs:
627 - get_input: perimeta_instance_index
630 template: $VM_trusted_port
635 - get_input: perimeta_instance_index
637 get_input: trusted_net_id
640 capability: tosca.capabilities.network.Bindable
641 node: perimeta_a_server_0
642 relationship: tosca.relationships.network.BindsTo
643 perimeta_b_mgmt_0_port:
644 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
647 get_input: mgmt_sec_groups
652 - get_input: perimeta_instance_index
653 allowed_address_pairs:
657 - get_input: perimeta_instance_index
660 template: $VM_mgmt_port
665 - get_input: perimeta_instance_index
667 get_input: mgmt_net_id
670 capability: tosca.capabilities.network.Bindable
671 node: perimeta_b_server_0
672 relationship: tosca.relationships.network.BindsTo
673 perimeta_a_untrusted_0_port:
674 type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
677 get_input: untrusted_sec_groups
682 - get_input: perimeta_instance_index
686 - get_input: perimeta_instance_index
687 allowed_address_pairs:
691 - get_input: perimeta_instance_index
695 - get_input: perimeta_instance_index
698 template: $VM_untrusted_port
703 - get_input: perimeta_instance_index
705 get_input: untrusted_net_id
708 capability: tosca.capabilities.network.Bindable
709 node: perimeta_a_server_0
710 relationship: tosca.relationships.network.BindsTo
712 type: org.openecomp.resource.vfc.nodes.heat.vm_b
715 get_input: perimeta_flavor_name
717 get_input: perimeta_keypair
719 get_input: availability_zone_1
721 get_input: perimeta_image_name
724 get_input: vf_module_id
734 user_data_format: RAW
738 - get_input: perimeta_instance_index
740 group: perimeta_server_group_group
742 perimeta_server_group_group:
743 type: tosca.groups.Root
745 - perimeta_a_server_0
746 - perimeta_b_server_0
747 perimeta_ha_sw_group:
748 type: org.openecomp.groups.heat.HeatStack
750 heat_file: ../Artifacts/perimeta_ha_sw.yaml
752 HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
754 - perimeta_b_ha_0_port
755 - perimeta_a_untrusted_0_vlan_ports
756 - perimeta_a_server_0
757 - perimeta_a_mgmt_0_port
758 - perimeta_b_trusted_0_port
759 - perimeta_b_untrusted_0_port
760 - perimeta_b_untrusted_0_vlan_ports
761 - perimeta_a_ha_0_port
762 - perimeta_a_trusted_0_port
763 - perimeta_b_mgmt_0_port
764 - perimeta_a_untrusted_0_port
765 - perimeta_b_server_0
768 description: Server group used for these VMs
769 value: perimeta_server_group_group
770 substitution_mappings:
771 node_type: org.openecomp.resource.abstract.nodes.heat.perimeta_ha_sw
773 attachment_perimeta_a_mgmt_0_port:
774 - perimeta_a_mgmt_0_port
776 binding_perimeta_a_server_0:
777 - perimeta_a_server_0
779 host_perimeta_a_server_0:
780 - perimeta_a_server_0
782 binding_perimeta_b_untrusted_0_port:
783 - perimeta_b_untrusted_0_port
785 binding_perimeta_b_mgmt_0_port:
786 - perimeta_b_mgmt_0_port
788 binding_perimeta_a_mgmt_0_port:
789 - perimeta_a_mgmt_0_port
791 binding_perimeta_a_untrusted_0_port:
792 - perimeta_a_untrusted_0_port
794 endpoint_perimeta_a_server_0:
795 - perimeta_a_server_0
797 attachment_perimeta_b_ha_0_port:
798 - perimeta_b_ha_0_port
800 attachment_perimeta_b_trusted_0_port:
801 - perimeta_b_trusted_0_port
803 attachment_perimeta_b_untrusted_0_port:
804 - perimeta_b_untrusted_0_port
806 scalable_perimeta_a_server_0:
807 - perimeta_a_server_0
809 binding_perimeta_b_ha_0_port:
810 - perimeta_b_ha_0_port
812 binding_perimeta_b_trusted_0_port:
813 - perimeta_b_trusted_0_port
815 attachment_perimeta_a_trusted_0_port:
816 - perimeta_a_trusted_0_port
818 os_perimeta_b_server_0:
819 - perimeta_b_server_0
821 attachment_perimeta_a_untrusted_0_port:
822 - perimeta_a_untrusted_0_port
824 attachment_perimeta_a_ha_0_port:
825 - perimeta_a_ha_0_port
827 binding_perimeta_a_trusted_0_port:
828 - perimeta_a_trusted_0_port
830 binding_perimeta_b_server_0:
831 - perimeta_b_server_0
833 scalable_perimeta_b_server_0:
834 - perimeta_b_server_0
836 endpoint_perimeta_b_server_0:
837 - perimeta_b_server_0
839 binding_perimeta_a_ha_0_port:
840 - perimeta_a_ha_0_port
842 os_perimeta_a_server_0:
843 - perimeta_a_server_0
845 host_perimeta_b_server_0:
846 - perimeta_b_server_0
848 attachment_perimeta_b_mgmt_0_port:
849 - perimeta_b_mgmt_0_port
852 link_perimeta_a_trusted_0_port:
853 - perimeta_a_trusted_0_port
855 link_perimeta_b_untrusted_0_port:
856 - perimeta_b_untrusted_0_port
858 link_perimeta_a_mgmt_0_port:
859 - perimeta_a_mgmt_0_port
861 link_perimeta_b_ha_0_port:
862 - perimeta_b_ha_0_port
864 link_contrail_vmi_subinterface_perimeta_b_untrusted_0_vlan_ports:
865 - perimeta_b_untrusted_0_vlan_ports
866 - link_contrail_vmi_subinterface
867 local_storage_perimeta_b_server_0:
868 - perimeta_b_server_0
870 link_contrail_vmi_subinterface_perimeta_a_untrusted_0_vlan_ports:
871 - perimeta_a_untrusted_0_vlan_ports
872 - link_contrail_vmi_subinterface
873 link_perimeta_a_untrusted_0_port:
874 - perimeta_a_untrusted_0_port
876 link_perimeta_b_mgmt_0_port:
877 - perimeta_b_mgmt_0_port
879 link_perimeta_a_ha_0_port:
880 - perimeta_a_ha_0_port
882 link_perimeta_b_trusted_0_port:
883 - perimeta_b_trusted_0_port
885 local_storage_perimeta_a_server_0:
886 - perimeta_a_server_0
889 perimeta_server_group_policy:
890 type: org.openecomp.policies.placement.Antilocate
894 template: $SYSTEM_server_group
899 - get_input: perimeta_instance_index
902 - perimeta_server_group_group