diff options
author | talio <tali.orenbach@amdocs.com> | 2017-09-14 10:54:21 +0300 |
---|---|---|
committer | talio <tali.orenbach@amdocs.com> | 2017-09-14 10:54:21 +0300 |
commit | 9c94d11d63d9016af74dcf3a2fd72d50955eace2 (patch) | |
tree | 5f56c433dabf17e5bca92a4f95711853f7b871a5 /openecomp-be | |
parent | de8841c36349510e1b4c773753afad0eb8061f8c (diff) |
Removing service templates without node templates
Bugfix for cases where we have substitution service templates without node templates
Issue - ID : SDC-330
Change-Id: Ia9f33ce90fe0dbcc8ca2596ca63da704a48c7e67
Signed-off-by: talio <tali.orenbach@amdocs.com>
Diffstat (limited to 'openecomp-be')
29 files changed, 11293 insertions, 170 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java index f5ad2a1d3c..a0034a3828 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java @@ -587,6 +587,15 @@ public class TranslationContext { } + public Set<String> getServiceTemplatesWithoutNodeTemplateSection() { + return serviceTemplatesWithoutNodeTemplateSection; + } + + public void setServiceTemplatesWithoutNodeTemplateSection( + Set<String> serviceTemplatesWithoutNodeTemplateSection) { + this.serviceTemplatesWithoutNodeTemplateSection = serviceTemplatesWithoutNodeTemplateSection; + } + public void addServiceTemplateWithoutNodeTemplates(String serviceTemplateName){ this.serviceTemplatesWithoutNodeTemplateSection.add(serviceTemplateName); } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNestedImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNestedImpl.java index 843d9fabc6..c29409fe48 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNestedImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNestedImpl.java @@ -20,6 +20,7 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; +import org.apache.commons.collections4.MapUtils; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.logging.api.Logger; @@ -31,12 +32,15 @@ import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate; import org.openecomp.sdc.tosca.services.DataModelUtil; import org.openecomp.sdc.tosca.services.ToscaUtil; import org.openecomp.sdc.tosca.services.impl.ToscaAnalyzerServiceImpl; +import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo; import org.openecomp.sdc.translator.services.heattotosca.ConsolidationDataUtil; import org.openecomp.sdc.translator.services.heattotosca.Constants; import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil; import org.openecomp.sdc.translator.services.heattotosca.TranslationService; +import java.util.Objects; + public class ResourceTranslationNestedImpl extends ResourceTranslationBase { protected static Logger logger = @@ -46,8 +50,9 @@ public class ResourceTranslationNestedImpl extends ResourceTranslationBase { public void translate(TranslateTo translateTo) { mdcDataDebugMessage.debugEntryMessage(null, null); + TranslationContext context = translateTo.getContext(); FileData nestedFileData = - HeatToToscaUtil.getFileData(translateTo.getResource().getType(), translateTo.getContext()); + HeatToToscaUtil.getFileData(translateTo.getResource().getType(), context); if (nestedFileData == null) { logger.warn("Nested File '" + translateTo.getResource().getType() + "' is not exist, therefore, the nested resource with the ID '" @@ -58,7 +63,7 @@ public class ResourceTranslationNestedImpl extends ResourceTranslationBase { String substitutionNodeTypeKey = ToscaNodeType.ABSTRACT_NODE_TYPE_PREFIX + "heat." + templateName; - if (!translateTo.getContext().getTranslatedServiceTemplates() + if (!context.getTranslatedServiceTemplates() .containsKey(translateTo.getResource().getType())) { //substitution service template @@ -68,7 +73,7 @@ public class ResourceTranslationNestedImpl extends ResourceTranslationBase { //global substitution service template ServiceTemplate globalSubstitutionServiceTemplate = new HeatToToscaUtil() .fetchGlobalSubstitutionServiceTemplate(translateTo.getServiceTemplate(), - translateTo.getContext()); + context); //substitution node type NodeType substitutionNodeType = new ToscaAnalyzerServiceImpl() @@ -78,14 +83,22 @@ public class ResourceTranslationNestedImpl extends ResourceTranslationBase { substitutionNodeType); //substitution mapping HeatToToscaUtil - .handleSubstitutionMapping(translateTo.getContext(), substitutionNodeTypeKey, + .handleSubstitutionMapping(context, substitutionNodeTypeKey, nestedSubstitutionServiceTemplate, substitutionNodeType); //add new nested service template - translateTo.getContext().getTranslatedServiceTemplates() + context.getTranslatedServiceTemplates() .put(translateTo.getResource().getType(), nestedSubstitutionServiceTemplate); } + ServiceTemplate substitutionServiceTemplate = context.getTranslatedServiceTemplates() + .get(translateTo.getResource().getType()); + + if(DataModelUtil.isNodeTemplateSectionMissingFromServiceTemplate(substitutionServiceTemplate)){ + handleSubstitutionServiceTemplateWithoutNodeTemplates(translateTo, context, templateName); + mdcDataDebugMessage.debugExitMessage(null, null); + return; + } NodeTemplate substitutionNodeTemplate = HeatToToscaUtil.createAbstractSubstitutionNodeTemplate(translateTo, templateName, substitutionNodeTypeKey); @@ -100,6 +113,13 @@ public class ResourceTranslationNestedImpl extends ResourceTranslationBase { mdcDataDebugMessage.debugExitMessage(null, null); } + private void handleSubstitutionServiceTemplateWithoutNodeTemplates(TranslateTo translateTo, + TranslationContext context, + String templateName) { + context.addServiceTemplateWithoutNodeTemplates(templateName); + context.getTranslatedServiceTemplates().remove(translateTo.getResource().getType()); + } + private ServiceTemplate createSubstitutionServiceTemplate(TranslateTo translateTo, FileData nestedFileData, String templateName) { diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationResourceGroupImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationResourceGroupImpl.java index 5d25c7ef25..bd672e387f 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationResourceGroupImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationResourceGroupImpl.java @@ -45,6 +45,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Optional; public class ResourceTranslationResourceGroupImpl extends ResourceTranslationBase { @@ -72,7 +73,7 @@ public class ResourceTranslationResourceGroupImpl extends ResourceTranslationBas logger.warn("Resource '" + translateTo.getResourceId() + "' of type'" + HeatResourcesTypes.RESOURCE_GROUP_RESOURCE_TYPE.getHeatResource() + "' with resourceDef which is not pointing to nested heat file is not supported and " - + "will be ignored in the translation "); + + "will be ignored in the translation "); mdcDataDebugMessage.debugExitMessage(null, null); return; @@ -88,17 +89,19 @@ public class ResourceTranslationResourceGroupImpl extends ResourceTranslationBas translateTo.getHeatOrchestrationTemplate(), nestedResource, translateTo.getResourceId(), translateTo.getContext()); if (substitutionNodeTemplateId.isPresent()) { - NodeTemplate substitutionNodeTemplate = DataModelUtil - .getNodeTemplate(translateTo.getServiceTemplate(), substitutionNodeTemplateId.get()); - Map serviceTemplateFilter = (Map<String, Object>) substitutionNodeTemplate.getProperties() - .get(ToscaConstants.SERVICE_TEMPLATE_FILTER_PROPERTY_NAME); - - populateServiceTemplateFilterProperties(translateTo, substitutionNodeTemplate, - serviceTemplateFilter); - handlingIndexVar(translateTo, substitutionNodeTemplate); - DataModelUtil - .addNodeTemplate(translateTo.getServiceTemplate(), substitutionNodeTemplateId.get(), - substitutionNodeTemplate); + NodeTemplate substitutionNodeTemplate = + DataModelUtil.getNodeTemplate(translateTo.getServiceTemplate(), substitutionNodeTemplateId.get()); + if(!Objects.isNull(substitutionNodeTemplate)) { + Map serviceTemplateFilter = (Map<String, Object>) substitutionNodeTemplate.getProperties() + .get(ToscaConstants.SERVICE_TEMPLATE_FILTER_PROPERTY_NAME); + + populateServiceTemplateFilterProperties(translateTo, substitutionNodeTemplate, + serviceTemplateFilter); + handlingIndexVar(translateTo, substitutionNodeTemplate); + DataModelUtil + .addNodeTemplate(translateTo.getServiceTemplate(), substitutionNodeTemplateId.get(), + substitutionNodeTemplate); + } } mdcDataDebugMessage.debugExitMessage(null, null); diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/impl/heattotosca/nested/single/TranslateHeatNestedSingle.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/impl/heattotosca/nested/single/TranslateHeatNestedSingle.java index f81da11bc9..38df156efc 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/impl/heattotosca/nested/single/TranslateHeatNestedSingle.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/impl/heattotosca/nested/single/TranslateHeatNestedSingle.java @@ -20,21 +20,39 @@ package org.openecomp.sdc.translator.impl.heattotosca.nested.single; +import org.junit.Before; import org.junit.Test; import org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.ConsolidationDataTestUtil; import org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants; import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseResourceTranslationTest; +import java.io.IOException; + public class TranslateHeatNestedSingle extends BaseResourceTranslationTest { - { - inputFilesPath = "/mock/heat/nested/single/inputs"; - outputFilesPath = "/mock/heat/nested/single/expectedoutputfiles"; + @Override + @Before + public void setUp() throws IOException { + // do not delete this function. it prevents the superclass setup from running } + @Test public void testTranslate() throws Exception { + inputFilesPath = "/mock/heat/nested/single/inputs"; + outputFilesPath = "/mock/heat/nested/single/expectedoutputfiles"; + + initTranslatorAndTranslate(); testTranslation(); validateNestedTemplateConsolidationData(TestConstants.TEST_SINGLE_NESTED_RESOURCE); } + + @Test + public void testTranslateNestedWithoutNodeTemplates() throws IOException { + inputFilesPath = "/mock/heat/nested/nestedwithoutNodeTemplates/inputs"; + outputFilesPath = "/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles"; + + initTranslatorAndTranslate(); + testTranslation(); + } } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml new file mode 100644 index 0000000000..306576bed5 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml @@ -0,0 +1,3462 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: GlobalSubstitutionTypes +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +node_types: + org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_a_child: + 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 + ssc_a_name_0: + type: string + description: Name of Perimeta VM A instance + required: true + status: SUPPORTED + int_ha_network_plen: + type: float + description: Prefix length of subnet associated with internal HA network + required: true + status: SUPPORTED + constraints: + - in_range: + - 0 + - 31 + unused_port_net_id: + type: string + description: Service network unused port network UUID + required: true + status: SUPPORTED + perimeta_server_group: + type: string + description: Server group to use for these VMs + required: true + status: SUPPORTED + perimeta_config: + type: string + description: JSON orchestration template configuration for instance. + required: true + status: SUPPORTED + ssc_a_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IP of A instance. + required: true + status: SUPPORTED + vnf_name: + type: string + description: Unique name for this VNF instance + required: true + status: SUPPORTED + perimeta_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 + int_ha_net_id: + type: string + description: HA network id + required: true + status: SUPPORTED + ssc_b_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IPs of B instance. + required: true + status: SUPPORTED + ssc_mgmt_vip_0: + type: string + description: Management virtual IP address. + required: true + status: SUPPORTED + ssc_a_trusted_ip_0: + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of A instance. + required: true + status: SUPPORTED + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + required: true + status: SUPPORTED + 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 + ssc_trusted_vip_0: + type: string + description: Trusted/core virtual IP address. + required: true + status: SUPPORTED + ssc_untrusted_vip_0: + type: string + description: Untrusted/access virtual IP address + required: true + status: SUPPORTED + perimeta_sec_groups: + type: list + description: List of security groups to add on trusted interfaces. + required: true + status: SUPPORTED + entry_schema: + type: string + ssc_a_untrusted_v6_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of A instance. + required: true + status: SUPPORTED + perimeta_untrusted_num_vlans: + type: float + description: number of VLANs to connect to the untrusted/access interface + required: true + status: SUPPORTED + constraints: + - in_range: + - 1 + - 1001 + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + required: true + status: SUPPORTED + ssc_a_mgmt_ip_0: + type: string + description: Fixed IP address to use as management IP of A instance. + required: true + status: SUPPORTED + trusted_net_id: + type: string + description: Trusted/core network UUID + required: true + status: SUPPORTED + ssc_untrusted_parent_vip_0: + type: string + description: Untrusted/access parent virtual IP address + required: true + status: SUPPORTED + ssc_untrusted_v6_vip_0: + type: string + description: Untrusted/access alternate virtual IP address + required: true + status: SUPPORTED + ssc_a_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC A. + required: true + status: SUPPORTED + vm_role: + type: string + description: Role of these VMs + required: true + status: SUPPORTED + ssc_a_untrusted_parent_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A parent instance. + required: true + status: SUPPORTED + perimeta_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 + ssc_a_untrusted_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A instance. + required: true + status: SUPPORTED + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + required: true + status: SUPPORTED + mgmt_net_id: + type: string + description: Management network id + required: true + status: SUPPORTED + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + required: true + status: SUPPORTED + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + required: true + status: SUPPORTED + requirements: + - dependency_perimeta_ssc_a_ha_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_ha_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_untrusted_parent_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_mgmt_1_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_mgmt_1_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_trusted_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_trusted_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_unused_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_unused_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_mgmt_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_mgmt_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_server_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_perimeta_ssc_a_server_0: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + capabilities: + disk.ephemeral.size_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + instance_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_mgmt_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_mgmt_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + endpoint_perimeta_ssc_a_server_0: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.usage_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_mgmt_1_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_mgmt_1_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_server_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.iops_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_mgmt_1_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_trusted_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.capacity_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + os_perimeta_ssc_a_server_0: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_util_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_untrusted_parent_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.allocation_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_unused_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_trusted_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.latency_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_server_0: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + disk.read.requests_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_ha_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + scalable_perimeta_ssc_a_server_0: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.usage_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_untrusted_parent_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_ha_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + cpu.delta_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.usage_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.iops_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_trusted_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_untrusted_parent_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.root.size_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.allocation_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_unused_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_unused_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + host_perimeta_ssc_a_server_0: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_mgmt_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_ha_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + vcpus_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.latency_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.resident_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_b_child: + 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 + int_ha_network_plen: + type: float + description: Prefix length of subnet associated with internal HA network + required: true + status: SUPPORTED + constraints: + - in_range: + - 0 + - 31 + unused_port_net_id: + type: string + description: Service network unused port network UUID + required: true + status: SUPPORTED + perimeta_server_group: + type: string + description: Server group to use for these VMs + required: true + status: SUPPORTED + ssc_b_name_0: + type: string + description: Name of Perimeta VM B instance + required: true + status: SUPPORTED + ssc_a_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IPs of A instance. + required: true + status: SUPPORTED + ssc_b_untrusted_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B instance. + required: true + status: SUPPORTED + ssc_b_mgmt_ip_0: + type: string + description: Fixed IP address to use as management IP of B instance. + required: true + status: SUPPORTED + ssc_b_untrusted_parent_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B parent instance. + required: true + status: SUPPORTED + vnf_name: + type: string + description: Unique name for this VNF instance + required: true + status: SUPPORTED + perimeta_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 + int_ha_net_id: + type: string + description: HA network id + required: true + status: SUPPORTED + ssc_b_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IP of B instance. + required: true + status: SUPPORTED + ssc_mgmt_vip_0: + type: string + description: Management virtual IP address. + required: true + status: SUPPORTED + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + required: true + status: SUPPORTED + vnf_id: + type: string + description: VNF ID of this deployment + 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 + ssc_trusted_vip_0: + type: string + description: Trusted/core virtual IP address. + required: true + status: SUPPORTED + ssc_untrusted_vip_0: + type: string + description: Untrusted/access virtual IP address + required: true + status: SUPPORTED + perimeta_sec_groups: + type: list + description: List of security groups to add on trusted interfaces. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_untrusted_num_vlans: + type: float + description: number of VLANs to connect to the untrusted/access interface + required: true + status: SUPPORTED + constraints: + - in_range: + - 1 + - 1001 + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + required: true + status: SUPPORTED + ssc_b_trusted_ip_0: + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of B instance. + required: true + status: SUPPORTED + trusted_net_id: + type: string + description: Trusted/core network UUID + required: true + status: SUPPORTED + ssc_untrusted_parent_vip_0: + type: string + description: Untrusted/access parent virtual IP address + required: true + status: SUPPORTED + ssc_untrusted_v6_vip_0: + type: string + description: Untrusted/access alternate virtual IP address + required: true + status: SUPPORTED + ssc_b_untrusted_v6_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of B instance. + required: true + status: SUPPORTED + vm_role: + type: string + description: Role of these VMs + required: true + status: SUPPORTED + perimeta_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 + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + required: true + status: SUPPORTED + ssc_b_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC B. + required: true + status: SUPPORTED + mgmt_net_id: + type: string + description: Management network id + required: true + status: SUPPORTED + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + required: true + status: SUPPORTED + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + required: true + status: SUPPORTED + requirements: + - dependency_perimeta_ssc_b_trusted_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_trusted_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_b_untrusted_parent_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_b_mgmt_1_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_mgmt_1_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_b_unused_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_unused_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_b_server_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_perimeta_ssc_b_server_0: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_perimeta_ssc_b_mgmt_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_mgmt_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_b_ha_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_ha_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + host_perimeta_ssc_b_server_0: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + vcpus_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_mgmt_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + os_perimeta_ssc_b_server_0: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + memory_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.allocation_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_trusted_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.device.iops_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.usage_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_mgmt_1_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_unused_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + endpoint_perimeta_ssc_b_server_0: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_server_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_mgmt_1_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + cpu.delta_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.root.size_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.resident_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.ephemeral.size_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + instance_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_untrusted_parent_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_trusted_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_mgmt_1_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.latency_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_unused_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_ha_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_ha_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_untrusted_parent_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_perimeta_ssc_b_server_0: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + scalable_perimeta_ssc_b_server_0: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.device.latency_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.requests_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_untrusted_parent_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.usage_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_ha_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_trusted_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.allocation_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.iops_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.usage_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_util_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.capacity_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_mgmt_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_mgmt_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_unused_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.module_2_perimeta_sw_a_child: + 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 + int_ha_network_plen: + type: float + description: Prefix length of subnet associated with internal HA network + required: true + status: SUPPORTED + constraints: + - in_range: + - 0 + - 31 + perimeta_config: + type: string + description: JSON orchestration template configuration for instance. + required: true + status: SUPPORTED + vnf_name: + type: string + description: Unique name for this VNF instance + required: true + status: SUPPORTED + perimeta_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 + int_ha_net_id: + type: string + description: HA network id + required: true + status: SUPPORTED + 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 + constraints: + - in_range: + - 0 + - 19 + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + required: true + status: SUPPORTED + perimeta_server_groups: + type: list + description: Server groups to use for these VMs + 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 + rtp_msc_mgmt_vips: + type: list + description: List of management virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_sec_groups: + type: list + description: List of security groups to add on trusted interfaces. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_untrusted_parent_vips: + type: list + description: List of Untrusted/access parent virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_untrusted_num_vlans: + type: float + description: number of VLANs to connect to the untrusted/access interface + required: true + status: SUPPORTED + constraints: + - in_range: + - 1 + - 1001 + rtp_msc_a_int_ha_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 + rtp_msc_a_untrusted_parent_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of A instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_a_trusted_ips: + type: list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of A instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_untrusted_vips: + type: list + description: List of Untrusted/access virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + trusted_net_id: + type: string + description: Trusted/core network UUID + required: true + status: SUPPORTED + rtp_msc_b_int_ha_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 + rtp_msc_a_mgmt_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 + rtp_msc_a_untrusted_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access fixed 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 + rtp_msc_untrusted_v6_vips: + type: list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_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 + rtp_msc_a_untrusted_v6_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of A 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_id: + type: string + description: Management network id + required: true + status: SUPPORTED + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + required: true + status: SUPPORTED + rtp_msc_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 + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + required: true + status: SUPPORTED + rtp_msc_trusted_vips: + type: list + description: List of Trusted/core virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + requirements: + - dependency_perimeta_rtp_msc_a_trusted_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_a_trusted_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_a_ha_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_a_ha_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_a_untrusted_parent_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_a_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_a_server_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_perimeta_rtp_msc_a_server_0: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_perimeta_rtp_msc_a_mgmt_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_a_mgmt_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + attachment_perimeta_rtp_msc_a_ha_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_a_mgmt_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_a_trusted_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.latency_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + vcpus_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.resident_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + cpu_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.capacity_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + os_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_a_ha_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.allocation_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.iops_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_a_mgmt_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.usage_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_a_trusted_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.usage_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_a_ha_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.iops_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.allocation_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.ephemeral.size_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_util_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + scalable_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + host_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.root.size_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + endpoint_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_a_trusted_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + instance_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_a_mgmt_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.latency_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.requests_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu.delta_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.usage_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual: + derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute + properties: + perimeta_parent_interface: + type: string + description: Parent Contrail interface + required: true + status: SUPPORTED + perimeta_v6_vip_0: + type: string + description: virtual IPv6 address associated with subinterfaces + required: true + status: SUPPORTED + perimeta_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 + perimeta_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 + perimeta_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 + constraints: + - in_range: + - 1 + - 1001 + perimeta_ip_0: + type: string + description: IPv4 address associated with subinterfaces + required: true + status: SUPPORTED + perimeta_vip_0: + type: string + description: virtual IPv4 address associated with subinterfaces + required: true + status: SUPPORTED + perimeta_vlan_ids: + type: list + description: List of VLAN IDs to use for subinterfaces + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_mac_address: + type: string + description: MAC address to use for subinterface + required: true + status: SUPPORTED + perimeta_v6_ip_0: + type: string + description: IPv6 address associated with subinterfaces + required: true + status: SUPPORTED + org.openecomp.resource.abstract.nodes.heat.module_2_perimeta_sw_b_child: + 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 + int_ha_network_plen: + type: float + description: Prefix length of subnet associated with internal HA network + required: true + status: SUPPORTED + constraints: + - in_range: + - 0 + - 31 + rtp_msc_b_untrusted_v6_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of B instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_b_mgmt_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 + vnf_name: + type: string + description: Unique name for this VNF instance + required: true + status: SUPPORTED + perimeta_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 + rtp_msc_b_names: + type: list + description: List of names of Perimeta VM B instances, indexed by perimeta_instance_index + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_b_untrusted_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access fixed IPs of B instances. + required: true + status: SUPPORTED + entry_schema: + type: string + int_ha_net_id: + type: string + description: HA network id + required: true + status: SUPPORTED + 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 + constraints: + - in_range: + - 0 + - 19 + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + required: true + status: SUPPORTED + perimeta_server_groups: + type: list + description: Server groups to use for these VMs + required: true + status: SUPPORTED + entry_schema: + type: string + vnf_id: + type: string + description: VNF ID of this deployment + 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 + rtp_msc_mgmt_vips: + type: list + description: List of management virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_sec_groups: + type: list + description: List of security groups to add on trusted interfaces. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_untrusted_parent_vips: + type: list + description: List of Untrusted/access parent virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_untrusted_num_vlans: + type: float + description: number of VLANs to connect to the untrusted/access interface + required: true + status: SUPPORTED + constraints: + - in_range: + - 1 + - 1001 + rtp_msc_a_int_ha_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 + rtp_msc_b_trusted_ips: + type: list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of B instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_untrusted_vips: + type: list + description: List of Untrusted/access virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + trusted_net_id: + type: string + description: Trusted/core network UUID + required: true + status: SUPPORTED + rtp_msc_b_int_ha_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 + vm_role: + type: string + description: Role of these VMs + required: true + status: SUPPORTED + rtp_msc_untrusted_v6_vips: + type: list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_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 + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + required: true + status: SUPPORTED + rtp_msc_b_untrusted_parent_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of B instances. + required: true + status: SUPPORTED + entry_schema: + type: string + mgmt_net_id: + type: string + description: Management network id + required: true + status: SUPPORTED + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + required: true + status: SUPPORTED + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + required: true + status: SUPPORTED + rtp_msc_trusted_vips: + type: list + description: List of Trusted/core virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + requirements: + - dependency_perimeta_rtp_msc_b_trusted_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_b_trusted_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_b_mgmt_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_b_mgmt_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_b_server_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_perimeta_rtp_msc_b_server_0: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_perimeta_rtp_msc_b_ha_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_b_ha_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_b_untrusted_parent_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_b_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + attachment_perimeta_rtp_msc_b_mgmt_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.read.requests_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_b_trusted_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.latency_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.ephemeral.size_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_b_ha_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.capacity_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_b_ha_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.device.usage_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.allocation_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.root.size_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_util_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.latency_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + os_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.iops_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + instance_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + vcpus_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.resident_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_b_mgmt_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + endpoint_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.usage_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + scalable_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + cpu.delta_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.allocation_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.usage_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_b_mgmt_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + host_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_b_trusted_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_b_trusted_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.iops_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_b_ha_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + 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/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/MainServiceTemplate.yaml new file mode 100644 index 0000000000..1993eeaf1a --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/MainServiceTemplate.yaml @@ -0,0 +1,1302 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: Main +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- 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,29}$' + 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,29}$' + ssc_b_untrusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv4 address on Untrusted/access network for SSC B. + ssc_b_untrusted_parent_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv4 address on Untrusted/access parent network for SSC B. + perimeta_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 + ssc_json_radius_servername: + hidden: false + immutable: false + type: string + description: IP Address or hostname of RADIUS server + ssc_mgmt_vip_0: + hidden: false + immutable: false + type: string + description: Management virtual IP address to use for SSC. + rtp_msc_json_use_radius_authentication: + hidden: false + immutable: false + type: string + description: Json prefix, used to indicate if user account authentication is done externally through Radius + constraints: + - valid_values: + - ' ' + - '// not using Radius ' + 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. + perimeta_untrusted_num_vlans: + hidden: false + immutable: false + type: float + description: number of VLANs to connect to the untrusted/access interface + constraints: + - in_range: + - 1 + - 1001 + rtp_msc_mgmt_vips: + hidden: false + immutable: false + type: list + description: List of management virtual IP addresses to use for RTP MSC. + entry_schema: + type: string + ssc_a_json_prefix: + hidden: false + immutable: false + type: string + description: Json prefix, used to create the correct json file depending on the operation being performed + default: ' ' + constraints: + - valid_values: + - ' ' + - '// healing, not required ' + rtp_msc_a_untrusted_parent_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Untrusted/access parent network for RTP MSC A. + 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. + shared_perimeta_ssc_server_group: + hidden: false + immutable: false + type: string + description: Server group to use for these VMs + ssc_json_radius_timeout: + hidden: false + immutable: false + type: float + description: Timeout for connect requests to RADIUS server + constraints: + - in_range: + - 1 + - 60 + rtp_msc_untrusted_vips: + hidden: false + immutable: false + type: list + description: List of virtual IPv4 addresses on Untrusted/access network for RTP MSC. + entry_schema: + type: string + rtp_msc_json_radius_servername: + hidden: false + immutable: false + type: string + description: IP Address or hostname of RADIUS server + rtp_msc_vnfcnames: + hidden: false + immutable: false + type: list + description: List of vnfc names of the RTP MSC. This is the name associated with the perimeta pair and corresponds to the VIP + entry_schema: + type: string + ssc_image_name: + hidden: false + immutable: false + type: string + description: Glance image to use for launching SSC Perimeta instances. + default: ISBC_SBC_v4.0.40_SU12.qcow2 + constraints: [ + ] + perimeta_max_rtp_msc_count: + hidden: false + immutable: false + type: float + description: Max number of RTP MSCs in a site. + default: 8 + constraints: + - in_range: + - 0 + - 20 + 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}) + rtp_msc_json_radius_default: + hidden: false + immutable: false + type: string + description: Default authentication level for RADIUS users + constraints: + - valid_values: + - no-access + - read-only + - support + - restricted-admin + - admin + rtp_msc_a_vnfcnames: + hidden: false + immutable: false + type: list + description: List of vnfc names of the A of RTP MSC + entry_schema: + type: string + ssc_b_untrusted_v6_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv6 address on Untrusted/access network for SSC B. + rtp_msc_b_index: + hidden: false + immutable: false + type: float + description: Index of RTP MSC to instantiate / heal. + constraints: + - in_range: + - 0 + - 19 + rtp_msc_untrusted_v6_vips: + hidden: false + immutable: false + type: list + description: List of virtual IPv6 addresses on Untrusted/access network for RTP MSC. + entry_schema: + type: string + shared_ssc_unused_net_id: + hidden: false + immutable: false + type: string + description: Unused network ID + ssc_b_rf_ip_0: + hidden: false + immutable: false + type: string + description: RF fixed IP address to use for SSC B. + rtp_msc_b_untrusted_parent_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Untrusted/access parent network for RTP MSC B. + entry_schema: + type: string + ssc_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating SSC VM instance + default: gv.c8r16d160 + constraints: [ + ] + mgmt_net_id: + hidden: false + immutable: false + type: string + description: Management network ID + constraints: [ + ] + ssc_json_radius_secret: + hidden: false + immutable: false + type: string + description: Shared secret to use for the RADIUS Server + rtp_msc_a_names: + hidden: false + immutable: false + type: list + description: List of names of VM A of RTP MSC + entry_schema: + type: string + shared_int_ha_net_id: + hidden: false + immutable: false + type: string + description: HA network id + constraints: [ + ] + ssc_vnfcname_0: + hidden: false + immutable: false + type: string + description: Name of vnfc of SSC. This is the name associated with the perimeta pair and corresponds to the VIP + constraints: + - pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + rtp_msc_trusted_vips: + hidden: false + immutable: false + type: list + description: List of virtual IPv4 addresses on Trusted/core network for RTP MSC. + entry_schema: + type: string + rtp_msc_json_radius_port: + hidden: false + immutable: false + type: float + description: Port to use to connect to RADIUS server + constraints: + - in_range: + - 0 + - 65535 + vf_module_id: + hidden: false + immutable: false + type: string + description: Unique ID for this VF Module instance + ssc_json_radius_port: + hidden: false + immutable: false + type: float + description: Port to use to connect to RADIUS server + constraints: + - in_range: + - 0 + - 65535 + rtp_msc_b_untrusted_v6_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv6 addresses on Untrusted/access network for RTP MSC B. + entry_schema: + type: string + rtp_msc_b_mgmt_ips: + hidden: false + immutable: false + type: list + description: List of management fixed IP addresses to use for RTP MSC B. + 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. + ssc_b_mgmt_ip_0: + hidden: false + immutable: false + type: string + description: Management fixed IP address to use for SSC B. + vnf_name: + hidden: false + immutable: false + type: string + description: Unique name for this VNF instance + rtp_msc_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating RTP MSC VM instance + default: gv.c8r16d160 + constraints: [ + ] + perimeta_int_ha_net_prefix_v4: + hidden: false + immutable: false + type: string + description: IPv4 subnet prefix for internal HA network + default: 172.26.1.4 + rtp_msc_b_names: + hidden: false + immutable: false + type: list + description: List of names of VM B of RTP MSC + entry_schema: + type: string + rtp_msc_b_untrusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Untrusted/access network for RTP MSC B. + entry_schema: + type: string + perimeta_ssh_key: + hidden: false + immutable: false + type: string + description: SSH public key + default: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXvSadEWp+nsz3gEAAAAAAAAAAbggQ3t06mqFIauHfUYMiKZ3EUX3jDFf/uGQoNsIZU6SNE/gl3tY4fFvO8Yzj8OY/vstHHvEadbY5aXNE6kd39ik20uRNbeZLT+pRllBwVKBSVnFqG3kBDvNWmBIenlPZzu3Ay0LYT/aDq6fZaz8Mqy8hzhpAAAAAAAAAAEmS/ESYY4UMs/aF2fVGmCLqudSjLpSsyD8lXag2dmeiT7cTdwRkgtDNTULXCPVucolVZwZF9BxXPNK++B+fL/ZY4MrXHXgZYGEElrMCFYkQFb3jQv3XQtxZ6gVByrzgGc9eiU7tkCgY2cVfb22iIs9n Generated-by-Nova + rtp_msc_a_index: + hidden: false + immutable: false + type: float + description: Index of RTP MSC to instantiate / heal. + constraints: + - in_range: + - 0 + - 19 + rtp_msc_json_v41: + hidden: false + immutable: false + type: string + description: Json prefix, used to ensure that the json tags will be recognised by the server loading them + default: ' ' + constraints: + - valid_values: + - ' ' + - '// older perimeta, parameter not required ' + shared_perimeta_rtp_msc_server_groups: + hidden: false + immutable: false + type: list + description: Server group to use for these VMs + entry_schema: + type: string + rtp_msc_a_json_prefix: + hidden: false + immutable: false + type: string + description: Json prefix, used to create the correct json file depending on the operation being performed + default: ' ' + constraints: + - valid_values: + - ' ' + - '// healing, not required ' + ssc_b_int_ha_ip_0: + hidden: false + immutable: false + type: string + description: HA fixed IP address to use for SSC B. + rtp_msc_b_vnfcnames: + hidden: false + immutable: false + type: list + description: List of vnfc names of VM B of RTP MSC + entry_schema: + type: string + ssc_a_trusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv4 address on Trusted/core network for SSC A. + 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. + perimeta_int_ha_net_prefix_len_v4: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + default: 26 + constraints: + - in_range: + - 0 + - 31 + ssc_a_untrusted_v6_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv6 address on Untrusted/access network for SSC A. + rtp_msc_untrusted_parent_vips: + hidden: false + immutable: false + type: list + description: List of virtual IPv4 addresses on Untrusted/access parent network for RTP MSC. + entry_schema: + type: string + shared_int_ha_net_prefix_len_v4: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + constraints: + - in_range: + - 0 + - 31 + ssc_rf_vip_0: + hidden: false + immutable: false + type: string + description: RF virtual IP address to use for SSC. + rtp_msc_a_int_ha_ips: + hidden: false + immutable: false + type: list + description: List of HA fixed IP addresses to use for RTP MSC A. + entry_schema: + type: string + shared_perimeta_keypair: + hidden: false + immutable: false + type: string + description: Keypair to use for accessing this Perimeta instance + shared_int_untrusted_parent_net_id: + hidden: false + immutable: false + type: string + description: untrusted parent network id + ssc_a_vnfcname_0: + hidden: false + immutable: false + type: string + description: vnfc name of VM A of SSC + constraints: + - pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + rtp_msc_json_radius_secret: + hidden: false + immutable: false + type: string + description: Shared secret to use for the RADIUS Server + rtp_msc_b_trusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Trusted/core network for RTP MSC B. + entry_schema: + type: string + rtp_msc_a_trusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Trusted/core network for RTP MSC A. + 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. + default: ISBC_SBC_v4.0.40_SU12.qcow2 + constraints: [ + ] + ssc_a_mgmt_ip_0: + hidden: false + immutable: false + type: string + description: Management fixed IP address to use for SSC A. + ssc_untrusted_parent_vip_0: + hidden: false + immutable: false + type: string + description: Virtual IPv4 address on Untrusted/access parent network for SSC. + rtp_msc_b_int_ha_ips: + hidden: false + immutable: false + type: list + description: List of HA fixed IP addresses to use for RTP MSC B. + 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. + rtp_msc_a_mgmt_ips: + hidden: false + immutable: false + type: list + description: List of management fixed IP addresses to use for RTP MSC A. + entry_schema: + type: string + rtp_msc_a_untrusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Untrusted/access network for RTP MSC A. + entry_schema: + type: string + ssc_a_rf_ip_0: + hidden: false + immutable: false + type: string + description: RF fixed IP address to use for SSC A. + ssc_json_use_radius_authentication: + hidden: false + immutable: false + type: string + description: Json prefix, used to indicate if user account authentication is done externally through Radius + constraints: + - valid_values: + - ' ' + - '// not using Radius ' + ssc_a_untrusted_parent_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv4 address on Untrusted/access parent network for SSC A. + perimeta_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_a_untrusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv4 address on Untrusted/access network for SSC A. + rtp_msc_a_untrusted_v6_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv6 addresses on Untrusted/access network for RTP MSC A. + entry_schema: + type: string + mgmt_net_default_gateway: + hidden: false + immutable: false + type: string + description: Default gateway for management network + rtp_msc_json_radius_timeout: + hidden: false + immutable: false + type: float + description: Timeout for connect requests to RADIUS server + constraints: + - in_range: + - 1 + - 60 + ssc_b_vnfcname_0: + hidden: false + immutable: false + type: string + description: vnfc name of VM B of SSC + constraints: + - pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + ssc_json_v41: + hidden: false + immutable: false + type: string + description: Json prefix, used to ensure that the json tags will be recognised by the server loading them + default: ' ' + constraints: + - valid_values: + - ' ' + - '// older perimeta, parameter not required ' + ssc_json_radius_default: + hidden: false + immutable: false + type: string + description: Default authentication level for RADIUS users + constraints: + - valid_values: + - no-access + - read-only + - support + - restricted-admin + - admin + shared_perimeta_sec_groups: + hidden: false + immutable: false + type: list + description: List of security groups to add on all interfaces. + entry_schema: + type: string + node_templates: + perimeta_rtp_msc_a: + type: org.openecomp.resource.abstract.nodes.heat.module_2_perimeta_sw_a_child + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + int_ha_network_plen: + get_input: shared_int_ha_net_prefix_len_v4 + perimeta_config: + str_replace: + template: + get_artifact: + - SELF + - rtp_msc_a_template + params: + $RADIUS_SERVERNAME: + get_input: rtp_msc_json_radius_servername + $REMOTE_MGMT_IP_ADDR: + get_input: + - rtp_msc_b_mgmt_ips + - get_input: rtp_msc_a_index + $VIRT_MGMT_IP_ADDR: + get_input: + - rtp_msc_mgmt_vips + - get_input: rtp_msc_a_index + $LOCAL_MGMT_IP_ADDR: + get_input: + - rtp_msc_a_mgmt_ips + - get_input: rtp_msc_a_index + $MGMT_NETWORK_DEFAULT_GATEWAY: + get_input: mgmt_net_default_gateway + $RADIUS_DEFAULT: + get_input: rtp_msc_json_radius_default + $COMPLETION_PARAMS: '' + $RADIUS_PORT: + get_input: rtp_msc_json_radius_port + $NTP_SERVER_IP_ADDRS: + get_input: ntp_server_ip_addrs + $HEALING_OR_INSTANTIATION: + get_input: rtp_msc_a_json_prefix + $RADIUS_SECRET: + get_input: rtp_msc_json_radius_secret + $RADIUS_TIMEOUT: + get_input: rtp_msc_json_radius_timeout + $41ORABOVE: + get_input: rtp_msc_json_v41 + $SYSTEM_NAME: + get_input: + - rtp_msc_vnfcnames + - get_input: rtp_msc_a_index + $USERADIUSAUTH: + get_input: rtp_msc_json_use_radius_authentication + $MGMT_NETWORK_PLEN: + get_input: mgmt_net_plen + $VM_NAME_A: + get_input: + - rtp_msc_a_vnfcnames + - get_input: rtp_msc_a_index + $VM_NAME_B: + get_input: + - rtp_msc_b_vnfcnames + - get_input: rtp_msc_a_index + vnf_name: + get_input: vnf_name + perimeta_untrusted_vlan_ids: + get_input: perimeta_untrusted_vlan_ids + int_ha_net_id: + get_input: shared_int_ha_net_id + perimeta_instance_index: + get_input: rtp_msc_a_index + service_template_filter: + substitute_service_template: module_2_perimeta_sw_a_childServiceTemplate.yaml + perimeta_keypair: + get_input: shared_perimeta_keypair + perimeta_server_groups: + get_input: shared_perimeta_rtp_msc_server_groups + vnf_id: + get_input: vnf_id + availability_zone_0: + get_input: availability_zone_0 + rtp_msc_mgmt_vips: + get_input: rtp_msc_mgmt_vips + perimeta_sec_groups: + get_input: shared_perimeta_sec_groups + rtp_msc_untrusted_parent_vips: + get_input: rtp_msc_untrusted_parent_vips + perimeta_untrusted_num_vlans: + get_input: perimeta_untrusted_num_vlans + rtp_msc_a_int_ha_ips: + get_input: rtp_msc_a_int_ha_ips + rtp_msc_a_untrusted_parent_ips: + get_input: rtp_msc_a_untrusted_parent_ips + rtp_msc_a_trusted_ips: + get_input: rtp_msc_a_trusted_ips + rtp_msc_untrusted_vips: + get_input: rtp_msc_untrusted_vips + trusted_net_id: + get_input: trusted_net_id + rtp_msc_b_int_ha_ips: + get_input: rtp_msc_b_int_ha_ips + rtp_msc_a_mgmt_ips: + get_input: rtp_msc_a_mgmt_ips + rtp_msc_a_untrusted_ips: + get_input: rtp_msc_a_untrusted_ips + vm_role: msc + rtp_msc_untrusted_v6_vips: + get_input: rtp_msc_untrusted_v6_vips + perimeta_untrusted_vlan_networks: + get_input: perimeta_untrusted_vlan_networks + rtp_msc_a_untrusted_v6_ips: + get_input: rtp_msc_a_untrusted_v6_ips + perimeta_image_name: + get_input: rtp_msc_image_name + mgmt_net_id: + get_input: mgmt_net_id + int_untrusted_parent_net_id: + get_input: shared_int_untrusted_parent_net_id + rtp_msc_a_names: + get_input: rtp_msc_a_names + perimeta_flavor_name: + get_input: rtp_msc_flavor_name + rtp_msc_trusted_vips: + get_input: rtp_msc_trusted_vips + requirements: + - link_perimeta_rtp_msc_a_ha_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_internal_ha_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_rtp_msc_a_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_int_untrusted_parent_net_0 + relationship: tosca.relationships.network.LinksTo + artifacts: + rtp_msc_a_template: + type: tosca.artifacts.Deployment + file: ../Artifacts/rtp_msc_a_template.json + shared_perimeta_internal_ha_net_0: + type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork + properties: + network_ipam_refs_data: + - network_ipam_refs_data_ipam_subnets: + - network_ipam_refs_data_ipam_subnets_enable_dhcp: false + network_ipam_refs_data_ipam_subnets_subnet: + network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len: + get_input: perimeta_int_ha_net_prefix_len_v4 + network_ipam_refs_data_ipam_subnets_subnet_ip_prefix: + get_input: perimeta_int_ha_net_prefix_v4 + network_name: + str_replace: + template: $VF_NAME_int_ha_net_0 + params: + $VF_NAME: + get_input: vnf_name + network_ipam_refs: + - UNSUPPORTED_RESOURCE_perimeta_internal_ha_ipam_net_0 + perimeta_rtp_msc_b: + type: org.openecomp.resource.abstract.nodes.heat.module_2_perimeta_sw_b_child + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + int_ha_network_plen: + get_input: shared_int_ha_net_prefix_len_v4 + rtp_msc_b_untrusted_v6_ips: + get_input: rtp_msc_b_untrusted_v6_ips + rtp_msc_b_mgmt_ips: + get_input: rtp_msc_b_mgmt_ips + vnf_name: + get_input: vnf_name + perimeta_untrusted_vlan_ids: + get_input: perimeta_untrusted_vlan_ids + rtp_msc_b_names: + get_input: rtp_msc_b_names + rtp_msc_b_untrusted_ips: + get_input: rtp_msc_b_untrusted_ips + int_ha_net_id: + get_input: shared_int_ha_net_id + perimeta_instance_index: + get_input: rtp_msc_b_index + service_template_filter: + substitute_service_template: module_2_perimeta_sw_b_childServiceTemplate.yaml + perimeta_keypair: + get_input: shared_perimeta_keypair + perimeta_server_groups: + get_input: shared_perimeta_rtp_msc_server_groups + vnf_id: + get_input: vnf_id + availability_zone_1: + get_input: availability_zone_1 + rtp_msc_mgmt_vips: + get_input: rtp_msc_mgmt_vips + perimeta_sec_groups: + get_input: shared_perimeta_sec_groups + rtp_msc_untrusted_parent_vips: + get_input: rtp_msc_untrusted_parent_vips + perimeta_untrusted_num_vlans: + get_input: perimeta_untrusted_num_vlans + rtp_msc_a_int_ha_ips: + get_input: rtp_msc_a_int_ha_ips + rtp_msc_b_trusted_ips: + get_input: rtp_msc_b_trusted_ips + rtp_msc_untrusted_vips: + get_input: rtp_msc_untrusted_vips + trusted_net_id: + get_input: trusted_net_id + rtp_msc_b_int_ha_ips: + get_input: rtp_msc_b_int_ha_ips + vm_role: msc + rtp_msc_untrusted_v6_vips: + get_input: rtp_msc_untrusted_v6_vips + perimeta_untrusted_vlan_networks: + get_input: perimeta_untrusted_vlan_networks + perimeta_image_name: + get_input: rtp_msc_image_name + rtp_msc_b_untrusted_parent_ips: + get_input: rtp_msc_b_untrusted_parent_ips + mgmt_net_id: + get_input: mgmt_net_id + int_untrusted_parent_net_id: + get_input: shared_int_untrusted_parent_net_id + perimeta_flavor_name: + get_input: rtp_msc_flavor_name + rtp_msc_trusted_vips: + get_input: rtp_msc_trusted_vips + requirements: + - link_perimeta_rtp_msc_b_ha_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_internal_ha_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_rtp_msc_b_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_int_untrusted_parent_net_0 + relationship: tosca.relationships.network.LinksTo + perimeta_ssc_a: + type: org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_a_child + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + ssc_a_name_0: + get_input: ssc_a_name_0 + int_ha_network_plen: + get_input: shared_int_ha_net_prefix_len_v4 + perimeta_server_group: + get_input: shared_perimeta_ssc_server_group + unused_port_net_id: + get_input: shared_ssc_unused_net_id + perimeta_config: + str_replace: + template: + get_artifact: + - SELF + - ssc_a_template + params: + $RADIUS_SERVERNAME: + get_input: ssc_json_radius_servername + $REMOTE_MGMT_IP_ADDR: + get_input: ssc_b_mgmt_ip_0 + $VIRT_MGMT_IP_ADDR: + get_input: ssc_mgmt_vip_0 + $LOCAL_MGMT_IP_ADDR: + get_input: ssc_a_mgmt_ip_0 + $MGMT_NETWORK_DEFAULT_GATEWAY: + get_input: mgmt_net_default_gateway + $RADIUS_DEFAULT: + get_input: ssc_json_radius_default + $COMPLETION_PARAMS: '' + $RADIUS_PORT: + get_input: ssc_json_radius_port + $NTP_SERVER_IP_ADDRS: + get_input: ntp_server_ip_addrs + $HEALING_OR_INSTANTIATION: + get_input: ssc_a_json_prefix + $RADIUS_SECRET: + get_input: ssc_json_radius_secret + $RADIUS_TIMEOUT: + get_input: ssc_json_radius_timeout + $41ORABOVE: + get_input: ssc_json_v41 + $SYSTEM_NAME: + get_input: ssc_vnfcname_0 + $USERADIUSAUTH: + get_input: ssc_json_use_radius_authentication + $MGMT_NETWORK_PLEN: + get_input: mgmt_net_plen + $VM_NAME_A: + get_input: ssc_a_vnfcname_0 + $VM_NAME_B: + get_input: ssc_b_vnfcname_0 + ssc_a_int_ha_ip_0: + get_input: ssc_a_int_ha_ip_0 + vnf_name: + get_input: vnf_name + perimeta_untrusted_vlan_ids: + get_input: perimeta_untrusted_vlan_ids + int_ha_net_id: + get_input: shared_int_ha_net_id + ssc_b_int_ha_ip_0: + get_input: ssc_b_int_ha_ip_0 + ssc_mgmt_vip_0: + get_input: ssc_mgmt_vip_0 + service_template_filter: + substitute_service_template: module_1_perimeta_swmu_a_childServiceTemplate.yaml + ssc_a_trusted_ip_0: + get_input: ssc_a_trusted_ip_0 + perimeta_keypair: + get_input: shared_perimeta_keypair + vnf_id: + get_input: vnf_id + availability_zone_0: + get_input: availability_zone_0 + ssc_trusted_vip_0: + get_input: ssc_trusted_vip_0 + ssc_untrusted_vip_0: + get_input: ssc_untrusted_vip_0 + perimeta_sec_groups: + get_input: shared_perimeta_sec_groups + ssc_a_untrusted_v6_ip_0: + get_input: ssc_a_untrusted_v6_ip_0 + perimeta_untrusted_num_vlans: + get_input: perimeta_untrusted_num_vlans + ssc_rf_vip_0: + get_input: ssc_rf_vip_0 + ssc_a_mgmt_ip_0: + get_input: ssc_a_mgmt_ip_0 + trusted_net_id: + get_input: trusted_net_id + ssc_untrusted_parent_vip_0: + get_input: ssc_untrusted_parent_vip_0 + ssc_untrusted_v6_vip_0: + get_input: ssc_untrusted_v6_vip_0 + ssc_a_rf_ip_0: + get_input: ssc_a_rf_ip_0 + vm_role: ssc + ssc_a_untrusted_parent_ip_0: + get_input: ssc_a_untrusted_parent_ip_0 + perimeta_untrusted_vlan_networks: + get_input: perimeta_untrusted_vlan_networks + ssc_a_untrusted_ip_0: + get_input: ssc_a_untrusted_ip_0 + perimeta_image_name: + get_input: ssc_image_name + mgmt_net_id: + get_input: mgmt_net_id + int_untrusted_parent_net_id: + get_input: shared_int_untrusted_parent_net_id + perimeta_flavor_name: + get_input: ssc_flavor_name + requirements: + - link_perimeta_ssc_a_ha_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_internal_ha_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_ssc_a_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_int_untrusted_parent_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_ssc_a_unused_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_unused_net_0 + relationship: tosca.relationships.network.LinksTo + artifacts: + ssc_a_template: + type: tosca.artifacts.Deployment + file: ../Artifacts/ssc_a_template.json + shared_perimeta_rsg: + type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules + properties: + name: + str_replace: + template: $VNF_NAME_shared_perimeta_RSG + params: + $VNF_NAME: + get_input: vnf_name + description: Security Group for Perimeta networks + rules: + - protocol: tcp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + port_range_max: 65535 + direction: egress + port_range_min: 1 + - protocol: udp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + port_range_max: 65535 + direction: egress + port_range_min: 1 + - protocol: icmp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + direction: egress + - protocol: icmp + ethertype: IPv6 + remote_ip_prefix: ::/0 + direction: egress + - protocol: tcp + ethertype: IPv6 + remote_ip_prefix: ::/0 + port_range_max: 65535 + direction: egress + port_range_min: 1 + - protocol: udp + ethertype: IPv6 + remote_ip_prefix: ::/0 + port_range_max: 65535 + direction: egress + port_range_min: 1 + - protocol: tcp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + port_range_max: 65535 + direction: ingress + port_range_min: 1 + - protocol: udp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + port_range_max: 65535 + direction: ingress + port_range_min: 1 + - protocol: icmp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + direction: ingress + - protocol: icmp + ethertype: IPv6 + remote_ip_prefix: ::/0 + direction: ingress + - protocol: tcp + ethertype: IPv6 + remote_ip_prefix: ::/0 + port_range_max: 65535 + direction: ingress + port_range_min: 1 + - protocol: udp + ethertype: IPv6 + remote_ip_prefix: ::/0 + port_range_max: 65535 + direction: ingress + port_range_min: 1 + shared_perimeta_unused_net_0: + type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net + properties: + dhcp_enabled: false + ip_version: 4 + network_name: + str_replace: + template: $VF_NAME_int_unused_net + params: + $VF_NAME: + get_input: vnf_name + subnets: + shared_perimeta_unused_net_0_subnet: + enable_dhcp: false + ip_version: 4 + cidr: 10.0.0.0/29 + gateway_ip: '' + requirements: + - dependency: + capability: tosca.capabilities.Node + node: shared_perimeta_unused_net_0 + relationship: tosca.relationships.DependsOn + perimeta_ssc_b: + type: org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_b_child + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + int_ha_network_plen: + get_input: shared_int_ha_net_prefix_len_v4 + perimeta_server_group: + get_input: shared_perimeta_ssc_server_group + unused_port_net_id: + get_input: shared_ssc_unused_net_id + ssc_b_name_0: + get_input: ssc_b_name_0 + ssc_a_int_ha_ip_0: + get_input: ssc_a_int_ha_ip_0 + ssc_b_untrusted_ip_0: + get_input: ssc_b_untrusted_ip_0 + ssc_b_mgmt_ip_0: + get_input: ssc_b_mgmt_ip_0 + ssc_b_untrusted_parent_ip_0: + get_input: ssc_b_untrusted_parent_ip_0 + vnf_name: + get_input: vnf_name + perimeta_untrusted_vlan_ids: + get_input: perimeta_untrusted_vlan_ids + int_ha_net_id: + get_input: shared_int_ha_net_id + ssc_b_int_ha_ip_0: + get_input: ssc_b_int_ha_ip_0 + ssc_mgmt_vip_0: + get_input: ssc_mgmt_vip_0 + service_template_filter: + substitute_service_template: module_1_perimeta_swmu_b_childServiceTemplate.yaml + perimeta_keypair: + get_input: shared_perimeta_keypair + vnf_id: + get_input: vnf_id + availability_zone_1: + get_input: availability_zone_1 + ssc_trusted_vip_0: + get_input: ssc_trusted_vip_0 + ssc_untrusted_vip_0: + get_input: ssc_untrusted_vip_0 + perimeta_sec_groups: + get_input: shared_perimeta_sec_groups + perimeta_untrusted_num_vlans: + get_input: perimeta_untrusted_num_vlans + ssc_rf_vip_0: + get_input: ssc_rf_vip_0 + ssc_b_trusted_ip_0: + get_input: ssc_b_trusted_ip_0 + trusted_net_id: + get_input: trusted_net_id + ssc_untrusted_parent_vip_0: + get_input: ssc_untrusted_parent_vip_0 + ssc_untrusted_v6_vip_0: + get_input: ssc_untrusted_v6_vip_0 + ssc_b_untrusted_v6_ip_0: + get_input: ssc_b_untrusted_v6_ip_0 + vm_role: ssc + perimeta_untrusted_vlan_networks: + get_input: perimeta_untrusted_vlan_networks + perimeta_image_name: + get_input: ssc_image_name + ssc_b_rf_ip_0: + get_input: ssc_b_rf_ip_0 + mgmt_net_id: + get_input: mgmt_net_id + int_untrusted_parent_net_id: + get_input: shared_int_untrusted_parent_net_id + perimeta_flavor_name: + get_input: ssc_flavor_name + requirements: + - link_perimeta_ssc_b_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_int_untrusted_parent_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_ssc_b_unused_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_unused_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_ssc_b_ha_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_internal_ha_net_0 + relationship: tosca.relationships.network.LinksTo + shared_perimeta_int_untrusted_parent_net_0: + type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net + properties: + dhcp_enabled: false + ip_version: 4 + network_name: + str_replace: + template: $VF_NAME_int_untrusted_parent_net + params: + $VF_NAME: + get_input: vnf_name + subnets: + shared_perimeta_int_untrusted_parent_net_0_subnet: + enable_dhcp: false + ip_version: 4 + cidr: 11.0.0.0/24 + gateway_ip: '' + requirements: + - dependency: + capability: tosca.capabilities.Node + node: shared_perimeta_int_untrusted_parent_net_0 + relationship: tosca.relationships.DependsOn + 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 base shared resources for a Perimeta deployment + members: + - shared_perimeta_internal_ha_net_0 + - shared_perimeta_rsg + - shared_perimeta_unused_net_0 + - shared_perimeta_int_untrusted_parent_net_0 + module_2_perimeta_rtp_msc_a_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_2_perimeta_rtp_msc_a.yaml + description: | + HOT template to instantiate an A side Perimeta RTP MSC and optionally partner it with the corresponding B side + members: + - perimeta_rtp_msc_a + module_1_perimeta_ssc_b_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_1_perimeta_ssc_b.yaml + description: "HOT template to instantiate an B side Perimeta SSC \n" + members: + - perimeta_ssc_b + shared_perimeta_ssc_server_gp_group: + type: tosca.groups.Root + members: [ + ] + module_2_perimeta_rtp_msc_b_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_2_perimeta_rtp_msc_b.yaml + description: "HOT template to instantiate an B side Perimeta RTP MSC \n" + members: + - perimeta_rtp_msc_b + module_1_perimeta_ssc_a_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_1_perimeta_ssc_a.yaml + description: | + HOT template to instantiate an A side Perimeta SSC and optionally partner it with the corresponding B side + members: + - perimeta_ssc_a + outputs: + shared_int_ha_net_prefix_len_v4: + description: HA internal network IPv4 prefix length + value: + get_input: perimeta_int_ha_net_prefix_len_v4 + shared_perimeta_keypair: + description: SSH keypair for deployment + value: UNSUPPORTED_RESOURCE_shared_perimeta_keypair + shared_perimeta_rtp_msc_server_groups: + description: Perimeta RTP MSC Server groups + value: + list_join: + - ',' + - get_attr: + - shared_perimeta_rtp_msc_server_gps + - refs + policies: + shared_perimeta_ssc_server_gp_policy: + type: org.openecomp.policies.placement.Antilocate + properties: + name: + str_replace: + template: $VNF_NAME_shared_ssc_RSG_name_0 + params: + $VNF_NAME: + get_input: vnf_name + container_type: host + targets: + - shared_perimeta_ssc_server_gp_group diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_a_childServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_a_childServiceTemplate.yaml new file mode 100644 index 0000000000..8f8aae3642 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_a_childServiceTemplate.yaml @@ -0,0 +1,831 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: module_1_perimeta_swmu_a_child +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- GlobalSubstitutionTypes: + file: GlobalSubstitutionTypesServiceTemplate.yaml +node_types: + org.openecomp.resource.vfc.nodes.heat.ssc_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 + ssc_a_name_0: + hidden: false + immutable: false + type: string + description: Name of Perimeta VM A instance + int_ha_network_plen: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + constraints: + - in_range: + - 0 + - 31 + unused_port_net_id: + hidden: false + immutable: false + type: string + description: Service network unused port network UUID + perimeta_server_group: + hidden: false + immutable: false + type: string + description: Server group to use for these VMs + perimeta_config: + hidden: false + immutable: false + type: string + description: JSON orchestration template configuration for instance. + ssc_a_int_ha_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as HA IP of A instance. + vnf_name: + hidden: false + immutable: false + type: string + description: Unique name for this VNF instance + perimeta_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 + int_ha_net_id: + hidden: false + immutable: false + type: string + description: HA network id + ssc_b_int_ha_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as HA IPs of B instance. + ssc_mgmt_vip_0: + hidden: false + immutable: false + type: string + description: Management virtual IP address. + ssc_a_trusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of A instance. + perimeta_keypair: + hidden: false + immutable: false + type: string + description: Keypair to use for accessing this Perimeta instance + 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. + ssc_trusted_vip_0: + hidden: false + immutable: false + type: string + description: Trusted/core virtual IP address. + ssc_untrusted_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access virtual IP address + perimeta_sec_groups: + hidden: false + immutable: false + type: list + description: List of security groups to add on trusted interfaces. + entry_schema: + type: string + ssc_a_untrusted_v6_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of A instance. + perimeta_untrusted_num_vlans: + hidden: false + immutable: false + type: float + description: number of VLANs to connect to the untrusted/access interface + constraints: + - in_range: + - 1 + - 1001 + ssc_rf_vip_0: + hidden: false + immutable: false + type: string + description: RF virtual IP address to use for SSC. + ssc_a_mgmt_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as management IP of A instance. + trusted_net_id: + hidden: false + immutable: false + type: string + description: Trusted/core network UUID + ssc_untrusted_parent_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access parent virtual IP address + ssc_untrusted_v6_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access alternate virtual IP address + ssc_a_rf_ip_0: + hidden: false + immutable: false + type: string + description: RF fixed IP address to use for SSC A. + vm_role: + hidden: false + immutable: false + type: string + description: Role of these VMs + ssc_a_untrusted_parent_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A parent instance. + perimeta_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_a_untrusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A instance. + perimeta_image_name: + hidden: false + immutable: false + type: string + description: Glance image for Perimeta instance + mgmt_net_id: + hidden: false + immutable: false + type: string + description: Management network id + int_untrusted_parent_net_id: + hidden: false + immutable: false + type: string + description: internal Untrusted/access parent network id + perimeta_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating VM instances + node_templates: + perimeta_ssc_a_ha_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_a_int_ha_ip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_ha + network: + get_input: int_ha_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_a_untrusted_parent_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_untrusted_parent_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_untrusted_parent + network: + get_input: int_untrusted_parent_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_a_rf_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_rf_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_1_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_trusted_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_a_trusted_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_trusted_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: trusted + network: + get_input: trusted_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_unused_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: false + floating_ip_count_required: + is_required: false + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_unused_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: unused_port + network: + get_input: unused_port_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_a_mgmt_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_mgmt_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_server_0: + type: org.openecomp.resource.vfc.nodes.heat.ssc_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 + vnf_name: + get_input: vnf_name + msw_template_version: 17.07.04 - 2017-09-01 + config_drive: true + personality: + /opt/MetaSwitch/init/custom.ini: + get_artifact: + - SELF + - custom + user_data_format: RAW + name: + get_input: ssc_a_name_0 + scheduler_hints: + group: + get_input: perimeta_server_group + artifacts: + custom: + type: tosca.artifacts.Deployment + file: ../Artifacts/custom.ini + groups: + module_1_perimeta_swmu_a_child_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_1_perimeta_swmu_a_child.yaml + description: | + HOT template to instantiate an A side Perimeta SSC instance with 6 vNICs as part of a nested template + members: + - perimeta_ssc_a_ha_0_port + - perimeta_ssc_a_untrusted_parent_0_port + - perimeta_ssc_a_mgmt_1_port + - perimeta_ssc_a_trusted_0_port + - perimeta_ssc_a_unused_0_port + - perimeta_ssc_a_mgmt_0_port + - perimeta_ssc_a_server_0 + substitution_mappings: + node_type: org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_a_child + capabilities: + disk.ephemeral.size_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.ephemeral.size + network.outgoing.packets.rate_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.outgoing.packets.rate + network.incoming.bytes.rate_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.incoming.bytes.rate + network.outgoing.bytes.rate_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.outgoing.bytes.rate + network.incoming.bytes.rate_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.incoming.bytes.rate + network.incoming.packets_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.incoming.packets + instance_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - instance + network.incoming.packets_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.incoming.packets + network.outgoing.packets.rate_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.outgoing.packets.rate + feature_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - feature + binding_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - binding + network.outpoing.packets_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.outpoing.packets + network.incoming.packets_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.incoming.packets + endpoint_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - endpoint + network.outgoing.bytes_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.outgoing.bytes + memory.usage_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - memory.usage + network.incoming.packets.rate_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.incoming.packets.rate + disk.device.read.requests.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.read.requests.rate + network.incoming.bytes_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.incoming.bytes + network.outgoing.bytes.rate_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.outgoing.bytes.rate + network.outgoing.packets.rate_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.outgoing.packets.rate + feature_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - feature + disk.read.bytes_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.read.bytes + network.outpoing.packets_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.outpoing.packets + attachment_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - attachment + disk.write.bytes.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.write.bytes.rate + disk.device.write.requests.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.write.requests.rate + network.incoming.packets_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.incoming.packets + memory_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - memory + network.outgoing.packets.rate_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.outgoing.packets.rate + feature_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - feature + disk.device.iops_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.iops + binding_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - binding + network.outgoing.bytes_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.outgoing.bytes + attachment_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - attachment + network.outgoing.bytes.rate_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.outgoing.bytes.rate + network.outgoing.bytes_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.outgoing.bytes + disk.write.requests_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.write.requests + network.outgoing.bytes_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.outgoing.bytes + disk.capacity_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.capacity + os_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - os + disk.read.bytes.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.read.bytes.rate + network.outgoing.bytes.rate_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.outgoing.bytes.rate + network.incoming.bytes.rate_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.incoming.bytes.rate + network.outgoing.bytes.rate_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.outgoing.bytes.rate + network.outgoing.bytes_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.outgoing.bytes + network.outpoing.packets_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.outpoing.packets + cpu_util_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - cpu_util + attachment_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - attachment + network.outgoing.bytes.rate_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.outgoing.bytes.rate + disk.allocation_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.allocation + disk.write.bytes_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.write.bytes + attachment_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - attachment + feature_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - feature + network.outpoing.packets_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.outpoing.packets + network.incoming.bytes_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.incoming.bytes + network.incoming.packets_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.incoming.packets + disk.device.latency_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.latency + network.incoming.bytes.rate_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.incoming.bytes.rate + binding_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - binding + disk.read.requests_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.read.requests + attachment_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - attachment + scalable_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - scalable + disk.usage_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.usage + feature_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - feature + network.incoming.packets.rate_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.incoming.packets.rate + feature_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - feature + cpu.delta_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - cpu.delta + disk.device.usage_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.usage + disk.iops_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.iops + binding_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - binding + network.incoming.bytes_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.incoming.bytes + network.incoming.packets_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.incoming.packets + disk.device.read.bytes.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.read.bytes.rate + network.incoming.packets.rate_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.incoming.packets.rate + binding_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - binding + disk.root.size_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.root.size + network.incoming.bytes_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.incoming.bytes + network.incoming.packets.rate_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.incoming.packets.rate + disk.device.allocation_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.allocation + disk.device.write.requests_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.write.requests + disk.device.write.bytes_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.write.bytes + disk.write.requests.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.write.requests.rate + network.outpoing.packets_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.outpoing.packets + disk.device.read.bytes_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.read.bytes + network.outgoing.bytes_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.outgoing.bytes + network.incoming.bytes_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.incoming.bytes + cpu_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - cpu + binding_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - binding + network.outgoing.packets.rate_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.outgoing.packets.rate + disk.device.read.requests_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.read.requests + network.outgoing.packets.rate_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.outgoing.packets.rate + disk.device.write.bytes.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.write.bytes.rate + feature_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - feature + host_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - host + network.incoming.packets.rate_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.incoming.packets.rate + network.outpoing.packets_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.outpoing.packets + network.incoming.packets.rate_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.incoming.packets.rate + attachment_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - attachment + disk.device.capacity_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.capacity + binding_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - binding + vcpus_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - vcpus + network.incoming.bytes_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.incoming.bytes + network.incoming.bytes.rate_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.incoming.bytes.rate + disk.latency_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.latency + memory.resident_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - memory.resident + network.incoming.bytes.rate_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.incoming.bytes.rate + requirements: + dependency_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - dependency + dependency_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - dependency + dependency_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - dependency + link_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - link + local_storage_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - local_storage + link_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - link + dependency_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - dependency + dependency_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - dependency + link_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - link + link_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - link + link_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - link + link_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - link + dependency_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - dependency + dependency_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - dependency
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_b_childServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_b_childServiceTemplate.yaml new file mode 100644 index 0000000000..99285a3be6 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_b_childServiceTemplate.yaml @@ -0,0 +1,817 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: module_1_perimeta_swmu_b_child +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- GlobalSubstitutionTypes: + file: GlobalSubstitutionTypesServiceTemplate.yaml +node_types: + org.openecomp.resource.vfc.nodes.heat.ssc_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 + int_ha_network_plen: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + constraints: + - in_range: + - 0 + - 31 + unused_port_net_id: + hidden: false + immutable: false + type: string + description: Service network unused port network UUID + perimeta_server_group: + hidden: false + immutable: false + type: string + description: Server group to use for these VMs + ssc_b_name_0: + hidden: false + immutable: false + type: string + description: Name of Perimeta VM B instance + ssc_a_int_ha_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as HA IPs of A instance. + ssc_b_untrusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B instance. + ssc_b_mgmt_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as management IP of B instance. + ssc_b_untrusted_parent_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B parent instance. + vnf_name: + hidden: false + immutable: false + type: string + description: Unique name for this VNF instance + perimeta_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 + int_ha_net_id: + hidden: false + immutable: false + type: string + description: HA network id + ssc_b_int_ha_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as HA IP of B instance. + ssc_mgmt_vip_0: + hidden: false + immutable: false + type: string + description: Management virtual IP address. + perimeta_keypair: + hidden: false + immutable: false + type: string + description: Keypair to use for accessing this Perimeta instance + vnf_id: + hidden: false + immutable: false + type: string + description: VNF ID of this deployment + availability_zone_1: + hidden: false + immutable: false + type: string + description: Availability zone for B instances. May be the same as A instance. + ssc_trusted_vip_0: + hidden: false + immutable: false + type: string + description: Trusted/core virtual IP address. + ssc_untrusted_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access virtual IP address + perimeta_sec_groups: + hidden: false + immutable: false + type: list + description: List of security groups to add on trusted interfaces. + entry_schema: + type: string + perimeta_untrusted_num_vlans: + hidden: false + immutable: false + type: float + description: number of VLANs to connect to the untrusted/access interface + constraints: + - in_range: + - 1 + - 1001 + ssc_rf_vip_0: + hidden: false + immutable: false + type: string + description: RF virtual IP address to use for SSC. + ssc_b_trusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of B instance. + trusted_net_id: + hidden: false + immutable: false + type: string + description: Trusted/core network UUID + ssc_untrusted_parent_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access parent virtual IP address + ssc_untrusted_v6_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access alternate virtual IP address + ssc_b_untrusted_v6_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of B instance. + vm_role: + hidden: false + immutable: false + type: string + description: Role of these VMs + perimeta_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 + perimeta_image_name: + hidden: false + immutable: false + type: string + description: Glance image for Perimeta instance + ssc_b_rf_ip_0: + hidden: false + immutable: false + type: string + description: RF fixed IP address to use for SSC B. + mgmt_net_id: + hidden: false + immutable: false + type: string + description: Management network id + int_untrusted_parent_net_id: + hidden: false + immutable: false + type: string + description: internal Untrusted/access parent network id + perimeta_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating VM instances + node_templates: + perimeta_ssc_b_trusted_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_b_trusted_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_trusted_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: trusted + network: + get_input: trusted_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_b_untrusted_parent_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_untrusted_parent_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_untrusted_parent + network: + get_input: int_untrusted_parent_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_b_rf_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_rf_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_1_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_b_unused_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: false + floating_ip_count_required: + is_required: false + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_unused_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: unused_port + network: + get_input: unused_port_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_b_server_0: + type: org.openecomp.resource.vfc.nodes.heat.ssc_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 + vnf_name: + get_input: vnf_name + msw_template_version: 17.07.04 - 2017-09-01 + config_drive: true + user_data_format: RAW + name: + get_input: ssc_b_name_0 + scheduler_hints: + group: + get_input: perimeta_server_group + perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_b_mgmt_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_mgmt_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_b_ha_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_b_int_ha_ip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_ha + network: + get_input: int_ha_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + groups: + module_1_perimeta_swmu_b_child_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_1_perimeta_swmu_b_child.yaml + description: | + HOT template to instantiate an B side Perimeta SSC instance with 6 vNICs as part of a nested template + members: + - perimeta_ssc_b_trusted_0_port + - perimeta_ssc_b_untrusted_parent_0_port + - perimeta_ssc_b_mgmt_1_port + - perimeta_ssc_b_unused_0_port + - perimeta_ssc_b_server_0 + - perimeta_ssc_b_mgmt_0_port + - perimeta_ssc_b_ha_0_port + substitution_mappings: + node_type: org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_b_child + capabilities: + host_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - host + network.outgoing.packets.rate_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.outgoing.packets.rate + vcpus_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - vcpus + binding_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - binding + network.incoming.bytes_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.incoming.bytes + network.outpoing.packets_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.outpoing.packets + disk.write.requests_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.write.requests + os_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - os + memory_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - memory + disk.device.write.bytes.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.write.bytes.rate + network.outgoing.bytes.rate_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.outgoing.bytes.rate + disk.read.bytes_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.read.bytes + network.outpoing.packets_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.outpoing.packets + network.outgoing.packets.rate_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.outgoing.packets.rate + disk.device.allocation_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.allocation + network.outgoing.packets.rate_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.outgoing.packets.rate + disk.write.requests.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.write.requests.rate + network.incoming.bytes.rate_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.incoming.bytes.rate + binding_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - binding + disk.device.iops_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.iops + network.outgoing.packets.rate_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.outgoing.packets.rate + disk.device.usage_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.usage + cpu_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - cpu + feature_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - feature + network.outgoing.bytes.rate_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.outgoing.bytes.rate + feature_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - feature + endpoint_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - endpoint + feature_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - feature + disk.device.read.requests_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.read.requests + attachment_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - attachment + cpu.delta_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - cpu.delta + network.incoming.packets_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.incoming.packets + disk.device.write.requests_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.write.requests + disk.device.write.bytes_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.write.bytes + disk.root.size_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.root.size + network.incoming.bytes.rate_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.incoming.bytes.rate + memory.resident_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - memory.resident + network.incoming.packets.rate_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.incoming.packets.rate + disk.ephemeral.size_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.ephemeral.size + network.incoming.packets_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.incoming.packets + instance_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - instance + attachment_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - attachment + network.incoming.bytes_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.incoming.bytes + network.incoming.bytes_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.incoming.bytes + network.incoming.packets_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.incoming.packets + feature_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - feature + binding_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - binding + network.outpoing.packets_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.outpoing.packets + disk.device.read.bytes_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.read.bytes + network.outgoing.bytes.rate_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.outgoing.bytes.rate + disk.latency_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.latency + network.outgoing.bytes_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.outgoing.bytes + attachment_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - attachment + binding_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - binding + network.outgoing.bytes.rate_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.outgoing.bytes.rate + network.outgoing.bytes_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.outgoing.bytes + network.incoming.packets.rate_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.incoming.packets.rate + disk.device.capacity_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.capacity + feature_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - feature + network.incoming.bytes.rate_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.incoming.bytes.rate + binding_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - binding + binding_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - binding + scalable_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - scalable + disk.device.latency_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.latency + network.incoming.packets_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.incoming.packets + disk.write.bytes.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.write.bytes.rate + disk.read.requests_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.read.requests + feature_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - feature + disk.usage_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.usage + attachment_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - attachment + attachment_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - attachment + network.outgoing.bytes.rate_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.outgoing.bytes.rate + disk.allocation_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.allocation + network.incoming.bytes.rate_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.incoming.bytes.rate + network.outgoing.bytes_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.outgoing.bytes + disk.iops_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.iops + disk.write.bytes_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.write.bytes + network.outpoing.packets_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.outpoing.packets + network.incoming.bytes_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.incoming.bytes + network.incoming.packets_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.incoming.packets + disk.device.read.requests.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.read.requests.rate + network.incoming.packets.rate_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.incoming.packets.rate + network.incoming.packets_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.incoming.packets + network.outpoing.packets_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.outpoing.packets + network.outgoing.bytes_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.outgoing.bytes + network.incoming.bytes_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.incoming.bytes + network.incoming.packets.rate_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.incoming.packets.rate + memory.usage_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - memory.usage + network.incoming.bytes.rate_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.incoming.bytes.rate + network.incoming.packets.rate_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.incoming.packets.rate + network.outgoing.packets.rate_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.outgoing.packets.rate + network.incoming.bytes_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.incoming.bytes + network.outgoing.bytes_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.outgoing.bytes + network.outgoing.bytes.rate_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.outgoing.bytes.rate + network.outgoing.packets.rate_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.outgoing.packets.rate + cpu_util_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - cpu_util + disk.device.read.bytes.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.read.bytes.rate + disk.capacity_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.capacity + network.incoming.packets.rate_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.incoming.packets.rate + network.outgoing.bytes_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.outgoing.bytes + network.outpoing.packets_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.outpoing.packets + disk.read.bytes.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.read.bytes.rate + disk.device.write.requests.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.write.requests.rate + attachment_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - attachment + feature_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - feature + network.incoming.bytes.rate_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.incoming.bytes.rate + binding_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - binding + requirements: + link_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - link + dependency_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - dependency + dependency_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - dependency + dependency_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - dependency + local_storage_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - local_storage + link_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - link + dependency_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - dependency + dependency_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - dependency + link_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - link + link_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - link + dependency_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - dependency + link_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - link + dependency_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - dependency + link_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_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/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_a_childServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_a_childServiceTemplate.yaml new file mode 100644 index 0000000000..e1c87c0ea3 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_a_childServiceTemplate.yaml @@ -0,0 +1,735 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: module_2_perimeta_sw_a_child +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- GlobalSubstitutionTypes: + file: GlobalSubstitutionTypesServiceTemplate.yaml +node_types: + org.openecomp.resource.vfc.nodes.heat.rtp_msc_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 + int_ha_network_plen: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + constraints: + - in_range: + - 0 + - 31 + perimeta_config: + hidden: false + immutable: false + type: string + description: JSON orchestration template configuration for instance. + vnf_name: + hidden: false + immutable: false + type: string + description: Unique name for this VNF instance + perimeta_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 + int_ha_net_id: + hidden: false + immutable: false + type: string + description: HA network id + 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. + constraints: + - in_range: + - 0 + - 19 + perimeta_keypair: + hidden: false + immutable: false + type: string + description: Keypair to use for accessing this Perimeta instance + perimeta_server_groups: + hidden: false + immutable: false + type: list + description: Server groups to use for these VMs + 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. + rtp_msc_mgmt_vips: + hidden: false + immutable: false + type: list + description: List of management virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_sec_groups: + hidden: false + immutable: false + type: list + description: List of security groups to add on trusted interfaces. + entry_schema: + type: string + rtp_msc_untrusted_parent_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access parent virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_untrusted_num_vlans: + hidden: false + immutable: false + type: float + description: number of VLANs to connect to the untrusted/access interface + constraints: + - in_range: + - 1 + - 1001 + rtp_msc_a_int_ha_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 + rtp_msc_a_untrusted_parent_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of A instances. + entry_schema: + type: string + rtp_msc_a_trusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of A instances. + entry_schema: + type: string + rtp_msc_untrusted_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access virtual IP addresses for all instances. + entry_schema: + type: string + trusted_net_id: + hidden: false + immutable: false + type: string + description: Trusted/core network UUID + rtp_msc_b_int_ha_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 + rtp_msc_a_mgmt_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 + rtp_msc_a_untrusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access fixed IPs of A instances. + entry_schema: + type: string + vm_role: + hidden: false + immutable: false + type: string + description: Role of these VMs + rtp_msc_untrusted_v6_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_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 + rtp_msc_a_untrusted_v6_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of A instances. + entry_schema: + type: string + perimeta_image_name: + hidden: false + immutable: false + type: string + description: Glance image for Perimeta instance + mgmt_net_id: + hidden: false + immutable: false + type: string + description: Management network id + int_untrusted_parent_net_id: + hidden: false + immutable: false + type: string + description: internal Untrusted/access parent network id + rtp_msc_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 + perimeta_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating VM instances + rtp_msc_trusted_vips: + hidden: false + immutable: false + type: list + description: List of Trusted/core virtual IP addresses for all instances. + entry_schema: + type: string + node_templates: + perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_a_trusted_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_trusted_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VM: + get_input: + - rtp_msc_a_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: trusted + network: + get_input: trusted_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_a_int_ha_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VM: + get_input: + - rtp_msc_a_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_ha + network: + get_input: int_ha_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_a_untrusted_parent_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_untrusted_parent_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VM: + get_input: + - rtp_msc_a_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_untrusted_parent + network: + get_input: int_untrusted_parent_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_a_server_0: + type: org.openecomp.resource.vfc.nodes.heat.rtp_msc_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 + vnf_name: + get_input: vnf_name + msw_template_version: 17.07.04 - 2017-09-01 + config_drive: true + personality: + /opt/MetaSwitch/init/custom.ini: + get_artifact: + - SELF + - custom + user_data_format: RAW + name: + get_input: + - rtp_msc_a_names + - get_input: perimeta_instance_index + scheduler_hints: + group: + get_input: + - perimeta_server_groups + - get_input: perimeta_instance_index + artifacts: + custom: + type: tosca.artifacts.Deployment + file: ../Artifacts/custom.ini + perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_a_mgmt_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_mgmt_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VM: + get_input: + - rtp_msc_a_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_a_server_0 + relationship: tosca.relationships.network.BindsTo + groups: + module_2_perimeta_sw_a_child_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_2_perimeta_sw_a_child.yaml + description: | + HOT template to instantiate an A side Perimeta RTP MSC instance with 4 vNICs as part of a nested template + members: + - perimeta_rtp_msc_a_trusted_0_port + - perimeta_rtp_msc_a_ha_0_port + - perimeta_rtp_msc_a_untrusted_parent_0_port + - perimeta_rtp_msc_a_server_0 + - perimeta_rtp_msc_a_mgmt_0_port + substitution_mappings: + node_type: org.openecomp.resource.abstract.nodes.heat.module_2_perimeta_sw_a_child + capabilities: + attachment_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - attachment + disk.device.read.requests_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.read.requests + attachment_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - attachment + feature_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - feature + disk.device.latency_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.latency + vcpus_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - vcpus + memory.resident_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - memory.resident + binding_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - binding + network.outgoing.packets.rate_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.outgoing.packets.rate + network.incoming.bytes_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.incoming.bytes + attachment_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - attachment + cpu_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - cpu + disk.capacity_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.capacity + network.outgoing.bytes_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.outgoing.bytes + network.outgoing.bytes.rate_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.outgoing.bytes.rate + disk.read.bytes_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.read.bytes + network.outgoing.bytes.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.outgoing.bytes.rate + network.outpoing.packets_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.outpoing.packets + os_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - os + feature_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - feature + network.incoming.packets_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.incoming.packets + disk.device.allocation_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.allocation + disk.write.requests.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.write.requests.rate + network.incoming.bytes.rate_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.incoming.bytes.rate + network.incoming.bytes_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.incoming.bytes + disk.device.iops_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.iops + feature_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - feature + network.incoming.bytes_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.incoming.bytes + network.incoming.bytes.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.incoming.bytes.rate + network.incoming.bytes.rate_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.incoming.bytes.rate + disk.device.usage_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.usage + disk.write.bytes_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.write.bytes + attachment_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - attachment + network.outgoing.bytes_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.outgoing.bytes + feature_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - feature + disk.usage_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.usage + binding_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - binding + disk.iops_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.iops + disk.allocation_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.allocation + disk.device.write.bytes.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.write.bytes.rate + disk.device.capacity_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.capacity + network.outpoing.packets_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.outpoing.packets + disk.ephemeral.size_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.ephemeral.size + network.incoming.packets_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.incoming.packets + cpu_util_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - cpu_util + network.outgoing.bytes.rate_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.outgoing.bytes.rate + network.outgoing.bytes.rate_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.outgoing.bytes.rate + network.incoming.packets_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.incoming.packets + scalable_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - scalable + host_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - host + disk.device.read.requests.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.read.requests.rate + network.incoming.packets.rate_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.incoming.packets.rate + network.incoming.packets.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.incoming.packets.rate + network.outgoing.bytes_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.outgoing.bytes + network.outpoing.packets_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.outpoing.packets + network.outpoing.packets_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.outpoing.packets + network.incoming.bytes_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.incoming.bytes + disk.root.size_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.root.size + network.incoming.packets.rate_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.incoming.packets.rate + network.outgoing.packets.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.outgoing.packets.rate + disk.write.bytes.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.write.bytes.rate + network.outgoing.packets.rate_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.outgoing.packets.rate + endpoint_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - endpoint + feature_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - feature + network.incoming.packets_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.incoming.packets + binding_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - binding + disk.device.write.requests.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.write.requests.rate + binding_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - binding + instance_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - instance + disk.read.bytes.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.read.bytes.rate + binding_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - binding + disk.latency_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.latency + network.incoming.packets.rate_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.incoming.packets.rate + disk.device.read.bytes_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.read.bytes + network.outgoing.packets.rate_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.outgoing.packets.rate + disk.read.requests_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.read.requests + disk.device.read.bytes.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.read.bytes.rate + disk.device.write.bytes_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.write.bytes + network.incoming.bytes.rate_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.incoming.bytes.rate + memory_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - memory + network.outgoing.bytes_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.outgoing.bytes + disk.device.write.requests_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.write.requests + disk.write.requests_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.write.requests + cpu.delta_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - cpu.delta + memory.usage_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - memory.usage + requirements: + link_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - link + local_storage_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - local_storage + dependency_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - dependency + dependency_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - dependency + dependency_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - dependency + dependency_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - dependency + link_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - link + link_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - link + link_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - link + dependency_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - dependency
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_b_childServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_b_childServiceTemplate.yaml new file mode 100644 index 0000000000..ce9748e1f7 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_b_childServiceTemplate.yaml @@ -0,0 +1,721 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: module_2_perimeta_sw_b_child +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- GlobalSubstitutionTypes: + file: GlobalSubstitutionTypesServiceTemplate.yaml +node_types: + org.openecomp.resource.vfc.nodes.heat.rtp_msc_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 + int_ha_network_plen: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + constraints: + - in_range: + - 0 + - 31 + rtp_msc_b_untrusted_v6_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of B instances. + entry_schema: + type: string + rtp_msc_b_mgmt_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 + vnf_name: + hidden: false + immutable: false + type: string + description: Unique name for this VNF instance + perimeta_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 + rtp_msc_b_names: + hidden: false + immutable: false + type: list + description: List of names of Perimeta VM B instances, indexed by perimeta_instance_index + entry_schema: + type: string + rtp_msc_b_untrusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access fixed IPs of B instances. + entry_schema: + type: string + int_ha_net_id: + hidden: false + immutable: false + type: string + description: HA network id + 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. + constraints: + - in_range: + - 0 + - 19 + perimeta_keypair: + hidden: false + immutable: false + type: string + description: Keypair to use for accessing this Perimeta instance + perimeta_server_groups: + hidden: false + immutable: false + type: list + description: Server groups to use for these VMs + entry_schema: + type: string + vnf_id: + hidden: false + immutable: false + type: string + description: VNF ID of this deployment + availability_zone_1: + hidden: false + immutable: false + type: string + description: Availability zone for B instances. May be the same as A instance. + rtp_msc_mgmt_vips: + hidden: false + immutable: false + type: list + description: List of management virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_sec_groups: + hidden: false + immutable: false + type: list + description: List of security groups to add on trusted interfaces. + entry_schema: + type: string + rtp_msc_untrusted_parent_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access parent virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_untrusted_num_vlans: + hidden: false + immutable: false + type: float + description: number of VLANs to connect to the untrusted/access interface + constraints: + - in_range: + - 1 + - 1001 + rtp_msc_a_int_ha_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 + rtp_msc_b_trusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of B instances. + entry_schema: + type: string + rtp_msc_untrusted_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access virtual IP addresses for all instances. + entry_schema: + type: string + trusted_net_id: + hidden: false + immutable: false + type: string + description: Trusted/core network UUID + rtp_msc_b_int_ha_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 + vm_role: + hidden: false + immutable: false + type: string + description: Role of these VMs + rtp_msc_untrusted_v6_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_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 + perimeta_image_name: + hidden: false + immutable: false + type: string + description: Glance image for Perimeta instance + rtp_msc_b_untrusted_parent_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of B instances. + entry_schema: + type: string + mgmt_net_id: + hidden: false + immutable: false + type: string + description: Management network id + int_untrusted_parent_net_id: + hidden: false + immutable: false + type: string + description: internal Untrusted/access parent network id + perimeta_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating VM instances + rtp_msc_trusted_vips: + hidden: false + immutable: false + type: list + description: List of Trusted/core virtual IP addresses for all instances. + entry_schema: + type: string + node_templates: + perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_b_trusted_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_trusted_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VM: + get_input: + - rtp_msc_b_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: trusted + network: + get_input: trusted_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_b_mgmt_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_mgmt_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VM: + get_input: + - rtp_msc_b_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_b_server_0: + type: org.openecomp.resource.vfc.nodes.heat.rtp_msc_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 + vnf_name: + get_input: vnf_name + msw_template_version: 17.07.04 - 2017-09-01 + config_drive: true + user_data_format: RAW + name: + get_input: + - rtp_msc_b_names + - get_input: perimeta_instance_index + scheduler_hints: + group: + get_input: + - perimeta_server_groups + - get_input: perimeta_instance_index + perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_b_int_ha_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VM: + get_input: + - rtp_msc_b_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_ha + network: + get_input: int_ha_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_b_untrusted_parent_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_untrusted_parent_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VM: + get_input: + - rtp_msc_b_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_untrusted_parent + network: + get_input: int_untrusted_parent_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_b_server_0 + relationship: tosca.relationships.network.BindsTo + groups: + module_2_perimeta_sw_b_child_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_2_perimeta_sw_b_child.yaml + description: | + HOT template to instantiate an B side Perimeta RTP MSC instance with 4 vNICs as part of a nested template + members: + - perimeta_rtp_msc_b_trusted_0_port + - perimeta_rtp_msc_b_mgmt_0_port + - perimeta_rtp_msc_b_server_0 + - perimeta_rtp_msc_b_ha_0_port + - perimeta_rtp_msc_b_untrusted_parent_0_port + substitution_mappings: + node_type: org.openecomp.resource.abstract.nodes.heat.module_2_perimeta_sw_b_child + capabilities: + attachment_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - attachment + disk.read.requests_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.read.requests + network.incoming.bytes.rate_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.incoming.bytes.rate + network.incoming.packets_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.incoming.packets + attachment_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - attachment + disk.device.read.requests.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.read.requests.rate + network.outgoing.packets.rate_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.outgoing.packets.rate + network.incoming.bytes_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.incoming.bytes + network.incoming.bytes.rate_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.incoming.bytes.rate + disk.latency_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.latency + network.incoming.packets.rate_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.incoming.packets.rate + disk.device.write.requests_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.write.requests + disk.device.read.bytes.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.read.bytes.rate + memory_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - memory + network.outgoing.bytes.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.outgoing.bytes.rate + feature_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - feature + network.incoming.packets_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.incoming.packets + disk.ephemeral.size_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.ephemeral.size + network.outgoing.bytes.rate_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.outgoing.bytes.rate + attachment_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - attachment + disk.capacity_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.capacity + network.incoming.bytes_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.incoming.bytes + cpu_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - cpu + disk.device.capacity_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.capacity + binding_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - binding + disk.device.usage_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.usage + disk.device.allocation_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.allocation + disk.write.requests.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.write.requests.rate + network.outpoing.packets_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.outpoing.packets + disk.root.size_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.root.size + cpu_util_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - cpu_util + disk.device.latency_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.latency + attachment_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - attachment + os_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - os + disk.device.write.bytes.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.write.bytes.rate + network.outgoing.bytes_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.outgoing.bytes + disk.device.read.bytes_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.read.bytes + network.outgoing.packets.rate_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.outgoing.packets.rate + network.incoming.packets_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.incoming.packets + disk.device.iops_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.iops + network.incoming.packets.rate_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.incoming.packets.rate + network.incoming.packets_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.incoming.packets + disk.write.bytes_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.write.bytes + network.incoming.bytes_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.incoming.bytes + network.outgoing.bytes.rate_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.outgoing.bytes.rate + network.outgoing.bytes_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.outgoing.bytes + instance_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - instance + disk.device.write.requests.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.write.requests.rate + network.outgoing.packets.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.outgoing.packets.rate + network.incoming.bytes_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.incoming.bytes + network.outgoing.bytes_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.outgoing.bytes + vcpus_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - vcpus + memory.resident_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - memory.resident + network.outgoing.bytes_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.outgoing.bytes + feature_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - feature + endpoint_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - endpoint + network.outpoing.packets_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.outpoing.packets + disk.write.requests_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.write.requests + network.incoming.packets.rate_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.incoming.packets.rate + disk.read.bytes_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.read.bytes + disk.write.bytes.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.write.bytes.rate + network.incoming.packets.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.incoming.packets.rate + memory.usage_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - memory.usage + binding_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - binding + scalable_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - scalable + cpu.delta_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - cpu.delta + disk.device.write.bytes_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.write.bytes + network.outpoing.packets_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.outpoing.packets + disk.allocation_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.allocation + feature_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - feature + disk.usage_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.usage + binding_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - binding + host_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - host + network.outpoing.packets_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.outpoing.packets + feature_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - feature + binding_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - binding + network.incoming.bytes.rate_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.incoming.bytes.rate + network.outgoing.bytes.rate_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.outgoing.bytes.rate + disk.iops_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.iops + disk.device.read.requests_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.read.requests + network.incoming.bytes.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.incoming.bytes.rate + feature_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - feature + binding_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - binding + network.outgoing.packets.rate_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.outgoing.packets.rate + disk.read.bytes.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.read.bytes.rate + requirements: + link_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - link + dependency_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - dependency + link_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - link + dependency_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - dependency + dependency_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - dependency + dependency_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - dependency + dependency_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - dependency + local_storage_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - local_storage + link_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - link + link_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_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/heat/nested/nestedwithoutNodeTemplates/inputs/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/MANIFEST.json new file mode 100644 index 0000000000..95370a29a8 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/MANIFEST.json @@ -0,0 +1,86 @@ +{ + "name": "xbi test TSBC 0905", + "description": "test", + "version": "0.1", + "data": [ + { + "isBase": false, + "file": "module_2_perimeta_rtp_msc_b.yaml", + "type": "HEAT", + "data": [ + { + "file": "module_2_perimeta_rtp_msc_b.env", + "type": "HEAT_ENV" + } + ] + }, + { + "isBase": false, + "file": "module_2_perimeta_rtp_msc_a.yaml", + "type": "HEAT", + "data": [ + { + "file": "module_2_perimeta_rtp_msc_a.env", + "type": "HEAT_ENV" + } + ] + }, + { + "isBase": false, + "file": "module_1_perimeta_ssc_b.yaml", + "type": "HEAT", + "data": [ + { + "file": "module_1_perimeta_ssc_b.env", + "type": "HEAT_ENV" + } + ] + }, + { + "isBase": false, + "file": "module_1_perimeta_ssc_a.yaml", + "type": "HEAT", + "data": [ + { + "file": "module_1_perimeta_ssc_a.env", + "type": "HEAT_ENV" + } + ] + }, + { + "isBase": true, + "file": "base_perimeta_deployment_create.yaml", + "type": "HEAT", + "data": [ + { + "file": "base_perimeta_deployment_create.env", + "type": "HEAT_ENV" + } + ] + }, + { + "file": "module_2_perimeta_sw_b_child.yaml", + "type": "HEAT" + }, + { + "file": "vlan_subinterface_dual.yaml", + "type": "HEAT" + }, + { + "file": "module_2_perimeta_sw_a_child.yaml", + "type": "HEAT" + }, + { + "file": "module_1_perimeta_swmu_b_child.yaml", + "type": "HEAT" + }, + { + "file": "module_1_perimeta_swmu_a_child.yaml", + "type": "HEAT" + }, + { + "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/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.env new file mode 100644 index 0000000000..03aa1aed5e --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.env @@ -0,0 +1,34 @@ +# Environment file for heat template which instantiates base resources for a +# Perimeta deployment +# +parameters: + # + # General ECOMP VNF parameters + # + + # Unique VNF name + #vnf_name: tsbc0002 + + # + # General deployment parameters. + # + + # SSH public key to upload to Perimeta instances for ssh access. + perimeta_ssh_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXvSadEWp+nsz3gEAAAAAAAAAAbggQ3t06mqFIauHfUYMiKZ3EUX3jDFf/uGQoNsIZU6SNE/gl3tY4fFvO8Yzj8OY/vstHHvEadbY5aXNE6kd39ik20uRNbeZLT+pRllBwVKBSVnFqG3kBDvNWmBIenlPZzu3Ay0LYT/aDq6fZaz8Mqy8hzhpAAAAAAAAAAEmS/ESYY4UMs/aF2fVGmCLqudSjLpSsyD8lXag2dmeiT7cTdwRkgtDNTULXCPVucolVZwZF9BxXPNK++B+fL/ZY4MrXHXgZYGEElrMCFYkQFb3jQv3XQtxZ6gVByrzgGc9eiU7tkCgY2cVfb22iIs9n Generated-by-Nova" + + + # Max number of RTP MSC pair in the site. This is used to create the correct + # number of MSRP specific server groups. These are used by the appropriate + # module_2 yaml files to associate the server group with the particular + # perimeta RTP VF pair + perimeta_max_rtp_msc_count: 8 + + # + # Shared internal HA network related parameters + # + + # IPv4 network prefix for internal HA network + perimeta_int_ha_net_prefix_v4: 172.26.1.4 + + # IPv4 network prefix length for internal HA network + perimeta_int_ha_net_prefix_len_v4: 26 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml new file mode 100644 index 0000000000..4b97d04fd7 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml @@ -0,0 +1,222 @@ +# Heat template which instantiates base resources for a Perimeta deployment, +# namely. +# - keypair +# - security group +# - SSC server group +# - RTP MSC server group +# - Internal HA network +# - Internal unused network +# - Internal parent network for the untrusted VLANs +# +# Template version 17.07.04 - 2017-09-01 +# +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate base shared resources for a Perimeta deployment + +parameters: + vnf_name: + type: string + description: Unique name for this VNF instance + perimeta_ssh_key: + type: string + description: SSH public key + # Deployment scaling parameters + perimeta_max_rtp_msc_count: + type: number + description: Max number of RTP MSCs in a site. + constraints: + - range: { min: 0, max: 20 } + description: perimeta_max_rtp_msc_count must be between 0 and 20 + # Internal high availability network parameters + perimeta_int_ha_net_prefix_v4: + type: string + description: IPv4 subnet prefix for internal HA network + perimeta_int_ha_net_prefix_len_v4: + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: int_ha_net_plen must be between 0 and 31 + +resources: + # Resource Security Group + shared_perimeta_rsg: + type: OS::Neutron::SecurityGroup + properties: + description: Security Group for Perimeta networks + name: + str_replace: + template: $VNF_NAME_shared_perimeta_RSG + params: + $VNF_NAME: { get_param: vnf_name } + rules: + - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"} + - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "icmp", "ethertype": "IPv6"} + - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"} + - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "icmp", "ethertype": "IPv6"} + - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1} + + # Keypair for use by Perimeta instances. + shared_perimeta_keypair: + type: OS::Nova::KeyPair + properties: + name: + str_replace: + template: $VNF_NAME_key_pair + params: + $VNF_NAME: { get_param: vnf_name } + public_key: {get_param: perimeta_ssh_key} + save_private_key: false + + # Create the server groups. We need one per pair of perimeta VFs in the site + # We only have one SSC + # We can have multiple RTP MSCs + + shared_perimeta_ssc_server_gp: + type: OS::Nova::ServerGroup + properties: + name: + str_replace: + template: $VNF_NAME_shared_ssc_RSG_name_0 + params: + $VNF_NAME: { get_param: vnf_name } + policies: ['anti-affinity'] + + + shared_perimeta_rtp_msc_server_gps: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: perimeta_max_rtp_msc_count } + resource_def: + type: OS::Nova::ServerGroup + properties: + name: + str_replace: + template: $VNF_NAME_shared_rtp_msc_RSG_name_"%index%" + params: + $VNF_NAME: { get_param: vnf_name } + policies: ['anti-affinity'] + + # Internal HA network for deployment. + # This is a private network with all instances on the same isolated L2 + # L2 subnet. There is no requirement for routing in an IP sense which + # means that there is no need for a default gateway + perimeta_internal_ha_ipam_net_0: + type: OS::ContrailV2::NetworkIpam + properties: + name: + str_replace: + template: $VF_NAME_int_ha_ipam_net_0 + params: + $VF_NAME: { get_param: vnf_name } + + shared_perimeta_internal_ha_net_0: + type: OS::ContrailV2::VirtualNetwork + depends_on: [ perimeta_internal_ha_ipam_net_0 ] + properties: + name: + str_replace: + template: $VF_NAME_int_ha_net_0 + params: + $VF_NAME: { get_param: vnf_name } + virtual_network_properties: + virtual_network_properties_rpf: enable + is_shared: false + flood_unknown_unicast: true + network_ipam_refs: + - get_resource: perimeta_internal_ha_ipam_net_0 + network_ipam_refs_data: + - network_ipam_refs_data_ipam_subnets: + - network_ipam_refs_data_ipam_subnets_subnet: + network_ipam_refs_data_ipam_subnets_subnet_ip_prefix: { get_param: perimeta_int_ha_net_prefix_v4 } + network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len: { get_param: perimeta_int_ha_net_prefix_len_v4 } + network_ipam_refs_data_ipam_subnets_enable_dhcp: false + + # Internal unused network - required for unused ports on SSC. + shared_perimeta_unused_net_0: + type: OS::Neutron::Net + properties: + name: + str_replace: + template: $VF_NAME_int_unused_net + params: + $VF_NAME: { get_param: vnf_name } + + # A subnet is required for unused network but we just use arbitrary IP addresses + # as these will never be used. + shared_perimeta_unused_net_0_subnet: + type: OS::Neutron::Subnet + depends_on: [ shared_perimeta_unused_net_0 ] + properties: + network: { get_resource: shared_perimeta_unused_net_0 } + cidr: "10.0.0.0/29" + ip_version: 4 + enable_dhcp: false + gateway_ip: "" + + # Internal parent network - required for untrusted network to anchor the VLANs + shared_perimeta_int_untrusted_parent_net_0: + type: OS::Neutron::Net + properties: + name: + str_replace: + template: $VF_NAME_int_untrusted_parent_net + params: + $VF_NAME: { get_param: vnf_name } + + # A subnet is required for untrusted parent network but we just use arbitrary IP addresses + # as these will never be used to route traffic. + shared_perimeta_int_untrusted_parent_net_0_subnet: + type: OS::Neutron::Subnet + depends_on: [ shared_perimeta_int_untrusted_parent_net_0 ] + properties: + network: { get_resource: shared_perimeta_int_untrusted_parent_net_0 } + cidr: "11.0.0.0/24" + ip_version: 4 + enable_dhcp: false + gateway_ip: "" + +outputs: + + shared_perimeta_ssc_server_group: + description: Perimeta SSC Server group + value: { get_resource: shared_perimeta_ssc_server_gp} + + + shared_perimeta_rtp_msc_server_groups: + description: Perimeta RTP MSC Server groups + value: { list_join: [ ',' , { get_attr: [shared_perimeta_rtp_msc_server_gps, refs ] } ] } + + shared_perimeta_keypair: + description: SSH keypair for deployment + value: { get_resource: shared_perimeta_keypair } + + shared_perimeta_sec_groups: + description: List of security groups to use for all network interfaces + value: { get_resource: shared_perimeta_rsg } + + shared_int_ha_net_id: + description: HA internal network for deployment + value: { get_resource: shared_perimeta_internal_ha_net_0 } + + shared_int_ha_net_prefix_len_v4: + description: HA internal network IPv4 prefix length + value: { get_param: perimeta_int_ha_net_prefix_len_v4 } + + shared_ssc_unused_net_id: + description: Unused internal network for deployment + value: { get_resource: shared_perimeta_unused_net_0 } + + shared_int_untrusted_parent_net_id: + description: Internal untrusted parent network for deployment + value: { get_resource: shared_perimeta_int_untrusted_parent_net_0 } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/custom.ini b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/custom.ini new file mode 100644 index 0000000000..1d18c706f9 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/custom.ini @@ -0,0 +1,21 @@ +;****************************************************************************** +;* 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 say +; 100 flowpairs, then you would set the limit to 200 +mpf_max_flow_pairs=10000 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.env new file mode 100644 index 0000000000..9c0153efaa --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.env @@ -0,0 +1,208 @@ +# Environment file for instantiating +# - 1 x HA SSC pair - A instance +# +# During initial instantiation, the Perimeta A instance is configured with +# minimal configuration, commissioned as an SSC and started. In addition, it +# will attempt partnering with the B instance when it becomes availble. +# +# During healing, the Perimeta A instance is only configured with sufficient +# configuration to allow partnering from the B instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# + +parameters: + # + # General VNF parameters + # + # Unique VNF name + #vnf_name: tsbc0002 + # 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 + # + # Shared parameters from base template + # + # Internal HA network UUID + #shared_int_ha_net_id: "c8994bb0-9dbd-43e7-a8f9-658c54e35d23" + # Internal HA network IPv4 prefix length + #shared_int_ha_net_prefix_len_v4: 26 + # Keypair UUID + #shared_perimeta_keypair: "atttest_key_pair" + # List of security groups to use for all interfaces + #shared_perimeta_sec_groups: [ "2412dd6a-d784-40a5-a195-7a7da2349178" ] + # Anti-affinity server groups to use for SSCs + #shared_perimeta_ssc_server_group: "308e8e5b-fac5-4964-b86c-47d8b439fe44" + # Unused network parameters + #shared_ssc_unused_net_id: "dd410626-5658-445c-8f97-1142e2d521ab" + + # + # SSC parameters + # + # Flavor to use for creating SSC VM instance + ssc_flavor_name: gv.c8r16d160 + # Glance image to use for launching SSC Perimeta instances. + ssc_image_name: ISBC_SBC_v4.0.40_SU12.qcow2 + + + # VNFC of the SSC VIP + #ssc_vnfcname_0: ibcx0002vm001ssc001pair + # VNFCs of the servers + #ssc_a_vnfcname_0: ibcx0002vm001ssc001 + #ssc_b_vnfcname_0: ibcx0002vm002ssc001 + + # Name of VM A of SSC + #ssc_a_name_0: ibcx0002vm001 + + # + # HA network parameters + # + # HA fixed IPv4 address to use for SSC A. + #ssc_a_int_ha_ip_0: 172.26.1.4 + # HA fixed IPv4 address to use for SSC B. + #ssc_b_int_ha_ip_0: 172.26.1.5 + + # + # Management network parameters + # + # Management network ID + #mgmt_net_id: 4b5621b0-4ca4-4ea0-8511-860318c4fc3b + # Management network prefix length + #mgmt_net_plen: 26 + # Default gateway for management network + #mgmt_net_default_gateway: 135.144.188.131 + # Management virtual IPv4 address to use for SSC. + #ssc_mgmt_vip_0: 135.144.188.133 + # Management fixed IPv4 address to use for SSC A. + #ssc_a_mgmt_ip_0: 135.144.188.132 + # Management fixed IPv4 address to use for SSC B. + #ssc_b_mgmt_ip_0: 135.144.188.136 + + # + # Trusted/core network parameters + # + # Network ID of Trusted/core network. + #trusted_net_id: 3d584971-4ec6-408c-92fe-3073666fbcb9 + # 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 + + # + # Untrusted/access network parameters + # + # Using VLANs on Untrusted/access + #shared_int_untrusted_parent_net_id: a0ddd409-f6a7-465a-a091-827a12402252 + # Virtual IPv4 address on Untrusted/access parent network for SSC. + #ssc_untrusted_parent_vip_0: 11.0.0.6 + # Fixed IPv4 address on Untrusted/access parent network for SSC A. + #ssc_a_untrusted_parent_ip_0: 11.0.0.4 + + #perimeta_untrusted_num_vlans: 5 + #perimeta_untrusted_vlan_ids: ["81", "1001", "1002", "1003", "1004"] + #perimeta_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] + + + + # Virtual IPv4 address on Untrusted/access network for SSC. + #ssc_untrusted_vip_0: 12.121.106.133 + # 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: 12.121.106.132 + # Fixed IPv6 address on Untrusted/access network for SSC A. + #ssc_a_untrusted_v6_ip_0: 2001:1890:1001:2B38::2D:1 + + # + # management/Rf network parameters + # + # Virtual IPv4 address on management/Rf network for SSC. + #ssc_rf_vip_0: 135.144.188.135 + # Fixed IPv4 address on management/Rf network for SSC A. + #ssc_a_rf_ip_0: 135.144.188.134 + + # + # A side healing / instantiation parameters + # + # + # Healing or instantiation? This is used to ensure that the json file passed + # to the VF is correct for the operation being carried out. + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // not required for healing + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # Uncomment for instantiation, comment for healing + ssc_a_json_prefix: " " + # Uncomment for healing, comment for instantiation + # ssc_a_json_prefix: "// healing, not required " + + # Orchestrating a perimeta version 41 or above. Used to ensure that the + # tags in the json file are supported by the version of perimeta that is + # being instantiated. + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // older perimeta, parameter not required + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # + # Uncomment for V4.1.00 or above, comment for V4.0.40 + ssc_json_v41: " " + # Uncomment for V4.0.40, comment for V4.1.00 or above + # ssc_json_v41: "// older perimeta, parameter not required " + + # Using Radius for user account authentication? Used to ensure that the json + # file is configured correctly depending on whether we are using Radius or + # local authentication + # + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // older perimeta, parameter not required + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # Uncomment for Local authentication + #ssc_json_use_radius_authentication: "// not using Radius " + # Uncomment for Radius authentication + ## ssc_json_use_radius_authentication: " " + + # + # Radius server parameters + # + # + # IP Address or hostname of RADIUS Server. + # Value is ignored if RADIUS is not being used but it still must be set + #ssc_json_radius_servername: "192.0.0.1" + # Radius Server port configuration - value between 0 and 65535 + # Normal Radius Server port is 1812 + # Value is ignored if RADIUS is not being used but it still must be set + #ssc_json_radius_port: 1812 + # Radius Server shared secret + # Value is ignored if RADIUS is not being used but it still must be set + #ssc_json_radius_secret: "TopSecret" + # Radius Server connection timeout - value between 1 and 60 + # Value is ignored if RADIUS is not being used but it still must be set + #ssc_json_radius_timeout: 3 + # Radius Server default user authentication level. + # must be set to one of 'no-access', 'read-only', 'support', 'restricted-admin' or 'admin' + # Value is ignored if RADIUS is not being used but it still must be set + #ssc_json_radius_default: "no-access" + + # + # 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 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.yaml new file mode 100644 index 0000000000..ace080e7e7 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.yaml @@ -0,0 +1,322 @@ +# Template for instantiating +# - 1 x HA SSC pair - A instance +# +# During initial instantiation, the Perimeta A instance is configured with +# minimal configuration, commissioned as an SSC and started. In addition, it +# will attempt partnering with the B instance when it becomes availble. +# +# During healing, the Perimeta A instance is only configured with sufficient +# configuration to allow partnering from the B instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an A side Perimeta SSC and optionally partner it with the corresponding B side + +parameters: + # General VNF parameters + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: ID of VNF + vf_module_id: + type: string + description: Unique ID for this VF Module instance + # Availability zones + availability_zone_0: + type: string + description: Availability zone for A instances. + shared_perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + shared_perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on all interfaces. + shared_perimeta_ssc_server_group: + type: string + description: Server group to use for these VMs + # Internal network parameters + shared_int_ha_net_id: + type: string + description: HA network id + constraints: + - custom_constraint: neutron.network + + # Constraint below is copied from base module + shared_int_ha_net_prefix_len_v4: + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: shared_int_ha_net_prefix_len_v4 must be between 0 and 31 + # Unused network parameters + # + # This is used for connecting the unused 4th SSC service interface. + shared_ssc_unused_net_id: + type: string + description: Unused network ID + # 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 + # Trusted/core network parameters + trusted_net_id: + type: string + description: Network ID of Trusted/core network. + constraints: + - custom_constraint: neutron.network + # untrusted parent network parameters + shared_int_untrusted_parent_net_id: + type: string + description: untrusted parent network id + # SSC IP addresses on Untrusted/access parent network + ssc_untrusted_parent_vip_0: + type: string + description: Virtual IPv4 address on Untrusted/access parent network for SSC. + ssc_a_untrusted_parent_ip_0: + type: string + description: Fixed IPv4 address on Untrusted/access parent network for SSC A. + perimeta_untrusted_num_vlans: + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_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. + # 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 + # Hostames of the VIP and servers + ssc_vnfcname_0: + type: string + description: Name of vnfc of SSC. This is the name associated with the perimeta pair and corresponds to the VIP + constraints: + - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + description: vnfc name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed. + ssc_a_vnfcname_0: + type: string + description: vnfc name of VM A of SSC + constraints: + - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + description: vnfc name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed. + ssc_b_vnfcname_0: + type: string + description: vnfc name of VM B of SSC + constraints: + - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + description: vnfc name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed. + # SSC names of the physical A instance + 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,29}$' + description: VM name must be 30 characters or less. 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. + ssc_a_mgmt_ip_0: + type: string + description: Management fixed IP address to use for SSC A. + ssc_b_mgmt_ip_0: + type: string + description: Management fixed IP address to use for SSC B. + # 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. + ssc_b_int_ha_ip_0: + type: string + description: HA fixed IP address to use for SSC B. + # 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. + # SSC IP addresses on Untrusted/access network + ssc_untrusted_vip_0: + type: string + description: Virtual IPv4 address on Untrusted/access network for SSC. + ssc_untrusted_v6_vip_0: + type: string + description: Virtual IPv6 address on Untrusted/access network for SSC. + ssc_a_untrusted_ip_0: + type: string + description: Fixed IPv4 address on Untrusted/access network for SSC A. + ssc_a_untrusted_v6_ip_0: + type: string + description: Fixed IPv6 address on Untrusted/access network for SSC A. + # + # RF virtual IPv4 address on management/Rf network for SSC. + # + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + + ssc_a_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC A. + 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) + # Healing or instantiating? Used to build the correct json file + ssc_a_json_prefix: + type: string + description: Json prefix, used to create the correct json file depending on the operation being performed + constraints: + - allowed_values: + - " " + - "// healing, not required " + description: ssc_a_json_prefix must be set to ' ' or '// healing, not required ' + # Running V4.1 perimeta or greater. Used to ensure that newer json tags are + # not included if the server will not recognize them + ssc_json_v41: + type: string + description: Json prefix, used to ensure that the json tags will be recognised by the server loading them + constraints: + - allowed_values: + - " " + - "// older perimeta, parameter not required " + description: ssc_json_v41 must be set to ' ' or '// older perimeta, parameter not required ' + # Use Radius for user account authentication. + ssc_json_use_radius_authentication: + type: string + description: Json prefix, used to indicate if user account authentication is done externally through Radius + constraints: + - allowed_values: + - " " + - "// not using Radius " + description: ssc_json_use_radius_authentication must be set to ' ' or '// not using Radius ' + # Radius Server address configuration + ssc_json_radius_servername: + type: string + description: IP Address or hostname of RADIUS server + # Radius Server port configuration + ssc_json_radius_port: + type: number + description: Port to use to connect to RADIUS server + constraints: + - range: { min: 0, max: 65535 } + description: ssc_json_radius_port must be between 0 and 65535 + # Radius Server shared secret + ssc_json_radius_secret: + type: string + description: Shared secret to use for the RADIUS Server + # Radius Server connection timeout + ssc_json_radius_timeout: + type: number + description: Timeout for connect requests to RADIUS server + constraints: + - range: { min: 1, max: 60 } + description: ssc_json_timeout must be between 1 and 60 + # Radius Server default user authentication level + ssc_json_radius_default: + type: string + description: Default authentication level for RADIUS users + constraints: + - allowed_values: + - "no-access" + - "read-only" + - "support" + - "restricted-admin" + - "admin" + description: ssc_json_radius_default must be set to one of 'no-access', 'read-only', 'support', 'restricted-admin' or 'admin' + +resources: + # Perimeta SSC + perimeta_ssc_a: + type: module_1_perimeta_swmu_a_child.yaml + properties: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vm_role: 'ssc' + vf_module_id: { get_param: vf_module_id } + ssc_a_name_0: { get_param: ssc_a_name_0 } + perimeta_image_name: { get_param: ssc_image_name } + perimeta_flavor_name: { get_param: ssc_flavor_name } + perimeta_keypair: { get_param: shared_perimeta_keypair } + availability_zone_0: { get_param: availability_zone_0 } + mgmt_net_id: { get_param: mgmt_net_id } + ssc_mgmt_vip_0: { get_param: ssc_mgmt_vip_0 } + ssc_a_mgmt_ip_0: { get_param: ssc_a_mgmt_ip_0 } + perimeta_sec_groups: { get_param: shared_perimeta_sec_groups } + int_ha_net_id: { get_param: shared_int_ha_net_id } + int_ha_network_plen: { get_param: shared_int_ha_net_prefix_len_v4 } + ssc_a_int_ha_ip_0: { get_param: ssc_a_int_ha_ip_0 } + ssc_b_int_ha_ip_0: { get_param: ssc_b_int_ha_ip_0 } + trusted_net_id: { get_param: trusted_net_id } + ssc_trusted_vip_0: { get_param: ssc_trusted_vip_0 } + ssc_a_trusted_ip_0: { get_param: ssc_a_trusted_ip_0 } + ssc_untrusted_vip_0: { get_param: ssc_untrusted_vip_0 } + ssc_untrusted_v6_vip_0: { get_param: ssc_untrusted_v6_vip_0 } + ssc_a_untrusted_ip_0: { get_param: ssc_a_untrusted_ip_0 } + ssc_a_untrusted_v6_ip_0: { get_param: ssc_a_untrusted_v6_ip_0 } + int_untrusted_parent_net_id: { get_param: shared_int_untrusted_parent_net_id } + ssc_untrusted_parent_vip_0: { get_param: ssc_untrusted_parent_vip_0 } + ssc_a_untrusted_parent_ip_0: { get_param: ssc_a_untrusted_parent_ip_0 } + perimeta_untrusted_num_vlans: { get_param: perimeta_untrusted_num_vlans } + perimeta_untrusted_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_untrusted_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + perimeta_server_group: { get_param: shared_perimeta_ssc_server_group } + ssc_rf_vip_0: { get_param: ssc_rf_vip_0 } + ssc_a_rf_ip_0: { get_param: ssc_a_rf_ip_0 } + unused_port_net_id: { get_param: shared_ssc_unused_net_id } + perimeta_config: + str_replace: + template: {get_file: ssc_a_template.json} + params: + $HEALING_OR_INSTANTIATION: { get_param: ssc_a_json_prefix } + $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs } + $41ORABOVE: { get_param: ssc_json_v41 } + $USERADIUSAUTH: { get_param: ssc_json_use_radius_authentication } + $RADIUS_SERVERNAME: { get_param: ssc_json_radius_servername } + $RADIUS_PORT: { get_param: ssc_json_radius_port } + $RADIUS_SECRET: { get_param: ssc_json_radius_secret } + $RADIUS_TIMEOUT: { get_param: ssc_json_radius_timeout } + $RADIUS_DEFAULT: { get_param: ssc_json_radius_default } + $LOCAL_MGMT_IP_ADDR: { get_param: ssc_a_mgmt_ip_0 } + $REMOTE_MGMT_IP_ADDR: { get_param: ssc_b_mgmt_ip_0 } + $MGMT_NETWORK_PLEN: { get_param: mgmt_net_plen } + $MGMT_NETWORK_DEFAULT_GATEWAY: { get_param: mgmt_net_default_gateway } + $VIRT_MGMT_IP_ADDR: { get_param: ssc_mgmt_vip_0 } + $VM_NAME_A: { get_param: ssc_a_vnfcname_0 } + $VM_NAME_B: { get_param: ssc_b_vnfcname_0 } + $SYSTEM_NAME: { get_param: ssc_vnfcname_0 } + $COMPLETION_PARAMS: '' diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.env new file mode 100644 index 0000000000..7806bd1692 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.env @@ -0,0 +1,115 @@ +# Environment file for instantiating +# - 1 x HA SSC pair - B instance +# +# The Perimeta B instance is only configured with sufficient +# configuration to allow partnering from the A instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# + +parameters: + # + # General VNF parameters + # + # Unique VNF name + #vnf_name: tsbc0002 + # ID of VNF + #vnf_id: ibcx0002 + # Unique ID for this VF Module instance + #vf_module_id: ibcx + # Availability zone for B instances. + #availability_zone_1: DPA3_D2_AZ2 + + # + # Shared parameters from base template + # + # Internal HA network UUID + #shared_int_ha_net_id: "c8994bb0-9dbd-43e7-a8f9-658c54e35d23" + # Internal HA network IPv4 prefix length + #shared_int_ha_net_prefix_len_v4: 26 + # Keypair UUID + #shared_perimeta_keypair: "atttest_key_pair" + # List of security groups to use for all interfaces + #shared_perimeta_sec_groups: [ "2412dd6a-d784-40a5-a195-7a7da2349178" ] + # Anti-affinity server groups to use for SSCs + #shared_perimeta_ssc_server_group: "308e8e5b-fac5-4964-b86c-47d8b439fe44" + # Unused network parameters + #shared_ssc_unused_net_id: "dd410626-5658-445c-8f97-1142e2d521ab" + + # + # SSC parameters + # + # Flavor to use for creating SSC VM instance + ssc_flavor_name: gv.c8r16d160 + # Glance image to use for launching SSC Perimeta instances. + ssc_image_name: ISBC_SBC_v4.0.40_SU12.qcow2 + + + + # Name of VM B of SSC + #ssc_b_name_0: ibcx0002vm002 + + # + # HA network parameters + # + # HA fixed IPv4 address to use for SSC B. + #ssc_b_int_ha_ip_0: 172.26.1.5 + # HA fixed IPv4 address to use for SSC A. + #ssc_a_int_ha_ip_0: 172.26.1.4 + + # + # Management network parameters + # + # Management network ID + #mgmt_net_id: 4b5621b0-4ca4-4ea0-8511-860318c4fc3b + # Management virtual IPv4 address to use for SSC. + #ssc_mgmt_vip_0: 135.144.188.133 + # Management fixed IPv4 address to use for SSC B. + #ssc_b_mgmt_ip_0: 135.144.188.136 + + # + # Trusted/core network parameters + # + # Network ID of Trusted/core network. + #trusted_net_id: 3d584971-4ec6-408c-92fe-3073666fbcb9 + # 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 B. + #ssc_b_trusted_ip_0: 10.1.1.6 + + # + # Untrusted/access network parameters + # + # Using VLANs on Untrusted/access + #shared_int_untrusted_parent_net_id: a0ddd409-f6a7-465a-a091-827a12402252 + # Virtual IPv4 address on Untrusted/access parent network for SSC. + #ssc_untrusted_parent_vip_0: 11.0.0.6 + # Fixed IPv4 address on Untrusted/access parent network for SSC B. + #ssc_b_untrusted_parent_ip_0: 11.0.0.5 + + #perimeta_untrusted_num_vlans: 5 + #perimeta_untrusted_vlan_ids: ["81", "1001", "1002", "1003", "1004"] + #perimeta_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] + + + + # Virtual IPv4 address on Untrusted/access network for SSC. + #ssc_untrusted_vip_0: 12.121.106.133 + # 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 B. + #ssc_b_untrusted_ip_0: 12.121.106.134 + # Fixed IPv6 address on Untrusted/access network for SSC B. + #ssc_b_untrusted_v6_ip_0: 2001:1890:1001:2B38::2D:3 + + # + # management/Rf network parameters + # + # Virtual IPv4 address on management/Rf network for SSC. + #ssc_rf_vip_0: 135.144.188.135 + # Fixed IPv4 address on management/Rf network for SSC B. + #ssc_b_rf_ip_0: 135.144.188.136 + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.yaml new file mode 100644 index 0000000000..ba2407e533 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.yaml @@ -0,0 +1,197 @@ +# Template for instantiating +# - 1 x HA SSC pair - B instance +# +# The Perimeta B instance is only configured with sufficient +# configuration to allow partnering from the A instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an B side Perimeta SSC + +parameters: + # General VNF parameters + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: ID of VNF + vf_module_id: + type: string + description: Unique ID for this VF Module instance + # Availability zones + availability_zone_1: + type: string + description: Availability zone for B instances. + shared_perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + shared_perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on all interfaces. + shared_perimeta_ssc_server_group: + type: string + description: Server group to use for these VMs + # Internal network parameters + shared_int_ha_net_id: + type: string + description: HA network id + constraints: + - custom_constraint: neutron.network + + # Constraint below is copied from base module + shared_int_ha_net_prefix_len_v4: + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: shared_int_ha_net_prefix_len_v4 must be between 0 and 31 + # Unused network parameters + # + # This is used for connecting the unused 4th SSC service interface. + shared_ssc_unused_net_id: + type: string + description: Unused network ID + # Management network parameters + mgmt_net_id: + type: string + description: Management network ID + constraints: + - custom_constraint: neutron.network + # Trusted/core network parameters + trusted_net_id: + type: string + description: Network ID of Trusted/core network. + constraints: + - custom_constraint: neutron.network + # untrusted parent network parameters + shared_int_untrusted_parent_net_id: + type: string + description: untrusted parent network id + # SSC IP addresses on Untrusted/access parent network + ssc_untrusted_parent_vip_0: + type: string + description: Virtual IPv4 address on Untrusted/access parent network for SSC. + ssc_b_untrusted_parent_ip_0: + type: string + description: Fixed IPv4 address on Untrusted/access parent network for SSC B. + perimeta_untrusted_num_vlans: + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_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. + # 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 names of the physical B instance + 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,29}$' + description: VM name must be 30 characters or less. 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. + ssc_b_mgmt_ip_0: + type: string + description: Management fixed IP address to use for SSC B. + # SSC IP addresses on internal HA network + ssc_b_int_ha_ip_0: + type: string + description: HA fixed IP address to use for SSC B. + ssc_a_int_ha_ip_0: + type: string + description: HA fixed IP address to use for SSC A. + # SSC IP addresses on Trusted/core network + ssc_trusted_vip_0: + type: string + description: Virtual IPv4 address on Trusted/core network for SSC. + ssc_b_trusted_ip_0: + type: string + description: Fixed IPv4 address on Trusted/core network for SSC B. + # SSC IP addresses on Untrusted/access network + ssc_untrusted_vip_0: + type: string + description: Virtual IPv4 address on Untrusted/access network for SSC. + ssc_untrusted_v6_vip_0: + type: string + description: Virtual IPv6 address on Untrusted/access network for SSC. + ssc_b_untrusted_ip_0: + type: string + description: Fixed IPv4 address on Untrusted/access network for SSC B. + ssc_b_untrusted_v6_ip_0: + type: string + description: Fixed IPv6 address on Untrusted/access network for SSC B. + # + # RF virtual IPv4 address on management/Rf network for SSC. + # + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + + ssc_b_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC B. + +resources: + # Perimeta SSC + perimeta_ssc_b: + type: module_1_perimeta_swmu_b_child.yaml + properties: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vm_role: 'ssc' + vf_module_id: { get_param: vf_module_id } + ssc_b_name_0: { get_param: ssc_b_name_0 } + perimeta_image_name: { get_param: ssc_image_name } + perimeta_flavor_name: { get_param: ssc_flavor_name } + perimeta_keypair: { get_param: shared_perimeta_keypair } + availability_zone_1: { get_param: availability_zone_1 } + mgmt_net_id: { get_param: mgmt_net_id } + ssc_mgmt_vip_0: { get_param: ssc_mgmt_vip_0 } + ssc_b_mgmt_ip_0: { get_param: ssc_b_mgmt_ip_0 } + perimeta_sec_groups: { get_param: shared_perimeta_sec_groups } + int_ha_net_id: { get_param: shared_int_ha_net_id } + int_ha_network_plen: { get_param: shared_int_ha_net_prefix_len_v4 } + ssc_b_int_ha_ip_0: { get_param: ssc_b_int_ha_ip_0 } + ssc_a_int_ha_ip_0: { get_param: ssc_a_int_ha_ip_0 } + trusted_net_id: { get_param: trusted_net_id } + ssc_trusted_vip_0: { get_param: ssc_trusted_vip_0 } + ssc_b_trusted_ip_0: { get_param: ssc_b_trusted_ip_0 } + ssc_untrusted_vip_0: { get_param: ssc_untrusted_vip_0 } + ssc_untrusted_v6_vip_0: { get_param: ssc_untrusted_v6_vip_0 } + ssc_b_untrusted_ip_0: { get_param: ssc_b_untrusted_ip_0 } + ssc_b_untrusted_v6_ip_0: { get_param: ssc_b_untrusted_v6_ip_0 } + int_untrusted_parent_net_id: { get_param: shared_int_untrusted_parent_net_id } + ssc_untrusted_parent_vip_0: { get_param: ssc_untrusted_parent_vip_0 } + ssc_b_untrusted_parent_ip_0: { get_param: ssc_b_untrusted_parent_ip_0 } + perimeta_untrusted_num_vlans: { get_param: perimeta_untrusted_num_vlans } + perimeta_untrusted_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_untrusted_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + perimeta_server_group: { get_param: shared_perimeta_ssc_server_group } + ssc_rf_vip_0: { get_param: ssc_rf_vip_0 } + ssc_b_rf_ip_0: { get_param: ssc_b_rf_ip_0 } + unused_port_net_id: { get_param: shared_ssc_unused_net_id } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_a_child.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_a_child.yaml new file mode 100644 index 0000000000..8be774c1d3 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_a_child.yaml @@ -0,0 +1,313 @@ +# Heat template which intstantiates an A side Perimeta SSC instance with +# 6 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 an A side Perimeta SSC instance with 6 vNICs as part of a nested template + +parameters: + vnf_name: + type: string + description: Unique name for this VNF instance + 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 + ssc_a_name_0: + type: string + description: Name of Perimeta VM A instance + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + 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. + mgmt_net_id: + type: string + description: Management network id + ssc_mgmt_vip_0: + type: string + description: Management virtual IP address. + ssc_a_mgmt_ip_0: + type: string + description: Fixed IP address to use as management IP of A instance. + int_ha_net_id: + type: string + description: HA network id + int_ha_network_plen: + # Constraint copied from base module + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: int_ha_network_plen must be between 0 and 31 + ssc_a_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IP of A instance. + ssc_b_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IPs of B instance. + trusted_net_id: + type: string + description: Trusted/core network UUID + ssc_trusted_vip_0: + type: string + description: Trusted/core virtual IP address. + ssc_a_trusted_ip_0: + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of A instance. + perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on trusted interfaces. + ssc_untrusted_vip_0: + type: string + description: Untrusted/access virtual IP address + ssc_untrusted_v6_vip_0: + type: string + description: Untrusted/access alternate virtual IP address + ssc_a_untrusted_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A instance. + ssc_a_untrusted_v6_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of A instance. + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + ssc_untrusted_parent_vip_0: + type: string + description: Untrusted/access parent virtual IP address + ssc_a_untrusted_parent_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A parent instance. + perimeta_untrusted_num_vlans: + # constraint copied from parent module + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_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_port_net_id: + type: string + description: Service network unused port network UUID + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + ssc_a_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC A. + perimeta_server_group: + type: string + description: Server group to use for these VMs + perimeta_config: + type: string + description: JSON orchestration template configuration for instance. + +resources: + # Perimeta management ports + perimeta_ssc_a_mgmt_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: ssc_a_mgmt_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_mgmt_vip_0 } + + # Perimeta HA ports + perimeta_ssc_a_ha_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: int_ha_net_id } + fixed_ips: + - ip_address: { get_param: ssc_a_int_ha_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + + # Perimeta Trusted/core service network ports + # + # Dual stack core network + # - if only IPv4 required comment out second entry in fixed_ips and allowed_addess_pairs parameters. + # - if only IPv6 required comment out first entry in fixed_ips and allowed_addess_pairs parameters. + perimeta_ssc_a_trusted_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: trusted_net_id } + fixed_ips: + - ip_address: { get_param: ssc_a_trusted_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_trusted_vip_0 } + + # Perimeta Untrusted/access service network ports + # VLAN being used on this service interface. + # The parent network port is used to anchor the VLANs and is not used to + # route actual traffic for the service interface. This means that we can + # create a dummy network in the base module and use that instead of the + # real untrusted network + + perimeta_ssc_a_untrusted_parent_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: int_untrusted_parent_net_id } + fixed_ips: + - ip_address: { get_param: ssc_a_untrusted_parent_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_untrusted_parent_vip_0 } + + + # Contrail VLAN subinterfaces + perimeta_ssc_a_untrusted_0_vlan_ports: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: perimeta_untrusted_num_vlans } + resource_def: + type: vlan_subinterface_dual.yaml + properties: + perimeta_subinterface_instance_index: "%index%" + perimeta_subinterface_name_prefix: + str_replace: + template: $VNF_NAME_$VM_untrusted_port_vlan + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + perimeta_parent_interface: { get_resource: perimeta_ssc_a_untrusted_parent_0_port } + perimeta_mac_address: { get_attr: [ perimeta_ssc_a_untrusted_parent_0_port, mac_address ] } + perimeta_ip_0: { get_param: ssc_a_untrusted_ip_0 } + perimeta_v6_ip_0: { get_param: ssc_a_untrusted_v6_ip_0 } + perimeta_vip_0: { get_param: ssc_untrusted_vip_0 } + perimeta_v6_vip_0: { get_param: ssc_untrusted_v6_vip_0 } + perimeta_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + + # Perimeta Rf service network ports + # + # This uses the management network and is IPv4 only + perimeta_ssc_a_mgmt_1_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_1_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: ssc_a_rf_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_rf_vip_0 } + + # need the unused port to balance out the NICs + perimeta_ssc_a_unused_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_unused_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: unused_port_net_id } + + # Add any additional service ports here. + + perimeta_ssc_a_server_0: + type: OS::Nova::Server + properties: + name: { get_param: ssc_a_name_0 } + image: { get_param: perimeta_image_name } + flavor: { get_param: perimeta_flavor_name } + key_name: { get_param: perimeta_keypair } + scheduler_hints: { group: { get_param: perimeta_server_group } } + metadata: + 'vnf_name': { get_param: vnf_name } + '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 } + 'msw_template_version': '17.07.04 - 2017-09-01' + personality: + '/opt/MetaSwitch/init/custom.ini': { get_file: custom.ini } + networks: + - port: { get_resource: perimeta_ssc_a_mgmt_0_port } + - port: { get_resource: perimeta_ssc_a_ha_0_port } + - port: { get_resource: perimeta_ssc_a_trusted_0_port } + - port: { get_resource: perimeta_ssc_a_untrusted_parent_0_port } + - port: { get_resource: perimeta_ssc_a_mgmt_1_port } + - port: { get_resource: perimeta_ssc_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_ssc_a_mgmt_0_port, mac_address] } + $HA_MACADDR: { get_attr: [perimeta_ssc_a_ha_0_port, mac_address] } + $TRUSTED_MACADDR: { get_attr: [perimeta_ssc_a_trusted_0_port, mac_address] } + $UNTRUSTED_MACADDR: { get_attr: [perimeta_ssc_a_untrusted_parent_0_port, mac_address] } + $SERV3_MACADDR: { get_attr: [perimeta_ssc_a_mgmt_1_port, mac_address] } + $SERV4_MACADDR: { get_attr: [perimeta_ssc_a_unused_0_port, mac_address] } + $LOCAL_HA_IP_ADDR: { get_param: ssc_a_int_ha_ip_0 } + $REMOTE_HA_IP_ADDR: { get_param: ssc_b_int_ha_ip_0 } + $HA_NETWORK_PLEN: { get_param: int_ha_network_plen }
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_b_child.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_b_child.yaml new file mode 100644 index 0000000000..a0ac2fe178 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_b_child.yaml @@ -0,0 +1,321 @@ +# Heat template which intstantiates an B side Perimeta SSC instance with +# 6 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 an B side Perimeta SSC instance with 6 vNICs as part of a nested template + +parameters: + vnf_name: + type: string + description: Unique name for this VNF instance + 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 + ssc_b_name_0: + type: string + description: Name of Perimeta VM B instance + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + 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 + ssc_mgmt_vip_0: + type: string + description: Management virtual IP address. + ssc_b_mgmt_ip_0: + type: string + description: Fixed IP address to use as management IP of B instance. + int_ha_net_id: + type: string + description: HA network id + int_ha_network_plen: + # Constraint copied from base module + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: int_ha_network_plen must be between 0 and 31 + ssc_b_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IP of B instance. + ssc_a_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IPs of A instance. + trusted_net_id: + type: string + description: Trusted/core network UUID + ssc_trusted_vip_0: + type: string + description: Trusted/core virtual IP address. + ssc_b_trusted_ip_0: + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of B instance. + perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on trusted interfaces. + ssc_untrusted_vip_0: + type: string + description: Untrusted/access virtual IP address + ssc_untrusted_v6_vip_0: + type: string + description: Untrusted/access alternate virtual IP address + ssc_b_untrusted_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B instance. + ssc_b_untrusted_v6_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of B instance. + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + ssc_untrusted_parent_vip_0: + type: string + description: Untrusted/access parent virtual IP address + ssc_b_untrusted_parent_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B parent instance. + perimeta_untrusted_num_vlans: + # constraint copied from parent module + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_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_port_net_id: + type: string + description: Service network unused port network UUID + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + ssc_b_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC B. + perimeta_server_group: + type: string + description: Server group to use for these VMs + +resources: + # Perimeta management ports + perimeta_ssc_b_mgmt_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: ssc_b_mgmt_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_mgmt_vip_0 } + + # Perimeta HA ports + perimeta_ssc_b_ha_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: int_ha_net_id } + fixed_ips: + - ip_address: { get_param: ssc_b_int_ha_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + + # Perimeta Trusted/core service network ports + # + # Dual stack core network + # - if only IPv4 required comment out second entry in fixed_ips and allowed_addess_pairs parameters. + # - if only IPv6 required comment out first entry in fixed_ips and allowed_addess_pairs parameters. + perimeta_ssc_b_trusted_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: trusted_net_id } + fixed_ips: + - ip_address: { get_param: ssc_b_trusted_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_trusted_vip_0 } + + # Perimeta Untrusted/access service network ports + # VLAN being used on this service interface. + # The parent network port is used to anchor the VLANs and is not used to + # route actual traffic for the service interface. This means that we can + # create a dummy network in the base module and use that instead of the + # real untrusted network + + perimeta_ssc_b_untrusted_parent_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: int_untrusted_parent_net_id } + fixed_ips: + - ip_address: { get_param: ssc_b_untrusted_parent_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_untrusted_parent_vip_0 } + + + # Contrail VLAN subinterfaces + perimeta_ssc_b_untrusted_0_vlan_ports: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: perimeta_untrusted_num_vlans } + resource_def: + type: vlan_subinterface_dual.yaml + properties: + perimeta_subinterface_instance_index: "%index%" + perimeta_subinterface_name_prefix: + str_replace: + template: $VNF_NAME_$VM_untrusted_port_vlan + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + perimeta_parent_interface: { get_resource: perimeta_ssc_b_untrusted_parent_0_port } + perimeta_mac_address: { get_attr: [ perimeta_ssc_b_untrusted_parent_0_port, mac_address ] } + perimeta_ip_0: { get_param: ssc_b_untrusted_ip_0 } + perimeta_v6_ip_0: { get_param: ssc_b_untrusted_v6_ip_0 } + perimeta_vip_0: { get_param: ssc_untrusted_vip_0 } + perimeta_v6_vip_0: { get_param: ssc_untrusted_v6_vip_0 } + perimeta_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + + # Perimeta Rf service network ports + # + # This uses the management network and is IPv4 only + perimeta_ssc_b_mgmt_1_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_1_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: ssc_b_rf_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_rf_vip_0 } + + # need the unused port to balance out the NICs + perimeta_ssc_b_unused_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_unused_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: unused_port_net_id } + + # Add any additional service ports here. + + perimeta_ssc_b_server_0: + type: OS::Nova::Server + properties: + name: { get_param: ssc_b_name_0 } + image: { get_param: perimeta_image_name } + flavor: { get_param: perimeta_flavor_name } + key_name: { get_param: perimeta_keypair } + scheduler_hints: { group: { get_param: perimeta_server_group } } + metadata: + 'vnf_name': { get_param: vnf_name } + '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 } + 'msw_template_version': '17.07.04 - 2017-09-01' + networks: + - port: { get_resource: perimeta_ssc_b_mgmt_0_port } + - port: { get_resource: perimeta_ssc_b_ha_0_port } + - port: { get_resource: perimeta_ssc_b_trusted_0_port } + - port: { get_resource: perimeta_ssc_b_untrusted_parent_0_port } + - port: { get_resource: perimeta_ssc_b_mgmt_1_port } + - port: { get_resource: perimeta_ssc_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" + } + params: + $MGMT_MACADDR: { get_attr: [perimeta_ssc_b_mgmt_0_port, mac_address] } + $HA_MACADDR: { get_attr: [perimeta_ssc_b_ha_0_port, mac_address] } + $TRUSTED_MACADDR: { get_attr: [perimeta_ssc_b_trusted_0_port, mac_address] } + $UNTRUSTED_MACADDR: { get_attr: [perimeta_ssc_b_untrusted_parent_0_port, mac_address] } + $SERV3_MACADDR: { get_attr: [perimeta_ssc_b_mgmt_1_port, mac_address] } + $SERV4_MACADDR: { get_attr: [perimeta_ssc_b_unused_0_port, mac_address] } + $LOCAL_HA_IP_ADDR: { get_param: ssc_b_int_ha_ip_0 } + $REMOTE_HA_IP_ADDR: { get_param: ssc_a_int_ha_ip_0 } + $HA_NETWORK_PLEN: { get_param: int_ha_network_plen }
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.env new file mode 100644 index 0000000000..015a95f262 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.env @@ -0,0 +1,206 @@ +# Environment file for instantiating +# - 1 x HA RTP MSC pair - A instance +# +# During initial instantiation, the Perimeta A instance is configured with +# minimal configuration, commissioned as an RTP MSC and started. In addition, it +# will attempt partnering with the B instance when it becomes availble. +# +# During healing, the Perimeta A instance is only configured with sufficient +# configuration to allow partnering from the B instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +# A perimeta deployment can support one or more RTP MSCs. The parameter +# rtp_msc_a_index is used to make sure that the appropriate settings for this +# RTP MSC are extracted from the various address and server group arrays. +# + +parameters: + # + # General VNF parameters + # + # Unique VNF name + #vnf_name: tsbc0002 + # 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 + # + # Shared parameters from base template + # + # Internal HA network UUID + #shared_int_ha_net_id: "c8994bb0-9dbd-43e7-a8f9-658c54e35d23" + # Internal HA network IPv4 prefix length + #shared_int_ha_net_prefix_len_v4: 26 + # Keypair UUID + #shared_perimeta_keypair: "atttest_key_pair" + # List of security groups to use for all interfaces + #shared_perimeta_sec_groups: [ "2412dd6a-d784-40a5-a195-7a7da2349178" ] + # Anti-affinity server groups to use for RTP MSCs + #shared_perimeta_rtp_msc_server_groups: ["be4b3fa9-112d-454e-952f-146e45202130","bcdd96eb-b3fc-42ee-9ae8-e13ad0a4f0b8","b293e29f-c101-4b4e-80d6-7a1b4173e4e2","fd791679-6b71-4c3a-b8b7-1d586559976e","98171a69-8956-4ce6-b303-1a15444ee47b","a35ba80b-c0c2-4c29-a9ae-4df26d33323f","2192327a-6a31-43b6-84c4-49abc597b4e6","b2843fa5-9f25-49b0-9dc6-5c1c0472e8d4"] + + # + # RTP MSC parameters + # + # Index of RTP MSC to instantiate / heal. This is used as the index into the + # various address and service group arrays to get the information associated + # with that specific instance + #rtp_msc_a_index: 0 + # Flavor to use for creating RTP MSC VM instance + rtp_msc_flavor_name: gv.c8r16d160 + # Glance image to use for launching RTP MSC Perimeta instances. + rtp_msc_image_name: ISBC_SBC_v4.0.40_SU12.qcow2 + + + # VNFC of the RTP MSC VIP + #rtp_msc_vnfcnames: ["ibcx0002vm003msc001pair","ibcx0002vm005msc001pair","ibcx0002vm007msc001pair","ibcx0002vm009msc001pair","ibcx0002vm011msc001pair","ibcx0002vm013msc001pair","ibcx0002vm015msc001pair","ibcx0002vm017msc001pair"] + # VNFCs of the servers + #rtp_msc_a_vnfcnames: ["ibcx0002vm003msc001","ibcx0002vm005msc001","ibcx0002vm007msc001","ibcx0002vm009msc001","ibcx0002vm011msc001","ibcx0002vm013msc001","ibcx0002vm015msc001","ibcx0002vm017msc001"] + #rtp_msc_b_vnfcnames: ["ibcx0002vm004msc001","ibcx0002vm006msc001","ibcx0002vm008msc001","ibcx0002vm010msc001","ibcx0002vm012msc001","ibcx0002vm014msc001","ibcx0002vm016msc001","ibcx0002vm018msc001"] + + # Name of VM A of RTP MSC + #rtp_msc_a_names: ["ibcx0002vm003","ibcx0002vm005","ibcx0002vm007","ibcx0002vm009","ibcx0002vm011","ibcx0002vm013","ibcx0002vm015","ibcx0002vm017"] + + # + # HA network parameters + # + # HA fixed IPv4 address to use for RTP MSC A. + #rtp_msc_a_int_ha_ips: ["172.26.1.6","172.26.1.8","172.26.1.10","172.26.1.12","172.26.1.14","172.26.1.16","172.26.1.18","172.26.1.20"] + # HA fixed IPv4 address to use for RTP MSC B. + #rtp_msc_b_int_ha_ips: ["172.26.1.7","172.26.1.9","172.26.1.11","172.26.1.13","172.26.1.15","172.26.1.17","172.26.1.19","172.26.1.21"] + + # + # Management network parameters + # + # Management network ID + #mgmt_net_id: 4b5621b0-4ca4-4ea0-8511-860318c4fc3b + # Management network prefix length + #mgmt_net_plen: 26 + # Default gateway for management network + #mgmt_net_default_gateway: 135.144.188.131 + # Management virtual IPv4 address to use for RTP MSC. + #rtp_msc_mgmt_vips: ["135.144.188.139","135.144.188.142","135.144.188.145","135.144.188.148","135.144.188.151","135.144.188.154","135.144.188.157","135.144.188.160"] + # Management fixed IPv4 address to use for RTP MSC A. + #rtp_msc_a_mgmt_ips: ["135.144.188.138","135.144.188.141","135.144.188.144","135.144.188.147","135.144.188.150","135.144.188.153","135.144.188.156","135.144.188.159"] + # Management fixed IPv4 address to use for RTP MSC B. + #rtp_msc_b_mgmt_ips: ["135.144.188.140","135.144.188.143","135.144.188.146","135.144.188.149","135.144.188.152","135.144.188.155","135.144.188.158","135.144.188.161"] + + # + # Trusted/core network parameters + # + # Network ID of Trusted/core network. + #trusted_net_id: 3d584971-4ec6-408c-92fe-3073666fbcb9 + # Virtual IPv4 address on Trusted/core network for RTP MSC. + #rtp_msc_trusted_vips: ["10.1.1.8","10.1.1.11","10.1.1.14","10.1.1.17","10.1.1.20","10.1.1.23","10.1.1.26","10.1.1.29"] + # Fixed IPv4 address on Trusted/core network for RTP MSC A. + #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","10.1.1.22","10.1.1.25","10.1.1.28"] + + # + # Untrusted/access network parameters + # + # Using VLANs on Untrusted/access + #shared_int_untrusted_parent_net_id: a0ddd409-f6a7-465a-a091-827a12402252 + # Virtual IPv4 address on Untrusted/access parent network for RTP MSC. + #rtp_msc_untrusted_parent_vips: ["11.0.0.9","11.0.0.12","11.0.0.15","11.0.0.18","11.0.0.21","11.0.0.24","11.0.0.27","11.0.0.30"] + # Fixed IPv4 address on Untrusted/access parent network for RTP MSC A. + #rtp_msc_a_untrusted_parent_ips: ["11.0.0.7","11.0.0.10","11.0.0.13","11.0.0.16","11.0.0.19","11.0.0.22","11.0.0.25","11.0.0.28"] + + #perimeta_untrusted_num_vlans: 5 + #perimeta_untrusted_vlan_ids: ["81", "1001", "1002", "1003", "1004"] + #perimeta_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] + + + + # Virtual IPv4 address on Untrusted/access network for RTP MSC. + #rtp_msc_untrusted_vips: ["12.121.106.136","12.121.106.139","12.121.106.142","12.121.106.145","12.121.106.148","12.121.106.151","12.121.106.154","12.121.106.157"] + # Virtual IPv6 address on Untrusted/access network for RTP MSC. + #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","2001:1890:1001:2B38::2D:14","2001:1890:1001:2B38::2D:17","2001:1890:1001:2B38::2D:1A"] + # Fixed IPv4 address on Untrusted/access network for RTP MSC A. + #rtp_msc_a_untrusted_ips: ["12.121.106.135","12.121.106.138","12.121.106.141","12.121.106.144","12.121.106.147","12.121.106.150","12.121.106.153","12.121.106.156"] + # Fixed IPv6 address on Untrusted/access network for RTP MSC A. + #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","2001:1890:1001:2B38::2D:13","2001:1890:1001:2B38::2D:16","2001:1890:1001:2B38::2D:19"] + + # + # A side healing / instantiation parameters + # + # + # Healing or instantiation? This is used to ensure that the json file passed + # to the VF is correct for the operation being carried out. + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // not required for healing + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # Uncomment for instantiation, comment for healing + rtp_msc_a_json_prefix: " " + # Uncomment for healing, comment for instantiation + # rtp_msc_a_json_prefix: "// healing, not required " + + # Orchestrating a perimeta version 41 or above. Used to ensure that the + # tags in the json file are supported by the version of perimeta that is + # being instantiated. + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // older perimeta, parameter not required + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # + # Uncomment for V4.1.00 or above, comment for V4.0.40 + rtp_msc_json_v41: " " + # Uncomment for V4.0.40, comment for V4.1.00 or above + # rtp_msc_json_v41: "// older perimeta, parameter not required " + + # Using Radius for user account authentication? Used to ensure that the json + # file is configured correctly depending on whether we are using Radius or + # local authentication + # + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // older perimeta, parameter not required + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # Uncomment for Local authentication + #rtp_msc_json_use_radius_authentication: "// not using Radius " + # Uncomment for Radius authentication + ## rtp_msc_json_use_radius_authentication: " " + + # + # Radius server parameters + # + # + # IP Address or hostname of RADIUS Server. + # Value is ignored if RADIUS is not being used but it still must be set + #rtp_msc_json_radius_servername: "192.0.0.1" + # Radius Server port configuration - value between 0 and 65535 + # Normal Radius Server port is 1812 + # Value is ignored if RADIUS is not being used but it still must be set + #rtp_msc_json_radius_port: 1812 + # Radius Server shared secret + # Value is ignored if RADIUS is not being used but it still must be set + #rtp_msc_json_radius_secret: "TopSecret" + # Radius Server connection timeout - value between 1 and 60 + # Value is ignored if RADIUS is not being used but it still must be set + #rtp_msc_json_radius_timeout: 3 + # Radius Server default user authentication level. + # must be set to one of 'no-access', 'read-only', 'support', 'restricted-admin' or 'admin' + # Value is ignored if RADIUS is not being used but it still must be set + #rtp_msc_json_radius_default: "no-access" + + # + # 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 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.yaml new file mode 100644 index 0000000000..fbadb47a9d --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.yaml @@ -0,0 +1,313 @@ +# Template for instantiating +# - 1 x HA RTP MSC pair - A instance +# +# During initial instantiation, the Perimeta A instance is configured with +# minimal configuration, commissioned as an RTP MSC and started. In addition, it +# will attempt partnering with the B instance when it becomes availble. +# +# During healing, the Perimeta A instance is only configured with sufficient +# configuration to allow partnering from the B instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +# A perimeta deployment can support one or more RTP MSCs. The parameter +# rtp_msc_a_index is used to make sure that the appropriate settings for this +# RTP MSC are extracted from the various address and server group arrays. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an A side Perimeta RTP MSC and optionally partner it with the corresponding B side + +parameters: + # General VNF parameters + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: ID of VNF + vf_module_id: + type: string + description: Unique ID for this VF Module instance + # Availability zones + availability_zone_0: + type: string + description: Availability zone for A instances. + shared_perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + shared_perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on all interfaces. + shared_perimeta_rtp_msc_server_groups: + type: comma_delimited_list + description: Server group to use for these VMs + # Internal network parameters + shared_int_ha_net_id: + type: string + description: HA network id + constraints: + - custom_constraint: neutron.network + + # Constraint below is copied from base module + shared_int_ha_net_prefix_len_v4: + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: shared_int_ha_net_prefix_len_v4 must be between 0 and 31 + # 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 + # Trusted/core network parameters + trusted_net_id: + type: string + description: Network ID of Trusted/core network. + constraints: + - custom_constraint: neutron.network + # untrusted parent network parameters + shared_int_untrusted_parent_net_id: + type: string + description: untrusted parent network id + # RTP MSC IP addresses on Untrusted/access parent network + rtp_msc_untrusted_parent_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Untrusted/access parent network for RTP MSC. + rtp_msc_a_untrusted_parent_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Untrusted/access parent network for RTP MSC A. + perimeta_untrusted_num_vlans: + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_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. + # RTP MSC parameters + rtp_msc_flavor_name: + type: string + description: Flavor to use for creating RTP MSC VM instance + 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 + # Index of the instance to instantiate / heal. This is used to access the + # various address / name / server group arrays to extract the information + # specific to this server. + # + # The constraints need to be co-ordinated with the parameter + # perimeta_max_rtp_msc_count in the base template. Unfortunately we cannot + # use a get_param call to get a constraint so it has to be a number. + # + # We also need to account for the fact that arrays start at zero and we are + # specifying the index in this parameter so the maximum constraint is 1 less + # than the maximum in the base template + rtp_msc_a_index: + type: number + description: Index of RTP MSC to instantiate / heal. + constraints: + - range: { min: 0, max: 19 } + description: rtp_msc_a_index must be between 0 and 19 + # Hostames of the VIP and servers + rtp_msc_vnfcnames: + type: comma_delimited_list + description: List of vnfc names of the RTP MSC. This is the name associated with the perimeta pair and corresponds to the VIP + rtp_msc_a_vnfcnames: + type: comma_delimited_list + description: List of vnfc names of the A of RTP MSC + rtp_msc_b_vnfcnames: + type: comma_delimited_list + description: List of vnfc names of VM B of RTP MSC + # RTP MSC names of the physical A instance + rtp_msc_a_names: + type: comma_delimited_list + description: List of names of VM A of RTP MSC + # RTP MSC IP addresses on management network + rtp_msc_mgmt_vips: + type: comma_delimited_list + description: List of management virtual IP addresses to use for RTP MSC. + rtp_msc_a_mgmt_ips: + type: comma_delimited_list + description: List of management fixed IP addresses to use for RTP MSC A. + rtp_msc_b_mgmt_ips: + type: comma_delimited_list + description: List of management fixed IP addresses to use for RTP MSC B. + # RTP MSC IP addresses on internal HA network + rtp_msc_a_int_ha_ips: + type: comma_delimited_list + description: List of HA fixed IP addresses to use for RTP MSC A. + rtp_msc_b_int_ha_ips: + type: comma_delimited_list + description: List of HA fixed IP addresses to use for RTP MSC B. + # RTP MSC IP addresses on Trusted/core network + rtp_msc_trusted_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Trusted/core network for RTP MSC. + rtp_msc_a_trusted_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Trusted/core network for RTP MSC A. + # RTP MSC IP addresses on Untrusted/access network + rtp_msc_untrusted_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Untrusted/access network for RTP MSC. + rtp_msc_untrusted_v6_vips: + type: comma_delimited_list + description: List of virtual IPv6 addresses on Untrusted/access network for RTP MSC. + rtp_msc_a_untrusted_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Untrusted/access network for RTP MSC A. + rtp_msc_a_untrusted_v6_ips: + type: comma_delimited_list + description: List of fixed IPv6 addresses on Untrusted/access network for RTP MSC A. + 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) + # Healing or instantiating? Used to build the correct json file + rtp_msc_a_json_prefix: + type: string + description: Json prefix, used to create the correct json file depending on the operation being performed + constraints: + - allowed_values: + - " " + - "// healing, not required " + description: rtp_msc_a_json_prefix must be set to ' ' or '// healing, not required ' + # Running V4.1 perimeta or greater. Used to ensure that newer json tags are + # not included if the server will not recognize them + rtp_msc_json_v41: + type: string + description: Json prefix, used to ensure that the json tags will be recognised by the server loading them + constraints: + - allowed_values: + - " " + - "// older perimeta, parameter not required " + description: rtp_msc_json_v41 must be set to ' ' or '// older perimeta, parameter not required ' + # Use Radius for user account authentication. + rtp_msc_json_use_radius_authentication: + type: string + description: Json prefix, used to indicate if user account authentication is done externally through Radius + constraints: + - allowed_values: + - " " + - "// not using Radius " + description: rtp_msc_json_use_radius_authentication must be set to ' ' or '// not using Radius ' + # Radius Server address configuration + rtp_msc_json_radius_servername: + type: string + description: IP Address or hostname of RADIUS server + # Radius Server port configuration + rtp_msc_json_radius_port: + type: number + description: Port to use to connect to RADIUS server + constraints: + - range: { min: 0, max: 65535 } + description: rtp_msc_json_radius_port must be between 0 and 65535 + # Radius Server shared secret + rtp_msc_json_radius_secret: + type: string + description: Shared secret to use for the RADIUS Server + # Radius Server connection timeout + rtp_msc_json_radius_timeout: + type: number + description: Timeout for connect requests to RADIUS server + constraints: + - range: { min: 1, max: 60 } + description: rtp_msc_json_timeout must be between 1 and 60 + # Radius Server default user authentication level + rtp_msc_json_radius_default: + type: string + description: Default authentication level for RADIUS users + constraints: + - allowed_values: + - "no-access" + - "read-only" + - "support" + - "restricted-admin" + - "admin" + description: rtp_msc_json_radius_default must be set to one of 'no-access', 'read-only', 'support', 'restricted-admin' or 'admin' + +resources: + # Perimeta RTP MSC + perimeta_rtp_msc_a: + type: module_2_perimeta_sw_a_child.yaml + properties: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vm_role: 'msc' + vf_module_id: { get_param: vf_module_id } + rtp_msc_a_names: { get_param: rtp_msc_a_names } + perimeta_instance_index: { get_param: rtp_msc_a_index } + perimeta_image_name: { get_param: rtp_msc_image_name } + perimeta_flavor_name: { get_param: rtp_msc_flavor_name } + perimeta_keypair: { get_param: shared_perimeta_keypair } + availability_zone_0: { get_param: availability_zone_0 } + mgmt_net_id: { get_param: mgmt_net_id } + rtp_msc_mgmt_vips: { get_param: rtp_msc_mgmt_vips } + rtp_msc_a_mgmt_ips: { get_param: rtp_msc_a_mgmt_ips } + perimeta_sec_groups: { get_param: shared_perimeta_sec_groups } + int_ha_net_id: { get_param: shared_int_ha_net_id } + int_ha_network_plen: { get_param: shared_int_ha_net_prefix_len_v4 } + rtp_msc_a_int_ha_ips: { get_param: rtp_msc_a_int_ha_ips } + rtp_msc_b_int_ha_ips: { get_param: rtp_msc_b_int_ha_ips } + trusted_net_id: { get_param: trusted_net_id } + rtp_msc_trusted_vips: { get_param: rtp_msc_trusted_vips } + rtp_msc_a_trusted_ips: { get_param: rtp_msc_a_trusted_ips } + rtp_msc_untrusted_vips: { get_param: rtp_msc_untrusted_vips } + rtp_msc_untrusted_v6_vips: { get_param: rtp_msc_untrusted_v6_vips } + rtp_msc_a_untrusted_ips: { get_param: rtp_msc_a_untrusted_ips } + rtp_msc_a_untrusted_v6_ips: { get_param: rtp_msc_a_untrusted_v6_ips } + int_untrusted_parent_net_id: { get_param: shared_int_untrusted_parent_net_id } + rtp_msc_untrusted_parent_vips: { get_param: rtp_msc_untrusted_parent_vips } + rtp_msc_a_untrusted_parent_ips: { get_param: rtp_msc_a_untrusted_parent_ips } + perimeta_untrusted_num_vlans: { get_param: perimeta_untrusted_num_vlans } + perimeta_untrusted_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_untrusted_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + perimeta_server_groups: { get_param: shared_perimeta_rtp_msc_server_groups } + perimeta_config: + str_replace: + template: {get_file: rtp_msc_a_template.json} + params: + $HEALING_OR_INSTANTIATION: { get_param: rtp_msc_a_json_prefix } + $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs } + $41ORABOVE: { get_param: rtp_msc_json_v41 } + $USERADIUSAUTH: { get_param: rtp_msc_json_use_radius_authentication } + $RADIUS_SERVERNAME: { get_param: rtp_msc_json_radius_servername } + $RADIUS_PORT: { get_param: rtp_msc_json_radius_port } + $RADIUS_SECRET: { get_param: rtp_msc_json_radius_secret } + $RADIUS_TIMEOUT: { get_param: rtp_msc_json_radius_timeout } + $RADIUS_DEFAULT: { get_param: rtp_msc_json_radius_default } + $LOCAL_MGMT_IP_ADDR: { get_param: [ rtp_msc_a_mgmt_ips, { get_param: rtp_msc_a_index } ] } + $REMOTE_MGMT_IP_ADDR: { get_param: [ rtp_msc_b_mgmt_ips, { get_param: rtp_msc_a_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: [ rtp_msc_mgmt_vips, { get_param: rtp_msc_a_index } ] } + $VM_NAME_A: { get_param: [ rtp_msc_a_vnfcnames, { get_param: rtp_msc_a_index } ] } + $VM_NAME_B: { get_param: [ rtp_msc_b_vnfcnames, { get_param: rtp_msc_a_index } ] } + $SYSTEM_NAME: { get_param: [ rtp_msc_vnfcnames, { get_param: rtp_msc_a_index } ] } + $COMPLETION_PARAMS: '' diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.env new file mode 100644 index 0000000000..0a98f80305 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.env @@ -0,0 +1,113 @@ +# Environment file for instantiating +# - 1 x HA RTP MSC pair - B instance +# +# The Perimeta B instance is only configured with sufficient +# configuration to allow partnering from the A instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +# A perimeta deployment can support one or more RTP MSCs. The parameter +# rtp_msc_b_index is used to make sure that the appropriate settings for this +# RTP MSC are extracted from the various address and server group arrays. +# + +parameters: + # + # General VNF parameters + # + # Unique VNF name + #vnf_name: tsbc0002 + # ID of VNF + #vnf_id: ibcx0002 + # Unique ID for this VF Module instance + #vf_module_id: ibcx + # Availability zone for B instances. + #availability_zone_1: DPA3_D2_AZ2 + + # + # Shared parameters from base template + # + # Internal HA network UUID + #shared_int_ha_net_id: "c8994bb0-9dbd-43e7-a8f9-658c54e35d23" + # Internal HA network IPv4 prefix length + #shared_int_ha_net_prefix_len_v4: 26 + # Keypair UUID + #shared_perimeta_keypair: "atttest_key_pair" + # List of security groups to use for all interfaces + #shared_perimeta_sec_groups: [ "2412dd6a-d784-40a5-a195-7a7da2349178" ] + # Anti-affinity server groups to use for RTP MSCs + #shared_perimeta_rtp_msc_server_groups: ["be4b3fa9-112d-454e-952f-146e45202130","bcdd96eb-b3fc-42ee-9ae8-e13ad0a4f0b8","b293e29f-c101-4b4e-80d6-7a1b4173e4e2","fd791679-6b71-4c3a-b8b7-1d586559976e","98171a69-8956-4ce6-b303-1a15444ee47b","a35ba80b-c0c2-4c29-a9ae-4df26d33323f","2192327a-6a31-43b6-84c4-49abc597b4e6","b2843fa5-9f25-49b0-9dc6-5c1c0472e8d4"] + + # + # RTP MSC parameters + # + # Index of RTP MSC to instantiate / heal. This is used as the index into the + # various address and service group arrays to get the information associated + # with that specific instance + #rtp_msc_b_index: 0 + # Flavor to use for creating RTP MSC VM instance + rtp_msc_flavor_name: gv.c8r16d160 + # Glance image to use for launching RTP MSC Perimeta instances. + rtp_msc_image_name: ISBC_SBC_v4.0.40_SU12.qcow2 + + + + # Name of VM B of RTP MSC + #rtp_msc_b_names: ["ibcx0002vm004","ibcx0002vm006","ibcx0002vm008","ibcx0002vm010","ibcx0002vm012","ibcx0002vm014","ibcx0002vm016","ibcx0002vm018"] + + # + # HA network parameters + # + # HA fixed IPv4 address to use for RTP MSC B. + #rtp_msc_b_int_ha_ips: ["172.26.1.7","172.26.1.9","172.26.1.11","172.26.1.13","172.26.1.15","172.26.1.17","172.26.1.19","172.26.1.21"] + # HA fixed IPv4 address to use for RTP MSC A. + #rtp_msc_a_int_ha_ips: ["172.26.1.6","172.26.1.8","172.26.1.10","172.26.1.12","172.26.1.14","172.26.1.16","172.26.1.18","172.26.1.20"] + + # + # Management network parameters + # + # Management network ID + #mgmt_net_id: 4b5621b0-4ca4-4ea0-8511-860318c4fc3b + # Management virtual IPv4 address to use for RTP MSC. + #rtp_msc_mgmt_vips: ["135.144.188.139","135.144.188.142","135.144.188.145","135.144.188.148","135.144.188.151","135.144.188.154","135.144.188.157","135.144.188.160"] + # Management fixed IPv4 address to use for RTP MSC B. + #rtp_msc_b_mgmt_ips: ["135.144.188.140","135.144.188.143","135.144.188.146","135.144.188.149","135.144.188.152","135.144.188.155","135.144.188.158","135.144.188.161"] + + # + # Trusted/core network parameters + # + # Network ID of Trusted/core network. + #trusted_net_id: 3d584971-4ec6-408c-92fe-3073666fbcb9 + # Virtual IPv4 address on Trusted/core network for RTP MSC. + #rtp_msc_trusted_vips: ["10.1.1.8","10.1.1.11","10.1.1.14","10.1.1.17","10.1.1.20","10.1.1.23","10.1.1.26","10.1.1.29"] + # Fixed IPv4 address on Trusted/core network for RTP MSC B. + #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","10.1.1.24","10.1.1.27","10.1.1.30"] + + # + # Untrusted/access network parameters + # + # Using VLANs on Untrusted/access + #shared_int_untrusted_parent_net_id: a0ddd409-f6a7-465a-a091-827a12402252 + # Virtual IPv4 address on Untrusted/access parent network for RTP MSC. + #rtp_msc_untrusted_parent_vips: ["11.0.0.9","11.0.0.12","11.0.0.15","11.0.0.18","11.0.0.21","11.0.0.24","11.0.0.27","11.0.0.30"] + # Fixed IPv4 address on Untrusted/access parent network for RTP MSC B. + #rtp_msc_b_untrusted_parent_ips: ["11.0.0.8","11.0.0.11","11.0.0.14","11.0.0.17","11.0.0.20","11.0.0.23","11.0.0.26","11.0.0.29"] + + #perimeta_untrusted_num_vlans: 5 + #perimeta_untrusted_vlan_ids: ["81", "1001", "1002", "1003", "1004"] + #perimeta_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] + + + + # Virtual IPv4 address on Untrusted/access network for RTP MSC. + #rtp_msc_untrusted_vips: ["12.121.106.136","12.121.106.139","12.121.106.142","12.121.106.145","12.121.106.148","12.121.106.151","12.121.106.154","12.121.106.157"] + # Virtual IPv6 address on Untrusted/access network for RTP MSC. + #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","2001:1890:1001:2B38::2D:14","2001:1890:1001:2B38::2D:17","2001:1890:1001:2B38::2D:1A"] + # Fixed IPv4 address on Untrusted/access network for RTP MSC B. + #rtp_msc_b_untrusted_ips: ["12.121.106.137","12.121.106.140","12.121.106.143","12.121.106.146","12.121.106.149","12.121.106.152","12.121.106.155","12.121.106.158"] + # Fixed IPv6 address on Untrusted/access network for RTP MSC B. + #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","2001:1890:1001:2B38::2D:15","2001:1890:1001:2B38::2D:18","2001:1890:1001:2B38::2D:1B"] + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.yaml new file mode 100644 index 0000000000..d3866bff77 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.yaml @@ -0,0 +1,197 @@ +# Template for instantiating +# - 1 x HA RTP MSC pair - B instance +# +# The Perimeta B instance is only configured with sufficient +# configuration to allow partnering from the A instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +# A perimeta deployment can support one or more RTP MSCs. The parameter +# rtp_msc_b_index is used to make sure that the appropriate settings for this +# RTP MSC are extracted from the various address and server group arrays. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an B side Perimeta RTP MSC + +parameters: + # General VNF parameters + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: ID of VNF + vf_module_id: + type: string + description: Unique ID for this VF Module instance + # Availability zones + availability_zone_1: + type: string + description: Availability zone for B instances. + shared_perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + shared_perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on all interfaces. + shared_perimeta_rtp_msc_server_groups: + type: comma_delimited_list + description: Server group to use for these VMs + # Internal network parameters + shared_int_ha_net_id: + type: string + description: HA network id + constraints: + - custom_constraint: neutron.network + + # Constraint below is copied from base module + shared_int_ha_net_prefix_len_v4: + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: shared_int_ha_net_prefix_len_v4 must be between 0 and 31 + # Management network parameters + mgmt_net_id: + type: string + description: Management network ID + constraints: + - custom_constraint: neutron.network + # Trusted/core network parameters + trusted_net_id: + type: string + description: Network ID of Trusted/core network. + constraints: + - custom_constraint: neutron.network + # untrusted parent network parameters + shared_int_untrusted_parent_net_id: + type: string + description: untrusted parent network id + # RTP MSC IP addresses on Untrusted/access parent network + rtp_msc_untrusted_parent_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Untrusted/access parent network for RTP MSC. + rtp_msc_b_untrusted_parent_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Untrusted/access parent network for RTP MSC B. + perimeta_untrusted_num_vlans: + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_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. + # RTP MSC parameters + rtp_msc_flavor_name: + type: string + description: Flavor to use for creating RTP MSC VM instance + 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 + # Index of the instance to instantiate / heal. This is used to access the + # various address / name / server group arrays to extract the information + # specific to this server. + # + # The constraints need to be co-ordinated with the parameter + # perimeta_max_rtp_msc_count in the base template. Unfortunately we cannot + # use a get_param call to get a constraint so it has to be a number. + # + # We also need to account for the fact that arrays start at zero and we are + # specifying the index in this parameter so the maximum constraint is 1 less + # than the maximum in the base template + rtp_msc_b_index: + type: number + description: Index of RTP MSC to instantiate / heal. + constraints: + - range: { min: 0, max: 19 } + description: rtp_msc_b_index must be between 0 and 19 + # RTP MSC names of the physical B instance + rtp_msc_b_names: + type: comma_delimited_list + description: List of names of VM B of RTP MSC + # RTP MSC IP addresses on management network + rtp_msc_mgmt_vips: + type: comma_delimited_list + description: List of management virtual IP addresses to use for RTP MSC. + rtp_msc_b_mgmt_ips: + type: comma_delimited_list + description: List of management fixed IP addresses to use for RTP MSC B. + # RTP MSC IP addresses on internal HA network + rtp_msc_b_int_ha_ips: + type: comma_delimited_list + description: List of HA fixed IP addresses to use for RTP MSC B. + rtp_msc_a_int_ha_ips: + type: comma_delimited_list + description: List of HA fixed IP addresses to use for RTP MSC A. + # RTP MSC IP addresses on Trusted/core network + rtp_msc_trusted_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Trusted/core network for RTP MSC. + rtp_msc_b_trusted_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Trusted/core network for RTP MSC B. + # RTP MSC IP addresses on Untrusted/access network + rtp_msc_untrusted_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Untrusted/access network for RTP MSC. + rtp_msc_untrusted_v6_vips: + type: comma_delimited_list + description: List of virtual IPv6 addresses on Untrusted/access network for RTP MSC. + rtp_msc_b_untrusted_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Untrusted/access network for RTP MSC B. + rtp_msc_b_untrusted_v6_ips: + type: comma_delimited_list + description: List of fixed IPv6 addresses on Untrusted/access network for RTP MSC B. + +resources: + # Perimeta RTP MSC + perimeta_rtp_msc_b: + type: module_2_perimeta_sw_b_child.yaml + properties: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vm_role: 'msc' + vf_module_id: { get_param: vf_module_id } + rtp_msc_b_names: { get_param: rtp_msc_b_names } + perimeta_instance_index: { get_param: rtp_msc_b_index } + perimeta_image_name: { get_param: rtp_msc_image_name } + perimeta_flavor_name: { get_param: rtp_msc_flavor_name } + perimeta_keypair: { get_param: shared_perimeta_keypair } + availability_zone_1: { get_param: availability_zone_1 } + mgmt_net_id: { get_param: mgmt_net_id } + rtp_msc_mgmt_vips: { get_param: rtp_msc_mgmt_vips } + rtp_msc_b_mgmt_ips: { get_param: rtp_msc_b_mgmt_ips } + perimeta_sec_groups: { get_param: shared_perimeta_sec_groups } + int_ha_net_id: { get_param: shared_int_ha_net_id } + int_ha_network_plen: { get_param: shared_int_ha_net_prefix_len_v4 } + rtp_msc_b_int_ha_ips: { get_param: rtp_msc_b_int_ha_ips } + rtp_msc_a_int_ha_ips: { get_param: rtp_msc_a_int_ha_ips } + trusted_net_id: { get_param: trusted_net_id } + rtp_msc_trusted_vips: { get_param: rtp_msc_trusted_vips } + rtp_msc_b_trusted_ips: { get_param: rtp_msc_b_trusted_ips } + rtp_msc_untrusted_vips: { get_param: rtp_msc_untrusted_vips } + rtp_msc_untrusted_v6_vips: { get_param: rtp_msc_untrusted_v6_vips } + rtp_msc_b_untrusted_ips: { get_param: rtp_msc_b_untrusted_ips } + rtp_msc_b_untrusted_v6_ips: { get_param: rtp_msc_b_untrusted_v6_ips } + int_untrusted_parent_net_id: { get_param: shared_int_untrusted_parent_net_id } + rtp_msc_untrusted_parent_vips: { get_param: rtp_msc_untrusted_parent_vips } + rtp_msc_b_untrusted_parent_ips: { get_param: rtp_msc_b_untrusted_parent_ips } + perimeta_untrusted_num_vlans: { get_param: perimeta_untrusted_num_vlans } + perimeta_untrusted_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_untrusted_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + perimeta_server_groups: { get_param: shared_perimeta_rtp_msc_server_groups } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_a_child.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_a_child.yaml new file mode 100644 index 0000000000..fdf5b2a662 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_a_child.yaml @@ -0,0 +1,286 @@ +# Heat template which intstantiates an A side Perimeta RTP MSC instance with +# 4 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 an A side Perimeta RTP MSC instance with 4 vNICs as part of a nested template + +parameters: + vnf_name: + type: string + description: Unique name for this VNF instance + 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 + # Index of the instance to instantiate / heal. This is used to access the + # various address / name / server group arrays to extract the information + # specific to this server. + # + # The constraints need to be co-ordinated with the parameter + # perimeta_max_rtp_msc_count in the base template. Unfortunately we cannot + # use a get_param call to get a constraint so it has to be a number. + # + # We also need to account for the fact that arrays start at zero and we are + # specifying the index in this parameter so the maximum constraint is 1 less + # than the maximum in the base template + 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. + constraints: + - range: { min: 0, max: 19 } + description: perimeta_instance_index must be between 0 and 19 + rtp_msc_a_names: + type: comma_delimited_list + description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + 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. + mgmt_net_id: + type: string + description: Management network id + rtp_msc_mgmt_vips: + type: comma_delimited_list + description: List of management virtual IP addresses for all instances. + rtp_msc_a_mgmt_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as management IPs of A instances. + int_ha_net_id: + type: string + description: HA network id + int_ha_network_plen: + # Constraint copied from base module + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: int_ha_network_plen must be between 0 and 31 + rtp_msc_a_int_ha_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as HA IPs of A instances. + rtp_msc_b_int_ha_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as HA IPs of B instances. + trusted_net_id: + type: string + description: Trusted/core network UUID + rtp_msc_trusted_vips: + type: comma_delimited_list + description: List of Trusted/core virtual IP addresses for all instances. + rtp_msc_a_trusted_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of A instances. + perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on trusted interfaces. + rtp_msc_untrusted_vips: + type: comma_delimited_list + description: List of Untrusted/access virtual IP addresses for all instances. + rtp_msc_untrusted_v6_vips: + type: comma_delimited_list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + rtp_msc_a_untrusted_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access fixed IPs of A instances. + rtp_msc_a_untrusted_v6_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of A instances. + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + rtp_msc_untrusted_parent_vips: + type: comma_delimited_list + description: List of Untrusted/access parent virtual IP addresses for all instances. + rtp_msc_a_untrusted_parent_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of A instances. + perimeta_untrusted_num_vlans: + # constraint copied from parent module + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_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_server_groups: + type: comma_delimited_list + description: Server groups to use for these VMs + perimeta_config: + type: string + description: JSON orchestration template configuration for instance. + +resources: + # Perimeta management ports + perimeta_rtp_msc_a_mgmt_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_a_names, { get_param: perimeta_instance_index } ] } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_a_mgmt_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_mgmt_vips, { get_param: perimeta_instance_index } ] } + + # Perimeta HA ports + perimeta_rtp_msc_a_ha_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_a_names, { get_param: perimeta_instance_index } ] } + network: { get_param: int_ha_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_a_int_ha_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + + # Perimeta Trusted/core service network ports + # + # Dual stack core network + # - if only IPv4 required comment out second entry in fixed_ips and allowed_addess_pairs parameters. + # - if only IPv6 required comment out first entry in fixed_ips and allowed_addess_pairs parameters. + perimeta_rtp_msc_a_trusted_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_a_names, { get_param: perimeta_instance_index } ] } + network: { get_param: trusted_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_a_trusted_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_trusted_vips, { get_param: perimeta_instance_index } ] } + + # Perimeta Untrusted/access service network ports + # VLAN being used on this service interface. + # The parent network port is used to anchor the VLANs and is not used to + # route actual traffic for the service interface. This means that we can + # create a dummy network in the base module and use that instead of the + # real untrusted network + + perimeta_rtp_msc_a_untrusted_parent_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_a_names, { get_param: perimeta_instance_index } ] } + network: { get_param: int_untrusted_parent_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_a_untrusted_parent_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_untrusted_parent_vips, { get_param: perimeta_instance_index } ] } + + + # Contrail VLAN subinterfaces + perimeta_rtp_msc_a_untrusted_0_vlan_ports: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: perimeta_untrusted_num_vlans } + resource_def: + type: vlan_subinterface_dual.yaml + properties: + perimeta_subinterface_instance_index: "%index%" + perimeta_subinterface_name_prefix: + str_replace: + template: $VNF_NAME_$VM_untrusted_port_vlan + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_a_names, { get_param: perimeta_instance_index } ] } + perimeta_parent_interface: { get_resource: perimeta_rtp_msc_a_untrusted_parent_0_port } + perimeta_mac_address: { get_attr: [ perimeta_rtp_msc_a_untrusted_parent_0_port, mac_address ] } + perimeta_ip_0: { get_param: [ rtp_msc_a_untrusted_ips, { get_param: perimeta_instance_index } ] } + perimeta_v6_ip_0: { get_param: [ rtp_msc_a_untrusted_v6_ips, { get_param: perimeta_instance_index } ] } + perimeta_vip_0: { get_param: [ rtp_msc_untrusted_vips, { get_param: perimeta_instance_index } ] } + perimeta_v6_vip_0: { get_param: [ rtp_msc_untrusted_v6_vips, { get_param: perimeta_instance_index } ] } + perimeta_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + + # Add any additional service ports here. + + perimeta_rtp_msc_a_server_0: + type: OS::Nova::Server + properties: + name: { get_param: [ rtp_msc_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_server_groups, { get_param: perimeta_instance_index } ] } } + metadata: + 'vnf_name': { get_param: vnf_name } + '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 } + 'msw_template_version': '17.07.04 - 2017-09-01' + personality: + '/opt/MetaSwitch/init/custom.ini': { get_file: custom.ini } + networks: + - port: { get_resource: perimeta_rtp_msc_a_mgmt_0_port } + - port: { get_resource: perimeta_rtp_msc_a_ha_0_port } + - port: { get_resource: perimeta_rtp_msc_a_trusted_0_port } + - port: { get_resource: perimeta_rtp_msc_a_untrusted_parent_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_rtp_msc_a_mgmt_0_port, mac_address] } + $HA_MACADDR: { get_attr: [perimeta_rtp_msc_a_ha_0_port, mac_address] } + $TRUSTED_MACADDR: { get_attr: [perimeta_rtp_msc_a_trusted_0_port, mac_address] } + $UNTRUSTED_MACADDR: { get_attr: [perimeta_rtp_msc_a_untrusted_parent_0_port, mac_address] } + $LOCAL_HA_IP_ADDR: { get_param: [ rtp_msc_a_int_ha_ips, { get_param: perimeta_instance_index } ] } + $REMOTE_HA_IP_ADDR: { get_param: [ rtp_msc_b_int_ha_ips, { get_param: perimeta_instance_index } ] } + $HA_NETWORK_PLEN: { get_param: int_ha_network_plen }
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_b_child.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_b_child.yaml new file mode 100644 index 0000000000..3aa1a66ba1 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_b_child.yaml @@ -0,0 +1,292 @@ +# Heat template which intstantiates an B side Perimeta RTP MSC instance with +# 4 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 an B side Perimeta RTP MSC instance with 4 vNICs as part of a nested template + +parameters: + vnf_name: + type: string + description: Unique name for this VNF instance + 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 + # Index of the instance to instantiate / heal. This is used to access the + # various address / name / server group arrays to extract the information + # specific to this server. + # + # The constraints need to be co-ordinated with the parameter + # perimeta_max_rtp_msc_count in the base template. Unfortunately we cannot + # use a get_param call to get a constraint so it has to be a number. + # + # We also need to account for the fact that arrays start at zero and we are + # specifying the index in this parameter so the maximum constraint is 1 less + # than the maximum in the base template + 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. + constraints: + - range: { min: 0, max: 19 } + description: perimeta_instance_index must be between 0 and 19 + rtp_msc_b_names: + type: comma_delimited_list + description: List of names of Perimeta VM B instances, indexed by perimeta_instance_index + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + 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 + rtp_msc_mgmt_vips: + type: comma_delimited_list + description: List of management virtual IP addresses for all instances. + rtp_msc_b_mgmt_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as management IPs of B instances. + int_ha_net_id: + type: string + description: HA network id + int_ha_network_plen: + # Constraint copied from base module + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: int_ha_network_plen must be between 0 and 31 + rtp_msc_b_int_ha_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as HA IPs of B instances. + rtp_msc_a_int_ha_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as HA IPs of A instances. + trusted_net_id: + type: string + description: Trusted/core network UUID + rtp_msc_trusted_vips: + type: comma_delimited_list + description: List of Trusted/core virtual IP addresses for all instances. + rtp_msc_b_trusted_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of B instances. + perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on trusted interfaces. + rtp_msc_untrusted_vips: + type: comma_delimited_list + description: List of Untrusted/access virtual IP addresses for all instances. + rtp_msc_untrusted_v6_vips: + type: comma_delimited_list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + rtp_msc_b_untrusted_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access fixed IPs of B instances. + rtp_msc_b_untrusted_v6_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of B instances. + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + rtp_msc_untrusted_parent_vips: + type: comma_delimited_list + description: List of Untrusted/access parent virtual IP addresses for all instances. + rtp_msc_b_untrusted_parent_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of B instances. + perimeta_untrusted_num_vlans: + # constraint copied from parent module + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_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_server_groups: + type: comma_delimited_list + description: Server groups to use for these VMs + +resources: + # Perimeta management ports + perimeta_rtp_msc_b_mgmt_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_b_mgmt_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_mgmt_vips, { get_param: perimeta_instance_index } ] } + + # Perimeta HA ports + perimeta_rtp_msc_b_ha_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] } + network: { get_param: int_ha_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_b_int_ha_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + + # Perimeta Trusted/core service network ports + # + # Dual stack core network + # - if only IPv4 required comment out second entry in fixed_ips and allowed_addess_pairs parameters. + # - if only IPv6 required comment out first entry in fixed_ips and allowed_addess_pairs parameters. + perimeta_rtp_msc_b_trusted_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] } + network: { get_param: trusted_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_b_trusted_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_trusted_vips, { get_param: perimeta_instance_index } ] } + + # Perimeta Untrusted/access service network ports + # VLAN being used on this service interface. + # The parent network port is used to anchor the VLANs and is not used to + # route actual traffic for the service interface. This means that we can + # create a dummy network in the base module and use that instead of the + # real untrusted network + + perimeta_rtp_msc_b_untrusted_parent_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] } + network: { get_param: int_untrusted_parent_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_b_untrusted_parent_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_untrusted_parent_vips, { get_param: perimeta_instance_index } ] } + + + # Contrail VLAN subinterfaces + perimeta_rtp_msc_b_untrusted_0_vlan_ports: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: perimeta_untrusted_num_vlans } + resource_def: + type: vlan_subinterface_dual.yaml + properties: + perimeta_subinterface_instance_index: "%index%" + perimeta_subinterface_name_prefix: + str_replace: + template: $VNF_NAME_$VM_untrusted_port_vlan + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] } + perimeta_parent_interface: { get_resource: perimeta_rtp_msc_b_untrusted_parent_0_port } + perimeta_mac_address: { get_attr: [ perimeta_rtp_msc_b_untrusted_parent_0_port, mac_address ] } + perimeta_ip_0: { get_param: [ rtp_msc_b_untrusted_ips, { get_param: perimeta_instance_index } ] } + perimeta_v6_ip_0: { get_param: [ rtp_msc_b_untrusted_v6_ips, { get_param: perimeta_instance_index } ] } + perimeta_vip_0: { get_param: [ rtp_msc_untrusted_vips, { get_param: perimeta_instance_index } ] } + perimeta_v6_vip_0: { get_param: [ rtp_msc_untrusted_v6_vips, { get_param: perimeta_instance_index } ] } + perimeta_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + + # Add any additional service ports here. + + perimeta_rtp_msc_b_server_0: + type: OS::Nova::Server + properties: + name: { get_param: [ rtp_msc_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_server_groups, { get_param: perimeta_instance_index } ] } } + metadata: + 'vnf_name': { get_param: vnf_name } + '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 } + 'msw_template_version': '17.07.04 - 2017-09-01' + networks: + - port: { get_resource: perimeta_rtp_msc_b_mgmt_0_port } + - port: { get_resource: perimeta_rtp_msc_b_ha_0_port } + - port: { get_resource: perimeta_rtp_msc_b_trusted_0_port } + - port: { get_resource: perimeta_rtp_msc_b_untrusted_parent_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" + } + params: + $MGMT_MACADDR: { get_attr: [perimeta_rtp_msc_b_mgmt_0_port, mac_address] } + $HA_MACADDR: { get_attr: [perimeta_rtp_msc_b_ha_0_port, mac_address] } + $TRUSTED_MACADDR: { get_attr: [perimeta_rtp_msc_b_trusted_0_port, mac_address] } + $UNTRUSTED_MACADDR: { get_attr: [perimeta_rtp_msc_b_untrusted_parent_0_port, mac_address] } + $LOCAL_HA_IP_ADDR: { get_param: [ rtp_msc_b_int_ha_ips, { get_param: perimeta_instance_index } ] } + $REMOTE_HA_IP_ADDR: { get_param: [ rtp_msc_a_int_ha_ips, { get_param: perimeta_instance_index } ] } + $HA_NETWORK_PLEN: { get_param: int_ha_network_plen }
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/vlan_subinterface_dual.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/vlan_subinterface_dual.yaml new file mode 100644 index 0000000000..8ee34a1265 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/vlan_subinterface_dual.yaml @@ -0,0 +1,102 @@ +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: + perimeta_subinterface_instance_index: + # constraint copied from parent module + type: number + description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances. + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_subinterface_instance_index must be between 1 and 1001 + perimeta_subinterface_name_prefix: + type: string + description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource + perimeta_parent_interface: + type: string + description: Parent Contrail interface + perimeta_mac_address: + type: string + description: MAC address to use for subinterface + perimeta_ip_0: + type: string + description: IPv4 address associated with subinterfaces + perimeta_v6_ip_0: + type: string + description: IPv6 address associated with subinterfaces + perimeta_vip_0: + type: string + description: virtual IPv4 address associated with subinterfaces + perimeta_v6_vip_0: + type: string + description: virtual IPv6 address associated with subinterfaces + perimeta_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use for subinterfaces + perimeta_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: perimeta_subinterface_name_prefix } + $VLAN: { get_param: [ perimeta_vlan_ids, { get_param: perimeta_subinterface_instance_index } ] } + virtual_machine_interface_properties: + { + virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: [ perimeta_vlan_ids, { get_param: perimeta_subinterface_instance_index } ] } + } + virtual_machine_interface_mac_addresses: + { + virtual_machine_interface_mac_addresses_mac_address: [{ get_param: perimeta_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: perimeta_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: perimeta_vip_0 }, + 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: perimeta_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: perimeta_v6_vip_0 }, + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128 + } + } + ] + } + virtual_network_refs: [{ get_param: [ perimeta_vlan_networks, { get_param: perimeta_subinterface_instance_index } ] }] + virtual_machine_interface_refs: [{ get_param: perimeta_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: [ perimeta_vlan_networks, { get_param: perimeta_subinterface_instance_index } ] }] + instance_ip_address: { get_param: perimeta_ip_0 } + 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: [ perimeta_vlan_networks, { get_param: perimeta_subinterface_instance_index } ] }] + instance_ip_address: { get_param: perimeta_v6_ip_0 } + instance_ip_family: v6 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml index 6e2aebc9c2..4744837987 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml @@ -508,152 +508,6 @@ topology_template: capability: tosca.capabilities.Node node: NOKIA-LCP-Base relationship: tosca.relationships.DependsOn - FORMATXLATE: - type: org.openecomp.resource.abstract.nodes.heat.LCP-OPENECOMP.template - directives: - - substitutable - properties: - net_ids: - ? '' - : null - access: - get_input: access_net_id - oam: - get_input: oam_net_id - flavors: - ? '' - : '' - oam: - get_input: oam_flavor_name - ims: - get_input: ims_flavor_name - v4_ntp_server: - get_input: v4_ntp_server - vnf_name: - get_input: vnf_name - vmtype_list: - - oam - - ims - name_lists: - ? '' - : [ - ] - oam: - get_input: oam_names - ims: - get_input: ims_names - service_template_filter: - substitute_service_template: LCP-OPENECOMP.templateServiceTemplate.yaml - vm_counts: - get_input: vm_counts - v6_dns_server: - get_input: v6_dns_server - v6_ntp_server: - get_input: v6_ntp_server - vnf_id: - get_input: vnf_id - lcm_keypair: - get_input: lcm_keypair - subnet_ids: - ? '' - : null - access: - get_input: access_subnet_id - oam: - get_input: oam_subnet_id - cidrs: - ? '' - : null - access: - get_input: access_cidr - oam: - get_input: oam_cidr - default_gateways: - ? '' - : null - access: - get_input: access_default_gateway - oam: - get_input: oam_default_gateway - net_types: - get_input: net_types - ssh_access_key: - get_input: ssh_access_key - images: - ? '' - : '' - oam: - get_input: oam_image_name - ims: - get_input: ims_image_name - v4_enum_server: - get_input: v4_enum_server - availability_zones: - - get_input: availability_zone_0 - - get_input: availability_zone_1 - ip_lists: - ? '' - : [ - ] - ims_access_ips: - get_input: ims_access_ips - oam_oam_ips: - get_input: oam_oam_ips - vnf_module_id: - get_input: vnf_module_id - backup_file: - get_input: backup_file - v6_enum_server: - get_input: v6_enum_server - default_action: - get_input: default_action - v4_dns_server: - get_input: v4_dns_server - install_config: - get_input: install_config - cloud_name_delimiter: - get_input: cloud_name_delimiter - vnf_module_name: - get_input: vnf_module_name - vm_info: - get_input: vm_info - vmtype_count: 2 - NOKIA-LCP-Base: - type: org.openecomp.resource.abstract.nodes.heat.LCP-Base.template - directives: - - substitutable - properties: - default_prefix: - str_replace: - template: | - {"": "$stk$delimiter"} - params: - $stk: - get_input: OS::stack_name - $delimiter: - get_attribute: - - FORMATXLATE - - usage_info - - cloud_name_delimiter - total_vm_pairs: - get_attribute: - - FORMATXLATE - - total_vm_pairs - service_template_filter: - substitute_service_template: LCP-Base.templateServiceTemplate.yaml - ext_net_list: - - oam - - access - int_net_count: 2 - ext_net_info: - get_attribute: - - FORMATXLATE - - ext_net_info - requirements: - - dependency: - capability: tosca.capabilities.Node - node: FORMATXLATE - relationship: tosca.relationships.DependsOn IMS_RRG: type: org.openecomp.resource.abstract.nodes.heat.LCP-PairGroup.template directives: @@ -828,8 +682,6 @@ topology_template: Example HOT file illustrating elasticity groups. members: - OAM_RRG - - FORMATXLATE - - NOKIA-LCP-Base - IMS_RRG outputs: oam_management_v4_address: diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/DataModelUtil.java b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/DataModelUtil.java index d908b2cf74..df2459368e 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/DataModelUtil.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/DataModelUtil.java @@ -698,7 +698,7 @@ public class DataModelUtil { * @return the metadata */ public static Map<String, String> createMetadata(String templateName, String templateVersion, - String templateAuthor) { + String templateAuthor) { mdcDataDebugMessage.debugEntryMessage(null, null); @@ -1318,7 +1318,7 @@ public class DataModelUtil { * @return the relationship template */ public static Map<String, RelationshipTemplate> getRelationshipTemplates(ServiceTemplate - serviceTemplate) { + serviceTemplate) { if (serviceTemplate == null || serviceTemplate.getTopology_template() == null || serviceTemplate.getTopology_template().getRelationship_templates() == null) { @@ -1575,4 +1575,9 @@ public class DataModelUtil { mdcDataDebugMessage.debugExitMessage(null, null); } + + public static boolean isNodeTemplateSectionMissingFromServiceTemplate(ServiceTemplate serviceTemplate){ + return Objects.isNull(serviceTemplate.getTopology_template() ) + || MapUtils.isEmpty(serviceTemplate.getTopology_template().getNode_templates()); + } } |