From 280f8015d06af1f41a3ef12e8300801c7a5e0d54 Mon Sep 17 00:00:00 2001 From: AviZi Date: Fri, 9 Jun 2017 02:39:56 +0300 Subject: [SDC-29] Amdocs OnBoard 1707 initial commit. Change-Id: Ie4d12a3f574008b792899b368a0902a8b46b5370 Signed-off-by: AviZi --- .../GlobalSubstitutionTypesServiceTemplate.yaml | 128 + .../expectedoutputfiles/MainServiceTemplate.yaml | 343 +++ .../expectedoutputfiles/nestedServiceTemplate.yaml | 240 ++ .../nested/inputfiles/MANIFEST.json | 17 + .../nested/inputfiles/main.yml | 187 ++ .../nested/inputfiles/nested.yml | 159 ++ .../GlobalSubstitutionTypesServiceTemplate.yaml | 664 +++++ .../expectedoutputfiles/MainServiceTemplate.yaml | 313 +++ .../nested1ServiceTemplate.yaml | 244 ++ .../nested2ServiceTemplate.yaml | 287 ++ .../nested3ServiceTemplate.yaml | 266 ++ .../nested4ServiceTemplate.yaml | 238 ++ .../nestedMultiLevels/inputfiles/MANIFEST.json | 32 + .../nestedMultiLevels/inputfiles/main.yml | 105 + .../nestedMultiLevels/inputfiles/nested1.yml | 125 + .../nestedMultiLevels/inputfiles/nested2.yml | 154 ++ .../nestedMultiLevels/inputfiles/nested3.yml | 149 + .../nestedMultiLevels/inputfiles/nested4.yml | 141 + .../inputfiles/base_perimeta_deployment_create.env | 307 ++ .../vTSBC/inputfiles/custom.ini | 22 + .../GlobalSubstitutionTypesServiceTemplate.yaml | 2919 ++++++++++++++++++++ .../expectedoutputfiles/MainServiceTemplate.yaml | 737 +++++ .../perimeta_ha_swServiceTemplate.yaml | 902 ++++++ .../perimeta_ha_sw_aServiceTemplate.yaml | 613 ++++ .../perimeta_ha_sw_bServiceTemplate.yaml | 604 ++++ .../perimeta_ha_swmuServiceTemplate.yaml | 1076 ++++++++ .../perimeta_ha_swmu_aServiceTemplate.yaml | 719 +++++ .../perimeta_ha_swmu_bServiceTemplate.yaml | 710 +++++ .../vlan_subinterface_dualServiceTemplate.yaml | 156 ++ .../vTSBC_AIC/inputfiles/MANIFEST.json | 94 + .../base_perimeta_deployment_create.yaml | 442 +++ .../module_1_perimeta_ssc_a_healing.yaml | 384 +++ .../module_1_perimeta_ssc_b_healing.yaml | 384 +++ .../inputfiles/module_1_perimeta_ssc_rebuild.yaml | 384 +++ .../module_2_perimeta_rtp_msc_a_healing.yaml | 381 +++ .../module_2_perimeta_rtp_msc_b_healing.yaml | 381 +++ .../module_2_perimeta_rtp_msc_rebuild_scaling.yaml | 381 +++ .../vTSBC_AIC/inputfiles/msc_a_template.json | 33 + .../vTSBC_AIC/inputfiles/perimeta_ha_sw.yaml | 480 ++++ .../vTSBC_AIC/inputfiles/perimeta_ha_sw_a.yaml | 332 +++ .../vTSBC_AIC/inputfiles/perimeta_ha_sw_b.yaml | 327 +++ .../vTSBC_AIC/inputfiles/perimeta_ha_swmu.yaml | 561 ++++ .../vTSBC_AIC/inputfiles/perimeta_ha_swmu_a.yaml | 381 +++ .../vTSBC_AIC/inputfiles/perimeta_ha_swmu_b.yaml | 376 +++ .../vTSBC_AIC/inputfiles/ssc_a_template.json | 34 + .../inputfiles/vlan_subinterface_dual.yaml | 98 + 46 files changed, 18010 insertions(+) create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/MainServiceTemplate.yaml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/expectedoutputfiles/nestedServiceTemplate.yaml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/MANIFEST.json create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/main.yml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nested/inputfiles/nested.yml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/MainServiceTemplate.yaml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested1ServiceTemplate.yaml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested2ServiceTemplate.yaml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested3ServiceTemplate.yaml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/expectedoutputfiles/nested4ServiceTemplate.yaml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/MANIFEST.json create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/main.yml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested1.yml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested2.yml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested3.yml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/nestedMultiLevels/inputfiles/nested4.yml create mode 100644 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 create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC/inputfiles/custom.ini create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/expectedoutputfiles/MainServiceTemplate.yaml create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection/vTSBC_AIC/inputfiles/MANIFEST.json create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 create mode 100644 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 (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/subInterfaceToInterfaceConnection') 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 -- cgit 1.2.3-korg