aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml128
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/MainServiceTemplate.yaml343
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/nestedServiceTemplate.yaml240
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/MANIFEST.json17
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/main.yml187
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/nested.yml159
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml664
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/MainServiceTemplate.yaml313
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested1ServiceTemplate.yaml244
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested2ServiceTemplate.yaml287
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested3ServiceTemplate.yaml266
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested4ServiceTemplate.yaml238
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/MANIFEST.json32
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/main.yml105
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested1.yml125
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested2.yml154
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested3.yml149
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested4.yml141
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC/inputfiles/base_perimeta_deployment_create.env307
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC/inputfiles/custom.ini22
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml2919
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/MainServiceTemplate.yaml737
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swServiceTemplate.yaml902
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_sw_aServiceTemplate.yaml613
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_sw_bServiceTemplate.yaml604
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmuServiceTemplate.yaml1076
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmu_aServiceTemplate.yaml719
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmu_bServiceTemplate.yaml710
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/vlan_subinterface_dualServiceTemplate.yaml156
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/MANIFEST.json94
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/base_perimeta_deployment_create.yaml442
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_a_healing.yaml384
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_b_healing.yaml384
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_rebuild.yaml384
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_a_healing.yaml381
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_b_healing.yaml381
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_rebuild_scaling.yaml381
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/msc_a_template.json33
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw.yaml480
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw_a.yaml332
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw_b.yaml327
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu.yaml561
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu_a.yaml381
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu_b.yaml376
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/ssc_a_template.json34
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/vlan_subinterface_dual.yaml98
46 files changed, 18010 insertions, 0 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..e88182ac3d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,128 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: GlobalSubstitutionTypes
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.abstract.nodes.heat.nested:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ vlan_ids:
+ type: string
+ required: true
+ status: SUPPORTED
+ p1:
+ type: string
+ required: true
+ status: SUPPORTED
+ p2:
+ type: string
+ required: true
+ status: SUPPORTED
+ virtual_ipv6_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ virtual_ip_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ net2:
+ type: string
+ required: true
+ status: SUPPORTED
+ lb_st_vlan_type_oam:
+ type: string
+ description: dummy
+ required: true
+ status: SUPPORTED
+ mac_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ net1:
+ type: string
+ required: true
+ status: SUPPORTED
+ subinterface_name_prefix:
+ type: string
+ required: true
+ status: SUPPORTED
+ subinterface_instance_index:
+ type: float
+ required: true
+ status: SUPPORTED
+ requirements:
+ - link_template_Vlan_3_arrayParameter:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_3_arrayParameter:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_2:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_2:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_1:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_1:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1 \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..812a53ba68
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/MainServiceTemplate.yaml
@@ -0,0 +1,343 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: Main
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.cmaui:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ cmaui_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
+ template_PortTuple_LB1:
+ hidden: false
+ immutable: false
+ type: string
+ oam_sec_group_name:
+ hidden: false
+ immutable: false
+ type: string
+ lb_st_interface_type_oam:
+ hidden: false
+ immutable: false
+ type: string
+ virtual_ip_address:
+ hidden: false
+ immutable: false
+ type: string
+ security_group_name:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
+ jsa_net_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: network name of jsa log network
+ vlan_ids:
+ hidden: false
+ immutable: false
+ type: string
+ cmaui_image:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image for CMAUI server
+ virtual_ipv6_address:
+ hidden: false
+ immutable: false
+ type: string
+ cmaui_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor for CMAUI server
+ lb_st_vlan_type_oam:
+ hidden: false
+ immutable: false
+ type: string
+ description: dummy
+ mac_address:
+ hidden: false
+ immutable: false
+ type: string
+ availability_zone_0:
+ label: availabilityzone name
+ hidden: false
+ immutable: false
+ type: string
+ description: availabilityzone name
+ cmaui_oam_ips:
+ hidden: false
+ immutable: false
+ type: string
+ node_templates:
+ cmaui_port_2:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ replacement_policy: AUTO
+ security_groups:
+ - get_input: security_group_name
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - cmaui_oam_ips
+ - 0
+ network: test_net1
+ requirements:
+ - link:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: server_cmaui_nova
+ relationship: tosca.relationships.network.BindsTo
+ test_nested_invalidConnection:
+ type: org.openecomp.resource.abstract.nodes.heat.nested
+ directives:
+ - substitutable
+ properties:
+ p1: test_Vlan1
+ service_template_filter:
+ substitute_service_template: nestedServiceTemplate.yaml
+ p2: server_cmaui_nova
+ test_net2:
+ type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+ properties:
+ shared: true
+ network_name:
+ get_input: jsa_net_name
+ template_VMInt_OAM_lb_1:
+ type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+ properties:
+ security_group_refs:
+ - get_input: oam_sec_group_name
+ virtual_network_refs:
+ - test_net1
+ virtual_machine_interface_properties:
+ virtual_machine_interface_properties_service_interface_type:
+ get_input: lb_st_interface_type_oam
+ port_tuple_refs:
+ - get_input: template_PortTuple_LB1
+ requirements:
+ - link:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: server_cmaui_nova
+ relationship: tosca.relationships.network.BindsTo
+ test_resourceGroup:
+ type: org.openecomp.resource.abstract.nodes.heat.nested
+ directives:
+ - substitutable
+ properties:
+ p1: template_VMInt_OAM_lb_1
+ service_template_filter:
+ substitute_service_template: nestedServiceTemplate.yaml
+ count: 9
+ mandatory: true
+ p2: cmaui_port_2
+ net2: test_net2
+ net1: test_net1
+ requirements:
+ - link_template_Vlan_2:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net2
+ relationship: tosca.relationships.network.LinksTo
+ - link_template_Vlan_1:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - binding_template_Vlan_2:
+ capability: tosca.capabilities.network.Bindable
+ node: cmaui_port_2
+ relationship: tosca.relationships.network.BindsTo
+ - binding_template_Vlan_1:
+ capability: tosca.capabilities.network.Bindable
+ node: template_VMInt_OAM_lb_1
+ relationship: tosca.relationships.network.BindsTo
+ test_net1:
+ type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+ properties:
+ shared: true
+ network_name:
+ get_input: jsa_net_name
+ test_Vlan2:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - template_VMInt_OAM_lb_1
+ name: vlan
+ virtual_network_refs:
+ - test_net1
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ requirements:
+ - link:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: template_VMInt_OAM_lb_1
+ relationship: tosca.relationships.network.BindsTo
+ test_Vlan1:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - test_Vlan2
+ name: vlan
+ virtual_network_refs:
+ - test_net1
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ requirements:
+ - link:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ server_cmaui_nova:
+ type: org.openecomp.resource.vfc.nodes.heat.cmaui
+ properties:
+ flavor:
+ get_input: cmaui_flavor
+ availability_zone:
+ get_input: availability_zone_0
+ image:
+ get_input: cmaui_image
+ contrail_service_instance_ind: true
+ name:
+ get_input:
+ - cmaui_names
+ - 0
+ test_nested:
+ type: org.openecomp.resource.abstract.nodes.heat.nested
+ directives:
+ - substitutable
+ properties:
+ p1: template_VMInt_OAM_lb_1
+ service_template_filter:
+ substitute_service_template: nestedServiceTemplate.yaml
+ p2: cmaui_port_2
+ net2: test_net2
+ net1: test_net1
+ requirements:
+ - link_template_Vlan_2:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net2
+ relationship: tosca.relationships.network.LinksTo
+ - link_template_Vlan_1:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - binding_template_Vlan_2:
+ capability: tosca.capabilities.network.Bindable
+ node: cmaui_port_2
+ relationship: tosca.relationships.network.BindsTo
+ - binding_template_Vlan_1:
+ capability: tosca.capabilities.network.Bindable
+ node: template_VMInt_OAM_lb_1
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ main_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/main.yml
+ description: |
+ Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+ members:
+ - cmaui_port_2
+ - test_nested_invalidConnection
+ - test_net2
+ - template_VMInt_OAM_lb_1
+ - test_resourceGroup
+ - test_net1
+ - test_Vlan2
+ - test_Vlan1
+ - server_cmaui_nova
+ - test_nested \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/nestedServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/nestedServiceTemplate.yaml
new file mode 100644
index 0000000000..401fc4a776
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/nestedServiceTemplate.yaml
@@ -0,0 +1,240 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: nested
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ vlan_ids:
+ hidden: false
+ immutable: false
+ type: string
+ p1:
+ hidden: false
+ immutable: false
+ type: string
+ p2:
+ hidden: false
+ immutable: false
+ type: string
+ virtual_ipv6_address:
+ hidden: false
+ immutable: false
+ type: string
+ virtual_ip_address:
+ hidden: false
+ immutable: false
+ type: string
+ net2:
+ hidden: false
+ immutable: false
+ type: string
+ lb_st_vlan_type_oam:
+ hidden: false
+ immutable: false
+ type: string
+ description: dummy
+ mac_address:
+ hidden: false
+ immutable: false
+ type: string
+ net1:
+ hidden: false
+ immutable: false
+ type: string
+ subinterface_name_prefix:
+ hidden: false
+ immutable: false
+ type: string
+ subinterface_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ node_templates:
+ template_Vlan_3_arrayParameter:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input:
+ - p2
+ - 0
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: subinterface_instance_index
+ virtual_network_refs:
+ - get_input:
+ - net2
+ - 1
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ template_Vlan_2:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input: p2
+ - get_input: p1
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: subinterface_instance_index
+ virtual_network_refs:
+ - get_input: net2
+ - get_input: net1
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ template_Vlan_1:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input: p1
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: subinterface_instance_index
+ virtual_network_refs:
+ - get_input: net1
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ groups:
+ nested_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/nested.yml
+ description: cmaui server template for vMMSC
+ members:
+ - template_Vlan_3_arrayParameter
+ - template_Vlan_2
+ - template_Vlan_1
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.nested
+ requirements:
+ link_template_Vlan_1:
+ - template_Vlan_1
+ - link
+ link_template_Vlan_3_arrayParameter:
+ - template_Vlan_3_arrayParameter
+ - link
+ link_template_Vlan_2:
+ - template_Vlan_2
+ - link
+ binding_template_Vlan_2:
+ - template_Vlan_2
+ - binding
+ binding_template_Vlan_1:
+ - template_Vlan_1
+ - binding
+ binding_template_Vlan_3_arrayParameter:
+ - template_Vlan_3_arrayParameter
+ - binding \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/MANIFEST.json
new file mode 100644
index 0000000000..aca75b5055
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/MANIFEST.json
@@ -0,0 +1,17 @@
+{
+ "name": "vMME_Small",
+ "description": "HOT template to create 2 cinder volume attachment",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "main.yml",
+ "type": "HEAT",
+ "isBase": "true"
+ },
+ {
+ "file": "nested.yml",
+ "type": "HEAT",
+ "isBase": "false"
+ }
+ ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/main.yml
new file mode 100644
index 0000000000..8bdc627afc
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/main.yml
@@ -0,0 +1,187 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
+
+parameters:
+ jsa_net_name:
+ type: string
+ description: network name of jsa log network
+ security_group_name:
+ type: comma_delimited_list
+ description: CMAUI1, CMAUI2 server names
+ cmaui_names:
+ type: comma_delimited_list
+ description: CMAUI1, CMAUI2 server names
+ cmaui_image:
+ type: string
+ description: Image for CMAUI server
+ availability_zone_0:
+ type: string
+ label: availabilityzone name
+ description: availabilityzone name
+ cmaui_flavor:
+ type: string
+ description: Flavor for CMAUI server
+ cmaui_oam_ips:
+ type: string
+ oam_sec_group_name:
+ type: string
+ lb_st_interface_type_oam:
+ type: string
+ template_PortTuple_LB1:
+ type: string
+ lb_st_vlan_type_oam:
+ description: dummy
+ type: string
+ mac_address:
+ type: string
+ virtual_ip_address:
+ type: string
+ virtual_ipv6_address:
+ type: string
+ vlan_ids:
+ type: string
+resources:
+ test_net1:
+ type: OS::Neutron::Net
+ properties:
+ name: {get_param: jsa_net_name}
+ shared: True
+ test_net2:
+ type: OS::Neutron::Net
+ properties:
+ name: {get_param: jsa_net_name}
+ shared: True
+
+ server_cmaui_nova:
+ type: OS::Nova::Server
+ properties:
+ name: { get_param: [cmaui_names, 0]}
+ image: { get_param: cmaui_image }
+ availability_zone: { get_param: availability_zone_0 }
+ flavor: { get_param: cmaui_flavor }
+ networks:
+ - port: { get_resource: template_VMInt_OAM_lb_1 }
+ - port: { get_resource: cmaui_port_2 }
+
+ template_VMInt_OAM_lb_1:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_service_interface_type: { get_param: lb_st_interface_type_oam },
+ }
+ virtual_network_refs: [{ get_resource: test_net1 }]
+ port_tuple_refs: [{ get_param: template_PortTuple_LB1 }]
+ security_group_refs: [{ get_param: oam_sec_group_name}]
+
+ cmaui_port_2:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: test_net1 }
+ fixed_ips: [{"ip_address": {get_param: [cmaui_oam_ips, 0]}}]
+ security_groups: [{get_param: security_group_name}]
+ replacement_policy: AUTO
+
+ test_Vlan1:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name: vlan
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_resource: test_net1 }]
+ virtual_machine_interface_refs: [{ get_resource: test_Vlan2 }]
+
+ test_Vlan2:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name: vlan
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_resource: test_net1 }]
+ virtual_machine_interface_refs: [{ get_resource: template_VMInt_OAM_lb_1 }]
+
+ test_nested:
+ type: nested.yml
+ properties:
+ p1: { get_resource: template_VMInt_OAM_lb_1}
+ p2: { get_resource: cmaui_port_2}
+ net1: { get_resource: test_net1}
+ net2: { get_resource: test_net2}
+
+ test_resourceGroup:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: 9
+ resource_def:
+ type: nested.yml
+ properties:
+ p1: { get_resource: template_VMInt_OAM_lb_1}
+ p2: { get_resource: cmaui_port_2}
+ net1: { get_resource: test_net1}
+ net2: { get_resource: test_net2}
+
+ test_nested_invalidConnection:
+ type: nested.yml
+ properties:
+ p1: { get_resource: test_Vlan1}
+ p2: { get_resource: server_cmaui_nova}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/nested.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/nested.yml
new file mode 100644
index 0000000000..cf4a1dea10
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/nested.yml
@@ -0,0 +1,159 @@
+heat_template_version: 2013-05-23
+
+description: cmaui server template for vMMSC
+
+parameters:
+ p1:
+ type: string
+ p2:
+ type: string
+ net1:
+ type: string
+ net2:
+ type: string
+ lb_st_vlan_type_oam:
+ description: dummy
+ type: string
+ mac_address:
+ type: string
+ virtual_ip_address:
+ type: string
+ virtual_ipv6_address:
+ type: string
+ vlan_ids:
+ type: string
+ subinterface_name_prefix:
+ type: string
+ subinterface_instance_index:
+ type: number
+resources:
+
+ template_Vlan_1:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: net1 }]
+ virtual_machine_interface_refs: [{ get_param: p1 }]
+
+ template_Vlan_2:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: net2 },{ get_param: net1 }]
+ virtual_machine_interface_refs: [{ get_param: p2 }, { get_param: p1 }]
+
+ template_Vlan_3_arrayParameter:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: [net2,1] }]
+ virtual_machine_interface_refs: [{ get_param: [p2,0]}]
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..03dd95d822
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,664 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: GlobalSubstitutionTypes
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.abstract.nodes.heat.nested1:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ vlan_ids:
+ type: string
+ required: true
+ status: SUPPORTED
+ virtual_ipv6_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ virtual_ip_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ lb_st_vlan_type_oam:
+ type: string
+ description: dummy
+ required: true
+ status: SUPPORTED
+ mac_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ net2:
+ type: string
+ required: true
+ status: SUPPORTED
+ net1:
+ type: string
+ required: true
+ status: SUPPORTED
+ indx:
+ type: float
+ required: true
+ status: SUPPORTED
+ subinterface_name_prefix:
+ type: string
+ required: true
+ status: SUPPORTED
+ subinterface_instance_index:
+ type: float
+ required: true
+ status: SUPPORTED
+ port1:
+ type: string
+ required: true
+ status: SUPPORTED
+ port2:
+ type: string
+ required: true
+ status: SUPPORTED
+ requirements:
+ - link_template_Vlan_2:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_2:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_1:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_1:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_8_test_nested4Level_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_8_test_nested4Level_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_7_test_nested4Level_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_7_test_nested4Level_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_6_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_6_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_5_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_5_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_4_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_4_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_3_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_3_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ org.openecomp.resource.abstract.nodes.heat.nested2:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ cmaui_names:
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ template_PortTuple_LB1:
+ type: string
+ required: true
+ status: SUPPORTED
+ lb_st_interface_type_oam:
+ type: string
+ required: true
+ status: SUPPORTED
+ oam_sec_group_name:
+ type: string
+ required: true
+ status: SUPPORTED
+ virtual_ip_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ net2:
+ type: string
+ required: true
+ status: SUPPORTED
+ net1:
+ type: string
+ required: true
+ status: SUPPORTED
+ indx:
+ type: float
+ required: true
+ status: SUPPORTED
+ security_group_name:
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ port1:
+ type: string
+ required: true
+ status: SUPPORTED
+ port2:
+ type: string
+ required: true
+ status: SUPPORTED
+ vlan_ids:
+ type: string
+ required: true
+ status: SUPPORTED
+ cmaui_image:
+ type: string
+ description: Image for CMAUI server
+ required: true
+ status: SUPPORTED
+ virtual_ipv6_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ cmaui_flavor:
+ type: string
+ description: Flavor for CMAUI server
+ required: true
+ status: SUPPORTED
+ lb_st_vlan_type_oam:
+ type: string
+ description: dummy
+ required: true
+ status: SUPPORTED
+ mac_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ availability_zone_0:
+ type: string
+ description: availabilityzone name
+ required: true
+ status: SUPPORTED
+ subinterface_name_prefix:
+ type: string
+ required: true
+ status: SUPPORTED
+ subinterface_instance_index:
+ type: float
+ required: true
+ status: SUPPORTED
+ cmaui_oam_ips:
+ type: string
+ required: true
+ status: SUPPORTED
+ requirements:
+ - link_template_Vlan_8_test_nested4Level_test_nested3Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_8_test_nested4Level_test_nested3Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_7_test_nested4Level_test_nested3Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_7_test_nested4Level_test_nested3Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_6_test_nested3Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_6_test_nested3Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_5_test_nested3Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_5_test_nested3Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_4:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_4:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_3:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_3:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ org.openecomp.resource.abstract.nodes.heat.nested3:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ cmaui_names:
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ template_PortTuple_LB1:
+ type: string
+ required: true
+ status: SUPPORTED
+ lb_st_interface_type_oam:
+ type: string
+ required: true
+ status: SUPPORTED
+ oam_sec_group_name:
+ type: string
+ required: true
+ status: SUPPORTED
+ virtual_ip_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ net2:
+ type: string
+ required: true
+ status: SUPPORTED
+ net1:
+ type: string
+ required: true
+ status: SUPPORTED
+ indx:
+ type: float
+ required: true
+ status: SUPPORTED
+ security_group_name:
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ port1:
+ type: string
+ required: true
+ status: SUPPORTED
+ port2:
+ type: string
+ required: true
+ status: SUPPORTED
+ vlan_ids:
+ type: string
+ required: true
+ status: SUPPORTED
+ cmaui_image:
+ type: string
+ description: Image for CMAUI server
+ required: true
+ status: SUPPORTED
+ virtual_ipv6_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ cmaui_flavor:
+ type: string
+ description: Flavor for CMAUI server
+ required: true
+ status: SUPPORTED
+ lb_st_vlan_type_oam:
+ type: string
+ description: dummy
+ required: true
+ status: SUPPORTED
+ mac_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ availability_zone_0:
+ type: string
+ description: availabilityzone name
+ required: true
+ status: SUPPORTED
+ subinterface_name_prefix:
+ type: string
+ required: true
+ status: SUPPORTED
+ subinterface_instance_index:
+ type: float
+ required: true
+ status: SUPPORTED
+ cmaui_oam_ips:
+ type: string
+ required: true
+ status: SUPPORTED
+ requirements:
+ - link_template_Vlan_8_test_nested4Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_8_test_nested4Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_7_test_nested4Level:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_7_test_nested4Level:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_6:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_6:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_5:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_5:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ org.openecomp.resource.abstract.nodes.heat.nested4:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ cmaui_names:
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ template_PortTuple_LB1:
+ type: string
+ required: true
+ status: SUPPORTED
+ lb_st_interface_type_oam:
+ type: string
+ required: true
+ status: SUPPORTED
+ oam_sec_group_name:
+ type: string
+ required: true
+ status: SUPPORTED
+ virtual_ip_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ net2:
+ type: string
+ required: true
+ status: SUPPORTED
+ net1:
+ type: string
+ required: true
+ status: SUPPORTED
+ indx:
+ type: float
+ required: true
+ status: SUPPORTED
+ security_group_name:
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ port1:
+ type: string
+ required: true
+ status: SUPPORTED
+ port2:
+ type: string
+ required: true
+ status: SUPPORTED
+ vlan_ids:
+ type: string
+ required: true
+ status: SUPPORTED
+ cmaui_image:
+ type: string
+ description: Image for CMAUI server
+ required: true
+ status: SUPPORTED
+ virtual_ipv6_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ cmaui_flavor:
+ type: string
+ description: Flavor for CMAUI server
+ required: true
+ status: SUPPORTED
+ lb_st_vlan_type_oam:
+ type: string
+ description: dummy
+ required: true
+ status: SUPPORTED
+ mac_address:
+ type: string
+ required: true
+ status: SUPPORTED
+ availability_zone_0:
+ type: string
+ description: availabilityzone name
+ required: true
+ status: SUPPORTED
+ subinterface_name_prefix:
+ type: string
+ required: true
+ status: SUPPORTED
+ subinterface_instance_index:
+ type: float
+ required: true
+ status: SUPPORTED
+ cmaui_oam_ips:
+ type: string
+ required: true
+ status: SUPPORTED
+ requirements:
+ - link_template_Vlan_8:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_8:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ - link_template_Vlan_7:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_template_Vlan_7:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1 \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..888a0f727c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/MainServiceTemplate.yaml
@@ -0,0 +1,313 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: Main
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.cmaui:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ cmaui_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
+ cmaui_image:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image for CMAUI server
+ template_PortTuple_LB1:
+ hidden: false
+ immutable: false
+ type: string
+ cmaui_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor for CMAUI server
+ oam_sec_group_name:
+ hidden: false
+ immutable: false
+ type: string
+ lb_st_interface_type_oam:
+ hidden: false
+ immutable: false
+ type: string
+ security_group_name:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
+ availability_zone_0:
+ label: availabilityzone name
+ hidden: false
+ immutable: false
+ type: string
+ description: availabilityzone name
+ cmaui_oam_ips:
+ hidden: false
+ immutable: false
+ type: string
+ contrail_net_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: network name of jsa log network
+ jsa_net_name:
+ hidden: false
+ immutable: false
+ type: string
+ jsa_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: network name of jsa log network
+ node_templates:
+ cmaui_port_2:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ replacement_policy: AUTO
+ security_groups:
+ - get_input: security_group_name
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - cmaui_oam_ips
+ - 0
+ network: test_net1
+ requirements:
+ - link:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: server_cmaui_nova
+ relationship: tosca.relationships.network.BindsTo
+ test_nested1Level:
+ type: org.openecomp.resource.abstract.nodes.heat.nested1
+ directives:
+ - substitutable
+ properties:
+ service_template_filter:
+ substitute_service_template: nested1ServiceTemplate.yaml
+ net2:
+ get_attribute:
+ - test_contrailV2_net2
+ - fq_name
+ net1: test_net1
+ port1: template_VMInt_OAM_lb_1
+ port2: cmaui_port_2
+ requirements:
+ - link_template_Vlan_2:
+ capability: tosca.capabilities.network.Linkable
+ node: test_contrailV2_net2
+ relationship: tosca.relationships.network.LinksTo
+ - link_template_Vlan_1:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - link_template_Vlan_8_test_nested4Level_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - link_template_Vlan_7_test_nested4Level_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - link_template_Vlan_6_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - link_template_Vlan_5_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - link_template_Vlan_4_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: test_contrailV2_net2
+ relationship: tosca.relationships.network.LinksTo
+ - link_template_Vlan_3_test_nested2Level:
+ capability: tosca.capabilities.network.Linkable
+ node: test_contrailV2_net2
+ relationship: tosca.relationships.network.LinksTo
+ - binding_template_Vlan_2:
+ capability: tosca.capabilities.network.Bindable
+ node: cmaui_port_2
+ relationship: tosca.relationships.network.BindsTo
+ - binding_template_Vlan_1:
+ capability: tosca.capabilities.network.Bindable
+ node: template_VMInt_OAM_lb_1
+ relationship: tosca.relationships.network.BindsTo
+ - binding_template_Vlan_8_test_nested4Level_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: template_VMInt_OAM_lb_1
+ relationship: tosca.relationships.network.BindsTo
+ - binding_template_Vlan_7_test_nested4Level_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: template_VMInt_OAM_lb_1
+ relationship: tosca.relationships.network.BindsTo
+ - binding_template_Vlan_6_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: template_VMInt_OAM_lb_1
+ relationship: tosca.relationships.network.BindsTo
+ - binding_template_Vlan_5_test_nested3Level_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: template_VMInt_OAM_lb_1
+ relationship: tosca.relationships.network.BindsTo
+ - binding_template_Vlan_4_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: template_VMInt_OAM_lb_1
+ relationship: tosca.relationships.network.BindsTo
+ - binding_template_Vlan_3_test_nested2Level:
+ capability: tosca.capabilities.network.Bindable
+ node: template_VMInt_OAM_lb_1
+ relationship: tosca.relationships.network.BindsTo
+ test_contrailV2_net2:
+ type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
+ properties:
+ network_name:
+ get_input: contrail_net_name
+ template_VMInt_OAM_lb_1:
+ type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
+ properties:
+ security_group_refs:
+ - get_input: oam_sec_group_name
+ virtual_network_refs:
+ - test_net1
+ virtual_machine_interface_properties:
+ virtual_machine_interface_properties_service_interface_type:
+ get_input: lb_st_interface_type_oam
+ port_tuple_refs:
+ - get_input: template_PortTuple_LB1
+ requirements:
+ - link:
+ capability: tosca.capabilities.network.Linkable
+ node: test_net1
+ relationship: tosca.relationships.network.LinksTo
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: server_cmaui_nova
+ relationship: tosca.relationships.network.BindsTo
+ test_resourceGroup:
+ type: org.openecomp.resource.abstract.nodes.heat.nested3
+ directives:
+ - substitutable
+ properties:
+ service_template_filter:
+ substitute_service_template: nested3ServiceTemplate.yaml
+ count: 9
+ mandatory: true
+ net1:
+ list_join:
+ - ':'
+ - get_attribute:
+ - test_contrailV2_net2
+ - fq_name
+ indx:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ port1: cmaui_port_2
+ requirements:
+ - link_template_Vlan_7_test_nested4Level:
+ capability: tosca.capabilities.network.Linkable
+ node: test_contrailV2_net2
+ relationship: tosca.relationships.network.LinksTo
+ - link_template_Vlan_6:
+ capability: tosca.capabilities.network.Linkable
+ node: test_contrailV2_net2
+ relationship: tosca.relationships.network.LinksTo
+ - binding_template_Vlan_7_test_nested4Level:
+ capability: tosca.capabilities.network.Bindable
+ node: cmaui_port_2
+ relationship: tosca.relationships.network.BindsTo
+ - binding_template_Vlan_6:
+ capability: tosca.capabilities.network.Bindable
+ node: cmaui_port_2
+ relationship: tosca.relationships.network.BindsTo
+ test_net1:
+ type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+ properties:
+ shared: true
+ network_name:
+ get_input: jsa_net_name
+ test_nestedInvalidConnection:
+ type: org.openecomp.resource.abstract.nodes.heat.nested1
+ directives:
+ - substitutable
+ properties:
+ service_template_filter:
+ substitute_service_template: nested1ServiceTemplate.yaml
+ net1: server_cmaui_nova
+ port1: server_cmaui_nova
+ server_cmaui_nova:
+ type: org.openecomp.resource.vfc.nodes.heat.cmaui
+ properties:
+ flavor:
+ get_input: cmaui_flavor
+ availability_zone:
+ get_input: availability_zone_0
+ image:
+ get_input: cmaui_image
+ contrail_service_instance_ind: true
+ name:
+ get_input:
+ - cmaui_names
+ - 0
+ groups:
+ main_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/main.yml
+ description: |
+ Version 2.0 02-09-2016 (Authors: Paul Phillips, pnet2854 PROD)
+ members:
+ - cmaui_port_2
+ - test_nested1Level
+ - test_contrailV2_net2
+ - template_VMInt_OAM_lb_1
+ - test_resourceGroup
+ - test_net1
+ - test_nestedInvalidConnection
+ - server_cmaui_nova \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested1ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested1ServiceTemplate.yaml
new file mode 100644
index 0000000000..721a990b3e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested1ServiceTemplate.yaml
@@ -0,0 +1,244 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: nested1
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ vlan_ids:
+ hidden: false
+ immutable: false
+ type: string
+ virtual_ipv6_address:
+ hidden: false
+ immutable: false
+ type: string
+ virtual_ip_address:
+ hidden: false
+ immutable: false
+ type: string
+ lb_st_vlan_type_oam:
+ hidden: false
+ immutable: false
+ type: string
+ description: dummy
+ mac_address:
+ hidden: false
+ immutable: false
+ type: string
+ net2:
+ hidden: false
+ immutable: false
+ type: string
+ net1:
+ hidden: false
+ immutable: false
+ type: string
+ indx:
+ hidden: false
+ immutable: false
+ type: float
+ subinterface_name_prefix:
+ hidden: false
+ immutable: false
+ type: string
+ subinterface_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ port1:
+ hidden: false
+ immutable: false
+ type: string
+ port2:
+ hidden: false
+ immutable: false
+ type: string
+ node_templates:
+ template_Vlan_2:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input: port2
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: indx
+ virtual_network_refs:
+ - get_input: net2
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ template_Vlan_1:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input: port1
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: indx
+ virtual_network_refs:
+ - get_input: net1
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ test_nested2Level:
+ type: org.openecomp.resource.abstract.nodes.heat.nested2
+ directives:
+ - substitutable
+ properties:
+ service_template_filter:
+ substitute_service_template: nested2ServiceTemplate.yaml
+ net2:
+ get_input: net2
+ net1:
+ get_input: net1
+ port1:
+ get_input: port1
+ port2:
+ get_input: port2
+ groups:
+ nested1_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/nested1.yml
+ description: nested1
+ members:
+ - template_Vlan_2
+ - template_Vlan_1
+ - test_nested2Level
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.nested1
+ requirements:
+ link_template_Vlan_6_test_nested3Level_test_nested2Level:
+ - test_nested2Level
+ - link_template_Vlan_6_test_nested3Level
+ binding_template_Vlan_3_test_nested2Level:
+ - test_nested2Level
+ - binding_template_Vlan_3
+ binding_template_Vlan_5_test_nested3Level_test_nested2Level:
+ - test_nested2Level
+ - binding_template_Vlan_5_test_nested3Level
+ binding_template_Vlan_8_test_nested4Level_test_nested3Level_test_nested2Level:
+ - test_nested2Level
+ - binding_template_Vlan_8_test_nested4Level_test_nested3Level
+ binding_template_Vlan_6_test_nested3Level_test_nested2Level:
+ - test_nested2Level
+ - binding_template_Vlan_6_test_nested3Level
+ link_template_Vlan_7_test_nested4Level_test_nested3Level_test_nested2Level:
+ - test_nested2Level
+ - link_template_Vlan_7_test_nested4Level_test_nested3Level
+ binding_template_Vlan_7_test_nested4Level_test_nested3Level_test_nested2Level:
+ - test_nested2Level
+ - binding_template_Vlan_7_test_nested4Level_test_nested3Level
+ link_template_Vlan_4_test_nested2Level:
+ - test_nested2Level
+ - link_template_Vlan_4
+ link_template_Vlan_1:
+ - template_Vlan_1
+ - link
+ link_template_Vlan_2:
+ - template_Vlan_2
+ - link
+ binding_template_Vlan_2:
+ - template_Vlan_2
+ - binding
+ binding_template_Vlan_1:
+ - template_Vlan_1
+ - binding
+ link_template_Vlan_5_test_nested3Level_test_nested2Level:
+ - test_nested2Level
+ - link_template_Vlan_5_test_nested3Level
+ link_template_Vlan_3_test_nested2Level:
+ - test_nested2Level
+ - link_template_Vlan_3
+ binding_template_Vlan_4_test_nested2Level:
+ - test_nested2Level
+ - binding_template_Vlan_4
+ link_template_Vlan_8_test_nested4Level_test_nested3Level_test_nested2Level:
+ - test_nested2Level
+ - link_template_Vlan_8_test_nested4Level_test_nested3Level \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested2ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested2ServiceTemplate.yaml
new file mode 100644
index 0000000000..35ce74b929
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested2ServiceTemplate.yaml
@@ -0,0 +1,287 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: nested2
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ cmaui_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
+ template_PortTuple_LB1:
+ hidden: false
+ immutable: false
+ type: string
+ lb_st_interface_type_oam:
+ hidden: false
+ immutable: false
+ type: string
+ oam_sec_group_name:
+ hidden: false
+ immutable: false
+ type: string
+ virtual_ip_address:
+ hidden: false
+ immutable: false
+ type: string
+ net2:
+ hidden: false
+ immutable: false
+ type: string
+ net1:
+ hidden: false
+ immutable: false
+ type: string
+ indx:
+ hidden: false
+ immutable: false
+ type: float
+ security_group_name:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
+ port1:
+ hidden: false
+ immutable: false
+ type: string
+ port2:
+ hidden: false
+ immutable: false
+ type: string
+ vlan_ids:
+ hidden: false
+ immutable: false
+ type: string
+ cmaui_image:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image for CMAUI server
+ virtual_ipv6_address:
+ hidden: false
+ immutable: false
+ type: string
+ cmaui_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor for CMAUI server
+ lb_st_vlan_type_oam:
+ hidden: false
+ immutable: false
+ type: string
+ description: dummy
+ mac_address:
+ hidden: false
+ immutable: false
+ type: string
+ availability_zone_0:
+ label: availabilityzone name
+ hidden: false
+ immutable: false
+ type: string
+ description: availabilityzone name
+ subinterface_name_prefix:
+ hidden: false
+ immutable: false
+ type: string
+ subinterface_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ cmaui_oam_ips:
+ hidden: false
+ immutable: false
+ type: string
+ node_templates:
+ test_nested3Level:
+ type: org.openecomp.resource.abstract.nodes.heat.nested3
+ directives:
+ - substitutable
+ properties:
+ service_template_filter:
+ substitute_service_template: nested3ServiceTemplate.yaml
+ count: 3
+ mandatory: true
+ net2:
+ get_input: net1
+ net1:
+ get_input: net1
+ indx:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ port1:
+ get_input: port1
+ port2:
+ get_input: port1
+ template_Vlan_4:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input: port1
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: subinterface_instance_index
+ virtual_network_refs:
+ - get_input: net2
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ template_Vlan_3:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input: port1
+ - get_input: port2
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: subinterface_instance_index
+ virtual_network_refs:
+ - get_input: net2
+ - get_input: net1
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ groups:
+ nested2_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/nested2.yml
+ description: nested2
+ members:
+ - test_nested3Level
+ - template_Vlan_4
+ - template_Vlan_3
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.nested2
+ requirements:
+ binding_template_Vlan_8_test_nested4Level_test_nested3Level:
+ - test_nested3Level
+ - binding_template_Vlan_8_test_nested4Level
+ link_template_Vlan_7_test_nested4Level_test_nested3Level:
+ - test_nested3Level
+ - link_template_Vlan_7_test_nested4Level
+ link_template_Vlan_5_test_nested3Level:
+ - test_nested3Level
+ - link_template_Vlan_5
+ link_template_Vlan_6_test_nested3Level:
+ - test_nested3Level
+ - link_template_Vlan_6
+ link_template_Vlan_3:
+ - template_Vlan_3
+ - link
+ link_template_Vlan_4:
+ - template_Vlan_4
+ - link
+ link_template_Vlan_8_test_nested4Level_test_nested3Level:
+ - test_nested3Level
+ - link_template_Vlan_8_test_nested4Level
+ binding_template_Vlan_6_test_nested3Level:
+ - test_nested3Level
+ - binding_template_Vlan_6
+ binding_template_Vlan_4:
+ - template_Vlan_4
+ - binding
+ binding_template_Vlan_7_test_nested4Level_test_nested3Level:
+ - test_nested3Level
+ - binding_template_Vlan_7_test_nested4Level
+ binding_template_Vlan_3:
+ - template_Vlan_3
+ - binding
+ binding_template_Vlan_5_test_nested3Level:
+ - test_nested3Level
+ - binding_template_Vlan_5 \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested3ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested3ServiceTemplate.yaml
new file mode 100644
index 0000000000..f9aae6f57c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested3ServiceTemplate.yaml
@@ -0,0 +1,266 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: nested3
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ cmaui_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
+ template_PortTuple_LB1:
+ hidden: false
+ immutable: false
+ type: string
+ lb_st_interface_type_oam:
+ hidden: false
+ immutable: false
+ type: string
+ oam_sec_group_name:
+ hidden: false
+ immutable: false
+ type: string
+ virtual_ip_address:
+ hidden: false
+ immutable: false
+ type: string
+ net2:
+ hidden: false
+ immutable: false
+ type: string
+ net1:
+ hidden: false
+ immutable: false
+ type: string
+ indx:
+ hidden: false
+ immutable: false
+ type: float
+ security_group_name:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
+ port1:
+ hidden: false
+ immutable: false
+ type: string
+ port2:
+ hidden: false
+ immutable: false
+ type: string
+ vlan_ids:
+ hidden: false
+ immutable: false
+ type: string
+ cmaui_image:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image for CMAUI server
+ virtual_ipv6_address:
+ hidden: false
+ immutable: false
+ type: string
+ cmaui_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor for CMAUI server
+ lb_st_vlan_type_oam:
+ hidden: false
+ immutable: false
+ type: string
+ description: dummy
+ mac_address:
+ hidden: false
+ immutable: false
+ type: string
+ availability_zone_0:
+ label: availabilityzone name
+ hidden: false
+ immutable: false
+ type: string
+ description: availabilityzone name
+ subinterface_name_prefix:
+ hidden: false
+ immutable: false
+ type: string
+ subinterface_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ cmaui_oam_ips:
+ hidden: false
+ immutable: false
+ type: string
+ node_templates:
+ test_nested4Level:
+ type: org.openecomp.resource.abstract.nodes.heat.nested4
+ directives:
+ - substitutable
+ properties:
+ service_template_filter:
+ substitute_service_template: nested4ServiceTemplate.yaml
+ net2:
+ get_input: net2
+ net1:
+ get_input: net1
+ port1:
+ get_input: port1
+ port2:
+ get_input: port2
+ template_Vlan_6:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input: port1
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: subinterface_instance_index
+ virtual_network_refs:
+ - get_input: net1
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ template_Vlan_5:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input: port2
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: subinterface_instance_index
+ virtual_network_refs:
+ - get_input: net2
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ groups:
+ nested3_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/nested3.yml
+ description: nested3
+ members:
+ - test_nested4Level
+ - template_Vlan_6
+ - template_Vlan_5
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.nested3
+ requirements:
+ link_template_Vlan_8_test_nested4Level:
+ - test_nested4Level
+ - link_template_Vlan_8
+ link_template_Vlan_7_test_nested4Level:
+ - test_nested4Level
+ - link_template_Vlan_7
+ binding_template_Vlan_8_test_nested4Level:
+ - test_nested4Level
+ - binding_template_Vlan_8
+ link_template_Vlan_5:
+ - template_Vlan_5
+ - link
+ link_template_Vlan_6:
+ - template_Vlan_6
+ - link
+ binding_template_Vlan_7_test_nested4Level:
+ - test_nested4Level
+ - binding_template_Vlan_7
+ binding_template_Vlan_6:
+ - template_Vlan_6
+ - binding
+ binding_template_Vlan_5:
+ - template_Vlan_5
+ - binding \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested4ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested4ServiceTemplate.yaml
new file mode 100644
index 0000000000..dd4017d37a
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested4ServiceTemplate.yaml
@@ -0,0 +1,238 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: nested4
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ cmaui_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
+ template_PortTuple_LB1:
+ hidden: false
+ immutable: false
+ type: string
+ lb_st_interface_type_oam:
+ hidden: false
+ immutable: false
+ type: string
+ oam_sec_group_name:
+ hidden: false
+ immutable: false
+ type: string
+ virtual_ip_address:
+ hidden: false
+ immutable: false
+ type: string
+ net2:
+ hidden: false
+ immutable: false
+ type: string
+ net1:
+ hidden: false
+ immutable: false
+ type: string
+ indx:
+ hidden: false
+ immutable: false
+ type: float
+ security_group_name:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
+ port1:
+ hidden: false
+ immutable: false
+ type: string
+ port2:
+ hidden: false
+ immutable: false
+ type: string
+ vlan_ids:
+ hidden: false
+ immutable: false
+ type: string
+ cmaui_image:
+ hidden: false
+ immutable: false
+ type: string
+ description: Image for CMAUI server
+ virtual_ipv6_address:
+ hidden: false
+ immutable: false
+ type: string
+ cmaui_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor for CMAUI server
+ lb_st_vlan_type_oam:
+ hidden: false
+ immutable: false
+ type: string
+ description: dummy
+ mac_address:
+ hidden: false
+ immutable: false
+ type: string
+ availability_zone_0:
+ label: availabilityzone name
+ hidden: false
+ immutable: false
+ type: string
+ description: availabilityzone name
+ subinterface_name_prefix:
+ hidden: false
+ immutable: false
+ type: string
+ subinterface_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ cmaui_oam_ips:
+ hidden: false
+ immutable: false
+ type: string
+ node_templates:
+ template_Vlan_8:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input: port2
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: subinterface_instance_index
+ virtual_network_refs:
+ - get_input: net2
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ template_Vlan_7:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input: port1
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: subinterface_instance_index
+ virtual_network_refs:
+ - get_input: net1
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input: lb_st_vlan_type_oam
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ groups:
+ nested4_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/nested4.yml
+ description: nested4
+ members:
+ - template_Vlan_8
+ - template_Vlan_7
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.nested4
+ requirements:
+ link_template_Vlan_7:
+ - template_Vlan_7
+ - link
+ link_template_Vlan_8:
+ - template_Vlan_8
+ - link
+ binding_template_Vlan_8:
+ - template_Vlan_8
+ - binding
+ binding_template_Vlan_7:
+ - template_Vlan_7
+ - binding \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/MANIFEST.json
new file mode 100644
index 0000000000..c7d4122f3e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/MANIFEST.json
@@ -0,0 +1,32 @@
+{
+ "name": "Port to Network multi nested test",
+ "description": "HOT template to create multi nested of 4 levels",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "main.yml",
+ "type": "HEAT",
+ "isBase": "true"
+ },
+ {
+ "file": "nested1.yml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "nested2.yml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "nested3.yml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "nested4.yml",
+ "type": "HEAT",
+ "isBase": "false"
+ }
+ ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/main.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/main.yml
new file mode 100644
index 0000000000..cc5d856d07
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/main.yml
@@ -0,0 +1,105 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Version 2.0 02-09-2016 (Authors: Paul Phillips, pnet2854 PROD)
+
+parameters:
+ jsa_net_name:
+ type: string
+ jsa_name:
+ type: string
+ description: network name of jsa log network
+ contrail_net_name:
+ type: string
+ description: network name of jsa log network
+ security_group_name:
+ type: comma_delimited_list
+ description: CMAUI1, CMAUI2 server names
+ cmaui_names:
+ type: comma_delimited_list
+ description: CMAUI1, CMAUI2 server names
+ cmaui_image:
+ type: string
+ description: Image for CMAUI server
+ availability_zone_0:
+ type: string
+ label: availabilityzone name
+ description: availabilityzone name
+ cmaui_flavor:
+ type: string
+ description: Flavor for CMAUI server
+ cmaui_oam_ips:
+ type: string
+ oam_sec_group_name:
+ type: string
+ lb_st_interface_type_oam:
+ type: string
+ template_PortTuple_LB1:
+ type: string
+
+resources:
+ test_net1:
+ type: OS::Neutron::Net
+ properties:
+ name: {get_param: jsa_net_name}
+ shared: True
+
+ test_contrailV2_net2:
+ type: OS::ContrailV2::VirtualNetwork
+ properties:
+ name: { get_param: contrail_net_name }
+
+ server_cmaui_nova:
+ type: OS::Nova::Server
+ properties:
+ name: { get_param: [cmaui_names, 0]}
+ image: { get_param: cmaui_image }
+ availability_zone: { get_param: availability_zone_0 }
+ flavor: { get_param: cmaui_flavor }
+ networks:
+ - port: { get_resource: template_VMInt_OAM_lb_1 }
+ - port: { get_resource: cmaui_port_2 }
+
+ template_VMInt_OAM_lb_1:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_service_interface_type: { get_param: lb_st_interface_type_oam },
+ }
+ virtual_network_refs: [{ get_resource: test_net1 }]
+ port_tuple_refs: [{ get_param: template_PortTuple_LB1 }]
+ security_group_refs: [{ get_param: oam_sec_group_name}]
+
+ cmaui_port_2:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_resource: test_net1 }
+ fixed_ips: [{"ip_address": {get_param: [cmaui_oam_ips, 0]}}]
+ security_groups: [{get_param: security_group_name}]
+ replacement_policy: AUTO
+
+ test_nested1Level:
+ type: nested1.yml
+ properties:
+ net1: { get_resource: test_net1}
+ net2: { get_attr: [ test_contrailV2_net2, fq_name ] }
+ port1: { get_resource: template_VMInt_OAM_lb_1}
+ port2: { get_resource: cmaui_port_2}
+
+ test_resourceGroup:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: 9
+ resource_def:
+ type: nested3.yml
+ properties:
+ net1: { list_join: [':', { get_attr: [ test_contrailV2_net2, fq_name ] } ] }
+ port1: { get_resource: cmaui_port_2 }
+ indx: "%index%"
+
+ test_nestedInvalidConnection:
+ type: nested1.yml
+ properties:
+ net1: { get_resource: server_cmaui_nova }
+ port1: { get_resource: server_cmaui_nova }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested1.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested1.yml
new file mode 100644
index 0000000000..13ff47a45d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested1.yml
@@ -0,0 +1,125 @@
+heat_template_version: 2013-05-23
+
+description: nested1
+
+parameters:
+ lb_st_vlan_type_oam:
+ description: dummy
+ type: string
+ mac_address:
+ type: string
+ virtual_ip_address:
+ type: string
+ virtual_ipv6_address:
+ type: string
+ vlan_ids:
+ type: string
+ subinterface_name_prefix:
+ type: string
+ subinterface_instance_index:
+ type: number
+ net1:
+ type: string
+ net2:
+ type: string
+ port1:
+ type: string
+ port2:
+ type: string
+ indx:
+ type: number
+resources:
+
+ template_Vlan_1:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: indx } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: net1 }]
+ virtual_machine_interface_refs: [{ get_param: port1 }]
+
+ template_Vlan_2:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: indx } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: net2 }]
+ virtual_machine_interface_refs: [{ get_param: port2 }]
+
+ test_nested2Level:
+ type: nested2.yml
+ properties:
+ net1: { get_param: net1}
+ net2: { get_param: net2}
+ port1: { get_param: port1}
+ port2: { get_param: port2}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested2.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested2.yml
new file mode 100644
index 0000000000..9c4d7a36ae
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested2.yml
@@ -0,0 +1,154 @@
+heat_template_version: 2013-05-23
+
+description: nested2
+
+parameters:
+ lb_st_interface_type_oam:
+ type: string
+ template_PortTuple_LB1:
+ type: string
+ oam_sec_group_name:
+ type: string
+ security_group_name:
+ type: comma_delimited_list
+ description: CMAUI1, CMAUI2 server names
+ cmaui_names:
+ type: comma_delimited_list
+ description: CMAUI1, CMAUI2 server names
+ cmaui_image:
+ type: string
+ description: Image for CMAUI server
+ availability_zone_0:
+ type: string
+ label: availabilityzone name
+ description: availabilityzone name
+ cmaui_flavor:
+ type: string
+ description: Flavor for CMAUI server
+ cmaui_oam_ips:
+ type: string
+ lb_st_vlan_type_oam:
+ description: dummy
+ type: string
+ mac_address:
+ type: string
+ virtual_ip_address:
+ type: string
+ virtual_ipv6_address:
+ type: string
+ vlan_ids:
+ type: string
+ subinterface_name_prefix:
+ type: string
+ subinterface_instance_index:
+ type: number
+ net1:
+ type: string
+ net2:
+ type: string
+ port1:
+ type: string
+ port2:
+ type: string
+ indx:
+ type: number
+resources:
+
+ template_Vlan_3:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: net2 },{ get_param: net1 }]
+ virtual_machine_interface_refs: [{ get_param: port1 }, { get_param: port2 }]
+
+ template_Vlan_4:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: net2 }]
+ virtual_machine_interface_refs: [{ get_param: port1 }]
+
+ test_nested3Level:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: 3
+ resource_def:
+ type: nested3.yml
+ properties:
+ net1: { get_param: net1}
+ net2: { get_param: net1}
+ port1: { get_param: port1}
+ port2: { get_param: port1}
+ indx: "%index%" \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested3.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested3.yml
new file mode 100644
index 0000000000..a0db3e8b28
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested3.yml
@@ -0,0 +1,149 @@
+heat_template_version: 2013-05-23
+
+description: nested3
+
+parameters:
+ lb_st_interface_type_oam:
+ type: string
+ template_PortTuple_LB1:
+ type: string
+ oam_sec_group_name:
+ type: string
+ security_group_name:
+ type: comma_delimited_list
+ description: CMAUI1, CMAUI2 server names
+ cmaui_names:
+ type: comma_delimited_list
+ description: CMAUI1, CMAUI2 server names
+ cmaui_image:
+ type: string
+ description: Image for CMAUI server
+ availability_zone_0:
+ type: string
+ label: availabilityzone name
+ description: availabilityzone name
+ cmaui_flavor:
+ type: string
+ description: Flavor for CMAUI server
+ cmaui_oam_ips:
+ type: string
+ lb_st_vlan_type_oam:
+ description: dummy
+ type: string
+ mac_address:
+ type: string
+ virtual_ip_address:
+ type: string
+ virtual_ipv6_address:
+ type: string
+ vlan_ids:
+ type: string
+ subinterface_name_prefix:
+ type: string
+ subinterface_instance_index:
+ type: number
+ net1:
+ type: string
+ net2:
+ type: string
+ port1:
+ type: string
+ port2:
+ type: string
+ indx:
+ type: number
+resources:
+
+ template_Vlan_5:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: net2 }]
+ virtual_machine_interface_refs: [{ get_param: port2 }]
+
+ template_Vlan_6:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: net1 }]
+ virtual_machine_interface_refs: [{ get_param: port1 }]
+
+ test_nested4Level:
+ type: nested4.yml
+ properties:
+ net1: { get_param: net1 }
+ net2: { get_param: net2 }
+ port1: { get_param: port1 }
+ port2: { get_param: port2 } \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested4.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested4.yml
new file mode 100644
index 0000000000..30f93f1a03
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested4.yml
@@ -0,0 +1,141 @@
+heat_template_version: 2013-05-23
+
+description: nested4
+
+parameters:
+ lb_st_interface_type_oam:
+ type: string
+ template_PortTuple_LB1:
+ type: string
+ oam_sec_group_name:
+ type: string
+ security_group_name:
+ type: comma_delimited_list
+ description: CMAUI1, CMAUI2 server names
+ cmaui_names:
+ type: comma_delimited_list
+ description: CMAUI1, CMAUI2 server names
+ cmaui_image:
+ type: string
+ description: Image for CMAUI server
+ availability_zone_0:
+ type: string
+ label: availabilityzone name
+ description: availabilityzone name
+ cmaui_flavor:
+ type: string
+ description: Flavor for CMAUI server
+ cmaui_oam_ips:
+ type: string
+ lb_st_vlan_type_oam:
+ description: dummy
+ type: string
+ mac_address:
+ type: string
+ virtual_ip_address:
+ type: string
+ virtual_ipv6_address:
+ type: string
+ vlan_ids:
+ type: string
+ subinterface_name_prefix:
+ type: string
+ subinterface_instance_index:
+ type: number
+ net1:
+ type: string
+ net2:
+ type: string
+ port1:
+ type: string
+ port2:
+ type: string
+ indx:
+ type: number
+resources:
+
+ template_Vlan_7:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: net1 }]
+ virtual_machine_interface_refs: [{ get_param: port1 }]
+
+ template_Vlan_8:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: net2 }]
+ virtual_machine_interface_refs: [{ get_param: port2 }] \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC/inputfiles/base_perimeta_deployment_create.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC/inputfiles/base_perimeta_deployment_create.env
new file mode 100644
index 0000000000..360b526e6d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC/inputfiles/base_perimeta_deployment_create.env
@@ -0,0 +1,307 @@
+# Template for instantiating
+# - 1xHA SSC instance
+# - MxHA RTP MSC instances
+#
+# This Heat template commissions, partners and configures the Perimeta
+# instances with minimal configuration defined by the following templates.
+# - ssc_a_template.json
+# - msc_a_template.json
+# This/these can be modified as required to obtain the required Perimeta
+# configuration.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# This template sets up anti-affinity using server group anti-affinity and
+# optionally availability zone anti-affinity.
+#
+# This template will work with any version of Perimeta software from 3.9.20.
+#
+# Pre-requisites are:
+# - existing networks as follows
+# - network for management traffic
+# - network for HA traffic
+# - network for core/trusted service traffic
+# - network for access/untrusted service traffic
+# - pre-loaded Perimeta image
+# - suitable flavor to use for Perimeta SSC
+# - suitable flavor to use for Perimeta RTP MSCs
+# - suitable flavor to use for Perimeta MSRP MSCs
+# - suitable keypair to use for Perimeta
+#
+# Virtual IP address and fixed IP addresses to use for the Perimeta instances
+# must be provided as parameters.
+#
+# Template requires Juno or above and has been tested on Kilo. Note that in
+# some deployments, Heat template validation will fail but actually creating
+# a stack using the template will succeed. This is due to problems with
+# Heat validating nested templates.
+#
+
+parameters:
+ #
+ # General VNF parameters
+ #
+
+ # ID of VNF
+ vnf_id: ibcx0002
+
+ # Unique ID for this VF Module instance
+ vf_module_id: ibcx
+
+ # Availability zone for A instances.
+ availability_zone_0: DPA3_D2_AZ1
+
+ # Availability zone for B instances.
+ availability_zone_1: DPA3_D2_AZ2
+
+ # Keypair to use for accessing these Perimeta instances
+ perimeta_keypair: perimeta_key
+
+ # NTP server IPv4 addresses, separated by commas. These must be accessible from the management network
+ ntp_server_ip_addrs: 132.201.84.13,155.179.58.11,155.179.59.249,155.179.82.25
+
+ # UUID of server group to set anti-affinity policy for Perimeta instance.
+ # Only used when doing healing.
+ #
+ # Even though server group is _NOT_ used when a new system is created,
+ # setting it to '', whilst valid, has caused instantiation to fail on some
+ # systems at AT&T. Therefore, we set it to a string even though it will not
+ # be used.
+ perimeta_param_server_group: 'THBAPSA'
+
+ #
+ # Management network parameters
+ #
+
+ # Management network ID
+ mgmt_net_id: a0db940a-c47c-4d05-acd0-0dcd2b46e87a
+
+ # Management network prefix length
+ mgmt_net_plen: 26
+
+ # Default gateway for management network
+ mgmt_net_default_gateway: 10.147.188.131
+
+ # Management network security groups
+ mgmt_net_sec_groups: 67f4f424-d852-4241-8c70-74b8ae210483
+
+ #
+ # Internal high availability network parameters
+ #
+
+ # Internal HA network ID
+ int_ha_net_id: eec17d6a-fbf3-434b-b70f-8229d24d3326
+
+ # Intermal HA network prefix length.
+ int_ha_net_plen: 24
+
+ # Security groups associated with internal HA network
+ int_ha_net_sec_groups: 67f4f424-d852-4241-8c70-74b8ae210483
+
+ #
+ # Trusted/core network parameters
+ #
+
+ # Network ID of trusted/core network.
+ trusted_net_id: dffe19e0-9dc0-4c6e-886d-0554f6d94b6b
+
+ # Security groups associated with trusted/core network
+ trusted_net_sec_groups: 67f4f424-d852-4241-8c70-74b8ae210483
+
+ #
+ # Untrusted/access network parameters
+ #
+
+ # Network ID of untrusted/access network.
+ untrusted_net_id: b4f1a645-5db5-4cc6-91f7-85e722ba6616
+
+ # Security groups associated with untrusted/access network
+ untrusted_net_sec_groups: 67f4f424-d852-4241-8c70-74b8ae210483
+
+ # Number of VLANs to connect to on the untrusted/access network
+ untrusted_num_vlans: 10
+
+ # List of VLAN IDs to use on the untrusted/access network. There must
+ # be at least untrusted_num_vlans entries in this list.
+ untrusted_vlan_ids: ["10", "11", "3456", "234", "123"]
+
+ # List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN IDs list
+ untrusted_vlan_networks: [95c74fbb-0650-4ac2-bd4f-7b4fb50b4b5d, aa1a5096-61fd-421b-a74b-0b4a72c47856,
+ ced72584-9c09-4d67-9b9f-8faf4c081c45, 6311c9db-c4ba-41f5-85e5-4a3cc85d7f55,
+ 79391429-9c52-44f5-b9a9-4547fec0e9d4]
+
+ #
+ # Unused network parameters
+ #
+
+ # Unused port network ID - this is used for connecting the unused 4th SSC service interface.
+ unused_port_net_id: cfcbf116-4e90-482b-91e5-f4b990115f70
+
+ #
+ # SSC parameters
+ #
+
+ # Flavor to use for creating SSC VM instance
+ ssc_flavor_name: 41e7508e-bf2a-406e-9563-8219c3aa6c02
+
+ # Glance image to use for launching SSC Perimeta instances.
+ ssc_image_name: 3aedaeb5-fbb4-4802-9e1f-a421087d2adb
+
+ # Name of VM A of SSC
+ ssc_a_name_0: ibcx0002vm001ssc001
+
+ # Name of VM B of SSC
+ ssc_b_name_0: ibcx0002vm002ssc001
+
+ # System name of SSC
+ ssc_system_name_0: ibcx0002vm001ssc001pair
+
+ #
+ # SSC IP addresses on management network
+ #
+
+ # Management virtual IPv4 address to use for SSC.
+ ssc_mgmt_vip_0: 10.147.188.133
+
+ # Management fixed IPv4 address to use for SSC A.
+ ssc_a_mgmt_ip_0: 10.147.188.132
+
+ # Management fixed IPv4 address to use for SSC B.
+ ssc_b_mgmt_ip_0: 10.147.188.136
+
+ #
+ # SSC IP addresses on internal HA network
+ #
+
+ # HA fixed IPv4 address to use for SSC A.
+ ssc_a_int_ha_ip_0: 10.0.0.4
+
+ # HA fixed IPv4 address to use for SSC B.
+ ssc_b_int_ha_ip_0: 10.0.0.5
+
+ #
+ # SSC IP addresses on trusted/core network
+ #
+
+ # Virtual IPv4 address on trusted/core network for SSC.
+ ssc_trusted_vip_0: 10.1.1.5
+
+ # Fixed IPv4 address on trusted/core network for SSC A.
+ ssc_a_trusted_ip_0: 10.1.1.4
+
+ # Fixed IPv4 address on trusted/core network for SSC B.
+ ssc_b_trusted_ip_0: 10.1.1.6
+
+ #
+ # SSC IP addresses on untrusted/access network
+ #
+
+ # Virtual IPv4 address on untrusted/access network for SSC.
+ ssc_untrusted_vip_0: 127.0.0.1
+
+ # Virtual IPv6 address on untrusted/access network for SSC.
+ ssc_untrusted_v6_vip_0: 2001:1890:1001:2B38::2D:2
+
+ # Fixed IPv4 address on untrusted/access network for SSC A.
+ ssc_a_untrusted_ip_0: 127.0.0.1
+
+ # Fixed IPv6 address on untrusted/access network for SSC A.
+ ssc_a_untrusted_v6_ip_0: 2001:1890:1001:2B38::2D:1
+
+ # Fixed IPv4 address on untrusted/access network for SSC B.
+ ssc_b_untrusted_ip_0: 127.0.0.1
+
+ # Fixed IPv6 address on untrusted/access network for SSC B.
+ ssc_b_untrusted_v6_ip_0: 2001:1890:1001:2B38::2D:3
+
+ #
+ # SSC IP addresses on management/Rf network
+ #
+
+ # Virtual IPv4 address on management/Rf network for SSC.
+ ssc_rf_vip_0: 10.147.188.135
+
+ # Fixed IPv4 address on management/Rf network for SSC A.
+ ssc_a_rf_ip_0: 10.147.188.134
+
+ # Fixed IPv4 address on management/Rf network for SSC B.
+ ssc_b_rf_ip_0: 10.147.188.137
+
+
+ #
+ # RTP MSC parameters
+ #
+
+ # Count of required RTP MSCs
+ rtp_msc_count: 1
+
+ # Flavor to use for creating RTP MSC VM instances
+ rtp_msc_flavor_name: 41e7508e-bf2a-406e-9563-8219c3aa6c02
+
+ # Glance image to use for launching RTP MSC Perimeta instances.
+ rtp_msc_image_name: 3aedaeb5-fbb4-4802-9e1f-a421087d2adb
+
+ # List of names of RTP MSC VM A instances
+ rtp_msc_a_names: ["ibcx0002vm003msc001","ibcx0002vm005msc001","ibcx0002vm007msc001","ibcx0002vm009msc001","ibcx0002vm011msc001"]
+
+ # List of names of RTP MSC VM B instances
+ rtp_msc_b_names: ["ibcx0002vm004msc001","ibcx0002vm006msc001","ibcx0002vm008msc001","ibcx0002vm010msc001","ibcx0002vm012msc001"]
+
+ # List of system names of RTP MSC instances
+ rtp_msc_system_names: ["ibcx0002vm003msc001pair","ibcx0002vm005msc001pair","ibcx0002vm007msc001pair","ibcx0002vm009msc001pair","ibcx0002msc001vm011pair"]
+
+ #
+ # RTP MSC IP addresses on management network
+ #
+
+ # Management virtual IP addresses to use for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_mgmt_vips: ["10.147.188.139","10.147.188.142","10.147.188.145","10.147.188.148","10.147.188.151"]
+
+ # Management fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_mgmt_ips: ["10.147.188.138","10.147.188.141","10.147.188.144","10.147.188.147","10.147.188.150"]
+
+ # Management fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_mgmt_ips: ["10.147.188.140","10.147.188.143","10.147.188.146","10.147.188.149","10.147.188.152"]
+
+ # HA fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_int_ha_ips: ["10.0.0.6","10.0.0.8","10.0.0.10","10.0.0.12","10.0.0.14"]
+
+ # HA fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_int_ha_ips: ["10.0.0.7","10.0.0.9","10.0.0.11","10.0.0.13","10.0.0.15"]
+
+ #
+ # RTP MSC IP addresses on trusted/core network
+ #
+
+ # Virtual IPv4 addresses on trusted/core network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_trusted_vips: ["10.1.1.8","10.1.1.11","10.1.1.14","10.1.1.17","10.1.1.20"]
+
+ # Fixed IPv4 addresses on trusted/core network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_trusted_ips: ["10.1.1.7","10.1.1.10","10.1.1.13","10.1.1.16","10.1.1.19"]
+
+ # Fixed IP address on trusted/core network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_trusted_ips: ["10.1.1.9","10.1.1.12","10.1.1.15","10.1.1.18","10.1.1.21"]
+
+ #
+ # RTP MSC IP addresses on untrusted/access network
+ #
+
+ # Virtual IPv4 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_untrusted_vips: ["127.0.0.1","127.0.0.1","127.0.0.1","127.0.0.1","127.0.0.1"]
+
+ # Virtual IPv6 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_untrusted_v6_vips: ["2001:1890:1001:2B38::2D:5","2001:1890:1001:2B38::2D:8","2001:1890:1001:2B38::2D:B","2001:1890:1001:2B38::2D:E","2001:1890:1001:2B38::2D:11"]
+
+ # Fixed IPv4 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_ips: ["127.0.0.1","127.0.0.1","127.0.0.1","127.0.0.1","127.0.0.1"]
+
+ # Fixed IPv6 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_v6_ips: ["2001:1890:1001:2B38::2D:4","2001:1890:1001:2B38::2D:7","2001:1890:1001:2B38::2D:A","2001:1890:1001:2B38::2D:D","2001:1890:1001:2B38::2D:10"]
+
+ # Fixed IPv4 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_ips: ["127.0.0.1","127.0.0.1","127.0.0.1","127.0.0.1","127.0.0.1"]
+
+ # Fixed IPv6 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_v6_ips: ["2001:1890:1001:2B38::2D:6","2001:1890:1001:2B38::2D:9","2001:1890:1001:2B38::2D:C","2001:1890:1001:2B38::2D:F","2001:1890:1001:2B38::2D:12"]
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC/inputfiles/custom.ini b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC/inputfiles/custom.ini
new file mode 100644
index 0000000000..77219c21a1
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC/inputfiles/custom.ini
@@ -0,0 +1,22 @@
+;******************************************************************************
+;* Perimeta Custom Initialization File. *
+;* *
+;* ***** IMPORTANT ***** *
+;* *
+;* Background: *
+;* - This file is maintained across Software Upgrade. *
+;* - The format is similar to nbase.ini but it is only for parameters that *
+;* are read by NBB_GET_CUSTOM_INT_INT/STRING(). *
+;* - Comments begin with the character ';' *
+;* *
+;* To make a change to this file: *
+;* - Edit only the copy in /opt/MetaSwitch/init. *
+;* - After editing, run mslu_config_change to backup this file. *
+;* - Repeat the above two bullets on the other controller. *
+;* *
+;******************************************************************************
+
+; Set max_dlow_pairs to limit the number of flowpairs supported by an MSC or ISC.
+; This actually counts in unidirectional flows, so to limit to 18000 flowpairs,
+; set limit to 36000
+; mpf_max_flow_pairs=36000 \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..394e567d3d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,2919 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: GlobalSubstitutionTypes
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.abstract.nodes.heat.perimeta_ha_swmu:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ required: true
+ status: SUPPORTED
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ required: true
+ status: SUPPORTED
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+ required: true
+ status: SUPPORTED
+ vm_a_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ serv3_vips:
+ type: list
+ description: List of service network 3 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_net_id:
+ type: string
+ description: HA network id
+ required: true
+ status: SUPPORTED
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_networks:
+ type: list
+ 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.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ type: list
+ description: List of security groups to add on management interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_ids:
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ serv3_net_id:
+ type: string
+ description: Service network 3 network UUID
+ required: true
+ status: SUPPORTED
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_vips:
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_vips:
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ required: true
+ status: SUPPORTED
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ required: true
+ status: SUPPORTED
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ required: true
+ status: SUPPORTED
+ serv3_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ unused_net_id:
+ type: string
+ description: Service network unused port network UUID
+ required: true
+ status: SUPPORTED
+ ha_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ type: list
+ description: List of security groups to add on HA interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ system_names:
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_b_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ serv3_sec_groups:
+ type: list
+ description: List of security groups to add on serv3 interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_vips:
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ required: true
+ status: SUPPORTED
+ serv3_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_role:
+ type: string
+ description: Role of these VMs
+ required: true
+ status: SUPPORTED
+ trusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ required: true
+ status: SUPPORTED
+ untrusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ required: true
+ status: SUPPORTED
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ required: true
+ status: SUPPORTED
+ ha_network_plen:
+ type: float
+ required: true
+ status: SUPPORTED
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ attributes:
+ server_group_used:
+ type: string
+ description: Server group used for these VMs
+ requirements:
+ - link_perimeta_a_unused_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_contrail_vmi_subinterface_perimeta_a_untrusted_0_vlan_ports:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_mgmt_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_untrusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_contrail_vmi_subinterface_perimeta_b_untrusted_0_vlan_ports:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_unused_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_trusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_mgmt_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_ha_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_serv3_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_serv3_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - local_storage_perimeta_a_server_0:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_perimeta_b_trusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_ha_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_untrusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - local_storage_perimeta_b_server_0:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ capabilities:
+ attachment_perimeta_a_mgmt_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_server_0:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_perimeta_a_server_0:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_b_untrusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_unused_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_mgmt_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_a_mgmt_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_a_untrusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ endpoint_perimeta_a_server_0:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_unused_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_serv3_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_serv3_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_ha_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_trusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_untrusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_b_serv3_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_a_serv3_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ scalable_perimeta_a_server_0:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_b_ha_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_trusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ attachment_perimeta_a_trusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ os_perimeta_b_server_0:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_untrusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_ha_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_trusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_a_unused_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_server_0:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_perimeta_b_server_0:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_unused_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ endpoint_perimeta_b_server_0:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_ha_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ os_perimeta_a_server_0:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_perimeta_b_server_0:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_mgmt_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ org.openecomp.resource.abstract.nodes.heat.perimeta_ha_sw:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ required: true
+ status: SUPPORTED
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ required: true
+ status: SUPPORTED
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+ required: true
+ status: SUPPORTED
+ vm_a_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_net_id:
+ type: string
+ description: HA network id
+ required: true
+ status: SUPPORTED
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_networks:
+ type: list
+ 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.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ type: list
+ description: List of security groups to add on management interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_ids:
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_vips:
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_vips:
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ required: true
+ status: SUPPORTED
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ required: true
+ status: SUPPORTED
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ required: true
+ status: SUPPORTED
+ ha_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ type: list
+ description: List of security groups to add on HA interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ system_names:
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_b_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_vips:
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ required: true
+ status: SUPPORTED
+ ha_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_role:
+ type: string
+ description: Role of these VMs
+ required: true
+ status: SUPPORTED
+ trusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ required: true
+ status: SUPPORTED
+ untrusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ required: true
+ status: SUPPORTED
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ required: true
+ status: SUPPORTED
+ ha_network_plen:
+ type: float
+ required: true
+ status: SUPPORTED
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ attributes:
+ server_group_used:
+ type: string
+ description: Server group used for these VMs
+ requirements:
+ - link_perimeta_b_ha_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_contrail_vmi_subinterface_perimeta_a_untrusted_0_vlan_ports:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - local_storage_perimeta_a_server_0:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_perimeta_a_mgmt_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_trusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_untrusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_contrail_vmi_subinterface_perimeta_b_untrusted_0_vlan_ports:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_ha_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_trusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_mgmt_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_untrusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - local_storage_perimeta_b_server_0:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ capabilities:
+ attachment_perimeta_a_mgmt_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_server_0:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_perimeta_a_server_0:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_b_untrusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_mgmt_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_a_mgmt_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_a_untrusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ endpoint_perimeta_a_server_0:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_ha_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_trusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_untrusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_perimeta_a_server_0:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_b_ha_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_trusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ attachment_perimeta_a_trusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ os_perimeta_b_server_0:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_untrusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_ha_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_trusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_server_0:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_perimeta_b_server_0:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ endpoint_perimeta_b_server_0:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_ha_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ os_perimeta_a_server_0:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_perimeta_b_server_0:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_mgmt_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ org.openecomp.resource.abstract.nodes.heat.perimeta_ha_sw_b:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ required: true
+ status: SUPPORTED
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ required: true
+ status: SUPPORTED
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+ required: true
+ status: SUPPORTED
+ vm_a_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_net_id:
+ type: string
+ description: HA network id
+ required: true
+ status: SUPPORTED
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_networks:
+ type: list
+ 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.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ type: list
+ description: List of security groups to add on management interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_ids:
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_vips:
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_vips:
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ required: true
+ status: SUPPORTED
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ required: true
+ status: SUPPORTED
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ required: true
+ status: SUPPORTED
+ ha_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ type: list
+ description: List of security groups to add on HA interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ system_names:
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_b_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_vips:
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ required: true
+ status: SUPPORTED
+ ha_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_role:
+ type: string
+ description: Role of these VMs
+ required: true
+ status: SUPPORTED
+ trusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ required: true
+ status: SUPPORTED
+ untrusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ required: true
+ status: SUPPORTED
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ required: true
+ status: SUPPORTED
+ ha_network_plen:
+ type: float
+ required: true
+ status: SUPPORTED
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ attributes:
+ server_group_used:
+ type: string
+ description: Server group used for these VMs
+ requirements:
+ - link_perimeta_b_ha_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_trusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_untrusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_contrail_vmi_subinterface_perimeta_b_untrusted_0_vlan_ports:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_mgmt_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - local_storage_perimeta_b_server_0:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ capabilities:
+ binding_perimeta_b_ha_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_trusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_untrusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ os_perimeta_b_server_0:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_b_mgmt_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_server_0:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_perimeta_b_server_0:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_ha_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_trusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ endpoint_perimeta_b_server_0:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_untrusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_perimeta_b_server_0:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_mgmt_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ vlan_ids:
+ type: list
+ description: List of VLAN IDs to use for subinterfaces
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ parent_interface:
+ type: string
+ description: Parent Contrail interface
+ required: true
+ status: SUPPORTED
+ virtual_ipv6_address:
+ type: string
+ description: virtual IPv6 address associated with subinterfaces
+ required: true
+ status: SUPPORTED
+ virtual_ip_address:
+ type: string
+ description: virtual IPv4 address associated with subinterfaces
+ required: true
+ status: SUPPORTED
+ mac_address:
+ type: string
+ description: MAC address to use for subinterface
+ required: true
+ status: SUPPORTED
+ ipv6_address:
+ type: string
+ description: IPv6 address associated with subinterfaces
+ required: true
+ status: SUPPORTED
+ subinterface_name_prefix:
+ type: string
+ description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+ required: true
+ status: SUPPORTED
+ subinterface_instance_index:
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ required: true
+ status: SUPPORTED
+ ip_address:
+ type: string
+ description: IPv4 address associated with subinterfaces
+ required: true
+ status: SUPPORTED
+ vlan_networks:
+ type: list
+ description: List of Contrail VLAN networks to use for the subinterfaces. The order and number of these must match the VLAN ID list
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ requirements:
+ - link_contrail_vmi_subinterface:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - binding_contrail_vmi_subinterface:
+ capability: tosca.capabilities.network.Bindable
+ node: org.openecomp.resource.cp.nodes.network.Port
+ relationship: tosca.relationships.network.BindsTo
+ occurrences:
+ - 1
+ - 1
+ org.openecomp.resource.abstract.nodes.heat.perimeta_ha_sw_a:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ required: true
+ status: SUPPORTED
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ required: true
+ status: SUPPORTED
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+ required: true
+ status: SUPPORTED
+ vm_a_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_net_id:
+ type: string
+ description: HA network id
+ required: true
+ status: SUPPORTED
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_networks:
+ type: list
+ 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.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ type: list
+ description: List of security groups to add on management interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_ids:
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_vips:
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_vips:
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ required: true
+ status: SUPPORTED
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ required: true
+ status: SUPPORTED
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ required: true
+ status: SUPPORTED
+ ha_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ type: list
+ description: List of security groups to add on HA interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ system_names:
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_b_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_vips:
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ required: true
+ status: SUPPORTED
+ ha_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_role:
+ type: string
+ description: Role of these VMs
+ required: true
+ status: SUPPORTED
+ trusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ required: true
+ status: SUPPORTED
+ untrusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ required: true
+ status: SUPPORTED
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ required: true
+ status: SUPPORTED
+ ha_network_plen:
+ type: float
+ required: true
+ status: SUPPORTED
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ attributes:
+ server_group_used:
+ type: string
+ description: Server group used for these VMs
+ requirements:
+ - link_contrail_vmi_subinterface_perimeta_a_untrusted_0_vlan_ports:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - local_storage_perimeta_a_server_0:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_perimeta_a_mgmt_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_ha_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_trusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_untrusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ capabilities:
+ scalable_perimeta_a_server_0:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_mgmt_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_server_0:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_perimeta_a_server_0:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_trusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_untrusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_ha_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_mgmt_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_a_trusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_a_untrusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ endpoint_perimeta_a_server_0:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_ha_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ os_perimeta_a_server_0:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ org.openecomp.resource.abstract.nodes.heat.perimeta_ha_swmu_a:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ required: true
+ status: SUPPORTED
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ required: true
+ status: SUPPORTED
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+ required: true
+ status: SUPPORTED
+ vm_a_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ serv3_vips:
+ type: list
+ description: List of service network 3 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_net_id:
+ type: string
+ description: HA network id
+ required: true
+ status: SUPPORTED
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_networks:
+ type: list
+ 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.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ type: list
+ description: List of security groups to add on management interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_ids:
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ serv3_net_id:
+ type: string
+ description: Service network 3 network UUID
+ required: true
+ status: SUPPORTED
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_vips:
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_vips:
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ required: true
+ status: SUPPORTED
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ required: true
+ status: SUPPORTED
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ required: true
+ status: SUPPORTED
+ serv3_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ unused_net_id:
+ type: string
+ description: Service network unused port network UUID
+ required: true
+ status: SUPPORTED
+ ha_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ type: list
+ description: List of security groups to add on HA interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ system_names:
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_b_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ serv3_sec_groups:
+ type: list
+ description: List of security groups to add on serv3 interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_vips:
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ required: true
+ status: SUPPORTED
+ serv3_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_role:
+ type: string
+ description: Role of these VMs
+ required: true
+ status: SUPPORTED
+ trusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ required: true
+ status: SUPPORTED
+ untrusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ required: true
+ status: SUPPORTED
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ required: true
+ status: SUPPORTED
+ ha_network_plen:
+ type: float
+ required: true
+ status: SUPPORTED
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ attributes:
+ server_group_used:
+ type: string
+ description: Server group used for these VMs
+ requirements:
+ - link_perimeta_a_unused_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_contrail_vmi_subinterface_perimeta_a_untrusted_0_vlan_ports:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_serv3_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - local_storage_perimeta_a_server_0:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_perimeta_a_mgmt_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_ha_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_trusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_a_untrusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ capabilities:
+ scalable_perimeta_a_server_0:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_mgmt_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_server_0:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_perimeta_a_server_0:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_trusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_untrusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_ha_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_mgmt_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_a_trusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_a_untrusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ endpoint_perimeta_a_server_0:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_unused_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ attachment_perimeta_a_serv3_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_a_unused_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_ha_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ os_perimeta_a_server_0:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_a_serv3_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ org.openecomp.resource.abstract.nodes.heat.perimeta_ha_swmu_b:
+ derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
+ properties:
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ required: true
+ status: SUPPORTED
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ required: true
+ status: SUPPORTED
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+ required: true
+ status: SUPPORTED
+ vm_a_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ serv3_vips:
+ type: list
+ description: List of service network 3 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_net_id:
+ type: string
+ description: HA network id
+ required: true
+ status: SUPPORTED
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_networks:
+ type: list
+ 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.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ type: list
+ description: List of security groups to add on management interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ required: true
+ status: SUPPORTED
+ untrusted_vlan_ids:
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ serv3_net_id:
+ type: string
+ description: Service network 3 network UUID
+ required: true
+ status: SUPPORTED
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_vips:
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_vips:
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ required: true
+ status: SUPPORTED
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ required: true
+ status: SUPPORTED
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ required: true
+ status: SUPPORTED
+ serv3_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ unused_net_id:
+ type: string
+ description: Service network unused port network UUID
+ required: true
+ status: SUPPORTED
+ ha_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ type: list
+ description: List of security groups to add on HA interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ required: true
+ status: SUPPORTED
+ system_names:
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_b_names:
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ serv3_sec_groups:
+ type: list
+ description: List of security groups to add on serv3 interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_vips:
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ required: true
+ status: SUPPORTED
+ serv3_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ha_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vm_role:
+ type: string
+ description: Role of these VMs
+ required: true
+ status: SUPPORTED
+ trusted_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ required: true
+ status: SUPPORTED
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ required: true
+ status: SUPPORTED
+ untrusted_a_ips:
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ required: true
+ status: SUPPORTED
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ required: true
+ status: SUPPORTED
+ ha_network_plen:
+ type: float
+ required: true
+ status: SUPPORTED
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ attributes:
+ server_group_used:
+ type: string
+ description: Server group used for these VMs
+ requirements:
+ - link_perimeta_b_ha_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_serv3_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_trusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_untrusted_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_contrail_vmi_subinterface_perimeta_b_untrusted_0_vlan_ports:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_unused_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - link_perimeta_b_mgmt_0_port:
+ capability: tosca.capabilities.network.Linkable
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ - local_storage_perimeta_b_server_0:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ capabilities:
+ binding_perimeta_b_ha_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_trusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_untrusted_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ os_perimeta_b_server_0:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_b_unused_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ binding_perimeta_b_mgmt_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ attachment_perimeta_b_unused_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_b_server_0:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_serv3_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_perimeta_b_server_0:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_ha_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_trusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ endpoint_perimeta_b_server_0:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_perimeta_b_serv3_0_port:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ attachment_perimeta_b_untrusted_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_perimeta_b_server_0:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_perimeta_b_mgmt_0_port:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..d0f309e423
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/MainServiceTemplate.yaml
@@ -0,0 +1,737 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: Main
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ ssc_a_name_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of VM A of SSC
+ constraints:
+ - pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ mgmt_net_plen:
+ hidden: false
+ immutable: false
+ type: float
+ description: Management network prefix length
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ ssc_b_name_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of VM B of SSC
+ constraints:
+ - pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ rtp_msc_count:
+ hidden: false
+ immutable: false
+ type: float
+ description: Count of required RTP MSCs
+ ssc_b_untrusted_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+ perimeta_param_server_group:
+ hidden: false
+ immutable: false
+ type: string
+ description: UUID of server group to set anti-affinity policy for Perimeta instance. Only used when doing healing.
+ int_ha_net_plen:
+ hidden: false
+ immutable: false
+ type: float
+ description: Intermal HA network prefix length.
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ untrusted_vlan_networks:
+ hidden: false
+ immutable: false
+ type: list
+ 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
+ entry_schema:
+ type: string
+ ssc_mgmt_vip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Management virtual IP address to use for SSC. Only required when predefining VIPs.
+ untrusted_vlan_ids:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ entry_schema:
+ type: string
+ perimeta_keypair:
+ hidden: false
+ immutable: false
+ type: string
+ description: Keypair to use for accessing these Perimeta instances
+ constraints: [
+ ]
+ mgmt_net_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: Management network security groups
+ entry_schema:
+ type: string
+ ssc_trusted_vip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Virtual IPv4 address on trusted/core network for SSC.
+ ssc_untrusted_vip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Virtual IPv4 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ rtp_msc_mgmt_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Management virtual IP addresses to use for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ ssc_b_trusted_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC B. Only required when predefining fixed IPs.
+ untrusted_num_vlans:
+ hidden: false
+ immutable: false
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ rtp_msc_untrusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Virtual IPv4 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ rtp_msc_system_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of system names of RTP MSC instances
+ entry_schema:
+ type: string
+ ssc_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Glance image to use for launching SSC Perimeta instances.
+ constraints: [
+ ]
+ trusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Network ID of trusted/core network.
+ constraints: [
+ ]
+ ntp_server_ip_addrs:
+ hidden: false
+ immutable: false
+ type: string
+ description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network
+ constraints:
+ - pattern: ((?:\d{1,3}\.){3}\d{1,3},)*((?:\d{1,3}\.){3}\d{1,3})
+ ssc_b_untrusted_v6_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+ rtp_msc_untrusted_v6_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Virtual IPv6 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ ssc_system_name_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: System name of SSC
+ constraints:
+ - pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ ssc_b_rf_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC B. Only required when predefining fixed IPs.
+ ssc_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for creating SSC VM instance
+ constraints: [
+ ]
+ mgmt_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Management network ID
+ constraints: [
+ ]
+ rtp_msc_a_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of RTP MSC VM A instances
+ entry_schema:
+ type: string
+ rtp_msc_trusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Virtual IPv4 addresses on trusted/core network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ untrusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Network ID of untrusted/access network.
+ constraints: [
+ ]
+ unused_port_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unused network ID
+ constraints: [
+ ]
+ rtp_msc_b_untrusted_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ rtp_msc_b_mgmt_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Management fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ ssc_a_int_ha_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: HA fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_mgmt_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Management fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+ rtp_msc_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for creating RTP MSC VM instances
+ constraints: [
+ ]
+ rtp_msc_b_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of RTP MSC VM B instances
+ entry_schema:
+ type: string
+ rtp_msc_b_untrusted_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ int_ha_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Internal HA network ID
+ constraints: [
+ ]
+ ssc_b_int_ha_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: HA fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+ ssc_a_trusted_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC A. Only required when predefining fixed IPs.
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: ID of VNF
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for B instances.
+ untrusted_net_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: Security groups associated with untrusted/access network
+ entry_schema:
+ type: string
+ ssc_a_untrusted_v6_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_rf_vip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Virtual IPv4 address on management/Rf network for SSC. Only required when predefining virtual IPs.
+ rtp_msc_a_int_ha_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: HA fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ rtp_msc_b_trusted_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Fixed IPv4 address on trusted/core network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ rtp_msc_a_trusted_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Fixed IPv4 addresses on trusted/core network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ rtp_msc_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Glance image to use for launching RTP MSC Perimeta instances.
+ constraints: [
+ ]
+ ssc_a_mgmt_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Management fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ rtp_msc_b_int_ha_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: HA fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ ssc_untrusted_v6_vip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Virtual IPv6 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ rtp_msc_a_mgmt_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Management fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ rtp_msc_a_untrusted_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ rtp_msc_index:
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of RTP MSC to create/heal.
+ ssc_a_rf_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC A. Only required when predefining fixed IPs.
+ ssc_a_untrusted_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ rtp_msc_a_untrusted_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ entry_schema:
+ type: string
+ mgmt_net_default_gateway:
+ hidden: false
+ immutable: false
+ type: string
+ description: Default gateway for management network
+ trusted_net_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: Security groups associated with trusted/core network
+ entry_schema:
+ type: string
+ int_ha_net_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: Security groups associated with internal HA network
+ entry_schema:
+ type: string
+ node_templates:
+ perimeta_ssc:
+ type: org.openecomp.resource.abstract.nodes.heat.perimeta_ha_swmu_a
+ directives:
+ - substitutable
+ properties:
+ mgmt_net_plen:
+ get_input: mgmt_net_plen
+ untrusted_b_ips:
+ - get_input: ssc_b_untrusted_ip_0
+ ha_net_id:
+ get_input: int_ha_net_id
+ perimeta_param_server_group:
+ get_input: perimeta_param_server_group
+ untrusted_vlan_networks:
+ get_input: untrusted_vlan_networks
+ perimeta_instance_index: 0
+ untrusted_vlan_ids:
+ get_input: untrusted_vlan_ids
+ service_template_filter:
+ substitute_service_template: perimeta_ha_swmu_aServiceTemplate.yaml
+ serv3_net_id:
+ get_input: mgmt_net_id
+ perimeta_keypair:
+ get_input: perimeta_keypair
+ mgmt_vips:
+ - get_input: ssc_mgmt_vip_0
+ untrusted_vips:
+ - get_input: ssc_untrusted_vip_0
+ serv3_a_ips:
+ - get_input: ssc_a_rf_ip_0
+ unused_net_id:
+ get_input: unused_port_net_id
+ untrusted_v6_vips:
+ - get_input: ssc_untrusted_v6_vip_0
+ ha_sec_groups:
+ get_input: int_ha_net_sec_groups
+ untrusted_num_vlans:
+ get_input: untrusted_num_vlans
+ system_names:
+ - get_input: ssc_system_name_0
+ vm_b_names:
+ - get_input: ssc_b_name_0
+ trusted_vips:
+ - get_input: ssc_trusted_vip_0
+ trusted_net_id:
+ get_input: trusted_net_id
+ untrusted_a_v6_ips:
+ - get_input: ssc_a_untrusted_v6_ip_0
+ mgmt_net_id:
+ get_input: mgmt_net_id
+ perimeta_flavor_name:
+ get_input: ssc_flavor_name
+ ha_network_plen:
+ get_input: int_ha_net_plen
+ vf_module_id:
+ get_input: vf_module_id
+ untrusted_net_id:
+ get_input: untrusted_net_id
+ perimeta_config:
+ str_replace:
+ template:
+ get_artifact:
+ - SELF
+ - ssc_a_template
+ params:
+ $COMPLETION_PARAMS: ''
+ $NTP_SERVER_IP_ADDRS:
+ get_input: ntp_server_ip_addrs
+ vm_a_names:
+ - get_input: ssc_a_name_0
+ serv3_vips:
+ - get_input: ssc_rf_vip_0
+ mgmt_sec_groups:
+ get_input: mgmt_net_sec_groups
+ vnf_id:
+ get_input: vnf_id
+ availability_zone_0:
+ get_input: availability_zone_0
+ availability_zone_1:
+ get_input: availability_zone_1
+ ha_a_ips:
+ - get_input: ssc_a_int_ha_ip_0
+ trusted_a_ips:
+ - get_input: ssc_a_trusted_ip_0
+ trusted_sec_groups:
+ get_input: trusted_net_sec_groups
+ serv3_sec_groups:
+ get_input: mgmt_net_sec_groups
+ serv3_b_ips:
+ - get_input: ssc_b_rf_ip_0
+ ha_b_ips:
+ - get_input: ssc_b_int_ha_ip_0
+ untrusted_b_v6_ips:
+ - get_input: ssc_b_untrusted_v6_ip_0
+ mgmt_a_ips:
+ - get_input: ssc_a_mgmt_ip_0
+ vm_role: ssc
+ trusted_b_ips:
+ - get_input: ssc_b_trusted_ip_0
+ perimeta_image_name:
+ get_input: ssc_image_name
+ mgmt_net_default_gateway:
+ get_input: mgmt_net_default_gateway
+ untrusted_a_ips:
+ - get_input: ssc_a_untrusted_ip_0
+ untrusted_sec_groups:
+ get_input: untrusted_net_sec_groups
+ mgmt_b_ips:
+ - get_input: ssc_b_mgmt_ip_0
+ artifacts:
+ ssc_a_template:
+ type: tosca.artifacts.Deployment
+ file: ../Artifacts/ssc_a_template.json
+ perimeta_rtp_mscs:
+ type: org.openecomp.resource.abstract.nodes.heat.perimeta_ha_sw_a
+ directives:
+ - substitutable
+ properties:
+ vf_module_id:
+ get_input: vf_module_id
+ untrusted_net_id:
+ get_input: untrusted_net_id
+ mgmt_net_plen:
+ get_input: mgmt_net_plen
+ perimeta_config:
+ str_replace:
+ template:
+ get_artifact:
+ - SELF
+ - msc_a_template
+ params:
+ $COMPLETION_PARAMS: ''
+ $NTP_SERVER_IP_ADDRS:
+ get_input: ntp_server_ip_addrs
+ vm_a_names:
+ get_input: rtp_msc_a_names
+ untrusted_b_ips:
+ get_input: rtp_msc_b_untrusted_ips
+ ha_net_id:
+ get_input: int_ha_net_id
+ perimeta_param_server_group:
+ get_input: perimeta_param_server_group
+ untrusted_vlan_networks:
+ get_input: untrusted_vlan_networks
+ mgmt_sec_groups:
+ get_input: mgmt_net_sec_groups
+ perimeta_instance_index:
+ get_input: rtp_msc_index
+ untrusted_vlan_ids:
+ get_input: untrusted_vlan_ids
+ service_template_filter:
+ substitute_service_template: perimeta_ha_sw_aServiceTemplate.yaml
+ perimeta_keypair:
+ get_input: perimeta_keypair
+ mgmt_vips:
+ get_input: rtp_msc_mgmt_vips
+ untrusted_vips:
+ get_input: rtp_msc_untrusted_vips
+ vnf_id:
+ get_input: vnf_id
+ availability_zone_0:
+ get_input: availability_zone_0
+ availability_zone_1:
+ get_input: availability_zone_1
+ ha_a_ips:
+ get_input: rtp_msc_a_int_ha_ips
+ untrusted_v6_vips:
+ get_input: rtp_msc_untrusted_v6_vips
+ ha_sec_groups:
+ get_input: int_ha_net_sec_groups
+ trusted_a_ips:
+ get_input: rtp_msc_a_trusted_ips
+ untrusted_num_vlans:
+ get_input: untrusted_num_vlans
+ system_names:
+ get_input: rtp_msc_system_names
+ vm_b_names:
+ get_input: rtp_msc_b_names
+ trusted_sec_groups:
+ get_input: trusted_net_sec_groups
+ trusted_vips:
+ get_input: rtp_msc_trusted_vips
+ trusted_net_id:
+ get_input: trusted_net_id
+ ha_b_ips:
+ get_input: rtp_msc_b_int_ha_ips
+ untrusted_a_v6_ips:
+ get_input: rtp_msc_a_untrusted_v6_ips
+ untrusted_b_v6_ips:
+ get_input: rtp_msc_b_untrusted_v6_ips
+ mgmt_a_ips:
+ get_input: rtp_msc_a_mgmt_ips
+ vm_role: rtp_msc
+ trusted_b_ips:
+ get_input: rtp_msc_b_trusted_ips
+ perimeta_image_name:
+ get_input: rtp_msc_image_name
+ mgmt_net_default_gateway:
+ get_input: mgmt_net_default_gateway
+ untrusted_a_ips:
+ get_input: rtp_msc_a_untrusted_ips
+ untrusted_sec_groups:
+ get_input: untrusted_net_sec_groups
+ mgmt_net_id:
+ get_input: mgmt_net_id
+ perimeta_flavor_name:
+ get_input: rtp_msc_flavor_name
+ ha_network_plen:
+ get_input: int_ha_net_plen
+ mgmt_b_ips:
+ get_input: rtp_msc_b_mgmt_ips
+ artifacts:
+ msc_a_template:
+ type: tosca.artifacts.Deployment
+ file: ../Artifacts/msc_a_template.json
+ groups:
+ base_perimeta_deployment_create_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/base_perimeta_deployment_create.yaml
+ description: |
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+ members:
+ - perimeta_ssc
+ - perimeta_rtp_mscs
+ module_2_perimeta_rtp_msc_rebuild_scaling_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_2_perimeta_rtp_msc_rebuild_scaling.yaml
+ description: |
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+ members:
+ - perimeta_rtp_mscs
+ module_2_perimeta_rtp_msc_a_healing_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_2_perimeta_rtp_msc_a_healing.yaml
+ description: |
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+ members:
+ - perimeta_rtp_mscs
+ module_1_perimeta_ssc_rebuild_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_1_perimeta_ssc_rebuild.yaml
+ description: |
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+ members:
+ - perimeta_ssc
+ module_1_perimeta_ssc_b_healing_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_1_perimeta_ssc_b_healing.yaml
+ description: |
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+ members:
+ - perimeta_ssc
+ module_2_perimeta_rtp_msc_b_healing_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_2_perimeta_rtp_msc_b_healing.yaml
+ description: |
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+ members:
+ - perimeta_rtp_mscs
+ module_1_perimeta_ssc_a_healing_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_1_perimeta_ssc_a_healing.yaml
+ description: |
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+ members:
+ - perimeta_ssc
+ outputs:
+ ssc_server_group:
+ description: Server group for SSC pair
+ value:
+ get_attribute:
+ - perimeta_ssc
+ - server_group_used
+ rtp_msc_server_groups:
+ description: Server groups for RTP MSC pairs
+ value:
+ get_attribute:
+ - perimeta_rtp_mscs
+ - server_group_used
+ msw_template_version:
+ description: Version of the heat templates used to instantiate the VMs
+ value: 4.0.1 - 2016-10-28 \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swServiceTemplate.yaml
new file mode 100644
index 0000000000..3b4f112371
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swServiceTemplate.yaml
@@ -0,0 +1,902 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: perimeta_ha_sw
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.vm_b:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+ org.openecomp.resource.vfc.nodes.heat.vm_a:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ untrusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 2 network UUID
+ constraints: [
+ ]
+ mgmt_net_plen:
+ hidden: false
+ immutable: false
+ type: string
+ description: Prefix length of management network
+ perimeta_config:
+ hidden: false
+ immutable: false
+ type: string
+ description: Orchestration template configuration for instance.
+ vm_a_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ ha_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: HA network id
+ constraints: [
+ ]
+ perimeta_param_server_group:
+ hidden: false
+ immutable: false
+ type: string
+ description: Server group to use for these VMs - ignored
+ untrusted_vlan_networks:
+ hidden: false
+ immutable: false
+ type: list
+ 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.
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on management interfaces.
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ untrusted_vlan_ids:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ entry_schema:
+ type: string
+ perimeta_keypair:
+ hidden: false
+ immutable: false
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints: [
+ ]
+ mgmt_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ untrusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: VNF ID of this deployment
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ ha_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on HA interfaces.
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ hidden: false
+ immutable: false
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ system_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ vm_b_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ entry_schema:
+ type: string
+ trusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ trusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 1 network UUID
+ constraints: [
+ ]
+ ha_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ entry_schema:
+ type: string
+ vm_role:
+ hidden: false
+ immutable: false
+ type: string
+ description: Role of these VMs
+ trusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Glance image for Perimeta instance
+ constraints: [
+ ]
+ mgmt_net_default_gateway:
+ hidden: false
+ immutable: false
+ type: string
+ description: IP address of management default gateway
+ untrusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Management network id
+ constraints: [
+ ]
+ perimeta_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints: [
+ ]
+ ha_network_plen:
+ hidden: false
+ immutable: false
+ type: float
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ entry_schema:
+ type: string
+ node_templates:
+ perimeta_b_ha_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: ha_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - ha_b_ips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: ha_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_untrusted_0_vlan_ports:
+ type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
+ directives:
+ - substitutable
+ properties:
+ vlan_ids:
+ get_input: untrusted_vlan_ids
+ service_template_filter:
+ substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
+ count:
+ get_input: untrusted_num_vlans
+ mandatory: false
+ parent_interface: perimeta_a_untrusted_0_port
+ virtual_ipv6_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ virtual_ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ mac_address:
+ get_attribute:
+ - perimeta_a_untrusted_0_port
+ - mac_address
+ ipv6_address:
+ get_input:
+ - untrusted_a_v6_ips
+ - get_input: perimeta_instance_index
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ subinterface_instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ ip_address:
+ get_input:
+ - untrusted_a_ips
+ - get_input: perimeta_instance_index
+ vlan_networks:
+ get_input: untrusted_vlan_networks
+ requirements:
+ - binding_contrail_vmi_subinterface:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_untrusted_0_port
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_server_0:
+ type: org.openecomp.resource.vfc.nodes.heat.vm_a
+ properties:
+ flavor:
+ get_input: perimeta_flavor_name
+ key_name:
+ get_input: perimeta_keypair
+ availability_zone:
+ get_input: availability_zone_0
+ image:
+ get_input: perimeta_image_name
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ str_replace:
+ template: $ROLE_a
+ params:
+ $ROLE:
+ get_input: vm_role
+ vnf_id:
+ get_input: vnf_id
+ config_drive: true
+ personality:
+ /opt/MetaSwitch/init/custom.ini:
+ get_artifact:
+ - SELF
+ - custom
+ user_data_format: RAW
+ name:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ scheduler_hints:
+ group: perimeta_server_group_group
+ artifacts:
+ custom:
+ type: tosca.artifacts.Deployment
+ file: ../Artifacts/custom.ini
+ perimeta_a_mgmt_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: mgmt_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - mgmt_a_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - mgmt_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: mgmt_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_trusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: trusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - trusted_b_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - trusted_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: trusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_untrusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: untrusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - untrusted_b_ips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_b_v6_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: untrusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_untrusted_0_vlan_ports:
+ type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
+ directives:
+ - substitutable
+ properties:
+ vlan_ids:
+ get_input: untrusted_vlan_ids
+ service_template_filter:
+ substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
+ count:
+ get_input: untrusted_num_vlans
+ mandatory: false
+ parent_interface: perimeta_b_untrusted_0_port
+ virtual_ipv6_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ virtual_ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ mac_address:
+ get_attribute:
+ - perimeta_b_untrusted_0_port
+ - mac_address
+ ipv6_address:
+ get_input:
+ - untrusted_b_v6_ips
+ - get_input: perimeta_instance_index
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ subinterface_instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ ip_address:
+ get_input:
+ - untrusted_b_ips
+ - get_input: perimeta_instance_index
+ vlan_networks:
+ get_input: untrusted_vlan_networks
+ requirements:
+ - binding_contrail_vmi_subinterface:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_untrusted_0_port
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_ha_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: ha_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - ha_a_ips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: ha_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_trusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: trusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - trusted_a_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - trusted_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: trusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_mgmt_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: mgmt_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - mgmt_b_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - mgmt_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: mgmt_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_untrusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: untrusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - untrusted_a_ips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_a_v6_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: untrusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_server_0:
+ type: org.openecomp.resource.vfc.nodes.heat.vm_b
+ properties:
+ flavor:
+ get_input: perimeta_flavor_name
+ key_name:
+ get_input: perimeta_keypair
+ availability_zone:
+ get_input: availability_zone_1
+ image:
+ get_input: perimeta_image_name
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ str_replace:
+ template: $ROLE_b
+ params:
+ $ROLE:
+ get_input: vm_role
+ vnf_id:
+ get_input: vnf_id
+ config_drive: true
+ user_data_format: RAW
+ name:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ scheduler_hints:
+ group: perimeta_server_group_group
+ groups:
+ perimeta_server_group_group:
+ type: tosca.groups.Root
+ members:
+ - perimeta_a_server_0
+ - perimeta_b_server_0
+ perimeta_ha_sw_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/perimeta_ha_sw.yaml
+ description: |
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+ members:
+ - perimeta_b_ha_0_port
+ - perimeta_a_untrusted_0_vlan_ports
+ - perimeta_a_server_0
+ - perimeta_a_mgmt_0_port
+ - perimeta_b_trusted_0_port
+ - perimeta_b_untrusted_0_port
+ - perimeta_b_untrusted_0_vlan_ports
+ - perimeta_a_ha_0_port
+ - perimeta_a_trusted_0_port
+ - perimeta_b_mgmt_0_port
+ - perimeta_a_untrusted_0_port
+ - perimeta_b_server_0
+ outputs:
+ server_group_used:
+ description: Server group used for these VMs
+ value: perimeta_server_group_group
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.perimeta_ha_sw
+ capabilities:
+ attachment_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - attachment
+ binding_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - binding
+ host_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - host
+ binding_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - binding
+ binding_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - binding
+ binding_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - binding
+ binding_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - binding
+ endpoint_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - endpoint
+ attachment_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - attachment
+ attachment_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - attachment
+ attachment_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - attachment
+ scalable_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - scalable
+ binding_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - binding
+ binding_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - binding
+ attachment_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - attachment
+ os_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - os
+ attachment_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - attachment
+ attachment_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - attachment
+ binding_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - binding
+ binding_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - binding
+ scalable_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - scalable
+ endpoint_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - endpoint
+ binding_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - binding
+ os_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - os
+ host_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - host
+ attachment_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - attachment
+ requirements:
+ link_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - link
+ link_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - link
+ link_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - link
+ link_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - link
+ link_contrail_vmi_subinterface_perimeta_b_untrusted_0_vlan_ports:
+ - perimeta_b_untrusted_0_vlan_ports
+ - link_contrail_vmi_subinterface
+ local_storage_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - local_storage
+ link_contrail_vmi_subinterface_perimeta_a_untrusted_0_vlan_ports:
+ - perimeta_a_untrusted_0_vlan_ports
+ - link_contrail_vmi_subinterface
+ link_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - link
+ link_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - link
+ link_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - link
+ link_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - link
+ local_storage_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - local_storage
+ policies:
+ perimeta_server_group_policy:
+ type: org.openecomp.policies.placement.Antilocate
+ properties:
+ name:
+ str_replace:
+ template: $SYSTEM_server_group
+ params:
+ $SYSTEM:
+ get_input:
+ - system_names
+ - get_input: perimeta_instance_index
+ container_type: host
+ targets:
+ - perimeta_server_group_group \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_sw_aServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_sw_aServiceTemplate.yaml
new file mode 100644
index 0000000000..31ae5e5dec
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_sw_aServiceTemplate.yaml
@@ -0,0 +1,613 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: perimeta_ha_sw_a
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.vm_a:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ untrusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 2 network UUID
+ constraints: [
+ ]
+ mgmt_net_plen:
+ hidden: false
+ immutable: false
+ type: string
+ description: Prefix length of management network
+ perimeta_config:
+ hidden: false
+ immutable: false
+ type: string
+ description: Orchestration template configuration for instance.
+ vm_a_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ ha_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: HA network id
+ constraints: [
+ ]
+ perimeta_param_server_group:
+ hidden: false
+ immutable: false
+ type: string
+ description: Server group to use for these VMs - ignored
+ untrusted_vlan_networks:
+ hidden: false
+ immutable: false
+ type: list
+ 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.
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on management interfaces.
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ untrusted_vlan_ids:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ entry_schema:
+ type: string
+ perimeta_keypair:
+ hidden: false
+ immutable: false
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints: [
+ ]
+ mgmt_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ untrusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: VNF ID of this deployment
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ ha_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on HA interfaces.
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ hidden: false
+ immutable: false
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ system_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ vm_b_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ entry_schema:
+ type: string
+ trusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ trusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 1 network UUID
+ constraints: [
+ ]
+ ha_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ entry_schema:
+ type: string
+ vm_role:
+ hidden: false
+ immutable: false
+ type: string
+ description: Role of these VMs
+ trusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Glance image for Perimeta instance
+ constraints: [
+ ]
+ mgmt_net_default_gateway:
+ hidden: false
+ immutable: false
+ type: string
+ description: IP address of management default gateway
+ untrusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Management network id
+ constraints: [
+ ]
+ perimeta_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints: [
+ ]
+ ha_network_plen:
+ hidden: false
+ immutable: false
+ type: float
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ entry_schema:
+ type: string
+ node_templates:
+ perimeta_a_untrusted_0_vlan_ports:
+ type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
+ directives:
+ - substitutable
+ properties:
+ vlan_ids:
+ get_input: untrusted_vlan_ids
+ service_template_filter:
+ substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
+ count:
+ get_input: untrusted_num_vlans
+ mandatory: false
+ parent_interface: perimeta_a_untrusted_0_port
+ virtual_ipv6_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ virtual_ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ mac_address:
+ get_attribute:
+ - perimeta_a_untrusted_0_port
+ - mac_address
+ ipv6_address:
+ get_input:
+ - untrusted_a_v6_ips
+ - get_input: perimeta_instance_index
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ subinterface_instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ ip_address:
+ get_input:
+ - untrusted_a_ips
+ - get_input: perimeta_instance_index
+ vlan_networks:
+ get_input: untrusted_vlan_networks
+ requirements:
+ - binding_contrail_vmi_subinterface:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_untrusted_0_port
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_server_0:
+ type: org.openecomp.resource.vfc.nodes.heat.vm_a
+ properties:
+ flavor:
+ get_input: perimeta_flavor_name
+ key_name:
+ get_input: perimeta_keypair
+ availability_zone:
+ get_input: availability_zone_0
+ image:
+ get_input: perimeta_image_name
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ str_replace:
+ template: $ROLE_a
+ params:
+ $ROLE:
+ get_input: vm_role
+ vnf_id:
+ get_input: vnf_id
+ config_drive: true
+ personality:
+ /opt/MetaSwitch/init/custom.ini:
+ get_artifact:
+ - SELF
+ - custom
+ user_data_format: RAW
+ name:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ scheduler_hints:
+ group:
+ get_input: perimeta_param_server_group
+ artifacts:
+ custom:
+ type: tosca.artifacts.Deployment
+ file: ../Artifacts/custom.ini
+ perimeta_a_mgmt_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: mgmt_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - mgmt_a_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - mgmt_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: mgmt_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_ha_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: ha_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - ha_a_ips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: ha_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_trusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: trusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - trusted_a_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - trusted_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: trusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_untrusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: untrusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - untrusted_a_ips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_a_v6_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: untrusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ perimeta_ha_sw_a_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/perimeta_ha_sw_a.yaml
+ description: |
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+ members:
+ - perimeta_a_untrusted_0_vlan_ports
+ - perimeta_a_server_0
+ - perimeta_a_mgmt_0_port
+ - perimeta_a_ha_0_port
+ - perimeta_a_trusted_0_port
+ - perimeta_a_untrusted_0_port
+ outputs:
+ server_group_used:
+ description: Server group used for these VMs
+ value:
+ get_input: perimeta_param_server_group
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.perimeta_ha_sw_a
+ capabilities:
+ scalable_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - scalable
+ attachment_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - attachment
+ binding_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - binding
+ host_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - host
+ attachment_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - attachment
+ attachment_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - attachment
+ attachment_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - attachment
+ binding_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - binding
+ binding_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - binding
+ binding_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - binding
+ endpoint_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - endpoint
+ binding_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - binding
+ os_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - os
+ requirements:
+ link_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - link
+ link_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - link
+ link_contrail_vmi_subinterface_perimeta_a_untrusted_0_vlan_ports:
+ - perimeta_a_untrusted_0_vlan_ports
+ - link_contrail_vmi_subinterface
+ link_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - link
+ link_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - link
+ local_storage_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - local_storage \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_sw_bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_sw_bServiceTemplate.yaml
new file mode 100644
index 0000000000..76916a7ed6
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_sw_bServiceTemplate.yaml
@@ -0,0 +1,604 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: perimeta_ha_sw_b
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.vm_b:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ untrusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 2 network UUID
+ constraints: [
+ ]
+ mgmt_net_plen:
+ hidden: false
+ immutable: false
+ type: string
+ description: Prefix length of management network
+ perimeta_config:
+ hidden: false
+ immutable: false
+ type: string
+ description: Orchestration template configuration for instance.
+ vm_a_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ ha_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: HA network id
+ constraints: [
+ ]
+ perimeta_param_server_group:
+ hidden: false
+ immutable: false
+ type: string
+ description: Server group to use for these VMs - ignored
+ untrusted_vlan_networks:
+ hidden: false
+ immutable: false
+ type: list
+ 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.
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on management interfaces.
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ untrusted_vlan_ids:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ entry_schema:
+ type: string
+ perimeta_keypair:
+ hidden: false
+ immutable: false
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints: [
+ ]
+ mgmt_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ untrusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: VNF ID of this deployment
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ ha_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on HA interfaces.
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ hidden: false
+ immutable: false
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ system_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ vm_b_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ entry_schema:
+ type: string
+ trusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ trusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 1 network UUID
+ constraints: [
+ ]
+ ha_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ entry_schema:
+ type: string
+ vm_role:
+ hidden: false
+ immutable: false
+ type: string
+ description: Role of these VMs
+ trusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Glance image for Perimeta instance
+ constraints: [
+ ]
+ mgmt_net_default_gateway:
+ hidden: false
+ immutable: false
+ type: string
+ description: IP address of management default gateway
+ untrusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Management network id
+ constraints: [
+ ]
+ perimeta_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints: [
+ ]
+ ha_network_plen:
+ hidden: false
+ immutable: false
+ type: float
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ entry_schema:
+ type: string
+ node_templates:
+ perimeta_b_ha_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: ha_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - ha_b_ips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: ha_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_trusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: trusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - trusted_b_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - trusted_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: trusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_untrusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: untrusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - untrusted_b_ips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_b_v6_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: untrusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_untrusted_0_vlan_ports:
+ type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
+ directives:
+ - substitutable
+ properties:
+ vlan_ids:
+ get_input: untrusted_vlan_ids
+ service_template_filter:
+ substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
+ count:
+ get_input: untrusted_num_vlans
+ mandatory: false
+ parent_interface: perimeta_b_untrusted_0_port
+ virtual_ipv6_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ virtual_ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ mac_address:
+ get_attribute:
+ - perimeta_b_untrusted_0_port
+ - mac_address
+ ipv6_address:
+ get_input:
+ - untrusted_b_v6_ips
+ - get_input: perimeta_instance_index
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ subinterface_instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ ip_address:
+ get_input:
+ - untrusted_b_ips
+ - get_input: perimeta_instance_index
+ vlan_networks:
+ get_input: untrusted_vlan_networks
+ requirements:
+ - binding_contrail_vmi_subinterface:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_untrusted_0_port
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_mgmt_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: mgmt_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - mgmt_b_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - mgmt_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: mgmt_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_server_0:
+ type: org.openecomp.resource.vfc.nodes.heat.vm_b
+ properties:
+ flavor:
+ get_input: perimeta_flavor_name
+ key_name:
+ get_input: perimeta_keypair
+ availability_zone:
+ get_input: availability_zone_1
+ image:
+ get_input: perimeta_image_name
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ str_replace:
+ template: $ROLE_b
+ params:
+ $ROLE:
+ get_input: vm_role
+ vnf_id:
+ get_input: vnf_id
+ config_drive: true
+ user_data_format: RAW
+ name:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ scheduler_hints:
+ group:
+ get_input: perimeta_param_server_group
+ groups:
+ perimeta_ha_sw_b_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/perimeta_ha_sw_b.yaml
+ description: |
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+ members:
+ - perimeta_b_ha_0_port
+ - perimeta_b_trusted_0_port
+ - perimeta_b_untrusted_0_port
+ - perimeta_b_untrusted_0_vlan_ports
+ - perimeta_b_mgmt_0_port
+ - perimeta_b_server_0
+ outputs:
+ server_group_used:
+ description: Server group used for these VMs
+ value:
+ get_input: perimeta_param_server_group
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.perimeta_ha_sw_b
+ capabilities:
+ binding_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - binding
+ binding_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - binding
+ binding_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - binding
+ os_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - os
+ binding_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - binding
+ binding_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - binding
+ scalable_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - scalable
+ attachment_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - attachment
+ attachment_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - attachment
+ endpoint_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - endpoint
+ attachment_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - attachment
+ host_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - host
+ attachment_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - attachment
+ requirements:
+ link_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - link
+ link_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - link
+ link_contrail_vmi_subinterface_perimeta_b_untrusted_0_vlan_ports:
+ - perimeta_b_untrusted_0_vlan_ports
+ - link_contrail_vmi_subinterface
+ local_storage_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - local_storage
+ link_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - link
+ link_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - link \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmuServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmuServiceTemplate.yaml
new file mode 100644
index 0000000000..841e26b953
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmuServiceTemplate.yaml
@@ -0,0 +1,1076 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: perimeta_ha_swmu
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.vm_b:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+ org.openecomp.resource.vfc.nodes.heat.vm_a:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ untrusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 2 network UUID
+ constraints: [
+ ]
+ mgmt_net_plen:
+ hidden: false
+ immutable: false
+ type: string
+ description: Prefix length of management network
+ perimeta_config:
+ hidden: false
+ immutable: false
+ type: string
+ description: Orchestration template configuration for instance.
+ vm_a_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ serv3_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 3 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ ha_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: HA network id
+ constraints: [
+ ]
+ perimeta_param_server_group:
+ hidden: false
+ immutable: false
+ type: string
+ description: Server group to use for these VMs - ignored
+ untrusted_vlan_networks:
+ hidden: false
+ immutable: false
+ type: list
+ 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.
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on management interfaces.
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ untrusted_vlan_ids:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ entry_schema:
+ type: string
+ serv3_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 3 network UUID
+ perimeta_keypair:
+ hidden: false
+ immutable: false
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints: [
+ ]
+ mgmt_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ untrusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: VNF ID of this deployment
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ serv3_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of A instances.
+ entry_schema:
+ type: string
+ unused_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network unused port network UUID
+ ha_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on HA interfaces.
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ hidden: false
+ immutable: false
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ system_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ vm_b_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ entry_schema:
+ type: string
+ serv3_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on serv3 interfaces.
+ entry_schema:
+ type: string
+ trusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ trusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 1 network UUID
+ constraints: [
+ ]
+ serv3_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of B instances.
+ entry_schema:
+ type: string
+ ha_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ entry_schema:
+ type: string
+ vm_role:
+ hidden: false
+ immutable: false
+ type: string
+ description: Role of these VMs
+ trusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Glance image for Perimeta instance
+ constraints: [
+ ]
+ mgmt_net_default_gateway:
+ hidden: false
+ immutable: false
+ type: string
+ description: IP address of management default gateway
+ untrusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Management network id
+ constraints: [
+ ]
+ perimeta_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints: [
+ ]
+ ha_network_plen:
+ hidden: false
+ immutable: false
+ type: float
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ entry_schema:
+ type: string
+ node_templates:
+ perimeta_a_unused_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_unused_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: unused_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_untrusted_0_vlan_ports:
+ type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
+ directives:
+ - substitutable
+ properties:
+ vlan_ids:
+ get_input: untrusted_vlan_ids
+ service_template_filter:
+ substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
+ count:
+ get_input: untrusted_num_vlans
+ mandatory: false
+ parent_interface: perimeta_a_untrusted_0_port
+ virtual_ipv6_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ virtual_ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ mac_address:
+ get_attribute:
+ - perimeta_a_untrusted_0_port
+ - mac_address
+ ipv6_address:
+ get_input:
+ - untrusted_a_v6_ips
+ - get_input: perimeta_instance_index
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ subinterface_instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ ip_address:
+ get_input:
+ - untrusted_a_ips
+ - get_input: perimeta_instance_index
+ vlan_networks:
+ get_input: untrusted_vlan_networks
+ requirements:
+ - binding_contrail_vmi_subinterface:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_untrusted_0_port
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_mgmt_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: mgmt_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - mgmt_a_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - mgmt_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: mgmt_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_untrusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: untrusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - untrusted_b_ips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_b_v6_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: untrusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_untrusted_0_vlan_ports:
+ type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
+ directives:
+ - substitutable
+ properties:
+ vlan_ids:
+ get_input: untrusted_vlan_ids
+ service_template_filter:
+ substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
+ count:
+ get_input: untrusted_num_vlans
+ mandatory: false
+ parent_interface: perimeta_b_untrusted_0_port
+ virtual_ipv6_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ virtual_ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ mac_address:
+ get_attribute:
+ - perimeta_b_untrusted_0_port
+ - mac_address
+ ipv6_address:
+ get_input:
+ - untrusted_b_v6_ips
+ - get_input: perimeta_instance_index
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ subinterface_instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ ip_address:
+ get_input:
+ - untrusted_b_ips
+ - get_input: perimeta_instance_index
+ vlan_networks:
+ get_input: untrusted_vlan_networks
+ requirements:
+ - binding_contrail_vmi_subinterface:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_untrusted_0_port
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_unused_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_unused_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: unused_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_trusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: trusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - trusted_a_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - trusted_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: trusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_mgmt_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: mgmt_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - mgmt_b_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - mgmt_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: mgmt_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_ha_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: ha_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - ha_b_ips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: ha_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_serv3_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: serv3_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - serv3_b_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - serv3_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_serv3_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: serv3_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_serv3_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: serv3_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - serv3_a_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - serv3_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_serv3_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: serv3_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_server_0:
+ type: org.openecomp.resource.vfc.nodes.heat.vm_a
+ properties:
+ flavor:
+ get_input: perimeta_flavor_name
+ key_name:
+ get_input: perimeta_keypair
+ availability_zone:
+ get_input: availability_zone_0
+ image:
+ get_input: perimeta_image_name
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ str_replace:
+ template: $ROLE_a
+ params:
+ $ROLE:
+ get_input: vm_role
+ vnf_id:
+ get_input: vnf_id
+ config_drive: true
+ personality:
+ /opt/MetaSwitch/init/custom.ini:
+ get_artifact:
+ - SELF
+ - custom
+ user_data_format: RAW
+ name:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ scheduler_hints:
+ group: perimeta_server_group_group
+ artifacts:
+ custom:
+ type: tosca.artifacts.Deployment
+ file: ../Artifacts/custom.ini
+ perimeta_b_trusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: trusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - trusted_b_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - trusted_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: trusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_ha_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: ha_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - ha_a_ips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: ha_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_untrusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: untrusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - untrusted_a_ips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_a_v6_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: untrusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_server_0:
+ type: org.openecomp.resource.vfc.nodes.heat.vm_b
+ properties:
+ flavor:
+ get_input: perimeta_flavor_name
+ key_name:
+ get_input: perimeta_keypair
+ availability_zone:
+ get_input: availability_zone_1
+ image:
+ get_input: perimeta_image_name
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ str_replace:
+ template: $ROLE_b
+ params:
+ $ROLE:
+ get_input: vm_role
+ vnf_id:
+ get_input: vnf_id
+ config_drive: true
+ user_data_format: RAW
+ name:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ scheduler_hints:
+ group: perimeta_server_group_group
+ groups:
+ perimeta_ha_swmu_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/perimeta_ha_swmu.yaml
+ description: |
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+ members:
+ - perimeta_a_unused_0_port
+ - perimeta_a_untrusted_0_vlan_ports
+ - perimeta_a_mgmt_0_port
+ - perimeta_b_untrusted_0_port
+ - perimeta_b_untrusted_0_vlan_ports
+ - perimeta_b_unused_0_port
+ - perimeta_a_trusted_0_port
+ - perimeta_b_mgmt_0_port
+ - perimeta_b_ha_0_port
+ - perimeta_b_serv3_0_port
+ - perimeta_a_serv3_0_port
+ - perimeta_a_server_0
+ - perimeta_b_trusted_0_port
+ - perimeta_a_ha_0_port
+ - perimeta_a_untrusted_0_port
+ - perimeta_b_server_0
+ perimeta_server_group_group:
+ type: tosca.groups.Root
+ members:
+ - perimeta_a_server_0
+ - perimeta_b_server_0
+ outputs:
+ server_group_used:
+ description: Server group used for these VMs
+ value: perimeta_server_group_group
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.perimeta_ha_swmu
+ capabilities:
+ attachment_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - attachment
+ binding_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - binding
+ host_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - host
+ binding_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - binding
+ binding_perimeta_b_unused_0_port:
+ - perimeta_b_unused_0_port
+ - binding
+ binding_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - binding
+ binding_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - binding
+ binding_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - binding
+ endpoint_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - endpoint
+ attachment_perimeta_b_unused_0_port:
+ - perimeta_b_unused_0_port
+ - attachment
+ attachment_perimeta_a_serv3_0_port:
+ - perimeta_a_serv3_0_port
+ - attachment
+ attachment_perimeta_b_serv3_0_port:
+ - perimeta_b_serv3_0_port
+ - attachment
+ attachment_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - attachment
+ attachment_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - attachment
+ attachment_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - attachment
+ binding_perimeta_b_serv3_0_port:
+ - perimeta_b_serv3_0_port
+ - binding
+ binding_perimeta_a_serv3_0_port:
+ - perimeta_a_serv3_0_port
+ - binding
+ scalable_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - scalable
+ binding_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - binding
+ binding_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - binding
+ attachment_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - attachment
+ os_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - os
+ attachment_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - attachment
+ attachment_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - attachment
+ binding_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - binding
+ binding_perimeta_a_unused_0_port:
+ - perimeta_a_unused_0_port
+ - binding
+ binding_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - binding
+ scalable_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - scalable
+ attachment_perimeta_a_unused_0_port:
+ - perimeta_a_unused_0_port
+ - attachment
+ endpoint_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - endpoint
+ binding_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - binding
+ os_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - os
+ host_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - host
+ attachment_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - attachment
+ requirements:
+ link_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - link
+ link_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - link
+ link_perimeta_a_unused_0_port:
+ - perimeta_a_unused_0_port
+ - link
+ link_perimeta_b_serv3_0_port:
+ - perimeta_b_serv3_0_port
+ - link
+ link_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - link
+ link_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - link
+ local_storage_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - local_storage
+ link_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - link
+ link_contrail_vmi_subinterface_perimeta_b_untrusted_0_vlan_ports:
+ - perimeta_b_untrusted_0_vlan_ports
+ - link_contrail_vmi_subinterface
+ local_storage_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - local_storage
+ link_contrail_vmi_subinterface_perimeta_a_untrusted_0_vlan_ports:
+ - perimeta_a_untrusted_0_vlan_ports
+ - link_contrail_vmi_subinterface
+ link_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - link
+ link_perimeta_a_serv3_0_port:
+ - perimeta_a_serv3_0_port
+ - link
+ link_perimeta_b_unused_0_port:
+ - perimeta_b_unused_0_port
+ - link
+ link_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - link
+ link_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - link
+ policies:
+ perimeta_server_group_policy:
+ type: org.openecomp.policies.placement.Antilocate
+ properties:
+ name:
+ str_replace:
+ template: $SYSTEM_server_group
+ params:
+ $SYSTEM:
+ get_input:
+ - system_names
+ - get_input: perimeta_instance_index
+ container_type: host
+ targets:
+ - perimeta_server_group_group \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmu_aServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmu_aServiceTemplate.yaml
new file mode 100644
index 0000000000..1c2a0473a7
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmu_aServiceTemplate.yaml
@@ -0,0 +1,719 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: perimeta_ha_swmu_a
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.vm_a:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ untrusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 2 network UUID
+ constraints: [
+ ]
+ mgmt_net_plen:
+ hidden: false
+ immutable: false
+ type: string
+ description: Prefix length of management network
+ perimeta_config:
+ hidden: false
+ immutable: false
+ type: string
+ description: Orchestration template configuration for instance.
+ vm_a_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ serv3_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 3 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ ha_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: HA network id
+ constraints: [
+ ]
+ perimeta_param_server_group:
+ hidden: false
+ immutable: false
+ type: string
+ description: Server group to use for these VMs - ignored
+ untrusted_vlan_networks:
+ hidden: false
+ immutable: false
+ type: list
+ 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.
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on management interfaces.
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ untrusted_vlan_ids:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ entry_schema:
+ type: string
+ serv3_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 3 network UUID
+ perimeta_keypair:
+ hidden: false
+ immutable: false
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints: [
+ ]
+ mgmt_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ untrusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: VNF ID of this deployment
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ serv3_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of A instances.
+ entry_schema:
+ type: string
+ unused_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network unused port network UUID
+ ha_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on HA interfaces.
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ hidden: false
+ immutable: false
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ system_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ vm_b_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ entry_schema:
+ type: string
+ serv3_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on serv3 interfaces.
+ entry_schema:
+ type: string
+ trusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ trusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 1 network UUID
+ constraints: [
+ ]
+ serv3_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of B instances.
+ entry_schema:
+ type: string
+ ha_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ entry_schema:
+ type: string
+ vm_role:
+ hidden: false
+ immutable: false
+ type: string
+ description: Role of these VMs
+ trusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Glance image for Perimeta instance
+ constraints: [
+ ]
+ mgmt_net_default_gateway:
+ hidden: false
+ immutable: false
+ type: string
+ description: IP address of management default gateway
+ untrusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Management network id
+ constraints: [
+ ]
+ perimeta_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints: [
+ ]
+ ha_network_plen:
+ hidden: false
+ immutable: false
+ type: float
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ entry_schema:
+ type: string
+ node_templates:
+ perimeta_a_unused_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_unused_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: unused_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_untrusted_0_vlan_ports:
+ type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
+ directives:
+ - substitutable
+ properties:
+ vlan_ids:
+ get_input: untrusted_vlan_ids
+ service_template_filter:
+ substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
+ count:
+ get_input: untrusted_num_vlans
+ mandatory: false
+ parent_interface: perimeta_a_untrusted_0_port
+ virtual_ipv6_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ virtual_ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ mac_address:
+ get_attribute:
+ - perimeta_a_untrusted_0_port
+ - mac_address
+ ipv6_address:
+ get_input:
+ - untrusted_a_v6_ips
+ - get_input: perimeta_instance_index
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ subinterface_instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ ip_address:
+ get_input:
+ - untrusted_a_ips
+ - get_input: perimeta_instance_index
+ vlan_networks:
+ get_input: untrusted_vlan_networks
+ requirements:
+ - binding_contrail_vmi_subinterface:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_untrusted_0_port
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_serv3_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: serv3_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - serv3_a_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - serv3_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_serv3_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: serv3_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_server_0:
+ type: org.openecomp.resource.vfc.nodes.heat.vm_a
+ properties:
+ flavor:
+ get_input: perimeta_flavor_name
+ key_name:
+ get_input: perimeta_keypair
+ availability_zone:
+ get_input: availability_zone_0
+ image:
+ get_input: perimeta_image_name
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ str_replace:
+ template: $ROLE_a
+ params:
+ $ROLE:
+ get_input: vm_role
+ vnf_id:
+ get_input: vnf_id
+ config_drive: true
+ personality:
+ /opt/MetaSwitch/init/custom.ini:
+ get_artifact:
+ - SELF
+ - custom
+ user_data_format: RAW
+ name:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ scheduler_hints:
+ group:
+ get_input: perimeta_param_server_group
+ artifacts:
+ custom:
+ type: tosca.artifacts.Deployment
+ file: ../Artifacts/custom.ini
+ perimeta_a_mgmt_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: mgmt_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - mgmt_a_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - mgmt_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: mgmt_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_ha_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: ha_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - ha_a_ips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: ha_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_trusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: trusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - trusted_a_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - trusted_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: trusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_a_untrusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: untrusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - untrusted_a_ips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_a_v6_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_a_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: untrusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_a_server_0
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ perimeta_ha_swmu_a_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/perimeta_ha_swmu_a.yaml
+ description: |
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+ members:
+ - perimeta_a_unused_0_port
+ - perimeta_a_untrusted_0_vlan_ports
+ - perimeta_a_serv3_0_port
+ - perimeta_a_server_0
+ - perimeta_a_mgmt_0_port
+ - perimeta_a_ha_0_port
+ - perimeta_a_trusted_0_port
+ - perimeta_a_untrusted_0_port
+ outputs:
+ server_group_used:
+ description: Server group used for these VMs
+ value:
+ get_input: perimeta_param_server_group
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.perimeta_ha_swmu_a
+ capabilities:
+ scalable_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - scalable
+ attachment_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - attachment
+ binding_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - binding
+ host_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - host
+ attachment_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - attachment
+ attachment_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - attachment
+ attachment_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - attachment
+ binding_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - binding
+ binding_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - binding
+ binding_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - binding
+ endpoint_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - endpoint
+ binding_perimeta_a_unused_0_port:
+ - perimeta_a_unused_0_port
+ - binding
+ attachment_perimeta_a_serv3_0_port:
+ - perimeta_a_serv3_0_port
+ - attachment
+ attachment_perimeta_a_unused_0_port:
+ - perimeta_a_unused_0_port
+ - attachment
+ binding_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - binding
+ os_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - os
+ binding_perimeta_a_serv3_0_port:
+ - perimeta_a_serv3_0_port
+ - binding
+ requirements:
+ link_perimeta_a_trusted_0_port:
+ - perimeta_a_trusted_0_port
+ - link
+ link_perimeta_a_unused_0_port:
+ - perimeta_a_unused_0_port
+ - link
+ link_perimeta_a_mgmt_0_port:
+ - perimeta_a_mgmt_0_port
+ - link
+ link_contrail_vmi_subinterface_perimeta_a_untrusted_0_vlan_ports:
+ - perimeta_a_untrusted_0_vlan_ports
+ - link_contrail_vmi_subinterface
+ link_perimeta_a_untrusted_0_port:
+ - perimeta_a_untrusted_0_port
+ - link
+ link_perimeta_a_serv3_0_port:
+ - perimeta_a_serv3_0_port
+ - link
+ link_perimeta_a_ha_0_port:
+ - perimeta_a_ha_0_port
+ - link
+ local_storage_perimeta_a_server_0:
+ - perimeta_a_server_0
+ - local_storage \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmu_bServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmu_bServiceTemplate.yaml
new file mode 100644
index 0000000000..980339af58
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/perimeta_ha_swmu_bServiceTemplate.yaml
@@ -0,0 +1,710 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: perimeta_ha_swmu_b
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.vm_b:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ untrusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 2 network UUID
+ constraints: [
+ ]
+ mgmt_net_plen:
+ hidden: false
+ immutable: false
+ type: string
+ description: Prefix length of management network
+ perimeta_config:
+ hidden: false
+ immutable: false
+ type: string
+ description: Orchestration template configuration for instance.
+ vm_a_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ serv3_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 3 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ untrusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ ha_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: HA network id
+ constraints: [
+ ]
+ perimeta_param_server_group:
+ hidden: false
+ immutable: false
+ type: string
+ description: Server group to use for these VMs - ignored
+ untrusted_vlan_networks:
+ hidden: false
+ immutable: false
+ type: list
+ 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.
+ entry_schema:
+ type: string
+ mgmt_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on management interfaces.
+ entry_schema:
+ type: string
+ perimeta_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ untrusted_vlan_ids:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of VLAN IDs to use on the untrusted/access network
+ entry_schema:
+ type: string
+ serv3_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 3 network UUID
+ perimeta_keypair:
+ hidden: false
+ immutable: false
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints: [
+ ]
+ mgmt_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of management virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ untrusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: VNF ID of this deployment
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ serv3_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of A instances.
+ entry_schema:
+ type: string
+ unused_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network unused port network UUID
+ ha_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_v6_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ ha_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on HA interfaces.
+ entry_schema:
+ type: string
+ trusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_num_vlans:
+ hidden: false
+ immutable: false
+ type: float
+ description: Number of VLANs to connect to on the untrusted/access network
+ system_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ vm_b_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ entry_schema:
+ type: string
+ trusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on trusted interfaces.
+ entry_schema:
+ type: string
+ serv3_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on serv3 interfaces.
+ entry_schema:
+ type: string
+ trusted_vips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of service network 1 virtual IP addresses for all instances.
+ entry_schema:
+ type: string
+ trusted_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Service network 1 network UUID
+ constraints: [
+ ]
+ serv3_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of B instances.
+ entry_schema:
+ type: string
+ ha_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ entry_schema:
+ type: string
+ untrusted_a_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_b_v6_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ entry_schema:
+ type: string
+ mgmt_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ entry_schema:
+ type: string
+ vm_role:
+ hidden: false
+ immutable: false
+ type: string
+ description: Role of these VMs
+ trusted_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ entry_schema:
+ type: string
+ perimeta_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Glance image for Perimeta instance
+ constraints: [
+ ]
+ mgmt_net_default_gateway:
+ hidden: false
+ immutable: false
+ type: string
+ description: IP address of management default gateway
+ untrusted_a_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ entry_schema:
+ type: string
+ untrusted_sec_groups:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of security groups to add on untrusted interfaces.
+ entry_schema:
+ type: string
+ mgmt_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Management network id
+ constraints: [
+ ]
+ perimeta_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints: [
+ ]
+ ha_network_plen:
+ hidden: false
+ immutable: false
+ type: float
+ constraints:
+ - in_range:
+ - 0
+ - 32
+ mgmt_b_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ entry_schema:
+ type: string
+ node_templates:
+ perimeta_b_ha_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: ha_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - ha_b_ips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: ha_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_serv3_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: serv3_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - serv3_b_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - serv3_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_serv3_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: serv3_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_trusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: trusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - trusted_b_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - trusted_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: trusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_untrusted_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: untrusted_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - untrusted_b_ips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_b_v6_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ - ip_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: untrusted_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_untrusted_0_vlan_ports:
+ type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
+ directives:
+ - substitutable
+ properties:
+ vlan_ids:
+ get_input: untrusted_vlan_ids
+ service_template_filter:
+ substitute_service_template: vlan_subinterface_dualServiceTemplate.yaml
+ count:
+ get_input: untrusted_num_vlans
+ mandatory: false
+ parent_interface: perimeta_b_untrusted_0_port
+ virtual_ipv6_address:
+ get_input:
+ - untrusted_v6_vips
+ - get_input: perimeta_instance_index
+ virtual_ip_address:
+ get_input:
+ - untrusted_vips
+ - get_input: perimeta_instance_index
+ mac_address:
+ get_attribute:
+ - perimeta_b_untrusted_0_port
+ - mac_address
+ ipv6_address:
+ get_input:
+ - untrusted_b_v6_ips
+ - get_input: perimeta_instance_index
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ subinterface_instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ ip_address:
+ get_input:
+ - untrusted_b_ips
+ - get_input: perimeta_instance_index
+ vlan_networks:
+ get_input: untrusted_vlan_networks
+ requirements:
+ - binding_contrail_vmi_subinterface:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_untrusted_0_port
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_unused_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_unused_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: unused_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_mgmt_0_port:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ security_groups:
+ get_input: mgmt_sec_groups
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - mgmt_b_ips
+ - get_input: perimeta_instance_index
+ allowed_address_pairs:
+ - ip_address:
+ get_input:
+ - mgmt_vips
+ - get_input: perimeta_instance_index
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ network:
+ get_input: mgmt_net_id
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: perimeta_b_server_0
+ relationship: tosca.relationships.network.BindsTo
+ perimeta_b_server_0:
+ type: org.openecomp.resource.vfc.nodes.heat.vm_b
+ properties:
+ flavor:
+ get_input: perimeta_flavor_name
+ key_name:
+ get_input: perimeta_keypair
+ availability_zone:
+ get_input: availability_zone_1
+ image:
+ get_input: perimeta_image_name
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ str_replace:
+ template: $ROLE_b
+ params:
+ $ROLE:
+ get_input: vm_role
+ vnf_id:
+ get_input: vnf_id
+ config_drive: true
+ user_data_format: RAW
+ name:
+ get_input:
+ - vm_b_names
+ - get_input: perimeta_instance_index
+ scheduler_hints:
+ group:
+ get_input: perimeta_param_server_group
+ groups:
+ perimeta_ha_swmu_b_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/perimeta_ha_swmu_b.yaml
+ description: |
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+ members:
+ - perimeta_b_ha_0_port
+ - perimeta_b_serv3_0_port
+ - perimeta_b_trusted_0_port
+ - perimeta_b_untrusted_0_port
+ - perimeta_b_untrusted_0_vlan_ports
+ - perimeta_b_unused_0_port
+ - perimeta_b_mgmt_0_port
+ - perimeta_b_server_0
+ outputs:
+ server_group_used:
+ description: Server group used for these VMs
+ value:
+ get_input: perimeta_param_server_group
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.perimeta_ha_swmu_b
+ capabilities:
+ binding_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - binding
+ binding_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - binding
+ binding_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - binding
+ os_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - os
+ binding_perimeta_b_unused_0_port:
+ - perimeta_b_unused_0_port
+ - binding
+ binding_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - binding
+ attachment_perimeta_b_unused_0_port:
+ - perimeta_b_unused_0_port
+ - attachment
+ binding_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - binding
+ attachment_perimeta_b_serv3_0_port:
+ - perimeta_b_serv3_0_port
+ - attachment
+ scalable_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - scalable
+ attachment_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - attachment
+ attachment_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - attachment
+ endpoint_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - endpoint
+ binding_perimeta_b_serv3_0_port:
+ - perimeta_b_serv3_0_port
+ - binding
+ attachment_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - attachment
+ host_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - host
+ attachment_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - attachment
+ requirements:
+ link_perimeta_b_untrusted_0_port:
+ - perimeta_b_untrusted_0_port
+ - link
+ link_perimeta_b_serv3_0_port:
+ - perimeta_b_serv3_0_port
+ - link
+ link_perimeta_b_ha_0_port:
+ - perimeta_b_ha_0_port
+ - link
+ link_contrail_vmi_subinterface_perimeta_b_untrusted_0_vlan_ports:
+ - perimeta_b_untrusted_0_vlan_ports
+ - link_contrail_vmi_subinterface
+ local_storage_perimeta_b_server_0:
+ - perimeta_b_server_0
+ - local_storage
+ link_perimeta_b_unused_0_port:
+ - perimeta_b_unused_0_port
+ - link
+ link_perimeta_b_mgmt_0_port:
+ - perimeta_b_mgmt_0_port
+ - link
+ link_perimeta_b_trusted_0_port:
+ - perimeta_b_trusted_0_port
+ - link \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/vlan_subinterface_dualServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/vlan_subinterface_dualServiceTemplate.yaml
new file mode 100644
index 0000000000..344092835c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/vlan_subinterface_dualServiceTemplate.yaml
@@ -0,0 +1,156 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: vlan_subinterface_dual
+imports:
+- CommonGlobalTypes:
+ file: CommonGlobalTypesServiceTemplate.yaml
+- NovaServerGlobalTypes:
+ file: NovaServerGlobalTypesServiceTemplate.yaml
+- NeutronPortGlobalTypes:
+ file: NeutronPortGlobalTypesServiceTemplate.yaml
+- NeutronSecurityRulesGlobalTypes:
+ file: NeutronSecurityRulesGlobalTypesServiceTemplate.yaml
+- NeutronNetGlobalTypes:
+ file: NeutronNetGlobalTypesServiceTemplate.yaml
+- CinderVolumeGlobalTypes:
+ file: CinderVolumeGlobalTypesServiceTemplate.yaml
+- ContrailVirtualNetworkGlobalType:
+ file: ContrailVirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailNetworkRuleGlobalType:
+ file: ContrailNetworkRuleGlobalTypeServiceTemplate.yaml
+- AbstractSubstituteGlobalTypes:
+ file: AbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualMachineInterfaceGlobalType:
+ file: ContrailV2VirtualMachineInterfaceGlobalTypeServiceTemplate.yaml
+- ContrailComputeGlobalTypes:
+ file: ContrailComputeGlobalTypesServiceTemplate.yaml
+- ContrailPortGlobalTypes:
+ file: ContrailPortGlobalTypesServiceTemplate.yaml
+- ContrailAbstractSubstituteGlobalTypes:
+ file: ContrailAbstractSubstituteGlobalTypesServiceTemplate.yaml
+- ContrailV2VirtualNetworkGlobalType:
+ file: ContrailV2VirtualNetworkGlobalTypeServiceTemplate.yaml
+- ContrailV2NetworkRuleGlobalType:
+ file: ContrailV2NetworkRuleGlobalTypeServiceTemplate.yaml
+- ContrailV2VLANSubInterfaceGlobalType:
+ file: ContrailV2VLANSubInterfaceGlobalTypeServiceTemplate.yaml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ vlan_ids:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of VLAN IDs to use for subinterfaces
+ entry_schema:
+ type: string
+ parent_interface:
+ hidden: false
+ immutable: false
+ type: string
+ description: Parent Contrail interface
+ virtual_ipv6_address:
+ hidden: false
+ immutable: false
+ type: string
+ description: virtual IPv6 address associated with subinterfaces
+ virtual_ip_address:
+ hidden: false
+ immutable: false
+ type: string
+ description: virtual IPv4 address associated with subinterfaces
+ mac_address:
+ hidden: false
+ immutable: false
+ type: string
+ description: MAC address to use for subinterface
+ ipv6_address:
+ hidden: false
+ immutable: false
+ type: string
+ description: IPv6 address associated with subinterfaces
+ subinterface_name_prefix:
+ hidden: false
+ immutable: false
+ type: string
+ description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+ subinterface_instance_index:
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ ip_address:
+ hidden: false
+ immutable: false
+ type: string
+ description: IPv4 address associated with subinterfaces
+ vlan_networks:
+ hidden: false
+ immutable: false
+ type: list
+ description: List of Contrail VLAN networks to use for the subinterfaces. The order and number of these must match the VLAN ID list
+ entry_schema:
+ type: string
+ node_templates:
+ contrail_vmi_subinterface:
+ type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ properties:
+ virtual_machine_interface_refs:
+ - get_input: parent_interface
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME:
+ get_input: subinterface_name_prefix
+ $VLAN:
+ get_input:
+ - vlan_ids
+ - get_input: subinterface_instance_index
+ virtual_network_refs:
+ - get_input:
+ - vlan_networks
+ - get_input: subinterface_instance_index
+ virtual_machine_interface_properties:
+ sub_interface_vlan_tag:
+ get_input:
+ - vlan_ids
+ - get_input: subinterface_instance_index
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ mac_address:
+ - get_input: mac_address
+ groups:
+ vlan_subinterface_dual_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/vlan_subinterface_dual.yaml
+ description: |
+ HOT template to instantiate a single Contrail VLAN sub-interface with associated instance IP addresses and allowed address pairs
+ members:
+ - contrail_vmi_subinterface
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual
+ requirements:
+ binding_contrail_vmi_subinterface:
+ - contrail_vmi_subinterface
+ - binding
+ link_contrail_vmi_subinterface:
+ - contrail_vmi_subinterface
+ - link \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/MANIFEST.json
new file mode 100644
index 0000000000..f98a0c35f5
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/MANIFEST.json
@@ -0,0 +1,94 @@
+{
+ "name": "vTSBC",
+ "description": "",
+ "data": [
+ {
+ "file": "module_2_perimeta_rtp_msc_b_healing.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "module_1_perimeta_ssc_a_healing.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "module_1_perimeta_ssc_rebuild.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "perimeta_ha_swmu.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "perimeta_ha_sw_b.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "module_2_perimeta_rtp_msc_a_healing.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "perimeta_ha_sw.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "vlan_subinterface_dual.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "module_2_perimeta_rtp_msc_rebuild_scaling.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "perimeta_ha_swmu_b.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "module_1_perimeta_ssc_b_healing.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "perimeta_ha_swmu_a.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "base_perimeta_deployment_create.yaml",
+ "type": "HEAT",
+ "isBase": "true",
+ "data": [
+ {
+ "file": "base_perimeta_deployment_create.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ },
+ {
+ "file": "perimeta_ha_sw_a.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "ssc_a_template.json",
+ "type": "OTHER"
+ },
+ {
+ "file": "msc_a_template.json",
+ "type": "OTHER"
+ },
+ {
+ "file": "custom.ini",
+ "type": "OTHER"
+ }
+ ]
+} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/base_perimeta_deployment_create.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/base_perimeta_deployment_create.yaml
new file mode 100644
index 0000000000..ce3b53340f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/base_perimeta_deployment_create.yaml
@@ -0,0 +1,442 @@
+# Heat template which intstantiates a Perimeta SSC and up to 10 Perimeta
+# RTP MSCs and up to 10 Perimeta MSRP MSCs. Currently all instances are
+# HA although standalone MSCs may be supported in future.
+#
+# This Heat template commissions, partners and configures the Perimeta SSC and
+# MSCs with basic configuration defined by ssc_a_template.json,
+# msc_a_template.json and mmc_a_template.json. These can be modified
+# as required to obtain the required Perimeta configuration.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# This template sets up anti-affinity using server group anti-affinity and
+# optionally availability zone anti-affinity.
+#
+# This template will work with any version of Perimeta software from 3.9.20.
+#
+# Pre-requisites are:
+# - existing networks as follows
+# - network for management traffic
+# - network for HA traffic
+# - network for core/trusted service traffic
+# - network for access/untrusted service traffic
+# - pre-loaded Perimeta image
+# - suitable flavor to use for Perimeta SSC
+# - suitable flavor to use for Perimeta RTP MSCs
+# - suitable flavor to use for Perimeta MSRP MSCs
+# - suitable keypair to use for Perimeta
+#
+# Virtual IP address and fixed IP addresses to use for the Perimeta instances
+# must be provided as parameters.
+#
+# Template requires Juno or above and has been tested on Kilo. Note that in
+# some deployments, Heat template validation will fail but actually creating
+# a stack using the template will succeed. This is due to problems with
+# Heat validating nested templates.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+
+parameters:
+ # General VNF parameters
+ vnf_id:
+ type: string
+ description: ID of VNF
+
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances.
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing these Perimeta instances
+ constraints:
+ - custom_constraint: nova.keypair
+ ntp_server_ip_addrs:
+ type: string
+ description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network
+ constraints:
+ - allowed_pattern: "((?:\\d{1,3}\\.){3}\\d{1,3},)*((?:\\d{1,3}\\.){3}\\d{1,3})"
+ description: ntp_server_ip_addrs must be a comma separated list of IPv4 addresses (with no spaces)
+ perimeta_param_server_group:
+ type: string
+ description: UUID of server group to set anti-affinity policy for Perimeta instance. Only used when doing healing.
+
+ # Management network parameters
+ mgmt_net_id:
+ type: string
+ description: Management network ID
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: number
+ description: Management network prefix length
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: mgmt_net_plen must be between 0 and 32
+ mgmt_net_default_gateway:
+ type: string
+ description: Default gateway for management network
+ mgmt_net_sec_groups:
+ type: comma_delimited_list
+ description: Management network security groups
+
+ # Internal high availability network parameters
+ int_ha_net_id:
+ type: string
+ description: Internal HA network ID
+ constraints:
+ - custom_constraint: neutron.network
+ int_ha_net_plen:
+ type: number
+ description: Intermal HA network prefix length.
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: int_ha_net_plen must be between 0 and 32
+ int_ha_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with internal HA network
+
+ # Trusted/core network parameters
+ trusted_net_id:
+ type: string
+ description: Network ID of trusted/core network.
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with trusted/core network
+
+ # Untrusted/access network parameters
+ untrusted_net_id:
+ type: string
+ description: Network ID of untrusted/access network.
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with untrusted/access network
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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
+
+ # Unused network parameters
+ #
+ # This is used for connecting the unused 4th SSC service interface.
+ unused_port_net_id:
+ type: string
+ description: Unused network ID
+ constraints:
+ - custom_constraint: neutron.network
+
+ # SSC parameters
+ ssc_flavor_name:
+ type: string
+ description: Flavor to use for creating SSC VM instance
+ constraints:
+ - custom_constraint: nova.flavor
+ ssc_image_name:
+ type: string
+ description: Glance image to use for launching SSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ ssc_a_name_0:
+ type: string
+ description: Name of VM A of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM A name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_b_name_0:
+ type: string
+ description: Name of VM B of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM B name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_system_name_0:
+ type: string
+ description: System name of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: System name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+
+ # SSC IP addresses on management network
+ ssc_mgmt_vip_0:
+ type: string
+ description: Management virtual IP address to use for SSC. Only required when predefining VIPs.
+ ssc_a_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on internal HA network
+ ssc_a_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on trusted/core network
+ ssc_trusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on trusted/core network for SSC.
+ ssc_a_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on untrusted/access network
+ ssc_untrusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_untrusted_v6_vip_0:
+ type: string
+ description: Virtual IPv6 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_a_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_a_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+ ssc_b_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on management/Rf network
+ ssc_rf_vip_0:
+ type: string
+ description: Virtual IPv4 address on management/Rf network for SSC. Only required when predefining virtual IPs.
+ ssc_a_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC B. Only required when predefining fixed IPs.
+
+ # RTP MSC parameters
+ rtp_msc_count:
+ type: number
+ description: Count of required RTP MSCs
+ rtp_msc_flavor_name:
+ type: string
+ description: Flavor to use for creating RTP MSC VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ rtp_msc_image_name:
+ type: string
+ description: Glance image to use for launching RTP MSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ rtp_msc_a_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM A instances
+ rtp_msc_b_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM B instances
+ rtp_msc_system_names:
+ type: comma_delimited_list
+ description: List of system names of RTP MSC instances
+
+ # RTP MSC IP addresses on management network
+ rtp_msc_mgmt_vips:
+ type: comma_delimited_list
+ description: Management virtual IP addresses to use for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on internal HA network
+ rtp_msc_a_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on trusted/core network
+ rtp_msc_trusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 addresses on trusted/core network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 addresses on trusted/core network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on trusted/core network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on untrusted/access network
+ rtp_msc_untrusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_untrusted_v6_vips:
+ type: comma_delimited_list
+ description: Virtual IPv6 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+resources:
+
+ # Perimeta SSC
+ perimeta_ssc:
+ type: perimeta_ha_swmu.yaml
+ properties:
+ vnf_id: { get_param: vnf_id }
+ vm_role: 'ssc'
+ vf_module_id: { get_param: vf_module_id }
+ system_names: [{ get_param: ssc_system_name_0 }]
+ vm_a_names: [{ get_param: ssc_a_name_0 }]
+ vm_b_names: [{ get_param: ssc_b_name_0 }]
+ perimeta_instance_index: 0
+ perimeta_image_name: { get_param: ssc_image_name }
+ perimeta_flavor_name: { get_param: ssc_flavor_name }
+ perimeta_keypair: { get_param: perimeta_keypair }
+ availability_zone_0: { get_param: availability_zone_0 }
+ availability_zone_1: { get_param: availability_zone_1 }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ mgmt_net_plen: { get_param: mgmt_net_plen }
+ mgmt_net_default_gateway: { get_param: mgmt_net_default_gateway }
+ mgmt_vips: [{ get_param: ssc_mgmt_vip_0 }]
+ mgmt_a_ips: [{ get_param: ssc_a_mgmt_ip_0 }]
+ mgmt_b_ips: [{ get_param: ssc_b_mgmt_ip_0 }]
+ mgmt_sec_groups: { get_param: mgmt_net_sec_groups }
+ ha_net_id: { get_param: int_ha_net_id }
+ ha_network_plen: { get_param: int_ha_net_plen }
+ ha_a_ips: [{ get_param: ssc_a_int_ha_ip_0 }]
+ ha_b_ips: [{ get_param: ssc_b_int_ha_ip_0 }]
+ ha_sec_groups: { get_param: int_ha_net_sec_groups }
+ trusted_net_id: { get_param: trusted_net_id }
+ trusted_vips: [{ get_param: ssc_trusted_vip_0 }]
+ trusted_a_ips: [{ get_param: ssc_a_trusted_ip_0 }]
+ trusted_b_ips: [{ get_param: ssc_b_trusted_ip_0 }]
+ trusted_sec_groups: { get_param: trusted_net_sec_groups }
+ untrusted_net_id: { get_param: untrusted_net_id }
+ untrusted_vips: [{ get_param: ssc_untrusted_vip_0 }]
+ untrusted_v6_vips: [{ get_param: ssc_untrusted_v6_vip_0 }]
+ untrusted_a_ips: [{ get_param: ssc_a_untrusted_ip_0 }]
+ untrusted_a_v6_ips: [{ get_param: ssc_a_untrusted_v6_ip_0 }]
+ untrusted_b_ips: [{ get_param: ssc_b_untrusted_ip_0 }]
+ untrusted_b_v6_ips: [{ get_param: ssc_b_untrusted_v6_ip_0 }]
+ untrusted_sec_groups: { get_param: untrusted_net_sec_groups }
+ untrusted_num_vlans: { get_param: untrusted_num_vlans }
+ untrusted_vlan_ids: { get_param: untrusted_vlan_ids }
+ untrusted_vlan_networks: { get_param: untrusted_vlan_networks }
+ serv3_net_id: { get_param: mgmt_net_id }
+ serv3_vips: [{ get_param: ssc_rf_vip_0 }]
+ serv3_a_ips: [{ get_param: ssc_a_rf_ip_0 }]
+ serv3_b_ips: [{ get_param: ssc_b_rf_ip_0 }]
+ serv3_sec_groups: { get_param: mgmt_net_sec_groups }
+ unused_net_id: { get_param: unused_port_net_id }
+ perimeta_param_server_group: { get_param: perimeta_param_server_group }
+ perimeta_config:
+ str_replace:
+ template: {get_file: ssc_a_template.json}
+ params:
+ $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs }
+ $COMPLETION_PARAMS: ''
+
+ # Perimeta RTP MSCs.
+ perimeta_rtp_mscs:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: { get_param: rtp_msc_count }
+ resource_def:
+ type: perimeta_ha_sw.yaml
+ properties:
+ vnf_id: { get_param: vnf_id }
+ vm_role: 'rtp_msc'
+ vf_module_id: { get_param: vf_module_id }
+ system_names: { get_param: rtp_msc_system_names }
+ vm_a_names: { get_param: rtp_msc_a_names }
+ vm_b_names: { get_param: rtp_msc_b_names }
+ perimeta_instance_index: "%index%"
+ perimeta_image_name: { get_param: rtp_msc_image_name }
+ perimeta_flavor_name: { get_param: rtp_msc_flavor_name }
+ perimeta_keypair: { get_param: perimeta_keypair }
+ availability_zone_0: { get_param: availability_zone_0 }
+ availability_zone_1: { get_param: availability_zone_1 }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ mgmt_net_plen: { get_param: mgmt_net_plen }
+ mgmt_net_default_gateway: { get_param: mgmt_net_default_gateway }
+ mgmt_vips: { get_param: rtp_msc_mgmt_vips }
+ mgmt_a_ips: { get_param: rtp_msc_a_mgmt_ips }
+ mgmt_b_ips: { get_param: rtp_msc_b_mgmt_ips }
+ mgmt_sec_groups: { get_param: mgmt_net_sec_groups }
+ ha_net_id: { get_param: int_ha_net_id }
+ ha_network_plen: { get_param: int_ha_net_plen }
+ ha_a_ips: { get_param: rtp_msc_a_int_ha_ips }
+ ha_b_ips: { get_param: rtp_msc_b_int_ha_ips }
+ ha_sec_groups: { get_param: int_ha_net_sec_groups }
+ trusted_net_id: { get_param: trusted_net_id }
+ trusted_vips: { get_param: rtp_msc_trusted_vips }
+ trusted_a_ips: { get_param: rtp_msc_a_trusted_ips }
+ trusted_b_ips: { get_param: rtp_msc_b_trusted_ips }
+ trusted_sec_groups: { get_param: trusted_net_sec_groups }
+ untrusted_net_id: { get_param: untrusted_net_id }
+ untrusted_vips: { get_param: rtp_msc_untrusted_vips }
+ untrusted_v6_vips: { get_param: rtp_msc_untrusted_v6_vips }
+ untrusted_a_ips: { get_param: rtp_msc_a_untrusted_ips }
+ untrusted_a_v6_ips: { get_param: rtp_msc_a_untrusted_v6_ips }
+ untrusted_b_ips: { get_param: rtp_msc_b_untrusted_ips }
+ untrusted_b_v6_ips: { get_param: rtp_msc_b_untrusted_v6_ips }
+ untrusted_sec_groups: { get_param: untrusted_net_sec_groups }
+ untrusted_num_vlans: { get_param: untrusted_num_vlans }
+ untrusted_vlan_ids: { get_param: untrusted_vlan_ids }
+ untrusted_vlan_networks: { get_param: untrusted_vlan_networks }
+ perimeta_param_server_group: { get_param: perimeta_param_server_group }
+ perimeta_config:
+ str_replace:
+ template: {get_file: msc_a_template.json}
+ params:
+ $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs }
+ $COMPLETION_PARAMS: ''
+
+
+outputs:
+
+ ssc_server_group:
+ description: Server group for SSC pair
+ value: { get_attr: [ perimeta_ssc, server_group_used ] }
+
+ rtp_msc_server_groups:
+ description: Server groups for RTP MSC pairs
+ value: { get_attr: [ perimeta_rtp_mscs, server_group_used ] }
+
+
+ msw_template_version:
+ description: Version of the heat templates used to instantiate the VMs
+ value: "4.0.1 - 2016-10-28"
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_a_healing.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_a_healing.yaml
new file mode 100644
index 0000000000..d00c51a73f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_a_healing.yaml
@@ -0,0 +1,384 @@
+# Heat template which intstantiates a Perimeta SSC and up to 10 Perimeta
+# RTP MSCs and up to 10 Perimeta MSRP MSCs. Currently all instances are
+# HA although standalone MSCs may be supported in future.
+#
+# This Heat template commissions, partners and configures the Perimeta SSC and
+# MSCs with basic configuration defined by ssc_a_template.json,
+# msc_a_template.json and mmc_a_template.json. These can be modified
+# as required to obtain the required Perimeta configuration.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# This template sets up anti-affinity using server group anti-affinity and
+# optionally availability zone anti-affinity.
+#
+# This template will work with any version of Perimeta software from 3.9.20.
+#
+# Pre-requisites are:
+# - existing networks as follows
+# - network for management traffic
+# - network for HA traffic
+# - network for core/trusted service traffic
+# - network for access/untrusted service traffic
+# - pre-loaded Perimeta image
+# - suitable flavor to use for Perimeta SSC
+# - suitable flavor to use for Perimeta RTP MSCs
+# - suitable flavor to use for Perimeta MSRP MSCs
+# - suitable keypair to use for Perimeta
+#
+# Virtual IP address and fixed IP addresses to use for the Perimeta instances
+# must be provided as parameters.
+#
+# Template requires Juno or above and has been tested on Kilo. Note that in
+# some deployments, Heat template validation will fail but actually creating
+# a stack using the template will succeed. This is due to problems with
+# Heat validating nested templates.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+
+parameters:
+ # General VNF parameters
+ vnf_id:
+ type: string
+ description: ID of VNF
+
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances.
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing these Perimeta instances
+ constraints:
+ - custom_constraint: nova.keypair
+ ntp_server_ip_addrs:
+ type: string
+ description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network
+ constraints:
+ - allowed_pattern: "((?:\\d{1,3}\\.){3}\\d{1,3},)*((?:\\d{1,3}\\.){3}\\d{1,3})"
+ description: ntp_server_ip_addrs must be a comma separated list of IPv4 addresses (with no spaces)
+ perimeta_param_server_group:
+ type: string
+ description: UUID of server group to set anti-affinity policy for Perimeta instance. Only used when doing healing.
+
+ # Management network parameters
+ mgmt_net_id:
+ type: string
+ description: Management network ID
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: number
+ description: Management network prefix length
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: mgmt_net_plen must be between 0 and 32
+ mgmt_net_default_gateway:
+ type: string
+ description: Default gateway for management network
+ mgmt_net_sec_groups:
+ type: comma_delimited_list
+ description: Management network security groups
+
+ # Internal high availability network parameters
+ int_ha_net_id:
+ type: string
+ description: Internal HA network ID
+ constraints:
+ - custom_constraint: neutron.network
+ int_ha_net_plen:
+ type: number
+ description: Intermal HA network prefix length.
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: int_ha_net_plen must be between 0 and 32
+ int_ha_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with internal HA network
+
+ # Trusted/core network parameters
+ trusted_net_id:
+ type: string
+ description: Network ID of trusted/core network.
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with trusted/core network
+
+ # Untrusted/access network parameters
+ untrusted_net_id:
+ type: string
+ description: Network ID of untrusted/access network.
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with untrusted/access network
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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
+
+ # Unused network parameters
+ #
+ # This is used for connecting the unused 4th SSC service interface.
+ unused_port_net_id:
+ type: string
+ description: Unused network ID
+ constraints:
+ - custom_constraint: neutron.network
+
+ # SSC parameters
+ ssc_flavor_name:
+ type: string
+ description: Flavor to use for creating SSC VM instance
+ constraints:
+ - custom_constraint: nova.flavor
+ ssc_image_name:
+ type: string
+ description: Glance image to use for launching SSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ ssc_a_name_0:
+ type: string
+ description: Name of VM A of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM A name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_b_name_0:
+ type: string
+ description: Name of VM B of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM B name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_system_name_0:
+ type: string
+ description: System name of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: System name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+
+ # SSC IP addresses on management network
+ ssc_mgmt_vip_0:
+ type: string
+ description: Management virtual IP address to use for SSC. Only required when predefining VIPs.
+ ssc_a_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on internal HA network
+ ssc_a_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on trusted/core network
+ ssc_trusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on trusted/core network for SSC.
+ ssc_a_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on untrusted/access network
+ ssc_untrusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_untrusted_v6_vip_0:
+ type: string
+ description: Virtual IPv6 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_a_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_a_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+ ssc_b_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on management/Rf network
+ ssc_rf_vip_0:
+ type: string
+ description: Virtual IPv4 address on management/Rf network for SSC. Only required when predefining virtual IPs.
+ ssc_a_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC B. Only required when predefining fixed IPs.
+
+ # RTP MSC parameters
+ rtp_msc_count:
+ type: number
+ description: Count of required RTP MSCs
+ rtp_msc_flavor_name:
+ type: string
+ description: Flavor to use for creating RTP MSC VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ rtp_msc_image_name:
+ type: string
+ description: Glance image to use for launching RTP MSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ rtp_msc_a_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM A instances
+ rtp_msc_b_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM B instances
+ rtp_msc_system_names:
+ type: comma_delimited_list
+ description: List of system names of RTP MSC instances
+
+ # RTP MSC IP addresses on management network
+ rtp_msc_mgmt_vips:
+ type: comma_delimited_list
+ description: Management virtual IP addresses to use for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on internal HA network
+ rtp_msc_a_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on trusted/core network
+ rtp_msc_trusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 addresses on trusted/core network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 addresses on trusted/core network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on trusted/core network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on untrusted/access network
+ rtp_msc_untrusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_untrusted_v6_vips:
+ type: comma_delimited_list
+ description: Virtual IPv6 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+resources:
+
+ # Perimeta SSC
+ perimeta_ssc:
+ type: perimeta_ha_swmu_a.yaml
+ properties:
+ vnf_id: { get_param: vnf_id }
+ vm_role: 'ssc'
+ vf_module_id: { get_param: vf_module_id }
+ system_names: [{ get_param: ssc_system_name_0 }]
+ vm_a_names: [{ get_param: ssc_a_name_0 }]
+ vm_b_names: [{ get_param: ssc_b_name_0 }]
+ perimeta_instance_index: 0
+ perimeta_image_name: { get_param: ssc_image_name }
+ perimeta_flavor_name: { get_param: ssc_flavor_name }
+ perimeta_keypair: { get_param: perimeta_keypair }
+ availability_zone_0: { get_param: availability_zone_0 }
+ availability_zone_1: { get_param: availability_zone_1 }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ mgmt_net_plen: { get_param: mgmt_net_plen }
+ mgmt_net_default_gateway: { get_param: mgmt_net_default_gateway }
+ mgmt_vips: [{ get_param: ssc_mgmt_vip_0 }]
+ mgmt_a_ips: [{ get_param: ssc_a_mgmt_ip_0 }]
+ mgmt_b_ips: [{ get_param: ssc_b_mgmt_ip_0 }]
+ mgmt_sec_groups: { get_param: mgmt_net_sec_groups }
+ ha_net_id: { get_param: int_ha_net_id }
+ ha_network_plen: { get_param: int_ha_net_plen }
+ ha_a_ips: [{ get_param: ssc_a_int_ha_ip_0 }]
+ ha_b_ips: [{ get_param: ssc_b_int_ha_ip_0 }]
+ ha_sec_groups: { get_param: int_ha_net_sec_groups }
+ trusted_net_id: { get_param: trusted_net_id }
+ trusted_vips: [{ get_param: ssc_trusted_vip_0 }]
+ trusted_a_ips: [{ get_param: ssc_a_trusted_ip_0 }]
+ trusted_b_ips: [{ get_param: ssc_b_trusted_ip_0 }]
+ trusted_sec_groups: { get_param: trusted_net_sec_groups }
+ untrusted_net_id: { get_param: untrusted_net_id }
+ untrusted_vips: [{ get_param: ssc_untrusted_vip_0 }]
+ untrusted_v6_vips: [{ get_param: ssc_untrusted_v6_vip_0 }]
+ untrusted_a_ips: [{ get_param: ssc_a_untrusted_ip_0 }]
+ untrusted_a_v6_ips: [{ get_param: ssc_a_untrusted_v6_ip_0 }]
+ untrusted_b_ips: [{ get_param: ssc_b_untrusted_ip_0 }]
+ untrusted_b_v6_ips: [{ get_param: ssc_b_untrusted_v6_ip_0 }]
+ untrusted_sec_groups: { get_param: untrusted_net_sec_groups }
+ untrusted_num_vlans: { get_param: untrusted_num_vlans }
+ untrusted_vlan_ids: { get_param: untrusted_vlan_ids }
+ untrusted_vlan_networks: { get_param: untrusted_vlan_networks }
+ serv3_net_id: { get_param: mgmt_net_id }
+ serv3_vips: [{ get_param: ssc_rf_vip_0 }]
+ serv3_a_ips: [{ get_param: ssc_a_rf_ip_0 }]
+ serv3_b_ips: [{ get_param: ssc_b_rf_ip_0 }]
+ serv3_sec_groups: { get_param: mgmt_net_sec_groups }
+ unused_net_id: { get_param: unused_port_net_id }
+ perimeta_param_server_group: { get_param: perimeta_param_server_group }
+ perimeta_config:
+ str_replace:
+ template: {get_file: ssc_a_template.json}
+ params:
+ $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs }
+ $COMPLETION_PARAMS: ''
+
+
+
+outputs:
+
+ ssc_server_group:
+ description: Server group for SSC pair
+ value: { get_attr: [ perimeta_ssc, server_group_used ] }
+
+
+
+ msw_template_version:
+ description: Version of the heat templates used to instantiate the VMs
+ value: "4.0.1 - 2016-10-28"
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_b_healing.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_b_healing.yaml
new file mode 100644
index 0000000000..8af8a1a7ea
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_b_healing.yaml
@@ -0,0 +1,384 @@
+# Heat template which intstantiates a Perimeta SSC and up to 10 Perimeta
+# RTP MSCs and up to 10 Perimeta MSRP MSCs. Currently all instances are
+# HA although standalone MSCs may be supported in future.
+#
+# This Heat template commissions, partners and configures the Perimeta SSC and
+# MSCs with basic configuration defined by ssc_a_template.json,
+# msc_a_template.json and mmc_a_template.json. These can be modified
+# as required to obtain the required Perimeta configuration.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# This template sets up anti-affinity using server group anti-affinity and
+# optionally availability zone anti-affinity.
+#
+# This template will work with any version of Perimeta software from 3.9.20.
+#
+# Pre-requisites are:
+# - existing networks as follows
+# - network for management traffic
+# - network for HA traffic
+# - network for core/trusted service traffic
+# - network for access/untrusted service traffic
+# - pre-loaded Perimeta image
+# - suitable flavor to use for Perimeta SSC
+# - suitable flavor to use for Perimeta RTP MSCs
+# - suitable flavor to use for Perimeta MSRP MSCs
+# - suitable keypair to use for Perimeta
+#
+# Virtual IP address and fixed IP addresses to use for the Perimeta instances
+# must be provided as parameters.
+#
+# Template requires Juno or above and has been tested on Kilo. Note that in
+# some deployments, Heat template validation will fail but actually creating
+# a stack using the template will succeed. This is due to problems with
+# Heat validating nested templates.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+
+parameters:
+ # General VNF parameters
+ vnf_id:
+ type: string
+ description: ID of VNF
+
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances.
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing these Perimeta instances
+ constraints:
+ - custom_constraint: nova.keypair
+ ntp_server_ip_addrs:
+ type: string
+ description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network
+ constraints:
+ - allowed_pattern: "((?:\\d{1,3}\\.){3}\\d{1,3},)*((?:\\d{1,3}\\.){3}\\d{1,3})"
+ description: ntp_server_ip_addrs must be a comma separated list of IPv4 addresses (with no spaces)
+ perimeta_param_server_group:
+ type: string
+ description: UUID of server group to set anti-affinity policy for Perimeta instance. Only used when doing healing.
+
+ # Management network parameters
+ mgmt_net_id:
+ type: string
+ description: Management network ID
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: number
+ description: Management network prefix length
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: mgmt_net_plen must be between 0 and 32
+ mgmt_net_default_gateway:
+ type: string
+ description: Default gateway for management network
+ mgmt_net_sec_groups:
+ type: comma_delimited_list
+ description: Management network security groups
+
+ # Internal high availability network parameters
+ int_ha_net_id:
+ type: string
+ description: Internal HA network ID
+ constraints:
+ - custom_constraint: neutron.network
+ int_ha_net_plen:
+ type: number
+ description: Intermal HA network prefix length.
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: int_ha_net_plen must be between 0 and 32
+ int_ha_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with internal HA network
+
+ # Trusted/core network parameters
+ trusted_net_id:
+ type: string
+ description: Network ID of trusted/core network.
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with trusted/core network
+
+ # Untrusted/access network parameters
+ untrusted_net_id:
+ type: string
+ description: Network ID of untrusted/access network.
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with untrusted/access network
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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
+
+ # Unused network parameters
+ #
+ # This is used for connecting the unused 4th SSC service interface.
+ unused_port_net_id:
+ type: string
+ description: Unused network ID
+ constraints:
+ - custom_constraint: neutron.network
+
+ # SSC parameters
+ ssc_flavor_name:
+ type: string
+ description: Flavor to use for creating SSC VM instance
+ constraints:
+ - custom_constraint: nova.flavor
+ ssc_image_name:
+ type: string
+ description: Glance image to use for launching SSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ ssc_a_name_0:
+ type: string
+ description: Name of VM A of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM A name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_b_name_0:
+ type: string
+ description: Name of VM B of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM B name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_system_name_0:
+ type: string
+ description: System name of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: System name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+
+ # SSC IP addresses on management network
+ ssc_mgmt_vip_0:
+ type: string
+ description: Management virtual IP address to use for SSC. Only required when predefining VIPs.
+ ssc_a_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on internal HA network
+ ssc_a_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on trusted/core network
+ ssc_trusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on trusted/core network for SSC.
+ ssc_a_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on untrusted/access network
+ ssc_untrusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_untrusted_v6_vip_0:
+ type: string
+ description: Virtual IPv6 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_a_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_a_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+ ssc_b_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on management/Rf network
+ ssc_rf_vip_0:
+ type: string
+ description: Virtual IPv4 address on management/Rf network for SSC. Only required when predefining virtual IPs.
+ ssc_a_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC B. Only required when predefining fixed IPs.
+
+ # RTP MSC parameters
+ rtp_msc_count:
+ type: number
+ description: Count of required RTP MSCs
+ rtp_msc_flavor_name:
+ type: string
+ description: Flavor to use for creating RTP MSC VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ rtp_msc_image_name:
+ type: string
+ description: Glance image to use for launching RTP MSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ rtp_msc_a_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM A instances
+ rtp_msc_b_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM B instances
+ rtp_msc_system_names:
+ type: comma_delimited_list
+ description: List of system names of RTP MSC instances
+
+ # RTP MSC IP addresses on management network
+ rtp_msc_mgmt_vips:
+ type: comma_delimited_list
+ description: Management virtual IP addresses to use for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on internal HA network
+ rtp_msc_a_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on trusted/core network
+ rtp_msc_trusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 addresses on trusted/core network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 addresses on trusted/core network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on trusted/core network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on untrusted/access network
+ rtp_msc_untrusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_untrusted_v6_vips:
+ type: comma_delimited_list
+ description: Virtual IPv6 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+resources:
+
+ # Perimeta SSC
+ perimeta_ssc:
+ type: perimeta_ha_swmu_b.yaml
+ properties:
+ vnf_id: { get_param: vnf_id }
+ vm_role: 'ssc'
+ vf_module_id: { get_param: vf_module_id }
+ system_names: [{ get_param: ssc_system_name_0 }]
+ vm_a_names: [{ get_param: ssc_a_name_0 }]
+ vm_b_names: [{ get_param: ssc_b_name_0 }]
+ perimeta_instance_index: 0
+ perimeta_image_name: { get_param: ssc_image_name }
+ perimeta_flavor_name: { get_param: ssc_flavor_name }
+ perimeta_keypair: { get_param: perimeta_keypair }
+ availability_zone_0: { get_param: availability_zone_0 }
+ availability_zone_1: { get_param: availability_zone_1 }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ mgmt_net_plen: { get_param: mgmt_net_plen }
+ mgmt_net_default_gateway: { get_param: mgmt_net_default_gateway }
+ mgmt_vips: [{ get_param: ssc_mgmt_vip_0 }]
+ mgmt_a_ips: [{ get_param: ssc_a_mgmt_ip_0 }]
+ mgmt_b_ips: [{ get_param: ssc_b_mgmt_ip_0 }]
+ mgmt_sec_groups: { get_param: mgmt_net_sec_groups }
+ ha_net_id: { get_param: int_ha_net_id }
+ ha_network_plen: { get_param: int_ha_net_plen }
+ ha_a_ips: [{ get_param: ssc_a_int_ha_ip_0 }]
+ ha_b_ips: [{ get_param: ssc_b_int_ha_ip_0 }]
+ ha_sec_groups: { get_param: int_ha_net_sec_groups }
+ trusted_net_id: { get_param: trusted_net_id }
+ trusted_vips: [{ get_param: ssc_trusted_vip_0 }]
+ trusted_a_ips: [{ get_param: ssc_a_trusted_ip_0 }]
+ trusted_b_ips: [{ get_param: ssc_b_trusted_ip_0 }]
+ trusted_sec_groups: { get_param: trusted_net_sec_groups }
+ untrusted_net_id: { get_param: untrusted_net_id }
+ untrusted_vips: [{ get_param: ssc_untrusted_vip_0 }]
+ untrusted_v6_vips: [{ get_param: ssc_untrusted_v6_vip_0 }]
+ untrusted_a_ips: [{ get_param: ssc_a_untrusted_ip_0 }]
+ untrusted_a_v6_ips: [{ get_param: ssc_a_untrusted_v6_ip_0 }]
+ untrusted_b_ips: [{ get_param: ssc_b_untrusted_ip_0 }]
+ untrusted_b_v6_ips: [{ get_param: ssc_b_untrusted_v6_ip_0 }]
+ untrusted_sec_groups: { get_param: untrusted_net_sec_groups }
+ untrusted_num_vlans: { get_param: untrusted_num_vlans }
+ untrusted_vlan_ids: { get_param: untrusted_vlan_ids }
+ untrusted_vlan_networks: { get_param: untrusted_vlan_networks }
+ serv3_net_id: { get_param: mgmt_net_id }
+ serv3_vips: [{ get_param: ssc_rf_vip_0 }]
+ serv3_a_ips: [{ get_param: ssc_a_rf_ip_0 }]
+ serv3_b_ips: [{ get_param: ssc_b_rf_ip_0 }]
+ serv3_sec_groups: { get_param: mgmt_net_sec_groups }
+ unused_net_id: { get_param: unused_port_net_id }
+ perimeta_param_server_group: { get_param: perimeta_param_server_group }
+ perimeta_config:
+ str_replace:
+ template: {get_file: ssc_a_template.json}
+ params:
+ $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs }
+ $COMPLETION_PARAMS: ''
+
+
+
+outputs:
+
+ ssc_server_group:
+ description: Server group for SSC pair
+ value: { get_attr: [ perimeta_ssc, server_group_used ] }
+
+
+
+ msw_template_version:
+ description: Version of the heat templates used to instantiate the VMs
+ value: "4.0.1 - 2016-10-28"
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_rebuild.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_rebuild.yaml
new file mode 100644
index 0000000000..0a8fc31207
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_1_perimeta_ssc_rebuild.yaml
@@ -0,0 +1,384 @@
+# Heat template which intstantiates a Perimeta SSC and up to 10 Perimeta
+# RTP MSCs and up to 10 Perimeta MSRP MSCs. Currently all instances are
+# HA although standalone MSCs may be supported in future.
+#
+# This Heat template commissions, partners and configures the Perimeta SSC and
+# MSCs with basic configuration defined by ssc_a_template.json,
+# msc_a_template.json and mmc_a_template.json. These can be modified
+# as required to obtain the required Perimeta configuration.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# This template sets up anti-affinity using server group anti-affinity and
+# optionally availability zone anti-affinity.
+#
+# This template will work with any version of Perimeta software from 3.9.20.
+#
+# Pre-requisites are:
+# - existing networks as follows
+# - network for management traffic
+# - network for HA traffic
+# - network for core/trusted service traffic
+# - network for access/untrusted service traffic
+# - pre-loaded Perimeta image
+# - suitable flavor to use for Perimeta SSC
+# - suitable flavor to use for Perimeta RTP MSCs
+# - suitable flavor to use for Perimeta MSRP MSCs
+# - suitable keypair to use for Perimeta
+#
+# Virtual IP address and fixed IP addresses to use for the Perimeta instances
+# must be provided as parameters.
+#
+# Template requires Juno or above and has been tested on Kilo. Note that in
+# some deployments, Heat template validation will fail but actually creating
+# a stack using the template will succeed. This is due to problems with
+# Heat validating nested templates.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+
+parameters:
+ # General VNF parameters
+ vnf_id:
+ type: string
+ description: ID of VNF
+
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances.
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing these Perimeta instances
+ constraints:
+ - custom_constraint: nova.keypair
+ ntp_server_ip_addrs:
+ type: string
+ description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network
+ constraints:
+ - allowed_pattern: "((?:\\d{1,3}\\.){3}\\d{1,3},)*((?:\\d{1,3}\\.){3}\\d{1,3})"
+ description: ntp_server_ip_addrs must be a comma separated list of IPv4 addresses (with no spaces)
+ perimeta_param_server_group:
+ type: string
+ description: UUID of server group to set anti-affinity policy for Perimeta instance. Only used when doing healing.
+
+ # Management network parameters
+ mgmt_net_id:
+ type: string
+ description: Management network ID
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: number
+ description: Management network prefix length
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: mgmt_net_plen must be between 0 and 32
+ mgmt_net_default_gateway:
+ type: string
+ description: Default gateway for management network
+ mgmt_net_sec_groups:
+ type: comma_delimited_list
+ description: Management network security groups
+
+ # Internal high availability network parameters
+ int_ha_net_id:
+ type: string
+ description: Internal HA network ID
+ constraints:
+ - custom_constraint: neutron.network
+ int_ha_net_plen:
+ type: number
+ description: Intermal HA network prefix length.
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: int_ha_net_plen must be between 0 and 32
+ int_ha_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with internal HA network
+
+ # Trusted/core network parameters
+ trusted_net_id:
+ type: string
+ description: Network ID of trusted/core network.
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with trusted/core network
+
+ # Untrusted/access network parameters
+ untrusted_net_id:
+ type: string
+ description: Network ID of untrusted/access network.
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with untrusted/access network
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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
+
+ # Unused network parameters
+ #
+ # This is used for connecting the unused 4th SSC service interface.
+ unused_port_net_id:
+ type: string
+ description: Unused network ID
+ constraints:
+ - custom_constraint: neutron.network
+
+ # SSC parameters
+ ssc_flavor_name:
+ type: string
+ description: Flavor to use for creating SSC VM instance
+ constraints:
+ - custom_constraint: nova.flavor
+ ssc_image_name:
+ type: string
+ description: Glance image to use for launching SSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ ssc_a_name_0:
+ type: string
+ description: Name of VM A of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM A name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_b_name_0:
+ type: string
+ description: Name of VM B of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM B name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_system_name_0:
+ type: string
+ description: System name of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: System name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+
+ # SSC IP addresses on management network
+ ssc_mgmt_vip_0:
+ type: string
+ description: Management virtual IP address to use for SSC. Only required when predefining VIPs.
+ ssc_a_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on internal HA network
+ ssc_a_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on trusted/core network
+ ssc_trusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on trusted/core network for SSC.
+ ssc_a_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on untrusted/access network
+ ssc_untrusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_untrusted_v6_vip_0:
+ type: string
+ description: Virtual IPv6 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_a_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_a_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+ ssc_b_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on management/Rf network
+ ssc_rf_vip_0:
+ type: string
+ description: Virtual IPv4 address on management/Rf network for SSC. Only required when predefining virtual IPs.
+ ssc_a_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC B. Only required when predefining fixed IPs.
+
+ # RTP MSC parameters
+ rtp_msc_count:
+ type: number
+ description: Count of required RTP MSCs
+ rtp_msc_flavor_name:
+ type: string
+ description: Flavor to use for creating RTP MSC VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ rtp_msc_image_name:
+ type: string
+ description: Glance image to use for launching RTP MSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ rtp_msc_a_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM A instances
+ rtp_msc_b_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM B instances
+ rtp_msc_system_names:
+ type: comma_delimited_list
+ description: List of system names of RTP MSC instances
+
+ # RTP MSC IP addresses on management network
+ rtp_msc_mgmt_vips:
+ type: comma_delimited_list
+ description: Management virtual IP addresses to use for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on internal HA network
+ rtp_msc_a_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on trusted/core network
+ rtp_msc_trusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 addresses on trusted/core network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 addresses on trusted/core network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on trusted/core network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on untrusted/access network
+ rtp_msc_untrusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_untrusted_v6_vips:
+ type: comma_delimited_list
+ description: Virtual IPv6 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+resources:
+
+ # Perimeta SSC
+ perimeta_ssc:
+ type: perimeta_ha_swmu.yaml
+ properties:
+ vnf_id: { get_param: vnf_id }
+ vm_role: 'ssc'
+ vf_module_id: { get_param: vf_module_id }
+ system_names: [{ get_param: ssc_system_name_0 }]
+ vm_a_names: [{ get_param: ssc_a_name_0 }]
+ vm_b_names: [{ get_param: ssc_b_name_0 }]
+ perimeta_instance_index: 0
+ perimeta_image_name: { get_param: ssc_image_name }
+ perimeta_flavor_name: { get_param: ssc_flavor_name }
+ perimeta_keypair: { get_param: perimeta_keypair }
+ availability_zone_0: { get_param: availability_zone_0 }
+ availability_zone_1: { get_param: availability_zone_1 }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ mgmt_net_plen: { get_param: mgmt_net_plen }
+ mgmt_net_default_gateway: { get_param: mgmt_net_default_gateway }
+ mgmt_vips: [{ get_param: ssc_mgmt_vip_0 }]
+ mgmt_a_ips: [{ get_param: ssc_a_mgmt_ip_0 }]
+ mgmt_b_ips: [{ get_param: ssc_b_mgmt_ip_0 }]
+ mgmt_sec_groups: { get_param: mgmt_net_sec_groups }
+ ha_net_id: { get_param: int_ha_net_id }
+ ha_network_plen: { get_param: int_ha_net_plen }
+ ha_a_ips: [{ get_param: ssc_a_int_ha_ip_0 }]
+ ha_b_ips: [{ get_param: ssc_b_int_ha_ip_0 }]
+ ha_sec_groups: { get_param: int_ha_net_sec_groups }
+ trusted_net_id: { get_param: trusted_net_id }
+ trusted_vips: [{ get_param: ssc_trusted_vip_0 }]
+ trusted_a_ips: [{ get_param: ssc_a_trusted_ip_0 }]
+ trusted_b_ips: [{ get_param: ssc_b_trusted_ip_0 }]
+ trusted_sec_groups: { get_param: trusted_net_sec_groups }
+ untrusted_net_id: { get_param: untrusted_net_id }
+ untrusted_vips: [{ get_param: ssc_untrusted_vip_0 }]
+ untrusted_v6_vips: [{ get_param: ssc_untrusted_v6_vip_0 }]
+ untrusted_a_ips: [{ get_param: ssc_a_untrusted_ip_0 }]
+ untrusted_a_v6_ips: [{ get_param: ssc_a_untrusted_v6_ip_0 }]
+ untrusted_b_ips: [{ get_param: ssc_b_untrusted_ip_0 }]
+ untrusted_b_v6_ips: [{ get_param: ssc_b_untrusted_v6_ip_0 }]
+ untrusted_sec_groups: { get_param: untrusted_net_sec_groups }
+ untrusted_num_vlans: { get_param: untrusted_num_vlans }
+ untrusted_vlan_ids: { get_param: untrusted_vlan_ids }
+ untrusted_vlan_networks: { get_param: untrusted_vlan_networks }
+ serv3_net_id: { get_param: mgmt_net_id }
+ serv3_vips: [{ get_param: ssc_rf_vip_0 }]
+ serv3_a_ips: [{ get_param: ssc_a_rf_ip_0 }]
+ serv3_b_ips: [{ get_param: ssc_b_rf_ip_0 }]
+ serv3_sec_groups: { get_param: mgmt_net_sec_groups }
+ unused_net_id: { get_param: unused_port_net_id }
+ perimeta_param_server_group: { get_param: perimeta_param_server_group }
+ perimeta_config:
+ str_replace:
+ template: {get_file: ssc_a_template.json}
+ params:
+ $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs }
+ $COMPLETION_PARAMS: ''
+
+
+
+outputs:
+
+ ssc_server_group:
+ description: Server group for SSC pair
+ value: { get_attr: [ perimeta_ssc, server_group_used ] }
+
+
+
+ msw_template_version:
+ description: Version of the heat templates used to instantiate the VMs
+ value: "4.0.1 - 2016-10-28"
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_a_healing.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_a_healing.yaml
new file mode 100644
index 0000000000..e5a1e75a94
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_a_healing.yaml
@@ -0,0 +1,381 @@
+# Heat template which intstantiates a Perimeta SSC and up to 10 Perimeta
+# RTP MSCs and up to 10 Perimeta MSRP MSCs. Currently all instances are
+# HA although standalone MSCs may be supported in future.
+#
+# This Heat template commissions, partners and configures the Perimeta SSC and
+# MSCs with basic configuration defined by ssc_a_template.json,
+# msc_a_template.json and mmc_a_template.json. These can be modified
+# as required to obtain the required Perimeta configuration.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# This template sets up anti-affinity using server group anti-affinity and
+# optionally availability zone anti-affinity.
+#
+# This template will work with any version of Perimeta software from 3.9.20.
+#
+# Pre-requisites are:
+# - existing networks as follows
+# - network for management traffic
+# - network for HA traffic
+# - network for core/trusted service traffic
+# - network for access/untrusted service traffic
+# - pre-loaded Perimeta image
+# - suitable flavor to use for Perimeta SSC
+# - suitable flavor to use for Perimeta RTP MSCs
+# - suitable flavor to use for Perimeta MSRP MSCs
+# - suitable keypair to use for Perimeta
+#
+# Virtual IP address and fixed IP addresses to use for the Perimeta instances
+# must be provided as parameters.
+#
+# Template requires Juno or above and has been tested on Kilo. Note that in
+# some deployments, Heat template validation will fail but actually creating
+# a stack using the template will succeed. This is due to problems with
+# Heat validating nested templates.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+
+parameters:
+ # General VNF parameters
+ vnf_id:
+ type: string
+ description: ID of VNF
+
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances.
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing these Perimeta instances
+ constraints:
+ - custom_constraint: nova.keypair
+ ntp_server_ip_addrs:
+ type: string
+ description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network
+ constraints:
+ - allowed_pattern: "((?:\\d{1,3}\\.){3}\\d{1,3},)*((?:\\d{1,3}\\.){3}\\d{1,3})"
+ description: ntp_server_ip_addrs must be a comma separated list of IPv4 addresses (with no spaces)
+ perimeta_param_server_group:
+ type: string
+ description: UUID of server group to set anti-affinity policy for Perimeta instance. Only used when doing healing.
+
+ # Management network parameters
+ mgmt_net_id:
+ type: string
+ description: Management network ID
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: number
+ description: Management network prefix length
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: mgmt_net_plen must be between 0 and 32
+ mgmt_net_default_gateway:
+ type: string
+ description: Default gateway for management network
+ mgmt_net_sec_groups:
+ type: comma_delimited_list
+ description: Management network security groups
+
+ # Internal high availability network parameters
+ int_ha_net_id:
+ type: string
+ description: Internal HA network ID
+ constraints:
+ - custom_constraint: neutron.network
+ int_ha_net_plen:
+ type: number
+ description: Intermal HA network prefix length.
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: int_ha_net_plen must be between 0 and 32
+ int_ha_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with internal HA network
+
+ # Trusted/core network parameters
+ trusted_net_id:
+ type: string
+ description: Network ID of trusted/core network.
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with trusted/core network
+
+ # Untrusted/access network parameters
+ untrusted_net_id:
+ type: string
+ description: Network ID of untrusted/access network.
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with untrusted/access network
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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
+
+ # Unused network parameters
+ #
+ # This is used for connecting the unused 4th SSC service interface.
+ unused_port_net_id:
+ type: string
+ description: Unused network ID
+ constraints:
+ - custom_constraint: neutron.network
+
+ # SSC parameters
+ ssc_flavor_name:
+ type: string
+ description: Flavor to use for creating SSC VM instance
+ constraints:
+ - custom_constraint: nova.flavor
+ ssc_image_name:
+ type: string
+ description: Glance image to use for launching SSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ ssc_a_name_0:
+ type: string
+ description: Name of VM A of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM A name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_b_name_0:
+ type: string
+ description: Name of VM B of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM B name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_system_name_0:
+ type: string
+ description: System name of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: System name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+
+ # SSC IP addresses on management network
+ ssc_mgmt_vip_0:
+ type: string
+ description: Management virtual IP address to use for SSC. Only required when predefining VIPs.
+ ssc_a_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on internal HA network
+ ssc_a_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on trusted/core network
+ ssc_trusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on trusted/core network for SSC.
+ ssc_a_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on untrusted/access network
+ ssc_untrusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_untrusted_v6_vip_0:
+ type: string
+ description: Virtual IPv6 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_a_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_a_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+ ssc_b_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on management/Rf network
+ ssc_rf_vip_0:
+ type: string
+ description: Virtual IPv4 address on management/Rf network for SSC. Only required when predefining virtual IPs.
+ ssc_a_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC B. Only required when predefining fixed IPs.
+
+ # RTP MSC parameters
+ rtp_msc_count:
+ type: number
+ description: Count of required RTP MSCs
+ rtp_msc_index:
+ type: number
+ description: Index of RTP MSC to create/heal.
+ rtp_msc_flavor_name:
+ type: string
+ description: Flavor to use for creating RTP MSC VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ rtp_msc_image_name:
+ type: string
+ description: Glance image to use for launching RTP MSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ rtp_msc_a_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM A instances
+ rtp_msc_b_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM B instances
+ rtp_msc_system_names:
+ type: comma_delimited_list
+ description: List of system names of RTP MSC instances
+
+ # RTP MSC IP addresses on management network
+ rtp_msc_mgmt_vips:
+ type: comma_delimited_list
+ description: Management virtual IP addresses to use for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on internal HA network
+ rtp_msc_a_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on trusted/core network
+ rtp_msc_trusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 addresses on trusted/core network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 addresses on trusted/core network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on trusted/core network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on untrusted/access network
+ rtp_msc_untrusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_untrusted_v6_vips:
+ type: comma_delimited_list
+ description: Virtual IPv6 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+resources:
+
+
+ # Perimeta RTP MSCs.
+ perimeta_rtp_mscs:
+ type: perimeta_ha_sw_a.yaml
+ properties:
+ vnf_id: { get_param: vnf_id }
+ vm_role: 'rtp_msc'
+ vf_module_id: { get_param: vf_module_id }
+ system_names: { get_param: rtp_msc_system_names }
+ vm_a_names: { get_param: rtp_msc_a_names }
+ vm_b_names: { get_param: rtp_msc_b_names }
+ perimeta_instance_index: { get_param: rtp_msc_index }
+ perimeta_image_name: { get_param: rtp_msc_image_name }
+ perimeta_flavor_name: { get_param: rtp_msc_flavor_name }
+ perimeta_keypair: { get_param: perimeta_keypair }
+ availability_zone_0: { get_param: availability_zone_0 }
+ availability_zone_1: { get_param: availability_zone_1 }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ mgmt_net_plen: { get_param: mgmt_net_plen }
+ mgmt_net_default_gateway: { get_param: mgmt_net_default_gateway }
+ mgmt_vips: { get_param: rtp_msc_mgmt_vips }
+ mgmt_a_ips: { get_param: rtp_msc_a_mgmt_ips }
+ mgmt_b_ips: { get_param: rtp_msc_b_mgmt_ips }
+ mgmt_sec_groups: { get_param: mgmt_net_sec_groups }
+ ha_net_id: { get_param: int_ha_net_id }
+ ha_network_plen: { get_param: int_ha_net_plen }
+ ha_a_ips: { get_param: rtp_msc_a_int_ha_ips }
+ ha_b_ips: { get_param: rtp_msc_b_int_ha_ips }
+ ha_sec_groups: { get_param: int_ha_net_sec_groups }
+ trusted_net_id: { get_param: trusted_net_id }
+ trusted_vips: { get_param: rtp_msc_trusted_vips }
+ trusted_a_ips: { get_param: rtp_msc_a_trusted_ips }
+ trusted_b_ips: { get_param: rtp_msc_b_trusted_ips }
+ trusted_sec_groups: { get_param: trusted_net_sec_groups }
+ untrusted_net_id: { get_param: untrusted_net_id }
+ untrusted_vips: { get_param: rtp_msc_untrusted_vips }
+ untrusted_v6_vips: { get_param: rtp_msc_untrusted_v6_vips }
+ untrusted_a_ips: { get_param: rtp_msc_a_untrusted_ips }
+ untrusted_a_v6_ips: { get_param: rtp_msc_a_untrusted_v6_ips }
+ untrusted_b_ips: { get_param: rtp_msc_b_untrusted_ips }
+ untrusted_b_v6_ips: { get_param: rtp_msc_b_untrusted_v6_ips }
+ untrusted_sec_groups: { get_param: untrusted_net_sec_groups }
+ untrusted_num_vlans: { get_param: untrusted_num_vlans }
+ untrusted_vlan_ids: { get_param: untrusted_vlan_ids }
+ untrusted_vlan_networks: { get_param: untrusted_vlan_networks }
+ perimeta_param_server_group: { get_param: perimeta_param_server_group }
+ perimeta_config:
+ str_replace:
+ template: {get_file: msc_a_template.json}
+ params:
+ $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs }
+ $COMPLETION_PARAMS: ''
+
+
+outputs:
+
+
+ rtp_msc_server_groups:
+ description: Server groups for RTP MSC pairs
+ value: { get_attr: [ perimeta_rtp_mscs, server_group_used ] }
+
+
+ msw_template_version:
+ description: Version of the heat templates used to instantiate the VMs
+ value: "4.0.1 - 2016-10-28"
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_b_healing.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_b_healing.yaml
new file mode 100644
index 0000000000..b071897d70
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_b_healing.yaml
@@ -0,0 +1,381 @@
+# Heat template which intstantiates a Perimeta SSC and up to 10 Perimeta
+# RTP MSCs and up to 10 Perimeta MSRP MSCs. Currently all instances are
+# HA although standalone MSCs may be supported in future.
+#
+# This Heat template commissions, partners and configures the Perimeta SSC and
+# MSCs with basic configuration defined by ssc_a_template.json,
+# msc_a_template.json and mmc_a_template.json. These can be modified
+# as required to obtain the required Perimeta configuration.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# This template sets up anti-affinity using server group anti-affinity and
+# optionally availability zone anti-affinity.
+#
+# This template will work with any version of Perimeta software from 3.9.20.
+#
+# Pre-requisites are:
+# - existing networks as follows
+# - network for management traffic
+# - network for HA traffic
+# - network for core/trusted service traffic
+# - network for access/untrusted service traffic
+# - pre-loaded Perimeta image
+# - suitable flavor to use for Perimeta SSC
+# - suitable flavor to use for Perimeta RTP MSCs
+# - suitable flavor to use for Perimeta MSRP MSCs
+# - suitable keypair to use for Perimeta
+#
+# Virtual IP address and fixed IP addresses to use for the Perimeta instances
+# must be provided as parameters.
+#
+# Template requires Juno or above and has been tested on Kilo. Note that in
+# some deployments, Heat template validation will fail but actually creating
+# a stack using the template will succeed. This is due to problems with
+# Heat validating nested templates.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+
+parameters:
+ # General VNF parameters
+ vnf_id:
+ type: string
+ description: ID of VNF
+
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances.
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing these Perimeta instances
+ constraints:
+ - custom_constraint: nova.keypair
+ ntp_server_ip_addrs:
+ type: string
+ description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network
+ constraints:
+ - allowed_pattern: "((?:\\d{1,3}\\.){3}\\d{1,3},)*((?:\\d{1,3}\\.){3}\\d{1,3})"
+ description: ntp_server_ip_addrs must be a comma separated list of IPv4 addresses (with no spaces)
+ perimeta_param_server_group:
+ type: string
+ description: UUID of server group to set anti-affinity policy for Perimeta instance. Only used when doing healing.
+
+ # Management network parameters
+ mgmt_net_id:
+ type: string
+ description: Management network ID
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: number
+ description: Management network prefix length
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: mgmt_net_plen must be between 0 and 32
+ mgmt_net_default_gateway:
+ type: string
+ description: Default gateway for management network
+ mgmt_net_sec_groups:
+ type: comma_delimited_list
+ description: Management network security groups
+
+ # Internal high availability network parameters
+ int_ha_net_id:
+ type: string
+ description: Internal HA network ID
+ constraints:
+ - custom_constraint: neutron.network
+ int_ha_net_plen:
+ type: number
+ description: Intermal HA network prefix length.
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: int_ha_net_plen must be between 0 and 32
+ int_ha_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with internal HA network
+
+ # Trusted/core network parameters
+ trusted_net_id:
+ type: string
+ description: Network ID of trusted/core network.
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with trusted/core network
+
+ # Untrusted/access network parameters
+ untrusted_net_id:
+ type: string
+ description: Network ID of untrusted/access network.
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with untrusted/access network
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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
+
+ # Unused network parameters
+ #
+ # This is used for connecting the unused 4th SSC service interface.
+ unused_port_net_id:
+ type: string
+ description: Unused network ID
+ constraints:
+ - custom_constraint: neutron.network
+
+ # SSC parameters
+ ssc_flavor_name:
+ type: string
+ description: Flavor to use for creating SSC VM instance
+ constraints:
+ - custom_constraint: nova.flavor
+ ssc_image_name:
+ type: string
+ description: Glance image to use for launching SSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ ssc_a_name_0:
+ type: string
+ description: Name of VM A of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM A name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_b_name_0:
+ type: string
+ description: Name of VM B of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM B name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_system_name_0:
+ type: string
+ description: System name of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: System name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+
+ # SSC IP addresses on management network
+ ssc_mgmt_vip_0:
+ type: string
+ description: Management virtual IP address to use for SSC. Only required when predefining VIPs.
+ ssc_a_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on internal HA network
+ ssc_a_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on trusted/core network
+ ssc_trusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on trusted/core network for SSC.
+ ssc_a_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on untrusted/access network
+ ssc_untrusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_untrusted_v6_vip_0:
+ type: string
+ description: Virtual IPv6 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_a_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_a_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+ ssc_b_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on management/Rf network
+ ssc_rf_vip_0:
+ type: string
+ description: Virtual IPv4 address on management/Rf network for SSC. Only required when predefining virtual IPs.
+ ssc_a_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC B. Only required when predefining fixed IPs.
+
+ # RTP MSC parameters
+ rtp_msc_count:
+ type: number
+ description: Count of required RTP MSCs
+ rtp_msc_index:
+ type: number
+ description: Index of RTP MSC to create/heal.
+ rtp_msc_flavor_name:
+ type: string
+ description: Flavor to use for creating RTP MSC VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ rtp_msc_image_name:
+ type: string
+ description: Glance image to use for launching RTP MSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ rtp_msc_a_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM A instances
+ rtp_msc_b_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM B instances
+ rtp_msc_system_names:
+ type: comma_delimited_list
+ description: List of system names of RTP MSC instances
+
+ # RTP MSC IP addresses on management network
+ rtp_msc_mgmt_vips:
+ type: comma_delimited_list
+ description: Management virtual IP addresses to use for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on internal HA network
+ rtp_msc_a_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on trusted/core network
+ rtp_msc_trusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 addresses on trusted/core network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 addresses on trusted/core network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on trusted/core network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on untrusted/access network
+ rtp_msc_untrusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_untrusted_v6_vips:
+ type: comma_delimited_list
+ description: Virtual IPv6 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+resources:
+
+
+ # Perimeta RTP MSCs.
+ perimeta_rtp_mscs:
+ type: perimeta_ha_sw_b.yaml
+ properties:
+ vnf_id: { get_param: vnf_id }
+ vm_role: 'rtp_msc'
+ vf_module_id: { get_param: vf_module_id }
+ system_names: { get_param: rtp_msc_system_names }
+ vm_a_names: { get_param: rtp_msc_a_names }
+ vm_b_names: { get_param: rtp_msc_b_names }
+ perimeta_instance_index: { get_param: rtp_msc_index }
+ perimeta_image_name: { get_param: rtp_msc_image_name }
+ perimeta_flavor_name: { get_param: rtp_msc_flavor_name }
+ perimeta_keypair: { get_param: perimeta_keypair }
+ availability_zone_0: { get_param: availability_zone_0 }
+ availability_zone_1: { get_param: availability_zone_1 }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ mgmt_net_plen: { get_param: mgmt_net_plen }
+ mgmt_net_default_gateway: { get_param: mgmt_net_default_gateway }
+ mgmt_vips: { get_param: rtp_msc_mgmt_vips }
+ mgmt_a_ips: { get_param: rtp_msc_a_mgmt_ips }
+ mgmt_b_ips: { get_param: rtp_msc_b_mgmt_ips }
+ mgmt_sec_groups: { get_param: mgmt_net_sec_groups }
+ ha_net_id: { get_param: int_ha_net_id }
+ ha_network_plen: { get_param: int_ha_net_plen }
+ ha_a_ips: { get_param: rtp_msc_a_int_ha_ips }
+ ha_b_ips: { get_param: rtp_msc_b_int_ha_ips }
+ ha_sec_groups: { get_param: int_ha_net_sec_groups }
+ trusted_net_id: { get_param: trusted_net_id }
+ trusted_vips: { get_param: rtp_msc_trusted_vips }
+ trusted_a_ips: { get_param: rtp_msc_a_trusted_ips }
+ trusted_b_ips: { get_param: rtp_msc_b_trusted_ips }
+ trusted_sec_groups: { get_param: trusted_net_sec_groups }
+ untrusted_net_id: { get_param: untrusted_net_id }
+ untrusted_vips: { get_param: rtp_msc_untrusted_vips }
+ untrusted_v6_vips: { get_param: rtp_msc_untrusted_v6_vips }
+ untrusted_a_ips: { get_param: rtp_msc_a_untrusted_ips }
+ untrusted_a_v6_ips: { get_param: rtp_msc_a_untrusted_v6_ips }
+ untrusted_b_ips: { get_param: rtp_msc_b_untrusted_ips }
+ untrusted_b_v6_ips: { get_param: rtp_msc_b_untrusted_v6_ips }
+ untrusted_sec_groups: { get_param: untrusted_net_sec_groups }
+ untrusted_num_vlans: { get_param: untrusted_num_vlans }
+ untrusted_vlan_ids: { get_param: untrusted_vlan_ids }
+ untrusted_vlan_networks: { get_param: untrusted_vlan_networks }
+ perimeta_param_server_group: { get_param: perimeta_param_server_group }
+ perimeta_config:
+ str_replace:
+ template: {get_file: msc_a_template.json}
+ params:
+ $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs }
+ $COMPLETION_PARAMS: ''
+
+
+outputs:
+
+
+ rtp_msc_server_groups:
+ description: Server groups for RTP MSC pairs
+ value: { get_attr: [ perimeta_rtp_mscs, server_group_used ] }
+
+
+ msw_template_version:
+ description: Version of the heat templates used to instantiate the VMs
+ value: "4.0.1 - 2016-10-28"
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_rebuild_scaling.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_rebuild_scaling.yaml
new file mode 100644
index 0000000000..c85009179e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/module_2_perimeta_rtp_msc_rebuild_scaling.yaml
@@ -0,0 +1,381 @@
+# Heat template which intstantiates a Perimeta SSC and up to 10 Perimeta
+# RTP MSCs and up to 10 Perimeta MSRP MSCs. Currently all instances are
+# HA although standalone MSCs may be supported in future.
+#
+# This Heat template commissions, partners and configures the Perimeta SSC and
+# MSCs with basic configuration defined by ssc_a_template.json,
+# msc_a_template.json and mmc_a_template.json. These can be modified
+# as required to obtain the required Perimeta configuration.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# This template sets up anti-affinity using server group anti-affinity and
+# optionally availability zone anti-affinity.
+#
+# This template will work with any version of Perimeta software from 3.9.20.
+#
+# Pre-requisites are:
+# - existing networks as follows
+# - network for management traffic
+# - network for HA traffic
+# - network for core/trusted service traffic
+# - network for access/untrusted service traffic
+# - pre-loaded Perimeta image
+# - suitable flavor to use for Perimeta SSC
+# - suitable flavor to use for Perimeta RTP MSCs
+# - suitable flavor to use for Perimeta MSRP MSCs
+# - suitable keypair to use for Perimeta
+#
+# Virtual IP address and fixed IP addresses to use for the Perimeta instances
+# must be provided as parameters.
+#
+# Template requires Juno or above and has been tested on Kilo. Note that in
+# some deployments, Heat template validation will fail but actually creating
+# a stack using the template will succeed. This is due to problems with
+# Heat validating nested templates.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta SSC plus MxRTP MSCs plus NxMSRP MSCs
+
+parameters:
+ # General VNF parameters
+ vnf_id:
+ type: string
+ description: ID of VNF
+
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+
+ availability_zone_0:
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ type: string
+ description: Availability zone for B instances.
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing these Perimeta instances
+ constraints:
+ - custom_constraint: nova.keypair
+ ntp_server_ip_addrs:
+ type: string
+ description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network
+ constraints:
+ - allowed_pattern: "((?:\\d{1,3}\\.){3}\\d{1,3},)*((?:\\d{1,3}\\.){3}\\d{1,3})"
+ description: ntp_server_ip_addrs must be a comma separated list of IPv4 addresses (with no spaces)
+ perimeta_param_server_group:
+ type: string
+ description: UUID of server group to set anti-affinity policy for Perimeta instance. Only used when doing healing.
+
+ # Management network parameters
+ mgmt_net_id:
+ type: string
+ description: Management network ID
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: number
+ description: Management network prefix length
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: mgmt_net_plen must be between 0 and 32
+ mgmt_net_default_gateway:
+ type: string
+ description: Default gateway for management network
+ mgmt_net_sec_groups:
+ type: comma_delimited_list
+ description: Management network security groups
+
+ # Internal high availability network parameters
+ int_ha_net_id:
+ type: string
+ description: Internal HA network ID
+ constraints:
+ - custom_constraint: neutron.network
+ int_ha_net_plen:
+ type: number
+ description: Intermal HA network prefix length.
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: int_ha_net_plen must be between 0 and 32
+ int_ha_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with internal HA network
+
+ # Trusted/core network parameters
+ trusted_net_id:
+ type: string
+ description: Network ID of trusted/core network.
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with trusted/core network
+
+ # Untrusted/access network parameters
+ untrusted_net_id:
+ type: string
+ description: Network ID of untrusted/access network.
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_net_sec_groups:
+ type: comma_delimited_list
+ description: Security groups associated with untrusted/access network
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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
+
+ # Unused network parameters
+ #
+ # This is used for connecting the unused 4th SSC service interface.
+ unused_port_net_id:
+ type: string
+ description: Unused network ID
+ constraints:
+ - custom_constraint: neutron.network
+
+ # SSC parameters
+ ssc_flavor_name:
+ type: string
+ description: Flavor to use for creating SSC VM instance
+ constraints:
+ - custom_constraint: nova.flavor
+ ssc_image_name:
+ type: string
+ description: Glance image to use for launching SSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ ssc_a_name_0:
+ type: string
+ description: Name of VM A of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM A name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_b_name_0:
+ type: string
+ description: Name of VM B of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: VM B name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+ ssc_system_name_0:
+ type: string
+ description: System name of SSC
+ constraints:
+ - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$'
+ description: System name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed.
+
+ # SSC IP addresses on management network
+ ssc_mgmt_vip_0:
+ type: string
+ description: Management virtual IP address to use for SSC. Only required when predefining VIPs.
+ ssc_a_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_mgmt_ip_0:
+ type: string
+ description: Management fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on internal HA network
+ ssc_a_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC A. Only required when predefining fixed IPs.
+ ssc_b_int_ha_ip_0:
+ type: string
+ description: HA fixed IP address to use for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on trusted/core network
+ ssc_trusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on trusted/core network for SSC.
+ ssc_a_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_trusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on trusted/core network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on untrusted/access network
+ ssc_untrusted_vip_0:
+ type: string
+ description: Virtual IPv4 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_untrusted_v6_vip_0:
+ type: string
+ description: Virtual IPv6 address on untrusted/access network for SSC. Only required when predefining virtual IPs.
+ ssc_a_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_a_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_untrusted_ip_0:
+ type: string
+ description: Fixed IPv4 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+ ssc_b_untrusted_v6_ip_0:
+ type: string
+ description: Fixed IPv6 address on untrusted/access network for SSC B. Only required when predefining fixed IPs.
+
+ # SSC IP addresses on management/Rf network
+ ssc_rf_vip_0:
+ type: string
+ description: Virtual IPv4 address on management/Rf network for SSC. Only required when predefining virtual IPs.
+ ssc_a_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC A. Only required when predefining fixed IPs.
+ ssc_b_rf_ip_0:
+ type: string
+ description: Fixed IPv4 address on management/Rf network for SSC B. Only required when predefining fixed IPs.
+
+ # RTP MSC parameters
+ rtp_msc_count:
+ type: number
+ description: Count of required RTP MSCs
+ rtp_msc_index:
+ type: number
+ description: Index of RTP MSC to create/heal.
+ rtp_msc_flavor_name:
+ type: string
+ description: Flavor to use for creating RTP MSC VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ rtp_msc_image_name:
+ type: string
+ description: Glance image to use for launching RTP MSC Perimeta instances.
+ constraints:
+ - custom_constraint: glance.image
+ rtp_msc_a_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM A instances
+ rtp_msc_b_names:
+ type: comma_delimited_list
+ description: List of names of RTP MSC VM B instances
+ rtp_msc_system_names:
+ type: comma_delimited_list
+ description: List of system names of RTP MSC instances
+
+ # RTP MSC IP addresses on management network
+ rtp_msc_mgmt_vips:
+ type: comma_delimited_list
+ description: Management virtual IP addresses to use for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_mgmt_ips:
+ type: comma_delimited_list
+ description: Management fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on internal HA network
+ rtp_msc_a_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_int_ha_ips:
+ type: comma_delimited_list
+ description: HA fixed IP addresses to use for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on trusted/core network
+ rtp_msc_trusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 addresses on trusted/core network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 addresses on trusted/core network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_trusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on trusted/core network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+ # RTP MSC IP addresses on untrusted/access network
+ rtp_msc_untrusted_vips:
+ type: comma_delimited_list
+ description: Virtual IPv4 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_untrusted_v6_vips:
+ type: comma_delimited_list
+ description: Virtual IPv6 address on untrusted/access network for RTP MSC instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_a_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC A instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_ips:
+ type: comma_delimited_list
+ description: Fixed IPv4 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+ rtp_msc_b_untrusted_v6_ips:
+ type: comma_delimited_list
+ description: Fixed IPv6 address on untrusted/access network for RTP MSC B instances. There must be at least as many as the number of RTP MSCs.
+
+resources:
+
+
+ # Perimeta RTP MSCs.
+ perimeta_rtp_mscs:
+ type: perimeta_ha_sw.yaml
+ properties:
+ vnf_id: { get_param: vnf_id }
+ vm_role: 'rtp_msc'
+ vf_module_id: { get_param: vf_module_id }
+ system_names: { get_param: rtp_msc_system_names }
+ vm_a_names: { get_param: rtp_msc_a_names }
+ vm_b_names: { get_param: rtp_msc_b_names }
+ perimeta_instance_index: { get_param: rtp_msc_index }
+ perimeta_image_name: { get_param: rtp_msc_image_name }
+ perimeta_flavor_name: { get_param: rtp_msc_flavor_name }
+ perimeta_keypair: { get_param: perimeta_keypair }
+ availability_zone_0: { get_param: availability_zone_0 }
+ availability_zone_1: { get_param: availability_zone_1 }
+ mgmt_net_id: { get_param: mgmt_net_id }
+ mgmt_net_plen: { get_param: mgmt_net_plen }
+ mgmt_net_default_gateway: { get_param: mgmt_net_default_gateway }
+ mgmt_vips: { get_param: rtp_msc_mgmt_vips }
+ mgmt_a_ips: { get_param: rtp_msc_a_mgmt_ips }
+ mgmt_b_ips: { get_param: rtp_msc_b_mgmt_ips }
+ mgmt_sec_groups: { get_param: mgmt_net_sec_groups }
+ ha_net_id: { get_param: int_ha_net_id }
+ ha_network_plen: { get_param: int_ha_net_plen }
+ ha_a_ips: { get_param: rtp_msc_a_int_ha_ips }
+ ha_b_ips: { get_param: rtp_msc_b_int_ha_ips }
+ ha_sec_groups: { get_param: int_ha_net_sec_groups }
+ trusted_net_id: { get_param: trusted_net_id }
+ trusted_vips: { get_param: rtp_msc_trusted_vips }
+ trusted_a_ips: { get_param: rtp_msc_a_trusted_ips }
+ trusted_b_ips: { get_param: rtp_msc_b_trusted_ips }
+ trusted_sec_groups: { get_param: trusted_net_sec_groups }
+ untrusted_net_id: { get_param: untrusted_net_id }
+ untrusted_vips: { get_param: rtp_msc_untrusted_vips }
+ untrusted_v6_vips: { get_param: rtp_msc_untrusted_v6_vips }
+ untrusted_a_ips: { get_param: rtp_msc_a_untrusted_ips }
+ untrusted_a_v6_ips: { get_param: rtp_msc_a_untrusted_v6_ips }
+ untrusted_b_ips: { get_param: rtp_msc_b_untrusted_ips }
+ untrusted_b_v6_ips: { get_param: rtp_msc_b_untrusted_v6_ips }
+ untrusted_sec_groups: { get_param: untrusted_net_sec_groups }
+ untrusted_num_vlans: { get_param: untrusted_num_vlans }
+ untrusted_vlan_ids: { get_param: untrusted_vlan_ids }
+ untrusted_vlan_networks: { get_param: untrusted_vlan_networks }
+ perimeta_param_server_group: { get_param: perimeta_param_server_group }
+ perimeta_config:
+ str_replace:
+ template: {get_file: msc_a_template.json}
+ params:
+ $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs }
+ $COMPLETION_PARAMS: ''
+
+
+outputs:
+
+
+ rtp_msc_server_groups:
+ description: Server groups for RTP MSC pairs
+ value: { get_attr: [ perimeta_rtp_mscs, server_group_used ] }
+
+
+ msw_template_version:
+ description: Version of the heat templates used to instantiate the VMs
+ value: "4.0.1 - 2016-10-28"
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/msc_a_template.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/msc_a_template.json
new file mode 100644
index 0000000000..4b474f07da
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/msc_a_template.json
@@ -0,0 +1,33 @@
+{
+ // The vnic_assignment parameter is ignored by Perimeta releases prior to
+ // V4.0.00.
+ "vnic_assignment": {
+ "IBG1mgmt": {"mac": "$MGMT_MACADDR"},
+ "IPG1": {"mac": "$HA_MACADDR"},
+ "RPG1": {"mac": "$TRUSTED_MACADDR"},
+ "RPG2": {"mac": "$UNTRUSTED_MACADDR"}
+ },
+ "autocommission":"MSC",
+ "autostart":"true",
+ "autopartner":"",
+ "ip_mgmt_global": "$VIRT_MGMT_IP_ADDR",
+ "ip_mgmt_local": "$LOCAL_MGMT_IP_ADDR",
+ "ip_mgmt_remote": "$REMOTE_MGMT_IP_ADDR",
+ "ip_mgmt_plen": "$MGMT_NETWORK_PLEN",
+ "ip_mgmt_gway": "$MGMT_NETWORK_DEFAULT_GATEWAY",
+ "ip_ha_local": "$LOCAL_HA_IP_ADDR",
+ "ip_ha_remote": "$REMOTE_HA_IP_ADDR",
+ "ip_ha_plen": "$HA_NETWORK_PLEN",
+ "system_name": "$SYSTEM_NAME",
+ "node_local": "$VM_NAME_A",
+ "node_remote": "$VM_NAME_B",
+ "ntp_servers": "$NTP_SERVER_IP_ADDRS",
+ "advanced_media_cpus": "2",
+ "perimeta": {
+ "dpdk_opt_enable":true,
+ "vlans_opt_enable":true
+ }
+
+ //$COMPLETION_PARAMS
+}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw.yaml
new file mode 100644
index 0000000000..5ba3e968ad
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw.yaml
@@ -0,0 +1,480 @@
+# Heat template which intstantiates a 1+1 HA Perimeta instance with 4 or 5
+# vNICs.
+#
+# This is designed to be included in a higher level template.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# Host anti-affinity is achieved using different availability zones for
+# the Perimeta instance or server group anti-affinity if they are in the
+# same availability zone.
+#
+# Template requires Juno or above and has been tested on Kilo.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+
+parameters:
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ vm_role:
+ type: string
+ description: Role of these VMs
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ system_names:
+ type: comma_delimited_list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ vm_a_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ vm_b_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ perimeta_instance_index:
+ type: number
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ constraints:
+ - custom_constraint: glance.image
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints:
+ - custom_constraint: nova.keypair
+ availability_zone_0:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ mgmt_vips:
+ type: comma_delimited_list
+ description: List of management virtual IP addresses for all instances.
+ mgmt_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ mgmt_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ mgmt_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on management interfaces.
+ ha_net_id:
+ type: string
+ description: HA network id
+ constraints:
+ - custom_constraint: neutron.network
+ ha_network_plen:
+ type: number
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: ha_network_plen must be between 0 and 32
+ ha_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ ha_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ ha_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on HA interfaces.
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_vips:
+ type: comma_delimited_list
+ description: List of service network 1 virtual IP addresses for all instances.
+ trusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ trusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ trusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on trusted interfaces.
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_vips:
+ type: comma_delimited_list
+ description: List of service network 2 virtual IP addresses for all instances.
+ untrusted_v6_vips:
+ type: comma_delimited_list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ untrusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ untrusted_a_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ untrusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ untrusted_b_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ untrusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on untrusted interfaces.
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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.
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+
+resources:
+
+ # Perimeta management ports
+ perimeta_a_mgmt_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: mgmt_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: mgmt_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ mgmt_vips, { get_param: perimeta_instance_index } ] }
+
+ perimeta_b_mgmt_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: mgmt_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: mgmt_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ mgmt_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta HA ports
+ perimeta_a_ha_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: ha_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: ha_sec_groups }
+
+ perimeta_b_ha_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: ha_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: ha_sec_groups }
+
+ # Perimeta core/trusted service network ports
+ #
+ # Dual stack core network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_a_trusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: trusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ trusted_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: trusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ trusted_vips, { get_param: perimeta_instance_index } ] }
+
+ perimeta_b_trusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: trusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ trusted_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: trusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ trusted_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta access/untrusted service network ports
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_a_untrusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: untrusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ untrusted_a_ips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_a_v6_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: untrusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+
+ # Contrail VLAN subinterfaces
+ perimeta_a_untrusted_0_vlan_ports:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: { get_param: untrusted_num_vlans }
+ resource_def:
+ type: vlan_subinterface_dual.yaml
+ properties:
+ subinterface_instance_index: "%index%"
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ parent_interface: { get_resource: perimeta_a_untrusted_0_port }
+ mac_address: { get_attr: [ perimeta_a_untrusted_0_port, mac_address ] }
+ ip_address: { get_param: [ untrusted_a_ips, { get_param: perimeta_instance_index } ] }
+ ipv6_address: { get_param: [ untrusted_a_v6_ips, { get_param: perimeta_instance_index } ] }
+ virtual_ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ virtual_ipv6_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+ vlan_ids: { get_param: untrusted_vlan_ids }
+ vlan_networks: { get_param: untrusted_vlan_networks }
+
+ perimeta_b_untrusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: untrusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ untrusted_b_ips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_b_v6_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: untrusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+
+ # Contrail VLAN subinterfaces
+ perimeta_b_untrusted_0_vlan_ports:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: { get_param: untrusted_num_vlans }
+ resource_def:
+ type: vlan_subinterface_dual.yaml
+ properties:
+ subinterface_instance_index: "%index%"
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ parent_interface: { get_resource: perimeta_b_untrusted_0_port }
+ mac_address: { get_attr: [ perimeta_b_untrusted_0_port, mac_address ] }
+ ip_address: { get_param: [ untrusted_b_ips, { get_param: perimeta_instance_index } ] }
+ ipv6_address: { get_param: [ untrusted_b_v6_ips, { get_param: perimeta_instance_index } ] }
+ virtual_ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ virtual_ipv6_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+ vlan_ids: { get_param: untrusted_vlan_ids }
+ vlan_networks: { get_param: untrusted_vlan_networks }
+
+ # Perimeta Rf service network ports (SSC only)
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ # Add any additional service ports here.
+
+ # Only supported in Juno and beyond - used to enforce host anti-affinity
+ # Can be commented out along with references to it if always using
+ # different availability zones.
+ perimeta_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: $SYSTEM_server_group
+ params:
+ $SYSTEM: { get_param: [ system_names, { get_param: perimeta_instance_index } ] }
+ policies: ['anti-affinity']
+
+ perimeta_a_server_0:
+ type: OS::Nova::Server
+ depends_on: perimeta_b_server_0
+ properties:
+ name: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ image: { get_param: perimeta_image_name }
+ flavor: { get_param: perimeta_flavor_name }
+ key_name: { get_param: perimeta_keypair }
+ scheduler_hints: { group: { get_resource: perimeta_server_group } }
+ metadata:
+ 'vnf_id': { get_param: vnf_id }
+ 'vm_role':
+ str_replace:
+ template: $ROLE_a
+ params:
+ $ROLE: { get_param: vm_role }
+ 'vf_module_id': { get_param: vf_module_id }
+ personality:
+ '/opt/MetaSwitch/init/custom.ini': { get_file: custom.ini }
+
+ networks:
+ - port: { get_resource: perimeta_a_mgmt_0_port }
+ - port: { get_resource: perimeta_a_ha_0_port }
+ - port: { get_resource: perimeta_a_trusted_0_port }
+ - port: { get_resource: perimeta_a_untrusted_0_port }
+ availability_zone: { get_param: availability_zone_0 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: { get_param: perimeta_config }
+ params:
+ $MGMT_MACADDR: { get_attr: [perimeta_a_mgmt_0_port, mac_address] }
+ $HA_MACADDR: { get_attr: [perimeta_a_ha_0_port, mac_address] }
+ $TRUSTED_MACADDR: { get_attr: [perimeta_a_trusted_0_port, mac_address] }
+ $UNTRUSTED_MACADDR: { get_attr: [perimeta_a_untrusted_0_port, mac_address] }
+ $LOCAL_HA_IP_ADDR: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_HA_IP_ADDR: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ $HA_NETWORK_PLEN: { get_param: ha_network_plen }
+ $LOCAL_MGMT_IP_ADDR: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_MGMT_IP_ADDR: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ $MGMT_NETWORK_PLEN: { get_param: mgmt_net_plen }
+ $MGMT_NETWORK_DEFAULT_GATEWAY: { get_param: mgmt_net_default_gateway }
+ $VIRT_MGMT_IP_ADDR: { get_param: [ mgmt_vips, { get_param: perimeta_instance_index } ] }
+ $VIRT_TRUSTED_IP_ADDR: { get_param: [ trusted_vips, { get_param: perimeta_instance_index } ] }
+ $LOCAL_TRUSTED_IP_ADDR: { get_param: [ trusted_a_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_TRUSTED_IP_ADDR: { get_param: [ trusted_b_ips, { get_param: perimeta_instance_index } ] }
+ $VIRT_UNTRUSTED_IP_ADDR: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ $VIRT_UNTRUSTED_ALT_IP_ADDR: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+ $LOCAL_UNTRUSTED_IP_ADDR: { get_param: [ untrusted_a_ips, { get_param: perimeta_instance_index } ] }
+ $LOCAL_UNTRUSTED_ALT_IP_ADDR: { get_param: [ untrusted_a_v6_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_UNTRUSTED_IP_ADDR: { get_param: [ untrusted_b_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_UNTRUSTED_ALT_IP_ADDR: { get_param: [ untrusted_b_v6_ips, { get_param: perimeta_instance_index } ] }
+ $VM_NAME_A: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ $VM_NAME_B: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ $SYSTEM_NAME: { get_param: [ system_names, { get_param: perimeta_instance_index } ] }
+
+ perimeta_b_server_0:
+ type: OS::Nova::Server
+ properties:
+ name: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ image: { get_param: perimeta_image_name }
+ flavor: { get_param: perimeta_flavor_name }
+ key_name: { get_param: perimeta_keypair }
+ scheduler_hints: { group: { get_resource: perimeta_server_group } }
+ metadata:
+ 'vnf_id': { get_param: vnf_id }
+ 'vm_role':
+ str_replace:
+ template: $ROLE_b
+ params:
+ $ROLE: { get_param: vm_role }
+ 'vf_module_id': { get_param: vf_module_id }
+ networks:
+ - port: { get_resource: perimeta_b_mgmt_0_port }
+ - port: { get_resource: perimeta_b_ha_0_port }
+ - port: { get_resource: perimeta_b_trusted_0_port }
+ - port: { get_resource: perimeta_b_untrusted_0_port }
+ availability_zone: { get_param: availability_zone_1 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ {
+ "vnic_assignment": {
+ "IBG1mgmt": {"mac": "$MGMT_MACADDR"},
+ "IPG1": {"mac": "$HA_MACADDR"},
+ "RPG1": {"mac": "$TRUSTED_MACADDR"},
+ "RPG2": {"mac": "$UNTRUSTED_MACADDR"}
+ },
+ "ip_ha_local": "$LOCAL_HA_IP_ADDR",
+ "ip_ha_remote": "$REMOTE_HA_IP_ADDR",
+ "ip_ha_plen": "$HA_NETWORK_PLEN"
+ //"ip_mgmt_local": "$LOCAL_MGMT_IP_ADDR",
+ //"ip_mgmt_remote": "$REMOTE_MGMT_IP_ADDR",
+ //"ip_mgmt_plen": "$MGMT_NETWORK_PLEN",
+ //"ip_mgmt_gway": "$MGMT_NETWORK_DEFAULT_GATEWAY"
+ }
+
+ params:
+ $MGMT_MACADDR: { get_attr: [perimeta_b_mgmt_0_port, mac_address] }
+ $HA_MACADDR: { get_attr: [perimeta_b_ha_0_port, mac_address] }
+ $TRUSTED_MACADDR: { get_attr: [perimeta_b_trusted_0_port, mac_address] }
+ $UNTRUSTED_MACADDR: { get_attr: [perimeta_b_untrusted_0_port, mac_address] }
+ $LOCAL_HA_IP_ADDR: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_HA_IP_ADDR: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ $HA_NETWORK_PLEN: { get_param: ha_network_plen }
+ $LOCAL_MGMT_IP_ADDR: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_MGMT_IP_ADDR: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ $MGMT_NETWORK_PLEN: { get_param: mgmt_net_plen }
+ $MGMT_NETWORK_DEFAULT_GATEWAY: { get_param: mgmt_net_default_gateway }
+
+outputs:
+
+ server_group_used:
+ description: Server group used for these VMs
+ value: { get_resource: perimeta_server_group }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw_a.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw_a.yaml
new file mode 100644
index 0000000000..4f489e4ffc
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw_a.yaml
@@ -0,0 +1,332 @@
+# Heat template which intstantiates a 1+1 HA Perimeta instance with 4 or 5
+# vNICs.
+#
+# This is designed to be included in a higher level template.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# Host anti-affinity is achieved using different availability zones for
+# the Perimeta instance or server group anti-affinity if they are in the
+# same availability zone.
+#
+# Template requires Juno or above and has been tested on Kilo.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+
+parameters:
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ vm_role:
+ type: string
+ description: Role of these VMs
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ system_names:
+ type: comma_delimited_list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ vm_a_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ vm_b_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ perimeta_instance_index:
+ type: number
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ constraints:
+ - custom_constraint: glance.image
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints:
+ - custom_constraint: nova.keypair
+ availability_zone_0:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ mgmt_vips:
+ type: comma_delimited_list
+ description: List of management virtual IP addresses for all instances.
+ mgmt_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ mgmt_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ mgmt_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on management interfaces.
+ ha_net_id:
+ type: string
+ description: HA network id
+ constraints:
+ - custom_constraint: neutron.network
+ ha_network_plen:
+ type: number
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: ha_network_plen must be between 0 and 32
+ ha_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ ha_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ ha_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on HA interfaces.
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_vips:
+ type: comma_delimited_list
+ description: List of service network 1 virtual IP addresses for all instances.
+ trusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ trusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ trusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on trusted interfaces.
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_vips:
+ type: comma_delimited_list
+ description: List of service network 2 virtual IP addresses for all instances.
+ untrusted_v6_vips:
+ type: comma_delimited_list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ untrusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ untrusted_a_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ untrusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ untrusted_b_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ untrusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on untrusted interfaces.
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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.
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+
+resources:
+
+ # Perimeta management ports
+ perimeta_a_mgmt_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: mgmt_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: mgmt_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ mgmt_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta HA ports
+ perimeta_a_ha_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: ha_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: ha_sec_groups }
+
+ # Perimeta core/trusted service network ports
+ #
+ # Dual stack core network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_a_trusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: trusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ trusted_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: trusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ trusted_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta access/untrusted service network ports
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_a_untrusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: untrusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ untrusted_a_ips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_a_v6_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: untrusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+
+ # Contrail VLAN subinterfaces
+ perimeta_a_untrusted_0_vlan_ports:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: { get_param: untrusted_num_vlans }
+ resource_def:
+ type: vlan_subinterface_dual.yaml
+ properties:
+ subinterface_instance_index: "%index%"
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ parent_interface: { get_resource: perimeta_a_untrusted_0_port }
+ mac_address: { get_attr: [ perimeta_a_untrusted_0_port, mac_address ] }
+ ip_address: { get_param: [ untrusted_a_ips, { get_param: perimeta_instance_index } ] }
+ ipv6_address: { get_param: [ untrusted_a_v6_ips, { get_param: perimeta_instance_index } ] }
+ virtual_ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ virtual_ipv6_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+ vlan_ids: { get_param: untrusted_vlan_ids }
+ vlan_networks: { get_param: untrusted_vlan_networks }
+
+ # Perimeta Rf service network ports (SSC only)
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ # Add any additional service ports here.
+
+ perimeta_a_server_0:
+ type: OS::Nova::Server
+# depends_on: perimeta_b_server_0
+ properties:
+ name: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ image: { get_param: perimeta_image_name }
+ flavor: { get_param: perimeta_flavor_name }
+ key_name: { get_param: perimeta_keypair }
+ scheduler_hints: { group: { get_param: perimeta_param_server_group } }
+ metadata:
+ 'vnf_id': { get_param: vnf_id }
+ 'vm_role':
+ str_replace:
+ template: $ROLE_a
+ params:
+ $ROLE: { get_param: vm_role }
+ 'vf_module_id': { get_param: vf_module_id }
+ personality:
+ '/opt/MetaSwitch/init/custom.ini': { get_file: custom.ini }
+
+ networks:
+ - port: { get_resource: perimeta_a_mgmt_0_port }
+ - port: { get_resource: perimeta_a_ha_0_port }
+ - port: { get_resource: perimeta_a_trusted_0_port }
+ - port: { get_resource: perimeta_a_untrusted_0_port }
+ availability_zone: { get_param: availability_zone_0 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ {
+ "vnic_assignment": {
+ "IBG1mgmt": {"mac": "$MGMT_MACADDR"},
+ "IPG1": {"mac": "$HA_MACADDR"},
+ "RPG1": {"mac": "$TRUSTED_MACADDR"},
+ "RPG2": {"mac": "$UNTRUSTED_MACADDR"}
+ },
+ "ip_ha_local": "$LOCAL_HA_IP_ADDR",
+ "ip_ha_remote": "$REMOTE_HA_IP_ADDR",
+ "ip_ha_plen": "$HA_NETWORK_PLEN"
+ // "ip_mgmt_local": "$LOCAL_MGMT_IP_ADDR",
+ // "ip_mgmt_remote": "$REMOTE_MGMT_IP_ADDR",
+ // "ip_mgmt_plen": "$MGMT_NETWORK_PLEN",
+ // "ip_mgmt_gway": "$MGMT_NETWORK_DEFAULT_GATEWAY"
+ }
+
+ params:
+ $MGMT_MACADDR: { get_attr: [perimeta_a_mgmt_0_port, mac_address] }
+ $HA_MACADDR: { get_attr: [perimeta_a_ha_0_port, mac_address] }
+ $TRUSTED_MACADDR: { get_attr: [perimeta_a_trusted_0_port, mac_address] }
+ $UNTRUSTED_MACADDR: { get_attr: [perimeta_a_untrusted_0_port, mac_address] }
+ $LOCAL_HA_IP_ADDR: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_HA_IP_ADDR: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ $HA_NETWORK_PLEN: { get_param: ha_network_plen }
+ $LOCAL_MGMT_IP_ADDR: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_MGMT_IP_ADDR: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ $MGMT_NETWORK_PLEN: { get_param: mgmt_net_plen }
+ $MGMT_NETWORK_DEFAULT_GATEWAY: { get_param: mgmt_net_default_gateway }
+
+
+outputs:
+
+ server_group_used:
+ description: Server group used for these VMs
+ value: { get_param: perimeta_param_server_group }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw_b.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw_b.yaml
new file mode 100644
index 0000000000..4b68c3adf2
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_sw_b.yaml
@@ -0,0 +1,327 @@
+# Heat template which intstantiates a 1+1 HA Perimeta instance with 4 or 5
+# vNICs.
+#
+# This is designed to be included in a higher level template.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# Host anti-affinity is achieved using different availability zones for
+# the Perimeta instance or server group anti-affinity if they are in the
+# same availability zone.
+#
+# Template requires Juno or above and has been tested on Kilo.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+
+parameters:
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ vm_role:
+ type: string
+ description: Role of these VMs
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ system_names:
+ type: comma_delimited_list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ vm_a_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ vm_b_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ perimeta_instance_index:
+ type: number
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ constraints:
+ - custom_constraint: glance.image
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints:
+ - custom_constraint: nova.keypair
+ availability_zone_0:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ mgmt_vips:
+ type: comma_delimited_list
+ description: List of management virtual IP addresses for all instances.
+ mgmt_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ mgmt_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ mgmt_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on management interfaces.
+ ha_net_id:
+ type: string
+ description: HA network id
+ constraints:
+ - custom_constraint: neutron.network
+ ha_network_plen:
+ type: number
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: ha_network_plen must be between 0 and 32
+ ha_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ ha_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ ha_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on HA interfaces.
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_vips:
+ type: comma_delimited_list
+ description: List of service network 1 virtual IP addresses for all instances.
+ trusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ trusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ trusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on trusted interfaces.
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_vips:
+ type: comma_delimited_list
+ description: List of service network 2 virtual IP addresses for all instances.
+ untrusted_v6_vips:
+ type: comma_delimited_list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ untrusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ untrusted_a_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ untrusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ untrusted_b_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ untrusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on untrusted interfaces.
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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.
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+
+resources:
+
+ # Perimeta management ports
+ perimeta_b_mgmt_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: mgmt_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: mgmt_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ mgmt_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta HA ports
+ perimeta_b_ha_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: ha_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: ha_sec_groups }
+
+ # Perimeta core/trusted service network ports
+ #
+ # Dual stack core network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_b_trusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: trusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ trusted_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: trusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ trusted_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta access/untrusted service network ports
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_b_untrusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: untrusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ untrusted_b_ips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_b_v6_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: untrusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+
+ # Contrail VLAN subinterfaces
+ perimeta_b_untrusted_0_vlan_ports:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: { get_param: untrusted_num_vlans }
+ resource_def:
+ type: vlan_subinterface_dual.yaml
+ properties:
+ subinterface_instance_index: "%index%"
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ parent_interface: { get_resource: perimeta_b_untrusted_0_port }
+ mac_address: { get_attr: [ perimeta_b_untrusted_0_port, mac_address ] }
+ ip_address: { get_param: [ untrusted_b_ips, { get_param: perimeta_instance_index } ] }
+ ipv6_address: { get_param: [ untrusted_b_v6_ips, { get_param: perimeta_instance_index } ] }
+ virtual_ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ virtual_ipv6_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+ vlan_ids: { get_param: untrusted_vlan_ids }
+ vlan_networks: { get_param: untrusted_vlan_networks }
+
+ # Perimeta Rf service network ports (SSC only)
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ # Add any additional service ports here.
+
+ perimeta_b_server_0:
+ type: OS::Nova::Server
+ properties:
+ name: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ image: { get_param: perimeta_image_name }
+ flavor: { get_param: perimeta_flavor_name }
+ key_name: { get_param: perimeta_keypair }
+ scheduler_hints: { group: { get_param: perimeta_param_server_group } }
+ metadata:
+ 'vnf_id': { get_param: vnf_id }
+ 'vm_role':
+ str_replace:
+ template: $ROLE_b
+ params:
+ $ROLE: { get_param: vm_role }
+ 'vf_module_id': { get_param: vf_module_id }
+ networks:
+ - port: { get_resource: perimeta_b_mgmt_0_port }
+ - port: { get_resource: perimeta_b_ha_0_port }
+ - port: { get_resource: perimeta_b_trusted_0_port }
+ - port: { get_resource: perimeta_b_untrusted_0_port }
+ availability_zone: { get_param: availability_zone_1 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ {
+ "vnic_assignment": {
+ "IBG1mgmt": {"mac": "$MGMT_MACADDR"},
+ "IPG1": {"mac": "$HA_MACADDR"},
+ "RPG1": {"mac": "$TRUSTED_MACADDR"},
+ "RPG2": {"mac": "$UNTRUSTED_MACADDR"}
+ },
+ "ip_ha_local": "$LOCAL_HA_IP_ADDR",
+ "ip_ha_remote": "$REMOTE_HA_IP_ADDR",
+ "ip_ha_plen": "$HA_NETWORK_PLEN"
+ //"ip_mgmt_local": "$LOCAL_MGMT_IP_ADDR",
+ //"ip_mgmt_remote": "$REMOTE_MGMT_IP_ADDR",
+ //"ip_mgmt_plen": "$MGMT_NETWORK_PLEN",
+ //"ip_mgmt_gway": "$MGMT_NETWORK_DEFAULT_GATEWAY"
+ }
+
+ params:
+ $MGMT_MACADDR: { get_attr: [perimeta_b_mgmt_0_port, mac_address] }
+ $HA_MACADDR: { get_attr: [perimeta_b_ha_0_port, mac_address] }
+ $TRUSTED_MACADDR: { get_attr: [perimeta_b_trusted_0_port, mac_address] }
+ $UNTRUSTED_MACADDR: { get_attr: [perimeta_b_untrusted_0_port, mac_address] }
+ $LOCAL_HA_IP_ADDR: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_HA_IP_ADDR: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ $HA_NETWORK_PLEN: { get_param: ha_network_plen }
+ $LOCAL_MGMT_IP_ADDR: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_MGMT_IP_ADDR: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ $MGMT_NETWORK_PLEN: { get_param: mgmt_net_plen }
+ $MGMT_NETWORK_DEFAULT_GATEWAY: { get_param: mgmt_net_default_gateway }
+
+outputs:
+
+ server_group_used:
+ description: Server group used for these VMs
+ value: { get_param: perimeta_param_server_group }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu.yaml
new file mode 100644
index 0000000000..7e4307b75f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu.yaml
@@ -0,0 +1,561 @@
+# Heat template which intstantiates a 1+1 HA Perimeta instance with 4 or 5
+# vNICs.
+#
+# This is designed to be included in a higher level template.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# Host anti-affinity is achieved using different availability zones for
+# the Perimeta instance or server group anti-affinity if they are in the
+# same availability zone.
+#
+# Template requires Juno or above and has been tested on Kilo.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+
+parameters:
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ vm_role:
+ type: string
+ description: Role of these VMs
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ system_names:
+ type: comma_delimited_list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ vm_a_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ vm_b_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ perimeta_instance_index:
+ type: number
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ constraints:
+ - custom_constraint: glance.image
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints:
+ - custom_constraint: nova.keypair
+ availability_zone_0:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ mgmt_vips:
+ type: comma_delimited_list
+ description: List of management virtual IP addresses for all instances.
+ mgmt_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ mgmt_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ mgmt_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on management interfaces.
+ ha_net_id:
+ type: string
+ description: HA network id
+ constraints:
+ - custom_constraint: neutron.network
+ ha_network_plen:
+ type: number
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: ha_network_plen must be between 0 and 32
+ ha_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ ha_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ ha_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on HA interfaces.
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_vips:
+ type: comma_delimited_list
+ description: List of service network 1 virtual IP addresses for all instances.
+ trusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ trusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ trusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on trusted interfaces.
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_vips:
+ type: comma_delimited_list
+ description: List of service network 2 virtual IP addresses for all instances.
+ untrusted_v6_vips:
+ type: comma_delimited_list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ untrusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ untrusted_a_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ untrusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ untrusted_b_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ untrusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on untrusted interfaces.
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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.
+ serv3_net_id:
+ type: string
+ description: Service network 3 network UUID
+ serv3_vips:
+ type: comma_delimited_list
+ description: List of service network 3 virtual IP addresses for all instances.
+ serv3_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of A instances.
+ serv3_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of B instances.
+ serv3_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on serv3 interfaces.
+ unused_net_id:
+ type: string
+ description: Service network unused port network UUID
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+
+resources:
+
+ # Perimeta management ports
+ perimeta_a_mgmt_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: mgmt_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: mgmt_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ mgmt_vips, { get_param: perimeta_instance_index } ] }
+
+ perimeta_b_mgmt_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: mgmt_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: mgmt_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ mgmt_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta HA ports
+ perimeta_a_ha_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: ha_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: ha_sec_groups }
+
+ perimeta_b_ha_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: ha_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: ha_sec_groups }
+
+ # Perimeta core/trusted service network ports
+ #
+ # Dual stack core network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_a_trusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: trusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ trusted_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: trusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ trusted_vips, { get_param: perimeta_instance_index } ] }
+
+ perimeta_b_trusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: trusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ trusted_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: trusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ trusted_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta access/untrusted service network ports
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_a_untrusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: untrusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ untrusted_a_ips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_a_v6_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: untrusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+
+ # Contrail VLAN subinterfaces
+ perimeta_a_untrusted_0_vlan_ports:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: { get_param: untrusted_num_vlans }
+ resource_def:
+ type: vlan_subinterface_dual.yaml
+ properties:
+ subinterface_instance_index: "%index%"
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ parent_interface: { get_resource: perimeta_a_untrusted_0_port }
+ mac_address: { get_attr: [ perimeta_a_untrusted_0_port, mac_address ] }
+ ip_address: { get_param: [ untrusted_a_ips, { get_param: perimeta_instance_index } ] }
+ ipv6_address: { get_param: [ untrusted_a_v6_ips, { get_param: perimeta_instance_index } ] }
+ virtual_ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ virtual_ipv6_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+ vlan_ids: { get_param: untrusted_vlan_ids }
+ vlan_networks: { get_param: untrusted_vlan_networks }
+
+ perimeta_b_untrusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: untrusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ untrusted_b_ips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_b_v6_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: untrusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+
+ # Contrail VLAN subinterfaces
+ perimeta_b_untrusted_0_vlan_ports:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: { get_param: untrusted_num_vlans }
+ resource_def:
+ type: vlan_subinterface_dual.yaml
+ properties:
+ subinterface_instance_index: "%index%"
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ parent_interface: { get_resource: perimeta_b_untrusted_0_port }
+ mac_address: { get_attr: [ perimeta_b_untrusted_0_port, mac_address ] }
+ ip_address: { get_param: [ untrusted_b_ips, { get_param: perimeta_instance_index } ] }
+ ipv6_address: { get_param: [ untrusted_b_v6_ips, { get_param: perimeta_instance_index } ] }
+ virtual_ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ virtual_ipv6_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+ vlan_ids: { get_param: untrusted_vlan_ids }
+ vlan_networks: { get_param: untrusted_vlan_networks }
+
+ # Perimeta Rf service network ports (SSC only)
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_a_serv3_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_serv3_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: serv3_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ serv3_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: serv3_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ serv3_vips, { get_param: perimeta_instance_index } ] }
+
+ perimeta_b_serv3_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_serv3_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: serv3_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ serv3_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: serv3_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ serv3_vips, { get_param: perimeta_instance_index } ] }
+
+ perimeta_a_unused_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_unused_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network: { get_param: unused_net_id }
+
+ perimeta_b_unused_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_unused_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network: { get_param: unused_net_id }
+
+ # Add any additional service ports here.
+
+ # Only supported in Juno and beyond - used to enforce host anti-affinity
+ # Can be commented out along with references to it if always using
+ # different availability zones.
+ perimeta_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: $SYSTEM_server_group
+ params:
+ $SYSTEM: { get_param: [ system_names, { get_param: perimeta_instance_index } ] }
+ policies: ['anti-affinity']
+
+ perimeta_a_server_0:
+ type: OS::Nova::Server
+ depends_on: perimeta_b_server_0
+ properties:
+ name: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ image: { get_param: perimeta_image_name }
+ flavor: { get_param: perimeta_flavor_name }
+ key_name: { get_param: perimeta_keypair }
+ scheduler_hints: { group: { get_resource: perimeta_server_group } }
+ metadata:
+ 'vnf_id': { get_param: vnf_id }
+ 'vm_role':
+ str_replace:
+ template: $ROLE_a
+ params:
+ $ROLE: { get_param: vm_role }
+ 'vf_module_id': { get_param: vf_module_id }
+ personality:
+ '/opt/MetaSwitch/init/custom.ini': { get_file: custom.ini }
+
+ networks:
+ - port: { get_resource: perimeta_a_mgmt_0_port }
+ - port: { get_resource: perimeta_a_ha_0_port }
+ - port: { get_resource: perimeta_a_trusted_0_port }
+ - port: { get_resource: perimeta_a_untrusted_0_port }
+ - port: { get_resource: perimeta_a_serv3_0_port }
+ - port: { get_resource: perimeta_a_unused_0_port }
+ availability_zone: { get_param: availability_zone_0 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: { get_param: perimeta_config }
+ params:
+ $MGMT_MACADDR: { get_attr: [perimeta_a_mgmt_0_port, mac_address] }
+ $HA_MACADDR: { get_attr: [perimeta_a_ha_0_port, mac_address] }
+ $TRUSTED_MACADDR: { get_attr: [perimeta_a_trusted_0_port, mac_address] }
+ $UNTRUSTED_MACADDR: { get_attr: [perimeta_a_untrusted_0_port, mac_address] }
+ $SERV3_MACADDR: { get_attr: [perimeta_a_serv3_0_port, mac_address] }
+ $SERV4_MACADDR: { get_attr: [perimeta_a_unused_0_port, mac_address] }
+ $LOCAL_HA_IP_ADDR: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_HA_IP_ADDR: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ $HA_NETWORK_PLEN: { get_param: ha_network_plen }
+ $LOCAL_MGMT_IP_ADDR: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_MGMT_IP_ADDR: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ $MGMT_NETWORK_PLEN: { get_param: mgmt_net_plen }
+ $MGMT_NETWORK_DEFAULT_GATEWAY: { get_param: mgmt_net_default_gateway }
+ $VIRT_MGMT_IP_ADDR: { get_param: [ mgmt_vips, { get_param: perimeta_instance_index } ] }
+ $VIRT_TRUSTED_IP_ADDR: { get_param: [ trusted_vips, { get_param: perimeta_instance_index } ] }
+ $LOCAL_TRUSTED_IP_ADDR: { get_param: [ trusted_a_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_TRUSTED_IP_ADDR: { get_param: [ trusted_b_ips, { get_param: perimeta_instance_index } ] }
+ $VIRT_UNTRUSTED_IP_ADDR: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ $VIRT_UNTRUSTED_ALT_IP_ADDR: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+ $LOCAL_UNTRUSTED_IP_ADDR: { get_param: [ untrusted_a_ips, { get_param: perimeta_instance_index } ] }
+ $LOCAL_UNTRUSTED_ALT_IP_ADDR: { get_param: [ untrusted_a_v6_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_UNTRUSTED_IP_ADDR: { get_param: [ untrusted_b_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_UNTRUSTED_ALT_IP_ADDR: { get_param: [ untrusted_b_v6_ips, { get_param: perimeta_instance_index } ] }
+ $VIRT_SERV3_IP_ADDR: { get_param: [ serv3_vips, { get_param: perimeta_instance_index } ] }
+ $LOCAL_SERV3_IP_ADDR: { get_param: [ serv3_a_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_SERV3_IP_ADDR: { get_param: [ serv3_b_ips, { get_param: perimeta_instance_index } ] }
+ $VM_NAME_A: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ $VM_NAME_B: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ $SYSTEM_NAME: { get_param: [ system_names, { get_param: perimeta_instance_index } ] }
+
+ perimeta_b_server_0:
+ type: OS::Nova::Server
+ properties:
+ name: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ image: { get_param: perimeta_image_name }
+ flavor: { get_param: perimeta_flavor_name }
+ key_name: { get_param: perimeta_keypair }
+ scheduler_hints: { group: { get_resource: perimeta_server_group } }
+ metadata:
+ 'vnf_id': { get_param: vnf_id }
+ 'vm_role':
+ str_replace:
+ template: $ROLE_b
+ params:
+ $ROLE: { get_param: vm_role }
+ 'vf_module_id': { get_param: vf_module_id }
+ networks:
+ - port: { get_resource: perimeta_b_mgmt_0_port }
+ - port: { get_resource: perimeta_b_ha_0_port }
+ - port: { get_resource: perimeta_b_trusted_0_port }
+ - port: { get_resource: perimeta_b_untrusted_0_port }
+ - port: { get_resource: perimeta_b_serv3_0_port }
+ - port: { get_resource: perimeta_b_unused_0_port }
+ availability_zone: { get_param: availability_zone_1 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ {
+ "vnic_assignment": {
+ "IBG1mgmt": {"mac": "$MGMT_MACADDR"},
+ "IPG1": {"mac": "$HA_MACADDR"},
+ "RPG1": {"mac": "$TRUSTED_MACADDR"},
+ "RPG2": {"mac": "$UNTRUSTED_MACADDR"},
+ "RPG3": {"mac": "$SERV3_MACADDR"},
+ "RPG4": {"mac": "$SERV4_MACADDR"}
+ },
+ "ip_ha_local": "$LOCAL_HA_IP_ADDR",
+ "ip_ha_remote": "$REMOTE_HA_IP_ADDR",
+ "ip_ha_plen": "$HA_NETWORK_PLEN"
+ //"ip_mgmt_local": "$LOCAL_MGMT_IP_ADDR",
+ //"ip_mgmt_remote": "$REMOTE_MGMT_IP_ADDR",
+ //"ip_mgmt_plen": "$MGMT_NETWORK_PLEN",
+ //"ip_mgmt_gway": "$MGMT_NETWORK_DEFAULT_GATEWAY"
+ }
+
+ params:
+ $MGMT_MACADDR: { get_attr: [perimeta_b_mgmt_0_port, mac_address] }
+ $HA_MACADDR: { get_attr: [perimeta_b_ha_0_port, mac_address] }
+ $TRUSTED_MACADDR: { get_attr: [perimeta_b_trusted_0_port, mac_address] }
+ $UNTRUSTED_MACADDR: { get_attr: [perimeta_b_untrusted_0_port, mac_address] }
+ $SERV3_MACADDR: { get_attr: [perimeta_b_serv3_0_port, mac_address] }
+ $SERV4_MACADDR: { get_attr: [perimeta_b_unused_0_port, mac_address] }
+ $LOCAL_HA_IP_ADDR: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_HA_IP_ADDR: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ $HA_NETWORK_PLEN: { get_param: ha_network_plen }
+ $LOCAL_MGMT_IP_ADDR: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_MGMT_IP_ADDR: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ $MGMT_NETWORK_PLEN: { get_param: mgmt_net_plen }
+ $MGMT_NETWORK_DEFAULT_GATEWAY: { get_param: mgmt_net_default_gateway }
+
+outputs:
+
+ server_group_used:
+ description: Server group used for these VMs
+ value: { get_resource: perimeta_server_group }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu_a.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu_a.yaml
new file mode 100644
index 0000000000..2c4fb50842
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu_a.yaml
@@ -0,0 +1,381 @@
+# Heat template which intstantiates a 1+1 HA Perimeta instance with 4 or 5
+# vNICs.
+#
+# This is designed to be included in a higher level template.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# Host anti-affinity is achieved using different availability zones for
+# the Perimeta instance or server group anti-affinity if they are in the
+# same availability zone.
+#
+# Template requires Juno or above and has been tested on Kilo.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+
+parameters:
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ vm_role:
+ type: string
+ description: Role of these VMs
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ system_names:
+ type: comma_delimited_list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ vm_a_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ vm_b_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ perimeta_instance_index:
+ type: number
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ constraints:
+ - custom_constraint: glance.image
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints:
+ - custom_constraint: nova.keypair
+ availability_zone_0:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ mgmt_vips:
+ type: comma_delimited_list
+ description: List of management virtual IP addresses for all instances.
+ mgmt_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ mgmt_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ mgmt_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on management interfaces.
+ ha_net_id:
+ type: string
+ description: HA network id
+ constraints:
+ - custom_constraint: neutron.network
+ ha_network_plen:
+ type: number
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: ha_network_plen must be between 0 and 32
+ ha_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ ha_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ ha_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on HA interfaces.
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_vips:
+ type: comma_delimited_list
+ description: List of service network 1 virtual IP addresses for all instances.
+ trusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ trusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ trusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on trusted interfaces.
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_vips:
+ type: comma_delimited_list
+ description: List of service network 2 virtual IP addresses for all instances.
+ untrusted_v6_vips:
+ type: comma_delimited_list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ untrusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ untrusted_a_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ untrusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ untrusted_b_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ untrusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on untrusted interfaces.
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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.
+ serv3_net_id:
+ type: string
+ description: Service network 3 network UUID
+ serv3_vips:
+ type: comma_delimited_list
+ description: List of service network 3 virtual IP addresses for all instances.
+ serv3_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of A instances.
+ serv3_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of B instances.
+ serv3_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on serv3 interfaces.
+ unused_net_id:
+ type: string
+ description: Service network unused port network UUID
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+
+resources:
+
+ # Perimeta management ports
+ perimeta_a_mgmt_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: mgmt_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: mgmt_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ mgmt_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta HA ports
+ perimeta_a_ha_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: ha_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: ha_sec_groups }
+
+ # Perimeta core/trusted service network ports
+ #
+ # Dual stack core network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_a_trusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: trusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ trusted_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: trusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ trusted_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta access/untrusted service network ports
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_a_untrusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: untrusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ untrusted_a_ips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_a_v6_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: untrusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+
+ # Contrail VLAN subinterfaces
+ perimeta_a_untrusted_0_vlan_ports:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: { get_param: untrusted_num_vlans }
+ resource_def:
+ type: vlan_subinterface_dual.yaml
+ properties:
+ subinterface_instance_index: "%index%"
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ parent_interface: { get_resource: perimeta_a_untrusted_0_port }
+ mac_address: { get_attr: [ perimeta_a_untrusted_0_port, mac_address ] }
+ ip_address: { get_param: [ untrusted_a_ips, { get_param: perimeta_instance_index } ] }
+ ipv6_address: { get_param: [ untrusted_a_v6_ips, { get_param: perimeta_instance_index } ] }
+ virtual_ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ virtual_ipv6_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+ vlan_ids: { get_param: untrusted_vlan_ids }
+ vlan_networks: { get_param: untrusted_vlan_networks }
+
+ # Perimeta Rf service network ports (SSC only)
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_a_serv3_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_serv3_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: serv3_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ serv3_a_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: serv3_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ serv3_vips, { get_param: perimeta_instance_index } ] }
+
+ perimeta_a_unused_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_unused_port
+ params:
+ $VM: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ network: { get_param: unused_net_id }
+
+ # Add any additional service ports here.
+
+ perimeta_a_server_0:
+ type: OS::Nova::Server
+ #depends_on: perimeta_b_server_0
+ properties:
+ name: { get_param: [ vm_a_names, { get_param: perimeta_instance_index } ] }
+ image: { get_param: perimeta_image_name }
+ flavor: { get_param: perimeta_flavor_name }
+ key_name: { get_param: perimeta_keypair }
+ scheduler_hints: { group: { get_param: perimeta_param_server_group } }
+ metadata:
+ 'vnf_id': { get_param: vnf_id }
+ 'vm_role':
+ str_replace:
+ template: $ROLE_a
+ params:
+ $ROLE: { get_param: vm_role }
+ 'vf_module_id': { get_param: vf_module_id }
+ personality:
+ '/opt/MetaSwitch/init/custom.ini': { get_file: custom.ini }
+
+ networks:
+ - port: { get_resource: perimeta_a_mgmt_0_port }
+ - port: { get_resource: perimeta_a_ha_0_port }
+ - port: { get_resource: perimeta_a_trusted_0_port }
+ - port: { get_resource: perimeta_a_untrusted_0_port }
+ - port: { get_resource: perimeta_a_serv3_0_port }
+ - port: { get_resource: perimeta_a_unused_0_port }
+ availability_zone: { get_param: availability_zone_0 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ {
+ "vnic_assignment": {
+ "IBG1mgmt": {"mac": "$MGMT_MACADDR"},
+ "IPG1": {"mac": "$HA_MACADDR"},
+ "RPG1": {"mac": "$TRUSTED_MACADDR"},
+ "RPG2": {"mac": "$UNTRUSTED_MACADDR"},
+ "RPG3": {"mac": "$SERV3_MACADDR"},
+ "RPG4": {"mac": "$SERV4_MACADDR"}
+ },
+ "ip_ha_local": "$LOCAL_HA_IP_ADDR",
+ "ip_ha_remote": "$REMOTE_HA_IP_ADDR",
+ "ip_ha_plen": "$HA_NETWORK_PLEN"
+ // "ip_mgmt_local": "$LOCAL_MGMT_IP_ADDR",
+ // "ip_mgmt_remote": "$REMOTE_MGMT_IP_ADDR",
+ // "ip_mgmt_plen": "$MGMT_NETWORK_PLEN",
+ // "ip_mgmt_gway": "$MGMT_NETWORK_DEFAULT_GATEWAY"
+ }
+
+ params:
+ $MGMT_MACADDR: { get_attr: [perimeta_a_mgmt_0_port, mac_address] }
+ $HA_MACADDR: { get_attr: [perimeta_a_ha_0_port, mac_address] }
+ $TRUSTED_MACADDR: { get_attr: [perimeta_a_trusted_0_port, mac_address] }
+ $UNTRUSTED_MACADDR: { get_attr: [perimeta_a_untrusted_0_port, mac_address] }
+ $SERV3_MACADDR: { get_attr: [perimeta_a_serv3_0_port, mac_address] }
+ $SERV4_MACADDR: { get_attr: [perimeta_a_unused_0_port, mac_address] }
+ $LOCAL_HA_IP_ADDR: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_HA_IP_ADDR: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ $HA_NETWORK_PLEN: { get_param: ha_network_plen }
+ $LOCAL_MGMT_IP_ADDR: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_MGMT_IP_ADDR: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ $MGMT_NETWORK_PLEN: { get_param: mgmt_net_plen }
+ $MGMT_NETWORK_DEFAULT_GATEWAY: { get_param: mgmt_net_default_gateway }
+
+
+outputs:
+
+ server_group_used:
+ description: Server group used for these VMs
+ value: { get_param: perimeta_param_server_group }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu_b.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu_b.yaml
new file mode 100644
index 0000000000..77fb15a9a0
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/perimeta_ha_swmu_b.yaml
@@ -0,0 +1,376 @@
+# Heat template which intstantiates a 1+1 HA Perimeta instance with 4 or 5
+# vNICs.
+#
+# This is designed to be included in a higher level template.
+#
+# This template puts the Perimeta configuration in place using userdata
+# injected via OpenStack's ConfigDrive mechanism.
+#
+# Host anti-affinity is achieved using different availability zones for
+# the Perimeta instance or server group anti-affinity if they are in the
+# same availability zone.
+#
+# Template requires Juno or above and has been tested on Kilo.
+#
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a Perimeta 1+1 HA instance with 4vNICs as part of a nested template
+
+parameters:
+ vnf_id:
+ type: string
+ description: VNF ID of this deployment
+ vm_role:
+ type: string
+ description: Role of these VMs
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ system_names:
+ type: comma_delimited_list
+ description: List of system names of Perimeta instances. Name of a specific instance is indexed by perimeta_instance_index
+ vm_a_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ vm_b_names:
+ type: comma_delimited_list
+ description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index
+ perimeta_instance_index:
+ type: number
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ perimeta_image_name:
+ type: string
+ description: Glance image for Perimeta instance
+ constraints:
+ - custom_constraint: glance.image
+ perimeta_flavor_name:
+ type: string
+ description: Flavor to use for creating VM instances
+ constraints:
+ - custom_constraint: nova.flavor
+ perimeta_keypair:
+ type: string
+ description: Keypair to use for accessing this Perimeta instance
+ constraints:
+ - custom_constraint: nova.keypair
+ availability_zone_0:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for A instances.
+ availability_zone_1:
+ # Can be commented out along with references if always using a single availability zone
+ type: string
+ description: Availability zone for B instances. May be the same as A instance.
+ mgmt_net_id:
+ type: string
+ description: Management network id
+ constraints:
+ - custom_constraint: neutron.network
+ mgmt_net_plen:
+ type: string
+ description: Prefix length of management network
+ mgmt_net_default_gateway:
+ type: string
+ description: IP address of management default gateway
+ mgmt_vips:
+ type: comma_delimited_list
+ description: List of management virtual IP addresses for all instances.
+ mgmt_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of A instances.
+ mgmt_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as management IPs of B instances.
+ mgmt_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on management interfaces.
+ ha_net_id:
+ type: string
+ description: HA network id
+ constraints:
+ - custom_constraint: neutron.network
+ ha_network_plen:
+ type: number
+ constraints:
+ - range: { min: 0, max: 32 }
+ description: ha_network_plen must be between 0 and 32
+ ha_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of A instances.
+ ha_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as HA IPs of B instances.
+ ha_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on HA interfaces.
+ trusted_net_id:
+ type: string
+ description: Service network 1 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ trusted_vips:
+ type: comma_delimited_list
+ description: List of service network 1 virtual IP addresses for all instances.
+ trusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of A instances.
+ trusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as trusted fixed IPs of B instances.
+ trusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on trusted interfaces.
+ untrusted_net_id:
+ type: string
+ description: Service network 2 network UUID
+ constraints:
+ - custom_constraint: neutron.network
+ untrusted_vips:
+ type: comma_delimited_list
+ description: List of service network 2 virtual IP addresses for all instances.
+ untrusted_v6_vips:
+ type: comma_delimited_list
+ description: List of service network 2 alternate virtual IP addresses for all instances.
+ untrusted_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of A instances.
+ untrusted_a_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of A instances.
+ untrusted_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted fixed IPs of B instances.
+ untrusted_b_v6_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as untrusted alternate fixed IPs of B instances.
+ untrusted_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on untrusted interfaces.
+ untrusted_num_vlans:
+ type: number
+ description: Number of VLANs to connect to on the untrusted/access network
+ untrusted_vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use on the untrusted/access network
+ untrusted_vlan_networks:
+ type: comma_delimited_list
+ 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.
+ serv3_net_id:
+ type: string
+ description: Service network 3 network UUID
+ serv3_vips:
+ type: comma_delimited_list
+ description: List of service network 3 virtual IP addresses for all instances.
+ serv3_a_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of A instances.
+ serv3_b_ips:
+ type: comma_delimited_list
+ description: List of fixed IP addresses to use as serv3 fixed IPs of B instances.
+ serv3_sec_groups:
+ type: comma_delimited_list
+ description: List of security groups to add on serv3 interfaces.
+ unused_net_id:
+ type: string
+ description: Service network unused port network UUID
+ perimeta_param_server_group:
+ type: string
+ description: Server group to use for these VMs - ignored
+ perimeta_config:
+ type: string
+ description: Orchestration template configuration for instance.
+
+resources:
+
+ # Perimeta management ports
+ perimeta_b_mgmt_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_mgmt_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: mgmt_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: mgmt_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ mgmt_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta HA ports
+ perimeta_b_ha_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_ha_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: ha_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: ha_sec_groups }
+
+ # Perimeta core/trusted service network ports
+ #
+ # Dual stack core network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_b_trusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_trusted_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: trusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ trusted_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: trusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ trusted_vips, { get_param: perimeta_instance_index } ] }
+
+ # Perimeta access/untrusted service network ports
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_b_untrusted_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_untrusted_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: untrusted_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ untrusted_b_ips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_b_v6_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: untrusted_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ - ip_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+
+ # Contrail VLAN subinterfaces
+ perimeta_b_untrusted_0_vlan_ports:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: { get_param: untrusted_num_vlans }
+ resource_def:
+ type: vlan_subinterface_dual.yaml
+ properties:
+ subinterface_instance_index: "%index%"
+ subinterface_name_prefix:
+ str_replace:
+ template: $VM_untrusted_port_vlan_
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ parent_interface: { get_resource: perimeta_b_untrusted_0_port }
+ mac_address: { get_attr: [ perimeta_b_untrusted_0_port, mac_address ] }
+ ip_address: { get_param: [ untrusted_b_ips, { get_param: perimeta_instance_index } ] }
+ ipv6_address: { get_param: [ untrusted_b_v6_ips, { get_param: perimeta_instance_index } ] }
+ virtual_ip_address: { get_param: [ untrusted_vips, { get_param: perimeta_instance_index } ] }
+ virtual_ipv6_address: { get_param: [ untrusted_v6_vips, { get_param: perimeta_instance_index } ] }
+ vlan_ids: { get_param: untrusted_vlan_ids }
+ vlan_networks: { get_param: untrusted_vlan_networks }
+
+ # Perimeta Rf service network ports (SSC only)
+ #
+ # Dual stack access network - if only IPv4 required, comment out second entry
+ # in fixed_ips and allowed_addrsess_pairs parameters.
+ perimeta_b_serv3_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_serv3_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network_id: { get_param: serv3_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [ serv3_b_ips, { get_param: perimeta_instance_index } ] }
+ security_groups: { get_param: serv3_sec_groups }
+ allowed_address_pairs:
+ - ip_address: { get_param: [ serv3_vips, { get_param: perimeta_instance_index } ] }
+
+ perimeta_b_unused_0_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $VM_unused_port
+ params:
+ $VM: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ network: { get_param: unused_net_id }
+
+ # Add any additional service ports here.
+
+ perimeta_b_server_0:
+ type: OS::Nova::Server
+ properties:
+ name: { get_param: [ vm_b_names, { get_param: perimeta_instance_index } ] }
+ image: { get_param: perimeta_image_name }
+ flavor: { get_param: perimeta_flavor_name }
+ key_name: { get_param: perimeta_keypair }
+ scheduler_hints: { group: { get_param: perimeta_param_server_group } }
+ metadata:
+ 'vnf_id': { get_param: vnf_id }
+ 'vm_role':
+ str_replace:
+ template: $ROLE_b
+ params:
+ $ROLE: { get_param: vm_role }
+ 'vf_module_id': { get_param: vf_module_id }
+ networks:
+ - port: { get_resource: perimeta_b_mgmt_0_port }
+ - port: { get_resource: perimeta_b_ha_0_port }
+ - port: { get_resource: perimeta_b_trusted_0_port }
+ - port: { get_resource: perimeta_b_untrusted_0_port }
+ - port: { get_resource: perimeta_b_serv3_0_port }
+ - port: { get_resource: perimeta_b_unused_0_port }
+ availability_zone: { get_param: availability_zone_1 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ {
+ "vnic_assignment": {
+ "IBG1mgmt": {"mac": "$MGMT_MACADDR"},
+ "IPG1": {"mac": "$HA_MACADDR"},
+ "RPG1": {"mac": "$TRUSTED_MACADDR"},
+ "RPG2": {"mac": "$UNTRUSTED_MACADDR"},
+ "RPG3": {"mac": "$SERV3_MACADDR"},
+ "RPG4": {"mac": "$SERV4_MACADDR"}
+ },
+ "ip_ha_local": "$LOCAL_HA_IP_ADDR",
+ "ip_ha_remote": "$REMOTE_HA_IP_ADDR",
+ "ip_ha_plen": "$HA_NETWORK_PLEN"
+ //"ip_mgmt_local": "$LOCAL_MGMT_IP_ADDR",
+ //"ip_mgmt_remote": "$REMOTE_MGMT_IP_ADDR",
+ //"ip_mgmt_plen": "$MGMT_NETWORK_PLEN",
+ //"ip_mgmt_gway": "$MGMT_NETWORK_DEFAULT_GATEWAY"
+ }
+
+ params:
+ $MGMT_MACADDR: { get_attr: [perimeta_b_mgmt_0_port, mac_address] }
+ $HA_MACADDR: { get_attr: [perimeta_b_ha_0_port, mac_address] }
+ $TRUSTED_MACADDR: { get_attr: [perimeta_b_trusted_0_port, mac_address] }
+ $UNTRUSTED_MACADDR: { get_attr: [perimeta_b_untrusted_0_port, mac_address] }
+ $SERV3_MACADDR: { get_attr: [perimeta_b_serv3_0_port, mac_address] }
+ $SERV4_MACADDR: { get_attr: [perimeta_b_unused_0_port, mac_address] }
+ $LOCAL_HA_IP_ADDR: { get_param: [ ha_b_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_HA_IP_ADDR: { get_param: [ ha_a_ips, { get_param: perimeta_instance_index } ] }
+ $HA_NETWORK_PLEN: { get_param: ha_network_plen }
+ $LOCAL_MGMT_IP_ADDR: { get_param: [ mgmt_b_ips, { get_param: perimeta_instance_index } ] }
+ $REMOTE_MGMT_IP_ADDR: { get_param: [ mgmt_a_ips, { get_param: perimeta_instance_index } ] }
+ $MGMT_NETWORK_PLEN: { get_param: mgmt_net_plen }
+ $MGMT_NETWORK_DEFAULT_GATEWAY: { get_param: mgmt_net_default_gateway }
+
+outputs:
+
+ server_group_used:
+ description: Server group used for these VMs
+ value: { get_param: perimeta_param_server_group }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/ssc_a_template.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/ssc_a_template.json
new file mode 100644
index 0000000000..7e82527836
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/ssc_a_template.json
@@ -0,0 +1,34 @@
+{
+ // The vnic_assignment parameter is ignored by Perimeta releases prior to
+ // V4.0.00.
+ "vnic_assignment": {
+ "IBG1mgmt": {"mac": "$MGMT_MACADDR"},
+ "IPG1": {"mac": "$HA_MACADDR"},
+ "RPG1": {"mac": "$TRUSTED_MACADDR"},
+ "RPG2": {"mac": "$UNTRUSTED_MACADDR"},
+ "RPG3": {"mac": "$SERV3_MACADDR"},
+ "RPG4": {"mac": "$SERV4_MACADDR"}
+ },
+ "autocommission":"SSC",
+ "autostart":"true",
+ "autopartner":"",
+ "ip_mgmt_global": "$VIRT_MGMT_IP_ADDR",
+ "ip_mgmt_local": "$LOCAL_MGMT_IP_ADDR",
+ "ip_mgmt_remote": "$REMOTE_MGMT_IP_ADDR",
+ "ip_mgmt_plen": "$MGMT_NETWORK_PLEN",
+ "ip_mgmt_gway": "$MGMT_NETWORK_DEFAULT_GATEWAY",
+ "ip_ha_local": "$LOCAL_HA_IP_ADDR",
+ "ip_ha_remote": "$REMOTE_HA_IP_ADDR",
+ "ip_ha_plen": "$HA_NETWORK_PLEN",
+ "system_name": "$SYSTEM_NAME",
+ "node_local": "$VM_NAME_A",
+ "node_remote": "$VM_NAME_B",
+ "ntp_servers": "$NTP_SERVER_IP_ADDRS",
+ "perimeta": {
+ "dpdk_opt_enable":true,
+ "vlans_opt_enable":true
+ }
+
+ // $COMPLETION_PARAMS
+}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/vlan_subinterface_dual.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/vlan_subinterface_dual.yaml
new file mode 100644
index 0000000000..5d0a72920c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/vlan_subinterface_dual.yaml
@@ -0,0 +1,98 @@
+heat_template_version: 2014-10-16
+
+description: >
+ HOT template to instantiate a single Contrail VLAN sub-interface with associated instance IP addresses and allowed address pairs
+
+parameters:
+ subinterface_instance_index:
+ type: number
+ description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances.
+ subinterface_name_prefix:
+ type: string
+ description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource
+ parent_interface:
+ type: string
+ description: Parent Contrail interface
+ mac_address:
+ type: string
+ description: MAC address to use for subinterface
+ ip_address:
+ type: string
+ description: IPv4 address associated with subinterfaces
+ ipv6_address:
+ type: string
+ description: IPv6 address associated with subinterfaces
+ virtual_ip_address:
+ type: string
+ description: virtual IPv4 address associated with subinterfaces
+ virtual_ipv6_address:
+ type: string
+ description: virtual IPv6 address associated with subinterfaces
+ vlan_ids:
+ type: comma_delimited_list
+ description: List of VLAN IDs to use for subinterfaces
+ vlan_networks:
+ type: comma_delimited_list
+ description: List of Contrail VLAN networks to use for the subinterfaces. The order and number of these must match the VLAN ID list
+
+resources:
+ contrail_vmi_subinterface:
+ type: OS::ContrailV2::VirtualMachineInterface
+ properties:
+ name:
+ str_replace:
+ template: $NAME$VLAN
+ params:
+ $NAME: { get_param: subinterface_name_prefix }
+ $VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+ virtual_machine_interface_properties:
+ {
+ virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
+ }
+ virtual_machine_interface_mac_addresses:
+ {
+ virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
+ }
+ virtual_machine_interface_allowed_address_pairs:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
+ }
+ },
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
+ {
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
+ virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
+ }
+ }
+ ]
+ }
+ virtual_network_refs: [{ get_param: [ vlan_networks, { get_param: subinterface_instance_index } ] }]
+ virtual_machine_interface_refs: [{ get_param: parent_interface }]
+
+ contrail_vmi_ip:
+ type: OS::ContrailV2::InstanceIp
+ depends_on: [ contrail_vmi_subinterface ]
+ properties:
+ virtual_machine_interface_refs: [{ get_resource: contrail_vmi_subinterface }]
+ virtual_network_refs: [{ get_param: [ vlan_networks, { get_param: subinterface_instance_index } ] }]
+ instance_ip_address: { get_param: ip_address }
+ instance_ip_family: v4
+
+ contrail_vmi_ipv6:
+ type: OS::ContrailV2::InstanceIp
+ depends_on: [ contrail_vmi_subinterface ]
+ properties:
+ virtual_machine_interface_refs: [{ get_resource: contrail_vmi_subinterface }]
+ virtual_network_refs: [{ get_param: [ vlan_networks, { get_param: subinterface_instance_index } ] }]
+ instance_ip_address: { get_param: ipv6_address }
+ instance_ip_family: v6