diff options
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib')
62 files changed, 11363 insertions, 257 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/tosca/datatypes/AttToscaPolicyType.java b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/tosca/datatypes/AttToscaPolicyType.java index 8881ec5e40..fd893730c4 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/tosca/datatypes/AttToscaPolicyType.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/tosca/datatypes/AttToscaPolicyType.java @@ -10,12 +10,14 @@ import org.openecomp.sdc.tosca.services.ConfigConstants; public class AttToscaPolicyType { private static Configuration config = ConfigurationManager.lookup(); - public static String POLICY_TYPE_PREFIX = + public static final String POLICY_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_POLICY_TYPE); - public static String PLACEMENT_VALET_AFFINITY = POLICY_TYPE_PREFIX + "placement.valet.Affinity"; - public static String PLACEMENT_VALET_EXCLUSIVITY = + public static final String PLACEMENT_VALET_AFFINITY = POLICY_TYPE_PREFIX + "placement.valet" + + ".Affinity"; + public static final String PLACEMENT_VALET_EXCLUSIVITY = POLICY_TYPE_PREFIX + "placement.valet.Exclusivity"; - public static String PLACEMENT_VALET_DIVERSITY = POLICY_TYPE_PREFIX + "placement.valet.Diversity"; + public static final String PLACEMENT_VALET_DIVERSITY = POLICY_TYPE_PREFIX + "placement.valet" + + ".Diversity"; } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationValetGroupAssignmentImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationValetGroupAssignmentImpl.java index e303276538..176c7c5e65 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationValetGroupAssignmentImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationValetGroupAssignmentImpl.java @@ -289,7 +289,7 @@ public class ResourceTranslationValetGroupAssignmentImpl extends ResourceTransla groupName = (String) groupNameProperty; } - if (!Strings.isNullOrEmpty(groupName)) { + if (groupName != null && !Strings.isNullOrEmpty(groupName)) { groupName = groupName.replace(" ", "_"); resourceId += "_" + groupName; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/test/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseResourceTranslationTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/test/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseResourceTranslationTest.java index e8fddc3108..05bc7cb5f1 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/test/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseResourceTranslationTest.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/test/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseResourceTranslationTest.java @@ -36,6 +36,8 @@ import org.openecomp.sdc.datatypes.error.ErrorMessage; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent; import org.openecomp.sdc.heat.datatypes.manifest.ManifestFile; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerErrorCode; @@ -86,6 +88,8 @@ public class BaseResourceTranslationTest { private final String MANIFEST_NAME = SdcCommon.MANIFEST_NAME; private String validationFilename = "validationOutput.json"; + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @Before public void setUp() throws IOException { initTranslatorAndTranslate(); @@ -286,6 +290,7 @@ public class BaseResourceTranslationTest { } } catch (Exception e) { + log.debug("",e); Assert.fail(e.getMessage()); } return serviceTemplateMap; 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/datatypes/heattotosca/unifiedmodel/composition/NodeTemplateInformation.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/NodeTemplateInformation.java index bd1263da5f..cbcf02e9a6 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/NodeTemplateInformation.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/NodeTemplateInformation.java @@ -1,7 +1,6 @@ package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; -import org.openecomp.sdc.translator.services.heattotosca.UnifiedCompositionService; /** * Created by Talio on 4/4/2017. diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/NestedTemplateConsolidationData.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/NestedTemplateConsolidationData.java index b07c2039b8..0f41b00309 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/NestedTemplateConsolidationData.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/NestedTemplateConsolidationData.java @@ -1,8 +1,5 @@ package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation; -import java.util.List; - - /** * The type nested template consolidation data. */ diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/impl/heattotosca/HeatToToscaTranslatorImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/impl/heattotosca/HeatToToscaTranslatorImpl.java index e09be6cdd9..54a0285026 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/impl/heattotosca/HeatToToscaTranslatorImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/impl/heattotosca/HeatToToscaTranslatorImpl.java @@ -21,8 +21,6 @@ package org.openecomp.sdc.translator.impl.heattotosca; import org.apache.commons.collections4.MapUtils; -import org.openecomp.config.api.Configuration; -import org.openecomp.config.api.ConfigurationManager; import org.openecomp.core.translator.api.HeatToToscaTranslator; import org.openecomp.core.translator.datatypes.TranslatorOutput; import org.openecomp.core.utilities.file.FileUtils; @@ -32,7 +30,6 @@ import org.openecomp.core.validation.factory.ValidationManagerFactory; import org.openecomp.core.validation.util.MessageContainerUtil; import org.openecomp.sdc.common.errors.Messages; import org.openecomp.sdc.common.utils.SdcCommon; -import org.openecomp.sdc.datatypes.configuration.ImplementationConfiguration; import org.openecomp.sdc.datatypes.error.ErrorLevel; import org.openecomp.sdc.datatypes.error.ErrorMessage; import org.openecomp.sdc.heat.datatypes.manifest.FileData; @@ -40,7 +37,6 @@ import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent; import org.openecomp.sdc.heat.datatypes.manifest.ManifestFile; import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel; import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; -import org.openecomp.sdc.translator.services.heattotosca.ConfigConstants; import org.openecomp.sdc.translator.services.heattotosca.ConsolidationService; import org.openecomp.sdc.translator.services.heattotosca.TranslationService; import org.openecomp.sdc.translator.services.heattotosca.UnifiedCompositionManager; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java index 74deb0487a..b86038d175 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java @@ -340,14 +340,15 @@ public class ConsolidationDataUtil { if(Objects.isNull(entityConsolidationData)){ return; } + if (entityConsolidationData != null) { + if (entityConsolidationData.getNodesConnectedOut() == null) { + entityConsolidationData.setNodesConnectedOut(new HashMap<>()); + } - if (entityConsolidationData.getNodesConnectedOut() == null) { - entityConsolidationData.setNodesConnectedOut(new HashMap<>()); + entityConsolidationData.getNodesConnectedOut() + .computeIfAbsent(nodeTemplateId, k -> new ArrayList<>()) + .add(requirementAssignmentData); } - - entityConsolidationData.getNodesConnectedOut() - .computeIfAbsent(nodeTemplateId, k -> new ArrayList<>()) - .add(requirementAssignmentData); } /** @@ -398,14 +399,16 @@ public class ConsolidationDataUtil { serviceTemplate, translateTo.getHeatFileName(), dependentNodeTemplateId); } - if (entityConsolidationData.getNodesConnectedIn() == null) { - entityConsolidationData.setNodesConnectedIn(new HashMap<>()); - } + if (entityConsolidationData != null) { + if (entityConsolidationData.getNodesConnectedIn() == null) { + entityConsolidationData.setNodesConnectedIn(new HashMap<>()); + } - entityConsolidationData.getNodesConnectedIn() - .computeIfAbsent(sourceNodeTemplateId, k -> new ArrayList<>()) - .add(requirementAssignmentData); + entityConsolidationData.getNodesConnectedIn() + .computeIfAbsent(sourceNodeTemplateId, k -> new ArrayList<>()) + .add(requirementAssignmentData); + } } /** diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractor.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractor.java index fc4c3f8841..e732080cb5 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractor.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractor.java @@ -21,11 +21,6 @@ package org.openecomp.sdc.translator.services.heattotosca; import org.openecomp.sdc.heat.datatypes.model.Resource; -import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo; - -import java.util.List; -import java.util.Map; -import java.util.Optional; public interface NameExtractor { diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractorUtil.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractorUtil.java index 8241603fed..b4d41f5b6c 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractorUtil.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractorUtil.java @@ -20,13 +20,10 @@ package org.openecomp.sdc.translator.services.heattotosca; -import org.openecomp.sdc.translator.datatypes.heattotosca.AttachedPropertyVal; -import org.openecomp.sdc.translator.datatypes.heattotosca.AttachedResourceId; import org.openecomp.sdc.translator.datatypes.heattotosca.PropertyRegexMatcher; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.Optional; import java.util.regex.Pattern; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ContrailTranslationHelper.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ContrailTranslationHelper.java index a86f584bf0..d194a70e97 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ContrailTranslationHelper.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ContrailTranslationHelper.java @@ -21,16 +21,14 @@ package org.openecomp.sdc.translator.services.heattotosca.helper; import org.openecomp.core.utilities.file.FileUtils; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.HeatBoolean; import org.openecomp.sdc.heat.datatypes.model.Resource; import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; -import org.openecomp.sdc.tosca.services.ToscaConstants; import org.openecomp.sdc.tosca.datatypes.ToscaFunctions; import org.openecomp.sdc.translator.datatypes.heattotosca.PropertyRegexMatcher; +import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; import org.openecomp.sdc.translator.services.heattotosca.ConfigConstants; import org.openecomp.sdc.translator.services.heattotosca.NameExtractor; -import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; import java.util.ArrayList; import java.util.Collections; @@ -127,17 +125,17 @@ public class ContrailTranslationHelper { tokenPropertyValue.get("token").add(stringWithToken); } else if (refParameter instanceof String) { if (includeBooleanValue) { - StringBuffer booleanBuffer = new StringBuffer(); + StringBuilder booleanBuilder = new StringBuilder(); String[] booleanValueList = ((String) refParameter).split(tokenChar); for (int i = 0; i < booleanValueList.length; i++) { if (i == 0) { - booleanBuffer.append(HeatBoolean.eval(booleanValueList[i])); + booleanBuilder.append(HeatBoolean.eval(booleanValueList[i])); } else { - booleanBuffer.append(tokenChar); - booleanBuffer.append(HeatBoolean.eval(booleanValueList[i])); + booleanBuilder.append(tokenChar); + booleanBuilder.append(HeatBoolean.eval(booleanValueList[i])); } } - tokenPropertyValue.get("token").add(booleanBuffer.toString()); + tokenPropertyValue.get("token").add(booleanBuilder.toString()); } else { tokenPropertyValue.get("token").add(refParameter); } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ResourceTranslationNeutronPortHelper.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ResourceTranslationNeutronPortHelper.java index a99c95c148..23f8e3695d 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ResourceTranslationNeutronPortHelper.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ResourceTranslationNeutronPortHelper.java @@ -2,7 +2,6 @@ package org.openecomp.sdc.translator.services.heattotosca.helper; import java.util.ArrayList; import java.util.HashMap; -import java.util.LinkedList; import java.util.List; import java.util.Map; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/VolumeTranslationHelper.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/VolumeTranslationHelper.java index f1cb33372e..ef75f315f6 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/VolumeTranslationHelper.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/VolumeTranslationHelper.java @@ -23,19 +23,18 @@ package org.openecomp.sdc.translator.services.heattotosca.helper; import static org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes.CINDER_VOLUME_RESOURCE_TYPE; import org.apache.commons.collections4.CollectionUtils; -import org.openecomp.sdc.common.utils.CommonUtil; -import org.openecomp.sdc.logging.api.Logger; -import org.openecomp.sdc.tosca.services.YamlUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.Output; import org.openecomp.sdc.heat.datatypes.model.Resource; +import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; +import org.openecomp.sdc.tosca.services.YamlUtil; import org.openecomp.sdc.translator.datatypes.heattotosca.AttachedResourceId; +import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; import org.openecomp.sdc.translator.datatypes.heattotosca.to.ResourceFileDataAndIDs; import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo; import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil; -import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.ResourceTranslationBase; import java.util.ArrayList; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/functiontranslation/FunctionTranslationGetAttrImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/functiontranslation/FunctionTranslationGetAttrImpl.java index 6f7d7a921e..b2909d15b3 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/functiontranslation/FunctionTranslationGetAttrImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/functiontranslation/FunctionTranslationGetAttrImpl.java @@ -20,6 +20,7 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.functiontranslation; +import org.apache.commons.lang3.StringUtils; import org.openecomp.sdc.tosca.services.YamlUtil; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.Resource; @@ -323,7 +324,7 @@ public class FunctionTranslationGetAttrImpl implements FunctionTranslation { if (attributeParamList.size() < 3) { return null; } - StringBuffer attributeFullPath = new StringBuffer(); + StringBuilder attributeFullPath = new StringBuilder(); attributeFullPath.append(attributeParamList.get(1)); for (int j = 2; j <= attributeIndex; j++) { if (isInteger(attributeParamList.get(j))) { @@ -340,11 +341,16 @@ public class FunctionTranslationGetAttrImpl implements FunctionTranslation { return false; } - try { + /*try { Integer.parseInt(String.valueOf(inputNumber)); return true; } catch (NumberFormatException exception) { return false; + }*/ + if(StringUtils.isNumeric(String.valueOf(inputNumber))){ + return true; + } else { + return false; } } 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/ContrailPortToNetResourceConnection.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailPortToNetResourceConnection.java index efa0ddd8a9..272211f7cf 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailPortToNetResourceConnection.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailPortToNetResourceConnection.java @@ -21,7 +21,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; 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/ContrailV2VlanToInterfaceResourceConnection.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnection.java index a757730cb1..65b1d469ab 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnection.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnection.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; 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/ContrailV2VmInterfaceToNetResourceConnection.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VmInterfaceToNetResourceConnection.java index 944afb0fc3..5afbf5be54 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VmInterfaceToNetResourceConnection.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VmInterfaceToNetResourceConnection.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; 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/PortToNetResourceConnection.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/PortToNetResourceConnection.java index d3e8676ca1..25a604469e 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/PortToNetResourceConnection.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/PortToNetResourceConnection.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; 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/ResourceConnectionUsingRequirementHelper.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceConnectionUsingRequirementHelper.java index 6ddd0c7334..d1962d8196 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceConnectionUsingRequirementHelper.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceConnectionUsingRequirementHelper.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.datatypes.model.NodeType; 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/ResourceTranslationCinderVolumeImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationCinderVolumeImpl.java index 04e71cc2c7..78d09577d9 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationCinderVolumeImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationCinderVolumeImpl.java @@ -20,14 +20,12 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.HeatBoolean; import org.openecomp.sdc.heat.services.HeatConstants; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.services.DataModelUtil; import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo; -import org.openecomp.sdc.translator.services.heattotosca.Constants; import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil; import org.openecomp.sdc.translator.services.heattotosca.mapping.TranslatorHeatToToscaPropertyConverter; 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/ResourceTranslationContrailNetworkPolicyImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailNetworkPolicyImpl.java index 374858be0c..999441deb7 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailNetworkPolicyImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailNetworkPolicyImpl.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; 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/ResourceTranslationContrailServiceInstanceImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailServiceInstanceImpl.java index 3b9eb08f53..0b7e9eacfe 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailServiceInstanceImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailServiceInstanceImpl.java @@ -638,7 +638,7 @@ public class ResourceTranslationContrailServiceInstanceImpl extends ResourceTran NodeTemplate computeNodeTemplate = new NodeTemplate(); computeNodeTemplate.setType(computeNodeTypeId); - if (!computeNodeTemplateProperties.isEmpty()) { + if (computeNodeTemplateProperties != null && !computeNodeTemplateProperties.isEmpty()) { computeNodeTemplate.setProperties(computeNodeTemplateProperties); } String computeNodeTemplateId = translateTo.getTranslatedId(); 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/ResourceTranslationContrailV2VirtualNetworkImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VirtualNetworkImpl.java index d39d0f1c45..10ccf0f560 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VirtualNetworkImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VirtualNetworkImpl.java @@ -21,11 +21,10 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; import org.apache.commons.collections.CollectionUtils; -import org.openecomp.sdc.common.utils.CommonUtil; -import org.openecomp.sdc.logging.api.Logger; -import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; import org.openecomp.sdc.heat.datatypes.model.Resource; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.tosca.datatypes.ToscaCapabilityType; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.tosca.datatypes.ToscaRelationshipType; 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/ResourceTranslationContrailV2VlanSubInterfaceImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VlanSubInterfaceImpl.java index e0e6c459a1..76396f77bc 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VlanSubInterfaceImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VlanSubInterfaceImpl.java @@ -20,12 +20,11 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; -import org.openecomp.sdc.logging.api.Logger; -import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; import org.openecomp.sdc.heat.datatypes.model.Resource; import org.openecomp.sdc.heat.services.HeatConstants; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.services.DataModelUtil; 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/ResourceTranslationContrailVirtualNetworkImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailVirtualNetworkImpl.java index a6fc9ac2c1..f0c3c8b3f1 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailVirtualNetworkImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailVirtualNetworkImpl.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.services.DataModelUtil; 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/ResourceTranslationNeutronPortImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronPortImpl.java index f1bd6790c2..76a900f32e 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronPortImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronPortImpl.java @@ -33,14 +33,13 @@ import org.openecomp.sdc.translator.datatypes.heattotosca.AttachedResourceId; import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo; import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslatedHeatResource; import org.openecomp.sdc.translator.services.heattotosca.ConsolidationDataUtil; -import org.openecomp.sdc.translator.services.heattotosca.Constants; import org.openecomp.sdc.translator.services.heattotosca.ConsolidationEntityType; +import org.openecomp.sdc.translator.services.heattotosca.Constants; import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil; import org.openecomp.sdc.translator.services.heattotosca.ResourceTranslationFactory; import org.openecomp.sdc.translator.services.heattotosca.helper.ResourceTranslationNeutronPortHelper; import org.openecomp.sdc.translator.services.heattotosca.mapping.TranslatorHeatToToscaPropertyConverter; -import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; 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/ResourceTranslationNeutronSecurityGroupImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSecurityGroupImpl.java index 96e79aca60..94c853f750 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSecurityGroupImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSecurityGroupImpl.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.services.DataModelUtil; 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/ResourceTranslationNeutronSubnetImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSubnetImpl.java index 76a8c447d1..5f8aead6e5 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSubnetImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSubnetImpl.java @@ -153,6 +153,7 @@ public class ResourceTranslationNeutronSubnetImpl extends ResourceTranslationBas Boolean booleanValue = HeatBoolean.eval(defaultVal); dhcpParameterDefinition.set_default(booleanValue); } catch (CoreException coreException) { + logger.debug("",coreException); //if value is not valid value for boolean set with dhcp_enabled default value = true dhcpParameterDefinition.set_default(true); logger.warn("Parameter '" + dhcpEnabledParameterName + "' used for " 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..7083ae0449 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 @@ -21,7 +21,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; import org.openecomp.sdc.common.errors.CoreException; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.datatypes.error.ErrorLevel; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; import org.openecomp.sdc.heat.datatypes.model.Resource; @@ -45,6 +44,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 +72,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 +88,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); @@ -151,7 +153,7 @@ public class ResourceTranslationResourceGroupImpl extends ResourceTranslationBas mdcDataDebugMessage.debugEntryMessage(null, null); - if (propertyValue instanceof String && propertyValue != null) { + if (propertyValue != null && propertyValue instanceof String) { if (propertyValue.equals(indexVarValue)) { return getNewIndexVarValue(); } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java index 23a4d7317b..35b617be99 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java @@ -26,13 +26,10 @@ import org.openecomp.sdc.heat.datatypes.model.Output; import org.openecomp.sdc.heat.datatypes.model.Parameter; import org.openecomp.sdc.tosca.datatypes.model.Constraint; import org.openecomp.sdc.tosca.datatypes.model.EntrySchema; -import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.datatypes.model.ParameterDefinition; import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate; -import org.openecomp.sdc.tosca.datatypes.model.Template; import org.openecomp.sdc.tosca.datatypes.model.heatextend.ParameterDefinitionExt; import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; -import org.openecomp.sdc.translator.services.heattotosca.ConsolidationDataUtil; import org.openecomp.sdc.translator.services.heattotosca.FunctionTranslationFactory; import java.util.ArrayList; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java index 43f4065044..27298ff9b4 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java @@ -27,6 +27,8 @@ import org.junit.Assert; import org.openecomp.core.translator.api.HeatToToscaTranslator; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.sdc.common.utils.SdcCommon; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel; import org.openecomp.sdc.tosca.datatypes.model.GroupDefinition; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; @@ -50,6 +52,8 @@ public class TestUtils { private static String zipFilename = "VSP.zip"; private static String validationFilename = "validationOutput.json"; + private static Logger logger = (Logger) LoggerFactory.getLogger(TestUtils.class); + private TestUtils() { } @@ -105,6 +109,7 @@ public class TestUtils { serviceTemplateMap.put(fileList[i], serviceTemplate); } } catch (Exception e) { + logger.debug("",e); Assert.fail(e.getMessage()); } return serviceTemplateMap; @@ -162,6 +167,7 @@ public class TestUtils { try { yamlFile.close(); } catch (IOException ignore) { + logger.debug("",ignore); } } catch (FileNotFoundException e) { throw e; @@ -207,6 +213,7 @@ public class TestUtils { try { yamlFile.close(); } catch (IOException ignore) { + logger.debug("",ignore); } } catch (FileNotFoundException e) { throw e; 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..640da0c12b 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,38 @@ 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/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java index 03dd30fd09..085c329e7f 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java @@ -1,10 +1,14 @@ package org.openecomp.sdc.translator.services.heattotosca; +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Captor; @@ -30,11 +34,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; - /** * Created by TALIO on 3/7/2017. */ diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java index c333391b9b..53dd79e5c8 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java @@ -125,11 +125,14 @@ public class ConsolidationDataTestUtil { } for(String consolidatedKey : consolidatedMap.keySet()){ List<String> consolidatedList = consolidatedMap.get(consolidatedKey); - List<String> expectedList = expectedMap.get(consolidatedKey); - if(expectedList == null ){ - Assert.fail(); - } if(!CollectionUtils.isEqualCollection(consolidatedList,expectedList)){ - Assert.fail(); + if (expectedMap != null) { + List<String> expectedList = expectedMap.get(consolidatedKey); + if (expectedList == null) { + Assert.fail(); + } + if (!CollectionUtils.isEqualCollection(consolidatedList, expectedList)) { + Assert.fail(); + } } } } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionMixPatternFullTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionMixPatternFullTest.java index 149f276903..b1946b3f9b 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionMixPatternFullTest.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionMixPatternFullTest.java @@ -2,14 +2,17 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest; import java.io.IOException; public class UnifiedCompositionMixPatternFullTest extends BaseFullTranslationTest { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @Override @Before public void setUp() throws IOException { @@ -55,6 +58,7 @@ public class UnifiedCompositionMixPatternFullTest extends BaseFullTranslationTes try { testTranslationWithInit(); }catch(Exception e){ + log.debug("",e); Assert.assertEquals(e.getMessage(), "Resource with id lb_0_int_oam_int_0_port occures more " + "than once in different addOn files"); } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java index cebe9ec505..a0ef039100 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java @@ -1,7 +1,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java index 9f0a6d79b9..5de07203a1 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java @@ -25,8 +25,6 @@ import static org.junit.Assert.assertEquals; import org.apache.commons.collections4.MapUtils; import org.junit.Assert; import org.junit.Before; -import org.openecomp.config.api.Configuration; -import org.openecomp.config.api.ConfigurationManager; import org.openecomp.core.translator.api.HeatToToscaTranslator; import org.openecomp.core.translator.datatypes.TranslatorOutput; import org.openecomp.core.translator.factory.HeatToToscaTranslatorFactory; @@ -45,7 +43,6 @@ import org.openecomp.sdc.tosca.services.ToscaFileOutputService; import org.openecomp.sdc.tosca.services.impl.ToscaFileOutputServiceCsarImpl; import org.openecomp.sdc.translator.TestUtils; import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; -import org.openecomp.sdc.translator.services.heattotosca.ConfigConstants; import java.io.BufferedInputStream; import java.io.File; 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: |