diff options
author | talio <tali.orenbach@amdocs.com> | 2017-09-13 12:23:28 +0300 |
---|---|---|
committer | talio <tali.orenbach@amdocs.com> | 2017-09-13 13:21:55 +0300 |
commit | f4f74690140299c1a1df3d10509e873b67cdd2c9 (patch) | |
tree | 81115ac2363fae17c8971d1b25f2847ef0121d79 | |
parent | a86090754b89714596794a533631b798f45bb302 (diff) |
Fixing requirements in substituable node templates
Adding dependencies with correct dependency id for substituable node templates
Change-Id: I696441bc62807cf2abd73963583d6198dfaea259
Issue-ID: SDC-313
Signed-off-by: talio <tali.orenbach@amdocs.com>
75 files changed, 20208 insertions, 3023 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java index c03ca56d49..f5ad2a1d3c 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 @@ -68,23 +68,23 @@ public class TranslationContext { Configuration config = ConfigurationManager.lookup(); String propertyFileName = SdcCommon.HEAT_TO_TOSCA_MAPPING_CONF; translationMapping = - config.generateMap(ConfigConstants.MAPPING_NAMESPACE, ConfigConstants.RESOURCE_MAPPING_KEY); + config.generateMap(ConfigConstants.MAPPING_NAMESPACE, ConfigConstants.RESOURCE_MAPPING_KEY); try { globalServiceTemplates = GlobalTypesGenerator.getGlobalTypesServiceTemplate(); } catch (Exception exc) { throw new RuntimeException("Failed to load GlobalTypes", exc); } nameExtractorImplMap = config.populateMap(ConfigConstants.TRANSLATOR_NAMESPACE, - ConfigConstants.NAMING_CONVENTION_EXTRACTOR_IMPL_KEY, ImplementationConfiguration.class); + ConfigConstants.NAMING_CONVENTION_EXTRACTOR_IMPL_KEY, ImplementationConfiguration.class); supportedConsolidationComputeResources = config.populateMap(ConfigConstants - .MANDATORY_UNIFIED_MODEL_NAMESPACE, ConfigConstants - .SUPPORTED_CONSOLIDATION_COMPUTE_RESOURCES_KEY, ImplementationConfiguration.class); + .MANDATORY_UNIFIED_MODEL_NAMESPACE, ConfigConstants + .SUPPORTED_CONSOLIDATION_COMPUTE_RESOURCES_KEY, ImplementationConfiguration.class); supportedConsolidationPortResources = config.populateMap(ConfigConstants - .MANDATORY_UNIFIED_MODEL_NAMESPACE, ConfigConstants - .SUPPORTED_CONSOLIDATION_PORT_RESOURCES_KEY, ImplementationConfiguration.class); + .MANDATORY_UNIFIED_MODEL_NAMESPACE, ConfigConstants + .SUPPORTED_CONSOLIDATION_PORT_RESOURCES_KEY, ImplementationConfiguration.class); enrichPortResourceProperties = config.getAsStringValues(ConfigConstants - .MANDATORY_UNIFIED_MODEL_NAMESPACE, ConfigConstants - .ENRICH_PORT_RESOURCE_PROP); + .MANDATORY_UNIFIED_MODEL_NAMESPACE, ConfigConstants + .ENRICH_PORT_RESOURCE_PROP); } @@ -119,8 +119,10 @@ public class TranslationContext { private Map<String, UnifiedSubstitutionData> unifiedSubstitutionData = new HashMap<>(); private Set<String> unifiedHandledServiceTemplates = new HashSet<>(); - private Map<String, Map<RequirementAssignment, String>> - mapDependencySubMappingToRequirementAssignment = new HashMap<>(); + private Map<String, Map<String, Map<String, Integer>>> + requirementIdAppearanceInNodeTemplate = new HashMap<>(); + + private Set<String> serviceTemplatesWithoutNodeTemplateSection = new HashSet<>(); public static Map<String, ImplementationConfiguration> getSupportedConsolidationComputeResources() { @@ -128,9 +130,9 @@ public class TranslationContext { } public static void setSupportedConsolidationComputeResources( - Map<String, ImplementationConfiguration> supportedConsolidationComputeResources) { + Map<String, ImplementationConfiguration> supportedConsolidationComputeResources) { TranslationContext.supportedConsolidationComputeResources = - supportedConsolidationComputeResources; + supportedConsolidationComputeResources; } public static Map<String, ImplementationConfiguration> getSupportedConsolidationPortResources() { @@ -138,7 +140,7 @@ public class TranslationContext { } public static void setSupportedConsolidationPortResources( - Map<String, ImplementationConfiguration> supportedConsolidationPortResources) { + Map<String, ImplementationConfiguration> supportedConsolidationPortResources) { TranslationContext.supportedConsolidationPortResources = supportedConsolidationPortResources; } @@ -150,7 +152,7 @@ public class TranslationContext { */ public static NameExtractor getNameExtractorImpl(String extractorImplKey) { String nameExtractorImplClassName = - nameExtractorImplMap.get(extractorImplKey).getImplementationClass(); + nameExtractorImplMap.get(extractorImplKey).getImplementationClass(); return CommonMethods.newInstance(nameExtractorImplClassName, NameExtractor.class); } @@ -160,7 +162,7 @@ public class TranslationContext { } public void setUnifiedSubstitutionData( - Map<String, UnifiedSubstitutionData> unifiedSubstitutionData) { + Map<String, UnifiedSubstitutionData> unifiedSubstitutionData) { this.unifiedSubstitutionData = unifiedSubstitutionData; } @@ -170,14 +172,14 @@ public class TranslationContext { NodeTemplate nodeTemplate) { this.unifiedSubstitutionData.putIfAbsent(serviceTemplateName, new UnifiedSubstitutionData()); this.unifiedSubstitutionData - .get(serviceTemplateName) - .addCleanedNodeTemplate(nodeTemplateId, unifiedCompositionEntity, nodeTemplate); + .get(serviceTemplateName) + .addCleanedNodeTemplate(nodeTemplateId, unifiedCompositionEntity, nodeTemplate); } public NodeTemplate getCleanedNodeTemplate(String serviceTemplateName, String nodeTemplateId) { return this.unifiedSubstitutionData.get(serviceTemplateName) - .getCleanedNodeTemplate(nodeTemplateId); + .getCleanedNodeTemplate(nodeTemplateId); } public void addUnifiedNestedNodeTemplateId(String serviceTemplateName, @@ -185,13 +187,13 @@ public class TranslationContext { String unifiedNestedNodeTemplateId) { this.unifiedSubstitutionData.putIfAbsent(serviceTemplateName, new UnifiedSubstitutionData()); this.unifiedSubstitutionData.get(serviceTemplateName) - .addUnifiedNestedNodeTemplateId(nestedNodeTemplateId, unifiedNestedNodeTemplateId); + .addUnifiedNestedNodeTemplateId(nestedNodeTemplateId, unifiedNestedNodeTemplateId); } public Optional<String> getUnifiedNestedNodeTemplateId(String serviceTemplateName, String nestedNodeTemplateId) { return this.unifiedSubstitutionData.get(serviceTemplateName) == null ? Optional.empty() - : this.unifiedSubstitutionData.get(serviceTemplateName) + : this.unifiedSubstitutionData.get(serviceTemplateName) .getUnifiedNestedNodeTemplateId(nestedNodeTemplateId); } @@ -200,13 +202,13 @@ public class TranslationContext { String unifiedNestedNodeTypeId) { this.unifiedSubstitutionData.putIfAbsent(serviceTemplateName, new UnifiedSubstitutionData()); this.unifiedSubstitutionData.get(serviceTemplateName) - .addUnifiedNestedNodeTypeId(nestedNodeTypeId, unifiedNestedNodeTypeId); + .addUnifiedNestedNodeTypeId(nestedNodeTypeId, unifiedNestedNodeTypeId); } public Optional<String> getUnifiedNestedNodeTypeId(String serviceTemplateName, String nestedNodeTemplateId) { return this.unifiedSubstitutionData.get(serviceTemplateName) == null ? Optional.empty() - : this.unifiedSubstitutionData.get(serviceTemplateName) + : this.unifiedSubstitutionData.get(serviceTemplateName) .getUnifiedNestedNodeTypeId(nestedNodeTemplateId); } @@ -263,12 +265,12 @@ public class TranslationContext { } public Set<String> getAllTranslatedResourceIdsFromDiffNestedFiles(String - nestedHeatFileNameToSkip){ + nestedHeatFileNameToSkip){ Set<String> allTranslatedResourceIds = new HashSet<>(); this.translatedIds.entrySet().stream().filter( - heatFileNameToTranslatedIdsEntry -> !heatFileNameToTranslatedIdsEntry.getKey() - .equals(nestedHeatFileNameToSkip)).forEach(heatFileNameToTranslatedIdsEntry -> { + heatFileNameToTranslatedIdsEntry -> !heatFileNameToTranslatedIdsEntry.getKey() + .equals(nestedHeatFileNameToSkip)).forEach(heatFileNameToTranslatedIdsEntry -> { allTranslatedResourceIds.addAll(heatFileNameToTranslatedIdsEntry.getValue().keySet()); }); @@ -329,7 +331,7 @@ public class TranslationContext { public void addHeatSharedResourcesByParam(String parameterName, String resourceId, Resource resource) { this.addHeatSharedResourcesByParam(parameterName, - new TranslatedHeatResource(resourceId, resource)); + new TranslatedHeatResource(resourceId, resource)); } private void addHeatSharedResourcesByParam(String parameterName, @@ -355,7 +357,7 @@ public class TranslationContext { } public void addUsedHeatPseudoParams(String heatFileName, String heatPseudoParam, String - translatedToscaParam) { + translatedToscaParam) { if (Objects.isNull(this.usedHeatPseudoParams.get(heatFileName))) { this.usedHeatPseudoParams.put(heatFileName, new HashMap<>()); } @@ -375,8 +377,8 @@ public class TranslationContext { String abstractNodeTemplateId) { Map<String, String> nodeAbstractNodeTemplateIdMap = this.getUnifiedSubstitutionData() - .computeIfAbsent(serviceTemplateFileName, k -> new UnifiedSubstitutionData()) - .getNodesRelatedAbstractNode(); + .computeIfAbsent(serviceTemplateFileName, k -> new UnifiedSubstitutionData()) + .getNodesRelatedAbstractNode(); if (nodeAbstractNodeTemplateIdMap == null) { nodeAbstractNodeTemplateIdMap = new HashMap<>(); @@ -384,13 +386,13 @@ public class TranslationContext { if(nodeAbstractNodeTemplateIdMap.containsKey(originalNodeTemplateId)){ throw new CoreException((new ErrorCode.ErrorCodeBuilder()) - .withMessage("Resource with id " - + originalNodeTemplateId + " occures more than once in different addOn files") - .build()); + .withMessage("Resource with id " + + originalNodeTemplateId + " occures more than once in different addOn files") + .build()); } nodeAbstractNodeTemplateIdMap.put(originalNodeTemplateId, abstractNodeTemplateId); this.getUnifiedSubstitutionData().get(serviceTemplateFileName).setNodesRelatedAbstractNode( - nodeAbstractNodeTemplateIdMap); + nodeAbstractNodeTemplateIdMap); } /** @@ -403,23 +405,23 @@ public class TranslationContext { * service template */ public void addSubstitutionServiceTemplateUnifiedSubstitutionData( - String serviceTemplateFileName, - String originalNodeTemplateId, - String substitutionServiceTemplateNodeTemplateId) { + String serviceTemplateFileName, + String originalNodeTemplateId, + String substitutionServiceTemplateNodeTemplateId) { Map<String, String> nodesRelatedSubstitutionServiceTemplateNodeTemplateIdMap = this - .getUnifiedSubstitutionData() - .computeIfAbsent(serviceTemplateFileName, k -> new UnifiedSubstitutionData()) - .getNodesRelatedSubstitutionServiceTemplateNode(); + .getUnifiedSubstitutionData() + .computeIfAbsent(serviceTemplateFileName, k -> new UnifiedSubstitutionData()) + .getNodesRelatedSubstitutionServiceTemplateNode(); if (nodesRelatedSubstitutionServiceTemplateNodeTemplateIdMap == null) { nodesRelatedSubstitutionServiceTemplateNodeTemplateIdMap = new HashMap<>(); } nodesRelatedSubstitutionServiceTemplateNodeTemplateIdMap.put(originalNodeTemplateId, - substitutionServiceTemplateNodeTemplateId); + substitutionServiceTemplateNodeTemplateId); this.getUnifiedSubstitutionData().get(serviceTemplateFileName) - .setNodesRelatedSubstitutionServiceTemplateNode( - nodesRelatedSubstitutionServiceTemplateNodeTemplateIdMap); + .setNodesRelatedSubstitutionServiceTemplateNode( + nodesRelatedSubstitutionServiceTemplateNodeTemplateIdMap); } /** @@ -431,7 +433,7 @@ public class TranslationContext { public String getUnifiedAbstractNodeTemplateId(ServiceTemplate serviceTemplate, String nodeTemplateId) { UnifiedSubstitutionData unifiedSubstitutionData = - this.unifiedSubstitutionData.get(ToscaUtil.getServiceTemplateFileName(serviceTemplate)); + this.unifiedSubstitutionData.get(ToscaUtil.getServiceTemplateFileName(serviceTemplate)); return unifiedSubstitutionData.getNodesRelatedAbstractNode().get(nodeTemplateId); } @@ -445,26 +447,26 @@ public class TranslationContext { public String getUnifiedSubstitutionNodeTemplateId(ServiceTemplate serviceTemplate, String nodeTemplateId) { UnifiedSubstitutionData unifiedSubstitutionData = - this.unifiedSubstitutionData.get(ToscaUtil.getServiceTemplateFileName(serviceTemplate)); + this.unifiedSubstitutionData.get(ToscaUtil.getServiceTemplateFileName(serviceTemplate)); return unifiedSubstitutionData.getNodesRelatedSubstitutionServiceTemplateNode() - .get(nodeTemplateId); + .get(nodeTemplateId); } public int getHandledNestedComputeNodeTemplateIndex(String serviceTemplateName, String computeType) { return this.unifiedSubstitutionData.get(serviceTemplateName) - .getHandledNestedComputeNodeTemplateIndex(computeType); + .getHandledNestedComputeNodeTemplateIndex(computeType); } public void updateHandledComputeType(String serviceTemplateName, String handledComputeType, String nestedServiceTemplateFileName) { String globalSTName = - ToscaUtil.getServiceTemplateFileName(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME); + ToscaUtil.getServiceTemplateFileName(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME); this.unifiedSubstitutionData.putIfAbsent( - globalSTName, new UnifiedSubstitutionData()); + globalSTName, new UnifiedSubstitutionData()); this.unifiedSubstitutionData.get(globalSTName) - .addHandledComputeType(handledComputeType); + .addHandledComputeType(handledComputeType); this.unifiedSubstitutionData.get(globalSTName).addHandlesNestedServiceTemplate(nestedServiceTemplateFileName); this.unifiedSubstitutionData.putIfAbsent(serviceTemplateName, new UnifiedSubstitutionData()); @@ -480,15 +482,15 @@ public class TranslationContext { public boolean isComputeTypeHandledInServiceTemplate(String serviceTemplateName, String computeType) { return !Objects.isNull(this.unifiedSubstitutionData.get(serviceTemplateName)) - && this.unifiedSubstitutionData.get(serviceTemplateName) - .isComputeTypeHandledInServiceTemplate(computeType); + && this.unifiedSubstitutionData.get(serviceTemplateName) + .isComputeTypeHandledInServiceTemplate(computeType); } public int getHandledNestedComputeNodeTemplateIndex(String serviceTemplateName, String nestedServiceTemplateName, String computeType){ return this.unifiedSubstitutionData.get(serviceTemplateName) - .getHandledNestedComputeNodeTemplateIndex(computeType); + .getHandledNestedComputeNodeTemplateIndex(computeType); } public boolean isNestedServiceTemplateWasHandled(String serviceTemplateName, @@ -497,13 +499,13 @@ public class TranslationContext { return false; } return this.unifiedSubstitutionData.get(serviceTemplateName) - .isNestedServiceTemplateWasHandled(nestedServiceTemplateFileName); + .isNestedServiceTemplateWasHandled(nestedServiceTemplateFileName); } public Set<String> getAllRelatedNestedNodeTypeIds(){ String globalName = "GlobalSubstitutionTypes"; if(Objects.isNull(this.unifiedSubstitutionData) || - Objects.isNull(this.unifiedSubstitutionData.get(globalName))){ + Objects.isNull(this.unifiedSubstitutionData.get(globalName))){ return new HashSet<>(); } @@ -531,14 +533,14 @@ public class TranslationContext { return false; } return this.unifiedSubstitutionData.get(serviceTemplateName) - .isNestedNodeWasHandled(nestedNodeTemplateId); + .isNestedNodeWasHandled(nestedNodeTemplateId); } public void addNestedNodeAsHandled(String serviceTemplateName, String nestedNodeTemplateId) { this.unifiedSubstitutionData.putIfAbsent(serviceTemplateName, new UnifiedSubstitutionData()); this.unifiedSubstitutionData.get(serviceTemplateName) - .addHandledNestedNodes(nestedNodeTemplateId); + .addHandledNestedNodes(nestedNodeTemplateId); } public void updateUsedTimesForNestedComputeNodeType(String serviceTemplateName, @@ -546,7 +548,7 @@ public class TranslationContext { this.unifiedSubstitutionData.putIfAbsent(serviceTemplateName, new UnifiedSubstitutionData()); this.unifiedSubstitutionData.get(serviceTemplateName) - .updateUsedTimesForNestedComputeNodeType(computeType); + .updateUsedTimesForNestedComputeNodeType(computeType); } public int getGlobalNodeTypeIndex(String serviceTemplateName, @@ -555,7 +557,7 @@ public class TranslationContext { return 0; } return this.unifiedSubstitutionData.get(serviceTemplateName).getGlobalNodeTypeIndex - (computeType); + (computeType); } public void addNewPropertyIdToNodeTemplate(String serviceTemplateName, @@ -563,7 +565,7 @@ public class TranslationContext { Object origPropertyValue){ this.unifiedSubstitutionData.putIfAbsent(serviceTemplateName, new UnifiedSubstitutionData()); this.unifiedSubstitutionData.get(serviceTemplateName).addNewPropertyIdToNodeTemplate( - newPropertyId, origPropertyValue); + newPropertyId, origPropertyValue); } public Optional<Object> getNewPropertyInputParamId(String serviceTemplateName, @@ -573,7 +575,7 @@ public class TranslationContext { } return this.unifiedSubstitutionData.get(serviceTemplateName).getNewPropertyInputParam - (newPropertyId); + (newPropertyId); } public Map<String, Object> getAllNewPropertyInputParamIdsPerNodeTenplateId(String serviceTemplateName){ @@ -585,27 +587,31 @@ public class TranslationContext { } - public void addSubMappingReqAssignment(String serviceTemplateName, - RequirementAssignment requirementAssignment, - String newReqId){ - this.mapDependencySubMappingToRequirementAssignment - .putIfAbsent(serviceTemplateName, new HashMap<>()); - this.mapDependencySubMappingToRequirementAssignment.get(serviceTemplateName) - .putIfAbsent(requirementAssignment, newReqId); + public void addServiceTemplateWithoutNodeTemplates(String serviceTemplateName){ + this.serviceTemplatesWithoutNodeTemplateSection.add(serviceTemplateName); } - public Optional<String> getNewReqAssignmentDependencyId(String serviceTemplateName, - RequirementAssignment requirementAssignment){ - if(!this.mapDependencySubMappingToRequirementAssignment.containsKey(serviceTemplateName)){ - return Optional.empty(); - } - - Map<RequirementAssignment, String> requirementAssignmentMap = - this.mapDependencySubMappingToRequirementAssignment.get(serviceTemplateName); - return requirementAssignmentMap.containsKey - (requirementAssignment) ? Optional.of(requirementAssignmentMap.get(requirementAssignment)) : - Optional.empty(); + public boolean isServiceTemplateWithoutNodeTemplates(String serviceTemplateName){ + return !Objects.isNull(serviceTemplateName) && + this.serviceTemplatesWithoutNodeTemplateSection.contains(serviceTemplateName); } + public void updateRequirementAssignmentIdIndex(String serviceTemplateName, + String nodeTemplateId, + String requirementId){ + requirementIdAppearanceInNodeTemplate.putIfAbsent(serviceTemplateName, new HashMap<>()); + requirementIdAppearanceInNodeTemplate + .get(serviceTemplateName).putIfAbsent(nodeTemplateId, new HashMap<>()); + + Map<String, Integer> requirementIdToAppearance = + requirementIdAppearanceInNodeTemplate.get(serviceTemplateName).get(nodeTemplateId); + + if(requirementIdToAppearance.containsKey(requirementId)){ + requirementIdToAppearance + .put(requirementId, requirementIdToAppearance.get(requirementId) + 1); + } else { + requirementIdToAppearance.put(requirementId, 0); + } + } } 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 b0bac3b834..74deb0487a 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 @@ -33,6 +33,7 @@ import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolida import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.TypeComputeConsolidationData; import java.util.ArrayList; +import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -57,41 +58,41 @@ public class ConsolidationDataUtil { * @return the compute template consolidation data */ public static ComputeTemplateConsolidationData getComputeTemplateConsolidationData( - TranslationContext context, - ServiceTemplate serviceTemplate, - String computeNodeType, - String computeNodeTemplateId) { + TranslationContext context, + ServiceTemplate serviceTemplate, + String computeNodeType, + String computeNodeTemplateId) { ConsolidationData consolidationData = context.getConsolidationData(); String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); ComputeConsolidationData computeConsolidationData = consolidationData - .getComputeConsolidationData(); + .getComputeConsolidationData(); FileComputeConsolidationData fileComputeConsolidationData = computeConsolidationData - .getFileComputeConsolidationData(serviceTemplateFileName); + .getFileComputeConsolidationData(serviceTemplateFileName); if (fileComputeConsolidationData == null) { fileComputeConsolidationData = new FileComputeConsolidationData(); computeConsolidationData.setFileComputeConsolidationData(serviceTemplateFileName, - fileComputeConsolidationData); + fileComputeConsolidationData); } TypeComputeConsolidationData typeComputeConsolidationData = fileComputeConsolidationData - .getTypeComputeConsolidationData(computeNodeType); + .getTypeComputeConsolidationData(computeNodeType); if (typeComputeConsolidationData == null) { typeComputeConsolidationData = new TypeComputeConsolidationData(); fileComputeConsolidationData.setTypeComputeConsolidationData(computeNodeType, - typeComputeConsolidationData); + typeComputeConsolidationData); } ComputeTemplateConsolidationData computeTemplateConsolidationData = - typeComputeConsolidationData.getComputeTemplateConsolidationData(computeNodeTemplateId); + typeComputeConsolidationData.getComputeTemplateConsolidationData(computeNodeTemplateId); if (computeTemplateConsolidationData == null) { computeTemplateConsolidationData = new ComputeTemplateConsolidationData(); computeTemplateConsolidationData.setNodeTemplateId(computeNodeTemplateId); typeComputeConsolidationData.setComputeTemplateConsolidationData(computeNodeTemplateId, - computeTemplateConsolidationData); + computeTemplateConsolidationData); } return computeTemplateConsolidationData; @@ -107,9 +108,9 @@ public class ConsolidationDataUtil { * @return the port template consolidation data */ public static PortTemplateConsolidationData getPortTemplateConsolidationData( - TranslationContext context, - ServiceTemplate serviceTemplate, - String portNodeTemplateId) { + TranslationContext context, + ServiceTemplate serviceTemplate, + String portNodeTemplateId) { ConsolidationData consolidationData = context.getConsolidationData(); String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); @@ -117,21 +118,21 @@ public class ConsolidationDataUtil { PortConsolidationData portConsolidationData = consolidationData.getPortConsolidationData(); FilePortConsolidationData filePortConsolidationData = portConsolidationData - .getFilePortConsolidationData(serviceTemplateFileName); + .getFilePortConsolidationData(serviceTemplateFileName); if (filePortConsolidationData == null) { filePortConsolidationData = new FilePortConsolidationData(); portConsolidationData.setFilePortConsolidationData(serviceTemplateFileName, - filePortConsolidationData); + filePortConsolidationData); } PortTemplateConsolidationData portTemplateConsolidationData = - filePortConsolidationData.getPortTemplateConsolidationData(portNodeTemplateId); + filePortConsolidationData.getPortTemplateConsolidationData(portNodeTemplateId); if (portTemplateConsolidationData == null) { portTemplateConsolidationData = new PortTemplateConsolidationData(); portTemplateConsolidationData.setNodeTemplateId(portNodeTemplateId); filePortConsolidationData.setPortTemplateConsolidationData(portNodeTemplateId, - portTemplateConsolidationData); + portTemplateConsolidationData); } return portTemplateConsolidationData; @@ -147,40 +148,40 @@ public class ConsolidationDataUtil { *@param nestedNodeTemplateId the nested node template id @return the nested template consolidation data */ public static NestedTemplateConsolidationData getNestedTemplateConsolidationData( - TranslationContext context, - ServiceTemplate serviceTemplate, - String nestedHeatFileName, String nestedNodeTemplateId) { + TranslationContext context, + ServiceTemplate serviceTemplate, + String nestedHeatFileName, String nestedNodeTemplateId) { if(isNestedResourceIdOccuresInDifferentNestedFiles(context, nestedHeatFileName, - nestedNodeTemplateId)){ + nestedNodeTemplateId)){ throw new CoreException((new ErrorCode.ErrorCodeBuilder()) - .withMessage("Resource with id " - + nestedNodeTemplateId + " occures more than once in different addOn " - + "files").build()); + .withMessage("Resource with id " + + nestedNodeTemplateId + " occures more than once in different addOn " + + "files").build()); } ConsolidationData consolidationData = context.getConsolidationData(); String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); NestedConsolidationData nestedConsolidationData = consolidationData - .getNestedConsolidationData(); + .getNestedConsolidationData(); FileNestedConsolidationData fileNestedConsolidationData = nestedConsolidationData - .getFileNestedConsolidationData(serviceTemplateFileName); + .getFileNestedConsolidationData(serviceTemplateFileName); if (fileNestedConsolidationData == null) { fileNestedConsolidationData = new FileNestedConsolidationData(); nestedConsolidationData.setFileNestedConsolidationData(serviceTemplateFileName, - fileNestedConsolidationData); + fileNestedConsolidationData); } NestedTemplateConsolidationData nestedTemplateConsolidationData = - fileNestedConsolidationData.getNestedTemplateConsolidationData(nestedNodeTemplateId); + fileNestedConsolidationData.getNestedTemplateConsolidationData(nestedNodeTemplateId); if (nestedTemplateConsolidationData == null) { nestedTemplateConsolidationData = new NestedTemplateConsolidationData(); nestedTemplateConsolidationData.setNodeTemplateId(nestedNodeTemplateId); fileNestedConsolidationData.setNestedTemplateConsolidationData(nestedNodeTemplateId, - nestedTemplateConsolidationData); + nestedTemplateConsolidationData); } return nestedTemplateConsolidationData; @@ -189,7 +190,8 @@ public class ConsolidationDataUtil { private static boolean isNestedResourceIdOccuresInDifferentNestedFiles(TranslationContext context, String nestedHeatFileName, String nestedNodeTemplateId) { - return context.getAllTranslatedResourceIdsFromDiffNestedFiles(nestedHeatFileName).contains(nestedNodeTemplateId); + return Objects.nonNull(nestedHeatFileName) + && context.getAllTranslatedResourceIdsFromDiffNestedFiles(nestedHeatFileName).contains(nestedNodeTemplateId); } /** @@ -199,7 +201,7 @@ public class ConsolidationDataUtil { * @param translatedGroupId Group id of which compute node is a part */ public static void updateGroupIdInConsolidationData(EntityConsolidationData - entityConsolidationData, + entityConsolidationData, String translatedGroupId) { if (entityConsolidationData.getGroupIds() == null) { entityConsolidationData.setGroupIds(new ArrayList<>()); @@ -220,12 +222,12 @@ public class ConsolidationDataUtil { String computeNodeTemplateId, String requirementId, RequirementAssignment - requirementAssignment) { + requirementAssignment) { TranslationContext translationContext = translateTo.getContext(); ServiceTemplate serviceTemplate = translateTo.getServiceTemplate(); ComputeTemplateConsolidationData computeTemplateConsolidationData = - getComputeTemplateConsolidationData(translationContext, serviceTemplate, computeType, - computeNodeTemplateId); + getComputeTemplateConsolidationData(translationContext, serviceTemplate, computeType, + computeNodeTemplateId); computeTemplateConsolidationData.addVolume(requirementId, requirementAssignment); } @@ -243,8 +245,8 @@ public class ConsolidationDataUtil { TranslationContext translationContext = translateTo.getContext(); ServiceTemplate serviceTemplate = translateTo.getServiceTemplate(); ComputeTemplateConsolidationData computeTemplateConsolidationData = - getComputeTemplateConsolidationData(translationContext, serviceTemplate, computeNodeType, - translateTo.getTranslatedId()); + getComputeTemplateConsolidationData(translationContext, serviceTemplate, computeNodeType, + translateTo.getTranslatedId()); computeTemplateConsolidationData.addPort(getPortType(portNodeTemplateId), portNodeTemplateId); // create port in consolidation data getPortTemplateConsolidationData(translationContext, serviceTemplate, portNodeTemplateId); @@ -264,32 +266,25 @@ public class ConsolidationDataUtil { RequirementAssignment requirementAssignment) { ConsolidationEntityType consolidationEntityType = ConsolidationEntityType.OTHER; HeatOrchestrationTemplate heatOrchestrationTemplate = translateTo - .getHeatOrchestrationTemplate(); + .getHeatOrchestrationTemplate(); TranslationContext translationContext = translateTo.getContext(); consolidationEntityType.setEntityType(heatOrchestrationTemplate, sourceResource, - targetResource, translateTo.getContext()); + targetResource, translateTo.getContext()); // Add resource dependency information in nodesConnectedIn if the target node // is a consolidation entity if (isConsolidationEntity(consolidationEntityType.getTargetEntityType())) { ConsolidationDataUtil.updateNodesConnectedIn(translateTo, - nodeTemplateId, consolidationEntityType.getTargetEntityType(), targetResourceId, - requirementId, requirementAssignment); + nodeTemplateId, consolidationEntityType.getTargetEntityType(), targetResourceId, + requirementId, requirementAssignment); } //Add resource dependency information in nodesConnectedOut if the source node //is a consolidation entity if (isConsolidationEntity(consolidationEntityType.getSourceEntityType())) { ConsolidationDataUtil.updateNodesConnectedOut(translateTo, - requirementAssignment.getNode(), consolidationEntityType.getSourceEntityType(), - requirementId, requirementAssignment); - ConsolidationDataUtil.updateNodesConnectedOut(translateTo, - requirementAssignment.getNode(), consolidationEntityType.getSourceEntityType(), - requirementId + "_" + nodeTemplateId, requirementAssignment); - - translationContext.addSubMappingReqAssignment(ToscaUtil.getServiceTemplateFileName - (translateTo.getServiceTemplate()), - requirementAssignment, requirementId + "_" + nodeTemplateId); + requirementAssignment.getNode(), consolidationEntityType.getSourceEntityType(), + requirementId, requirementAssignment); } } @@ -297,9 +292,9 @@ public class ConsolidationDataUtil { private static boolean isConsolidationEntity(ConsolidationEntityType consolidationEntityType) { return (consolidationEntityType == ConsolidationEntityType.COMPUTE - || consolidationEntityType == ConsolidationEntityType.PORT - || consolidationEntityType == ConsolidationEntityType.NESTED - || consolidationEntityType == ConsolidationEntityType.VFC_NESTED); + || consolidationEntityType == ConsolidationEntityType.PORT + || consolidationEntityType == ConsolidationEntityType.NESTED + || consolidationEntityType == ConsolidationEntityType.VFC_NESTED); } /** @@ -319,20 +314,30 @@ public class ConsolidationDataUtil { EntityConsolidationData entityConsolidationData = null; TranslationContext translationContext = translateTo.getContext(); ServiceTemplate serviceTemplate = translateTo.getServiceTemplate(); + + translationContext.updateRequirementAssignmentIdIndex(ToscaUtil.getServiceTemplateFileName + (translateTo.getServiceTemplate()), translateTo.getResourceId(), requirementId); + RequirementAssignmentData requirementAssignmentData = new RequirementAssignmentData( - requirementId, requirementAssignment); + requirementId, requirementAssignment); if (consolidationEntityType == ConsolidationEntityType.COMPUTE) { String nodeType = DataModelUtil.getNodeTemplate(serviceTemplate, translateTo - .getTranslatedId()).getType(); + .getTranslatedId()).getType(); entityConsolidationData = getComputeTemplateConsolidationData(translationContext, - serviceTemplate, nodeType, translateTo.getTranslatedId()); + serviceTemplate, nodeType, translateTo.getTranslatedId()); } else if (consolidationEntityType == ConsolidationEntityType.PORT) { entityConsolidationData = getPortTemplateConsolidationData(translationContext, - serviceTemplate, translateTo.getTranslatedId()); + serviceTemplate, translateTo.getTranslatedId()); } else if (consolidationEntityType == ConsolidationEntityType.VFC_NESTED - || consolidationEntityType == ConsolidationEntityType.NESTED) { - //ConnectedOut data for nested is not updated + || consolidationEntityType == ConsolidationEntityType.NESTED) { + entityConsolidationData = + getNestedTemplateConsolidationData(translationContext, serviceTemplate, + null, + translateTo.getTranslatedId()); + } + + if(Objects.isNull(entityConsolidationData)){ return; } @@ -341,8 +346,8 @@ public class ConsolidationDataUtil { } entityConsolidationData.getNodesConnectedOut() - .computeIfAbsent(nodeTemplateId, k -> new ArrayList<>()) - .add(requirementAssignmentData); + .computeIfAbsent(nodeTemplateId, k -> new ArrayList<>()) + .add(requirementAssignmentData); } /** @@ -363,34 +368,34 @@ public class ConsolidationDataUtil { TranslationContext translationContext = translateTo.getContext(); ServiceTemplate serviceTemplate = translateTo.getServiceTemplate(); RequirementAssignmentData requirementAssignmentData = new RequirementAssignmentData( - requirementId, requirementAssignment); + requirementId, requirementAssignment); String dependentNodeTemplateId = requirementAssignment.getNode(); if (consolidationEntityType == ConsolidationEntityType.COMPUTE) { NodeTemplate computeNodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - dependentNodeTemplateId); + dependentNodeTemplateId); String nodeType = null; if (Objects.isNull(computeNodeTemplate)) { Resource targetResource = - translateTo.getHeatOrchestrationTemplate().getResources().get(targetResourceId); + translateTo.getHeatOrchestrationTemplate().getResources().get(targetResourceId); NameExtractor nodeTypeNameExtractor = - translateTo.getContext().getNameExtractorImpl(targetResource.getType()); + translateTo.getContext().getNameExtractorImpl(targetResource.getType()); nodeType = - nodeTypeNameExtractor.extractNodeTypeName(translateTo.getHeatOrchestrationTemplate() - .getResources().get(dependentNodeTemplateId), - dependentNodeTemplateId, dependentNodeTemplateId); + nodeTypeNameExtractor.extractNodeTypeName(translateTo.getHeatOrchestrationTemplate() + .getResources().get(dependentNodeTemplateId), + dependentNodeTemplateId, dependentNodeTemplateId); } else { nodeType = computeNodeTemplate.getType(); } entityConsolidationData = getComputeTemplateConsolidationData(translationContext, - serviceTemplate, nodeType, dependentNodeTemplateId); + serviceTemplate, nodeType, dependentNodeTemplateId); } else if (consolidationEntityType == ConsolidationEntityType.PORT) { entityConsolidationData = getPortTemplateConsolidationData(translationContext, - serviceTemplate, dependentNodeTemplateId); + serviceTemplate, dependentNodeTemplateId); } else if (consolidationEntityType == ConsolidationEntityType.NESTED - || consolidationEntityType == ConsolidationEntityType.VFC_NESTED) { + || consolidationEntityType == ConsolidationEntityType.VFC_NESTED) { entityConsolidationData = getNestedTemplateConsolidationData(translationContext, - serviceTemplate, translateTo.getHeatFileName(), dependentNodeTemplateId); + serviceTemplate, translateTo.getHeatFileName(), dependentNodeTemplateId); } if (entityConsolidationData.getNodesConnectedIn() == null) { @@ -398,8 +403,8 @@ public class ConsolidationDataUtil { } entityConsolidationData.getNodesConnectedIn() - .computeIfAbsent(sourceNodeTemplateId, k -> new ArrayList<>()) - .add(requirementAssignmentData); + .computeIfAbsent(sourceNodeTemplateId, k -> new ArrayList<>()) + .add(requirementAssignmentData); } @@ -414,7 +419,7 @@ public class ConsolidationDataUtil { String resourceId) { String resourceType = heatOrchestrationTemplate.getResources().get(resourceId).getType(); Map<String, ImplementationConfiguration> supportedComputeResources = TranslationContext - .getSupportedConsolidationComputeResources(); + .getSupportedConsolidationComputeResources(); if (supportedComputeResources.containsKey(resourceType)) { if (supportedComputeResources.get(resourceType).isEnable()) { return true; @@ -433,7 +438,7 @@ public class ConsolidationDataUtil { public static boolean isComputeResource(Resource resource) { String resourceType = resource.getType(); Map<String, ImplementationConfiguration> supportedComputeResources = TranslationContext - .getSupportedConsolidationComputeResources(); + .getSupportedConsolidationComputeResources(); if (supportedComputeResources.containsKey(resourceType)) { if (supportedComputeResources.get(resourceType).isEnable()) { return true; @@ -454,7 +459,7 @@ public class ConsolidationDataUtil { String resourceId) { String resourceType = heatOrchestrationTemplate.getResources().get(resourceId).getType(); Map<String, ImplementationConfiguration> supportedPortResources = TranslationContext - .getSupportedConsolidationPortResources(); + .getSupportedConsolidationPortResources(); if (supportedPortResources.containsKey(resourceType)) { if (supportedPortResources.get(resourceType).isEnable()) { return true; @@ -473,7 +478,7 @@ public class ConsolidationDataUtil { public static boolean isPortResource(Resource resource) { String resourceType = resource.getType(); Map<String, ImplementationConfiguration> supportedPortResources = TranslationContext - .getSupportedConsolidationPortResources(); + .getSupportedConsolidationPortResources(); if (supportedPortResources.containsKey(resourceType)) { if (supportedPortResources.get(resourceType).isEnable()) { return true; @@ -494,8 +499,8 @@ public class ConsolidationDataUtil { String resourceId) { String resourceType = heatOrchestrationTemplate.getResources().get(resourceId).getType(); return (resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_RESOURCE_TYPE.getHeatResource()) - || resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_ATTACHMENT_RESOURCE_TYPE - .getHeatResource())); + || resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_ATTACHMENT_RESOURCE_TYPE + .getHeatResource())); } /** @@ -507,8 +512,8 @@ public class ConsolidationDataUtil { public static boolean isVolumeResource(Resource resource) { String resourceType = resource.getType(); return (resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_RESOURCE_TYPE.getHeatResource()) - || resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_ATTACHMENT_RESOURCE_TYPE - .getHeatResource())); + || resourceType.equals(HeatResourcesTypes.CINDER_VOLUME_ATTACHMENT_RESOURCE_TYPE + .getHeatResource())); } /** @@ -549,7 +554,7 @@ public class ConsolidationDataUtil { TranslationContext context = translateTo.getContext(); ServiceTemplate serviceTemplate = translateTo.getServiceTemplate(); getNestedTemplateConsolidationData( - context, serviceTemplate, translateTo.getHeatFileName(), translateTo.getTranslatedId()); + context, serviceTemplate, translateTo.getHeatFileName(), translateTo.getTranslatedId()); } public static void removeSharedResource(ServiceTemplate serviceTemplate, @@ -559,23 +564,23 @@ public class ConsolidationDataUtil { String contrailSharedResourceId, String sharedTranslatedResourceId) { if (ConsolidationDataUtil.isComputeResource(heatOrchestrationTemplate, - contrailSharedResourceId)) { + contrailSharedResourceId)) { NodeTemplate nodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - sharedTranslatedResourceId); + sharedTranslatedResourceId); EntityConsolidationData entityConsolidationData = getComputeTemplateConsolidationData( - context, serviceTemplate, nodeTemplate.getType(), sharedTranslatedResourceId); + context, serviceTemplate, nodeTemplate.getType(), sharedTranslatedResourceId); List<GetAttrFuncData> getAttrFuncDataList = entityConsolidationData - .getOutputParametersGetAttrIn(); + .getOutputParametersGetAttrIn(); removeParamNameFromAttrFuncList(paramName, getAttrFuncDataList); } if (ConsolidationDataUtil.isPortResource(heatOrchestrationTemplate, - contrailSharedResourceId)) { + contrailSharedResourceId)) { NodeTemplate nodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - sharedTranslatedResourceId); + sharedTranslatedResourceId); EntityConsolidationData entityConsolidationData = getPortTemplateConsolidationData(context, - serviceTemplate, sharedTranslatedResourceId); + serviceTemplate, sharedTranslatedResourceId); List<GetAttrFuncData> getAttrFuncDataList = entityConsolidationData - .getOutputParametersGetAttrIn(); + .getOutputParametersGetAttrIn(); removeParamNameFromAttrFuncList(paramName, getAttrFuncDataList); } } @@ -612,7 +617,7 @@ public class ConsolidationDataUtil { } public static void updateOutputGetAttributeInConsolidationData(EntityConsolidationData - entityConsolidationData, + entityConsolidationData, String outputParameterName, String attributeName) { diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java index 876e524d96..bed404f800 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java @@ -35,7 +35,6 @@ import org.apache.commons.lang3.tuple.Pair; import org.openecomp.config.api.Configuration; import org.openecomp.config.api.ConfigurationManager; import org.openecomp.core.utilities.CommonMethods; -import org.openecomp.core.utilities.json.JsonUtil; import org.openecomp.sdc.datatypes.configuration.ImplementationConfiguration; import org.openecomp.sdc.heat.services.HeatConstants; import org.openecomp.sdc.logging.api.Logger; @@ -83,6 +82,7 @@ import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolida import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.TypeComputeConsolidationData; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; @@ -97,27 +97,27 @@ import java.util.regex.Pattern; public class UnifiedCompositionService { protected static Logger logger = - (Logger) LoggerFactory.getLogger(UnifiedCompositionService.class); + (Logger) LoggerFactory.getLogger(UnifiedCompositionService.class); protected static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); private static Map<String, ImplementationConfiguration> unifiedCompositionImplMap; static { Configuration config = ConfigurationManager.lookup(); unifiedCompositionImplMap = - config.populateMap(ConfigConstants.MANDATORY_UNIFIED_MODEL_NAMESPACE, - ConfigConstants.UNIFIED_COMPOSITION_IMPL_KEY, ImplementationConfiguration.class); + config.populateMap(ConfigConstants.MANDATORY_UNIFIED_MODEL_NAMESPACE, + ConfigConstants.UNIFIED_COMPOSITION_IMPL_KEY, ImplementationConfiguration.class); } private ConsolidationService consolidationService = new ConsolidationService(); private static List<EntityConsolidationData> getPortConsolidationDataList( - Set<String> portIds, - List<UnifiedCompositionData> unifiedCompositionDataList) { + Set<String> portIds, + List<UnifiedCompositionData> unifiedCompositionDataList) { List<EntityConsolidationData> portConsolidationDataList = new ArrayList<>(); for (UnifiedCompositionData unifiedCompositionData : unifiedCompositionDataList) { for (PortTemplateConsolidationData portTemplateConsolidationData : unifiedCompositionData - .getPortTemplateConsolidationDataList()) { + .getPortTemplateConsolidationDataList()) { if (portIds.contains(portTemplateConsolidationData.getNodeTemplateId())) { portConsolidationDataList.add(portTemplateConsolidationData); } @@ -148,8 +148,8 @@ public class UnifiedCompositionService { return; } unifiedCompositionInstance.get() - .createUnifiedComposition(serviceTemplate, nestedServiceTemplate, - unifiedCompositionDataList, context); + .createUnifiedComposition(serviceTemplate, nestedServiceTemplate, + unifiedCompositionDataList, context); mdcDataDebugMessage.debugExitMessage(null, null); } @@ -166,41 +166,41 @@ public class UnifiedCompositionService { * @return the substitution service template */ public Optional<ServiceTemplate> createUnifiedSubstitutionServiceTemplate( - ServiceTemplate serviceTemplate, - List<UnifiedCompositionData> unifiedCompositionDataList, - TranslationContext context, - String substitutionNodeTypeId, - Integer index) { + ServiceTemplate serviceTemplate, + List<UnifiedCompositionData> unifiedCompositionDataList, + TranslationContext context, + String substitutionNodeTypeId, + Integer index) { if (CollectionUtils.isEmpty(unifiedCompositionDataList)) { return Optional.empty(); } UnifiedCompositionData unifiedCompositionData = unifiedCompositionDataList.get(0); String templateName = - getTemplateName(serviceTemplate, unifiedCompositionData, substitutionNodeTypeId, index); + getTemplateName(serviceTemplate, unifiedCompositionData, substitutionNodeTypeId, index); ServiceTemplate substitutionServiceTemplate = - HeatToToscaUtil.createInitSubstitutionServiceTemplate(templateName); + HeatToToscaUtil.createInitSubstitutionServiceTemplate(templateName); createIndexInputParameter(substitutionServiceTemplate); String computeNodeType = - handleCompute(serviceTemplate, substitutionServiceTemplate, unifiedCompositionDataList, - context); + handleCompute(serviceTemplate, substitutionServiceTemplate, unifiedCompositionDataList, + context); handlePorts(serviceTemplate, substitutionServiceTemplate, unifiedCompositionDataList, - computeNodeType, context); + computeNodeType, context); createOutputParameters(serviceTemplate, substitutionServiceTemplate, unifiedCompositionDataList, - computeNodeType, context); + computeNodeType, context); NodeType substitutionGlobalNodeType = - handleSubstitutionGlobalNodeType(serviceTemplate, substitutionServiceTemplate, - context, unifiedCompositionData, substitutionNodeTypeId, index); + handleSubstitutionGlobalNodeType(serviceTemplate, substitutionServiceTemplate, + context, unifiedCompositionData, substitutionNodeTypeId, index); ServiceTemplate globalSubstitutionServiceTemplate = - HeatToToscaUtil.fetchGlobalSubstitutionServiceTemplate(serviceTemplate, context); + HeatToToscaUtil.fetchGlobalSubstitutionServiceTemplate(serviceTemplate, context); addComputeNodeTypeToGlobalST(computeNodeType, serviceTemplate, - globalSubstitutionServiceTemplate, substitutionGlobalNodeType); + globalSubstitutionServiceTemplate, substitutionGlobalNodeType); HeatToToscaUtil.handleSubstitutionMapping(context, - substitutionNodeTypeId, - substitutionServiceTemplate, substitutionGlobalNodeType); + substitutionNodeTypeId, + substitutionServiceTemplate, substitutionGlobalNodeType); context.getTranslatedServiceTemplates().put(templateName, substitutionServiceTemplate); return Optional.of(substitutionServiceTemplate); @@ -212,11 +212,11 @@ public class UnifiedCompositionService { NodeType substitutionGlobalNodeType) { NodeType nodeType = DataModelUtil.getNodeType(serviceTemplate, computeNodeType); NodeType clonedNT = - (NodeType) DataModelUtil.getClonedObject(substitutionGlobalNodeType, NodeType.class); + (NodeType) DataModelUtil.getClonedObject(substitutionGlobalNodeType, NodeType.class); clonedNT.setDerived_from(nodeType.getDerived_from()); DataModelUtil - .addNodeType(globalSubstitutionServiceTemplate, computeNodeType, - clonedNT); + .addNodeType(globalSubstitutionServiceTemplate, computeNodeType, + clonedNT); } /** @@ -233,12 +233,12 @@ public class UnifiedCompositionService { * @return the abstract substitute node template id */ public String createAbstractSubstituteNodeTemplate( - ServiceTemplate serviceTemplate, - ServiceTemplate substitutionServiceTemplate, - List<UnifiedCompositionData> unifiedCompositionDataList, - String substituteNodeTypeId, - TranslationContext context, - Integer index) { + ServiceTemplate serviceTemplate, + ServiceTemplate substitutionServiceTemplate, + List<UnifiedCompositionData> unifiedCompositionDataList, + String substituteNodeTypeId, + TranslationContext context, + Integer index) { NodeTemplate substitutionNodeTemplate = new NodeTemplate(); List<String> directiveList = new ArrayList<>(); @@ -246,26 +246,26 @@ public class UnifiedCompositionService { substitutionNodeTemplate.setDirectives(directiveList); substitutionNodeTemplate.setType(substituteNodeTypeId); Optional<Map<String, Object>> abstractSubstitutionProperties = - createAbstractSubstitutionProperties(serviceTemplate, - substitutionServiceTemplate, unifiedCompositionDataList, context); + createAbstractSubstitutionProperties(serviceTemplate, + substitutionServiceTemplate, unifiedCompositionDataList, context); abstractSubstitutionProperties.ifPresent(substitutionNodeTemplate::setProperties); //Add substitution filtering property String substitutionServiceTemplateName = ToscaUtil.getServiceTemplateFileName( - substitutionServiceTemplate); + substitutionServiceTemplate); int count = unifiedCompositionDataList.size(); DataModelUtil.addSubstitutionFilteringProperty(substitutionServiceTemplateName, - substitutionNodeTemplate, count); + substitutionNodeTemplate, count); //Add index_value property addIndexValueProperty(substitutionNodeTemplate); String substituteNodeTemplateId = - getSubstituteNodeTemplateId(serviceTemplate, unifiedCompositionDataList.get(0), - substituteNodeTypeId, index); + getSubstituteNodeTemplateId(serviceTemplate, unifiedCompositionDataList.get(0), + substituteNodeTypeId, index); //Add node template id and related abstract node template id in context addUnifiedSubstitionData(context, serviceTemplate, unifiedCompositionDataList, - substituteNodeTemplateId); + substituteNodeTemplateId); DataModelUtil - .addNodeTemplate(serviceTemplate, substituteNodeTemplateId, substitutionNodeTemplate); + .addNodeTemplate(serviceTemplate, substituteNodeTemplateId, substitutionNodeTemplate); return substituteNodeTemplateId; } @@ -304,18 +304,18 @@ public class UnifiedCompositionService { * @param context the translation context */ public void cleanUnifiedCompositionEntities( - ServiceTemplate serviceTemplate, - List<UnifiedCompositionData> unifiedCompositionDataList, - TranslationContext context) { + ServiceTemplate serviceTemplate, + List<UnifiedCompositionData> unifiedCompositionDataList, + TranslationContext context) { for (UnifiedCompositionData unifiedCompositionData : unifiedCompositionDataList) { ComputeTemplateConsolidationData computeTemplateConsolidationData = - unifiedCompositionData.getComputeTemplateConsolidationData(); + unifiedCompositionData.getComputeTemplateConsolidationData(); cleanServiceTemplate(serviceTemplate, computeTemplateConsolidationData, context); List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(unifiedCompositionData); + getPortTemplateConsolidationDataList(unifiedCompositionData); for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { cleanServiceTemplate(serviceTemplate, portTemplateConsolidationData, context); } } @@ -334,8 +334,8 @@ public class UnifiedCompositionService { TranslationContext context) { for (UnifiedCompositionData unifiedData : unifiedCompositionDataList) { removeCleanedNodeType( - unifiedData.getComputeTemplateConsolidationData().getNodeTemplateId(), serviceTemplate, - context); + unifiedData.getComputeTemplateConsolidationData().getNodeTemplateId(), serviceTemplate, + context); } if (MapUtils.isEmpty(serviceTemplate.getNode_types())) { serviceTemplate.setNode_types(null); @@ -354,16 +354,16 @@ public class UnifiedCompositionService { String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); UnifiedSubstitutionData unifiedSubstitutionData = context.getUnifiedSubstitutionData() - .get(serviceTemplateFileName); + .get(serviceTemplateFileName); if (Objects.nonNull(unifiedSubstitutionData)) { //Handle get attribute in connectivity for abstarct node to abstract node templates Set<String> abstractNodeIds = - new HashSet<>(unifiedSubstitutionData.getAllRelatedAbstractNodeIds()); + new HashSet<>(unifiedSubstitutionData.getAllRelatedAbstractNodeIds()); handleGetAttrInConnectivity(serviceTemplate, abstractNodeIds, context); //Handle get attribute in connectivity for abstract node templates to nested node template Set<String> nestedNodeIds = - new HashSet<>(unifiedSubstitutionData.getAllUnifiedNestedNodeTemplateIds()); + new HashSet<>(unifiedSubstitutionData.getAllUnifiedNestedNodeTemplateIds()); handleGetAttrInConnectivity(serviceTemplate, nestedNodeIds, context); } } @@ -382,19 +382,19 @@ public class UnifiedCompositionService { TranslationContext context) { handleUnifiedNestedNodeType(mainServiceTemplate, nestedServiceTemplate, context); updateUnifiedNestedTemplates(mainServiceTemplate, nestedServiceTemplate, - unifiedCompositionData, context); + unifiedCompositionData, context); } private void handleGetAttrInConnectivity(ServiceTemplate serviceTemplate, Set<String> unifiedNodeIds, TranslationContext context) { Map<String, NodeTemplate> nodeTemplates = - serviceTemplate.getTopology_template().getNode_templates(); + serviceTemplate.getTopology_template().getNode_templates(); String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); for (String unifiedNodeId : unifiedNodeIds) { NodeTemplate nodeTemplate = nodeTemplates.get(unifiedNodeId); handleGetAttrInAbstractNodeTemplate(serviceTemplate, context, serviceTemplateFileName, - nodeTemplate); + nodeTemplate); } } @@ -404,30 +404,30 @@ public class UnifiedCompositionService { SubstitutionMapping substitutionMappings = - nestedServiceTemplate.getTopology_template().getSubstitution_mappings(); + nestedServiceTemplate.getTopology_template().getSubstitution_mappings(); String nodeTypeId = substitutionMappings.getNode_type(); Optional<String> newNestedNodeTypeId = - getNewNestedNodeTypeId(mainServiceTemplate, nestedServiceTemplate, context); + getNewNestedNodeTypeId(mainServiceTemplate, nestedServiceTemplate, context); ServiceTemplate globalSubstitutionServiceTemplate = - context.getGlobalSubstitutionServiceTemplate(); + context.getGlobalSubstitutionServiceTemplate(); if (isNestedServiceTemplateWasHandled(globalSubstitutionServiceTemplate, nestedServiceTemplate, - context, - newNestedNodeTypeId)) { + context, + newNestedNodeTypeId)) { context - .updateHandledComputeType(ToscaUtil.getServiceTemplateFileName(mainServiceTemplate), - newNestedNodeTypeId.get(), - ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate)); + .updateHandledComputeType(ToscaUtil.getServiceTemplateFileName(mainServiceTemplate), + newNestedNodeTypeId.get(), + ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate)); return; } newNestedNodeTypeId.ifPresent( - newNestedNodeTypeIdVal -> handleNestedNodeType(nodeTypeId, newNestedNodeTypeIdVal, - nestedServiceTemplate, mainServiceTemplate, globalSubstitutionServiceTemplate, - context)); + newNestedNodeTypeIdVal -> handleNestedNodeType(nodeTypeId, newNestedNodeTypeIdVal, + nestedServiceTemplate, mainServiceTemplate, globalSubstitutionServiceTemplate, + context)); } @@ -436,9 +436,9 @@ public class UnifiedCompositionService { TranslationContext context, Optional<String> newNestedNodeTypeId) { return newNestedNodeTypeId.isPresent() - && context.isNestedServiceTemplateWasHandled( - ToscaUtil.getServiceTemplateFileName(mainServiceTemplate), - ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate)); + && context.isNestedServiceTemplateWasHandled( + ToscaUtil.getServiceTemplateFileName(mainServiceTemplate), + ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate)); } private void handleNestedNodeType(String nodeTypeId, String newNestedNodeTypeId, @@ -448,8 +448,8 @@ public class UnifiedCompositionService { TranslationContext context) { updateNestedServiceTemplate(nestedServiceTemplate, context); updateNestedNodeType(nodeTypeId, newNestedNodeTypeId, nestedServiceTemplate, - mainServiceTemplate, - globalSubstitutionServiceTemplate, context); + mainServiceTemplate, + globalSubstitutionServiceTemplate, context); } @@ -462,24 +462,24 @@ public class UnifiedCompositionService { private void enrichPortProperties(ServiceTemplate nestedServiceTemplate, TranslationContext context) { String nestedServiceTemplateFileName = - ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate); + ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate); FilePortConsolidationData filePortConsolidationData = - context.getConsolidationData().getPortConsolidationData().getFilePortConsolidationData - (nestedServiceTemplateFileName); + context.getConsolidationData().getPortConsolidationData().getFilePortConsolidationData + (nestedServiceTemplateFileName); if (Objects.nonNull(filePortConsolidationData)) { Set<String> portNodeTemplateIds = filePortConsolidationData.getAllPortNodeTemplateIds(); if (Objects.nonNull(portNodeTemplateIds)) { for (String portNodeTemplateId : portNodeTemplateIds) { NodeTemplate portNodeTemplate = DataModelUtil.getNodeTemplate(nestedServiceTemplate, - portNodeTemplateId); + portNodeTemplateId); List<EntityConsolidationData> portEntityConsolidationDataList = new ArrayList<>(); portEntityConsolidationDataList.add(filePortConsolidationData - .getPortTemplateConsolidationData(portNodeTemplateId)); + .getPortTemplateConsolidationData(portNodeTemplateId)); handleNodeTypeProperties(nestedServiceTemplate, - portEntityConsolidationDataList, portNodeTemplate, UnifiedCompositionEntity.Port, - null, context); + portEntityConsolidationDataList, portNodeTemplate, UnifiedCompositionEntity.Port, + null, context); } } } @@ -491,12 +491,12 @@ public class UnifiedCompositionService { ServiceTemplate globalSubstitutionServiceTemplate, TranslationContext context) { String indexedNewNestedNodeTypeId = - updateNodeTypeId(nodeTypeId, newNestedNodeTypeId, nestedServiceTemplate, - mainServiceTemplate, - globalSubstitutionServiceTemplate, context); + updateNodeTypeId(nodeTypeId, newNestedNodeTypeId, nestedServiceTemplate, + mainServiceTemplate, + globalSubstitutionServiceTemplate, context); updateNodeTypeProperties(nestedServiceTemplate, globalSubstitutionServiceTemplate, - indexedNewNestedNodeTypeId); + indexedNewNestedNodeTypeId); //addComputeNodeTypeToGlobalST(); } @@ -506,12 +506,12 @@ public class UnifiedCompositionService { String nodeTypeId) { ToscaAnalyzerService toscaAnalyzerService = new ToscaAnalyzerServiceImpl(); Map<String, PropertyDefinition> nodeTypePropertiesDefinition = - toscaAnalyzerService.manageSubstitutionNodeTypeProperties(nestedServiceTemplate); + toscaAnalyzerService.manageSubstitutionNodeTypeProperties(nestedServiceTemplate); NodeType nestedNodeType = - DataModelUtil.getNodeType(globalSubstitutionServiceTemplate, nodeTypeId); + DataModelUtil.getNodeType(globalSubstitutionServiceTemplate, nodeTypeId); nestedNodeType.setProperties(nodeTypePropertiesDefinition); addComputeNodeTypeToGlobalST(nestedServiceTemplate.getNode_types().keySet().iterator().next() - , nestedServiceTemplate, globalSubstitutionServiceTemplate, nestedNodeType); + , nestedServiceTemplate, globalSubstitutionServiceTemplate, nestedNodeType); } private String updateNodeTypeId(String nodeTypeId, String newNestedNodeTypeId, @@ -520,17 +520,17 @@ public class UnifiedCompositionService { ServiceTemplate globalSubstitutionServiceTemplate, TranslationContext context) { String indexedNewNestedNodeTypeId = - handleNestedNodeTypeInGlobalSubstitutionTemplate(nodeTypeId, newNestedNodeTypeId, - globalSubstitutionServiceTemplate, context); + handleNestedNodeTypeInGlobalSubstitutionTemplate(nodeTypeId, newNestedNodeTypeId, + globalSubstitutionServiceTemplate, context); handleSubstitutionMappingInNestedServiceTemplate(indexedNewNestedNodeTypeId, - nestedServiceTemplate, context); + nestedServiceTemplate, context); context - .updateHandledComputeType( - ToscaUtil.getServiceTemplateFileName(mainServiceTemplate), - ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate), - newNestedNodeTypeId); + .updateHandledComputeType( + ToscaUtil.getServiceTemplateFileName(mainServiceTemplate), + ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate), + newNestedNodeTypeId); return indexedNewNestedNodeTypeId; } @@ -539,23 +539,23 @@ public class UnifiedCompositionService { ServiceTemplate globalSubstitutionServiceTemplate, TranslationContext context) { String indexedNodeType = - getIndexedGlobalNodeTypeId(newNestedNodeTypeId, context); + getIndexedGlobalNodeTypeId(newNestedNodeTypeId, context); context.updateUsedTimesForNestedComputeNodeType( - ToscaUtil.getServiceTemplateFileName(globalSubstitutionServiceTemplate), - newNestedNodeTypeId); + ToscaUtil.getServiceTemplateFileName(globalSubstitutionServiceTemplate), + newNestedNodeTypeId); handleNestedNodeTypesInGlobalSubstituteServiceTemplate(nodeTypeId, indexedNodeType, - globalSubstitutionServiceTemplate, context); + globalSubstitutionServiceTemplate, context); return indexedNodeType; } private String getIndexedGlobalNodeTypeId(String newNestedNodeTypeId, TranslationContext context) { int globalNodeTypeIndex = - context.getGlobalNodeTypeIndex( - ToscaUtil.getServiceTemplateFileName(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME), - newNestedNodeTypeId); + context.getGlobalNodeTypeIndex( + ToscaUtil.getServiceTemplateFileName(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME), + newNestedNodeTypeId); return globalNodeTypeIndex > 0 ? newNestedNodeTypeId + "_" - + String.valueOf(globalNodeTypeIndex) : newNestedNodeTypeId; + + String.valueOf(globalNodeTypeIndex) : newNestedNodeTypeId; } private void updateUnifiedNestedTemplates(ServiceTemplate mainServiceTemplate, @@ -564,13 +564,13 @@ public class UnifiedCompositionService { TranslationContext context) { NestedTemplateConsolidationData nestedTemplateConsolidationData = - unifiedCompositionData.getNestedTemplateConsolidationData(); + unifiedCompositionData.getNestedTemplateConsolidationData(); if (Objects.isNull(nestedTemplateConsolidationData)) { return; } handleNestedNodeTemplateInMainServiceTemplate( - nestedTemplateConsolidationData.getNodeTemplateId(), mainServiceTemplate, - nestedServiceTemplate, context); + nestedTemplateConsolidationData.getNodeTemplateId(), mainServiceTemplate, + nestedServiceTemplate, context); } @@ -588,11 +588,13 @@ public class UnifiedCompositionService { TranslationContext context) { updNestedCompositionNodesConnectedInConnectivity(serviceTemplate, unifiedCompositionData, - context); + context); + updNestedCompositionNodesConnectedOutConnectivity(serviceTemplate, nestedServiceTemplate, + unifiedCompositionData, context); updNestedCompositionNodesGetAttrInConnectivity(serviceTemplate, unifiedCompositionData, - context); + context); updNestedCompositionOutputParamGetAttrInConnectivity(serviceTemplate, - unifiedCompositionData, context); + unifiedCompositionData, context); } @@ -607,21 +609,21 @@ public class UnifiedCompositionService { UnifiedCompositionData unifiedCompositionData, TranslationContext context) { EntityConsolidationData entityConsolidationData = - unifiedCompositionData.getNestedTemplateConsolidationData(); + unifiedCompositionData.getNestedTemplateConsolidationData(); updateHeatStackGroupNestedComposition(serviceTemplate, entityConsolidationData, context); } public void handleComplexVfcType(ServiceTemplate serviceTemplate, TranslationContext context) { SubstitutionMapping substitution_mappings = - serviceTemplate.getTopology_template().getSubstitution_mappings(); + serviceTemplate.getTopology_template().getSubstitution_mappings(); if (Objects.isNull(substitution_mappings)) { return; } ServiceTemplate globalSubstitutionServiceTemplate = - context.getGlobalSubstitutionServiceTemplate(); + context.getGlobalSubstitutionServiceTemplate(); String substitutionNT = substitution_mappings.getNode_type(); if (globalSubstitutionServiceTemplate.getNode_types().containsKey(substitutionNT)) { @@ -634,63 +636,93 @@ public class UnifiedCompositionService { protected void updNodesConnectedOutConnectivity(ServiceTemplate serviceTemplate, List<UnifiedCompositionData> - unifiedCompositionDataList, + unifiedCompositionDataList, TranslationContext context) { for (UnifiedCompositionData unifiedCompositionData : unifiedCompositionDataList) { ComputeTemplateConsolidationData computeTemplateConsolidationData = unifiedCompositionData - .getComputeTemplateConsolidationData(); + .getComputeTemplateConsolidationData(); //Add requirements in the abstract node template for nodes connected out for computes String newComputeNodeTemplateId = getNewComputeNodeTemplateId(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + computeTemplateConsolidationData.getNodeTemplateId()); Map<String, List<RequirementAssignmentData>> computeNodesConnectedOut = - computeTemplateConsolidationData.getNodesConnectedOut(); + computeTemplateConsolidationData.getNodesConnectedOut(); if (computeNodesConnectedOut != null) { updateRequirementInAbstractNodeTemplate(serviceTemplate, computeTemplateConsolidationData, - newComputeNodeTemplateId, computeNodesConnectedOut, context); + newComputeNodeTemplateId, computeNodesConnectedOut, context); } String computeType = getComputeTypeSuffix(serviceTemplate, computeTemplateConsolidationData - .getNodeTemplateId()); + .getNodeTemplateId()); //Add requirements in the abstract node template for nodes connected out for ports List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(unifiedCompositionData); + getPortTemplateConsolidationDataList(unifiedCompositionData); for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { String newPortNodeTemplateId = getNewPortNodeTemplateId(portTemplateConsolidationData - .getNodeTemplateId(), computeType, computeTemplateConsolidationData); + .getNodeTemplateId(), computeType, computeTemplateConsolidationData); Map<String, List<RequirementAssignmentData>> portNodesConnectedOut = - portTemplateConsolidationData.getNodesConnectedOut(); + portTemplateConsolidationData.getNodesConnectedOut(); if (portNodesConnectedOut != null) { updateRequirementInAbstractNodeTemplate(serviceTemplate, portTemplateConsolidationData, - newPortNodeTemplateId, portNodesConnectedOut, context); + newPortNodeTemplateId, portNodesConnectedOut, context); } } } } + private void updNestedCompositionNodesConnectedOutConnectivity(ServiceTemplate serviceTemplate, + ServiceTemplate nestedServiceTemplate, + UnifiedCompositionData unifiedCompositionData, + TranslationContext context) { + NestedTemplateConsolidationData nestedTemplateConsolidationData = unifiedCompositionData.getNestedTemplateConsolidationData(); + Map<String, List<RequirementAssignmentData>> nodesConnectedOut = + Objects.isNull(nestedTemplateConsolidationData) ? new HashMap<>() + : nestedTemplateConsolidationData.getNodesConnectedOut(); + + FileComputeConsolidationData nestedFileComputeConsolidationData = + context.getConsolidationData().getComputeConsolidationData().getFileComputeConsolidationData + (ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate)); + + if(Objects.isNull(nestedFileComputeConsolidationData)){ + return; + } + + TypeComputeConsolidationData computeType = + nestedFileComputeConsolidationData.getAllTypeComputeConsolidationData().iterator().next(); + if(Objects.isNull(computeType)){ + return; + } + + String singleComputeId = computeType.getAllComputeNodeTemplateIds().iterator().next(); + if(Objects.nonNull(singleComputeId)) { + updateRequirementInNestedNodeTemplate(serviceTemplate, nestedTemplateConsolidationData, + singleComputeId, nodesConnectedOut); + } + } + protected void updNodesConnectedInConnectivity(ServiceTemplate serviceTemplate, List<UnifiedCompositionData> - unifiedCompositionDataList, + unifiedCompositionDataList, TranslationContext context) { for (UnifiedCompositionData unifiedCompositionData : unifiedCompositionDataList) { ComputeTemplateConsolidationData computeTemplateConsolidationData = unifiedCompositionData - .getComputeTemplateConsolidationData(); + .getComputeTemplateConsolidationData(); //Update requirements in the node template which pointing to the computes String newComputeNodeTemplateId = getNewComputeNodeTemplateId(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + computeTemplateConsolidationData.getNodeTemplateId()); updNodesConnectedInConnectivity(serviceTemplate, computeTemplateConsolidationData, - newComputeNodeTemplateId, context, false); + newComputeNodeTemplateId, context, false); String computeType = getComputeTypeSuffix(serviceTemplate, computeTemplateConsolidationData - .getNodeTemplateId()); + .getNodeTemplateId()); //Update requirements in the node template which pointing to the ports List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(unifiedCompositionData); + getPortTemplateConsolidationDataList(unifiedCompositionData); for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { String newPortNodeTemplateId = getNewPortNodeTemplateId(portTemplateConsolidationData - .getNodeTemplateId(), computeType, computeTemplateConsolidationData); + .getNodeTemplateId(), computeType, computeTemplateConsolidationData); updNodesConnectedInConnectivity(serviceTemplate, portTemplateConsolidationData, - newPortNodeTemplateId, context, false); + newPortNodeTemplateId, context, false); } } } @@ -701,19 +733,19 @@ public class UnifiedCompositionService { TranslationContext context, boolean isNested) { Map<String, List<RequirementAssignmentData>> nodesConnectedIn = - entityConsolidationData.getNodesConnectedIn(); + entityConsolidationData.getNodesConnectedIn(); if (nodesConnectedIn == null) { //No nodes connected in info return; } for (Map.Entry<String, List<RequirementAssignmentData>> entry : nodesConnectedIn - .entrySet()) { + .entrySet()) { List<RequirementAssignmentData> requirementAssignmentDataList = entry.getValue(); for (RequirementAssignmentData requirementAssignmentData : requirementAssignmentDataList) { RequirementAssignment requirementAssignment = requirementAssignmentData - .getRequirementAssignment(); + .getRequirementAssignment(); if (!requirementAssignment.getNode().equals(entityConsolidationData - .getNodeTemplateId())) { + .getNodeTemplateId())) { //The requirement assignment target node should be the one which we are handling in the //consolidation object continue; @@ -721,10 +753,10 @@ public class UnifiedCompositionService { //Update the requirement assignment object in the original node template if (isNested) { updateRequirementForNestedCompositionNodesConnectedIn(serviceTemplate, - requirementAssignmentData, entityConsolidationData, newNodeTemplateId, context); + requirementAssignmentData, entityConsolidationData, newNodeTemplateId, context); } else { updateRequirementForNodesConnectedIn(serviceTemplate, requirementAssignmentData, - entityConsolidationData, entry.getKey(), newNodeTemplateId, context); + entityConsolidationData, entry.getKey(), newNodeTemplateId, context); } } @@ -732,76 +764,93 @@ public class UnifiedCompositionService { } protected void updNestedCompositionNodesConnectedInConnectivity( - ServiceTemplate serviceTemplate, - UnifiedCompositionData unifiedCompositionData, - TranslationContext context) { + ServiceTemplate serviceTemplate, + UnifiedCompositionData unifiedCompositionData, + TranslationContext context) { NestedTemplateConsolidationData nestedTemplateConsolidationData = unifiedCompositionData - .getNestedTemplateConsolidationData(); + .getNestedTemplateConsolidationData(); //Update requirements in the node template which pointing to the nested nodes String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); Optional<String> newNestedNodeTemplateId = context.getUnifiedNestedNodeTemplateId( - serviceTemplateFileName, nestedTemplateConsolidationData.getNodeTemplateId()); + serviceTemplateFileName, nestedTemplateConsolidationData.getNodeTemplateId()); newNestedNodeTemplateId.ifPresent( - newNestedNodeTemplateIdVal -> updNodesConnectedInConnectivity(serviceTemplate, - nestedTemplateConsolidationData, - newNestedNodeTemplateIdVal, context, true)); - - } + newNestedNodeTemplateIdVal -> updNodesConnectedInConnectivity(serviceTemplate, + nestedTemplateConsolidationData, + newNestedNodeTemplateIdVal, context, true)); + + } + +// protected void updNestedCompositionNodesConnectedOutConnectivity( +// ServiceTemplate serviceTemplate, +// UnifiedCompositionData unifiedCompositionData, +// TranslationContext context) { +// NestedTemplateConsolidationData nestedTemplateConsolidationData = unifiedCompositionData +// .getNestedTemplateConsolidationData(); +// //Update requirements in the node template which pointing to the nested nodes +// String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); +// Optional<String> newNestedNodeTemplateId = context.getUnifiedNestedNodeTemplateId( +// serviceTemplateFileName, nestedTemplateConsolidationData.getNodeTemplateId()); +// newNestedNodeTemplateId.ifPresent( +// newNestedNodeTemplateIdVal -> updNodesConnectedOutConnectivity(serviceTemplate, +// nestedTemplateConsolidationData, +// newNestedNodeTemplateIdVal, context, true)); +// +// } protected void updVolumeConnectivity(ServiceTemplate serviceTemplate, List<UnifiedCompositionData> - unifiedCompositionDataList, + unifiedCompositionDataList, TranslationContext context) { for (UnifiedCompositionData unifiedCompositionData : unifiedCompositionDataList) { ComputeTemplateConsolidationData computeTemplateConsolidationData = unifiedCompositionData - .getComputeTemplateConsolidationData(); + .getComputeTemplateConsolidationData(); //Add requirements in the abstract node template for compute volumes String newComputeNodeTemplateId = getNewComputeNodeTemplateId(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + computeTemplateConsolidationData.getNodeTemplateId()); Map<String, List<RequirementAssignmentData>> computeVolumes = - computeTemplateConsolidationData.getVolumes(); + computeTemplateConsolidationData.getVolumes(); if (computeVolumes != null) { updateRequirementInAbstractNodeTemplate(serviceTemplate, computeTemplateConsolidationData, - newComputeNodeTemplateId, computeVolumes, context); + newComputeNodeTemplateId, computeVolumes, context); } } } protected void updGroupsConnectivity(ServiceTemplate serviceTemplate, List<UnifiedCompositionData> - unifiedCompositionDataList, + unifiedCompositionDataList, TranslationContext context) { for (UnifiedCompositionData unifiedCompositionData : unifiedCompositionDataList) { ComputeTemplateConsolidationData computeTemplateConsolidationData = unifiedCompositionData - .getComputeTemplateConsolidationData(); + .getComputeTemplateConsolidationData(); //Add requirements in the abstract node template for nodes connected in for computes String newComputeNodeTemplateId = getNewComputeNodeTemplateId(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + computeTemplateConsolidationData.getNodeTemplateId()); updGroupsConnectivity(serviceTemplate, computeTemplateConsolidationData, context); String computeType = getComputeTypeSuffix(serviceTemplate, computeTemplateConsolidationData - .getNodeTemplateId()); + .getNodeTemplateId()); //Add requirements in the abstract node template for nodes connected in for ports List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(unifiedCompositionData); + getPortTemplateConsolidationDataList(unifiedCompositionData); for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { String newPortNodeTemplateId = getNewPortNodeTemplateId(portTemplateConsolidationData - .getNodeTemplateId(), computeType, computeTemplateConsolidationData); + .getNodeTemplateId(), computeType, computeTemplateConsolidationData); updGroupsConnectivity(serviceTemplate, portTemplateConsolidationData, context); } } } private void updGroupsConnectivity(ServiceTemplate serviceTemplate, EntityConsolidationData - entityConsolidationData, TranslationContext context) { + entityConsolidationData, TranslationContext context) { List<String> groupIds = entityConsolidationData.getGroupIds(); if (groupIds == null) { return; } String oldNodeTemplateId = entityConsolidationData.getNodeTemplateId(); String abstractNodeTemplateId = context.getUnifiedAbstractNodeTemplateId( - serviceTemplate, entityConsolidationData.getNodeTemplateId()); + serviceTemplate, entityConsolidationData.getNodeTemplateId()); Map<String, GroupDefinition> groups = serviceTemplate.getTopology_template().getGroups(); if (groups != null) { for (String groupId : groupIds) { @@ -822,194 +871,194 @@ public class UnifiedCompositionService { } protected void updOutputParamGetAttrInConnectivity( - ServiceTemplate serviceTemplate, List<UnifiedCompositionData> unifiedComposotionDataList, - TranslationContext context) { + ServiceTemplate serviceTemplate, List<UnifiedCompositionData> unifiedComposotionDataList, + TranslationContext context) { for (UnifiedCompositionData unifiedCompositionData : unifiedComposotionDataList) { ComputeTemplateConsolidationData computeTemplateConsolidationData = - unifiedCompositionData.getComputeTemplateConsolidationData(); + unifiedCompositionData.getComputeTemplateConsolidationData(); String newComputeNodeTemplateId = getNewComputeNodeTemplateId(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + computeTemplateConsolidationData.getNodeTemplateId()); updOutputParamGetAttrInConnectivity(serviceTemplate, computeTemplateConsolidationData, - computeTemplateConsolidationData.getNodeTemplateId(), newComputeNodeTemplateId, - context, false); + computeTemplateConsolidationData.getNodeTemplateId(), newComputeNodeTemplateId, + context, false); String computeType = - getComputeTypeSuffix(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + getComputeTypeSuffix(serviceTemplate, + computeTemplateConsolidationData.getNodeTemplateId()); List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(unifiedCompositionData); + getPortTemplateConsolidationDataList(unifiedCompositionData); for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { String newPortNodeTemplateId = - getNewPortNodeTemplateId(portTemplateConsolidationData.getNodeTemplateId(), computeType, - computeTemplateConsolidationData); + getNewPortNodeTemplateId(portTemplateConsolidationData.getNodeTemplateId(), computeType, + computeTemplateConsolidationData); updOutputParamGetAttrInConnectivity(serviceTemplate, portTemplateConsolidationData, - portTemplateConsolidationData.getNodeTemplateId(), newPortNodeTemplateId, context, - false); + portTemplateConsolidationData.getNodeTemplateId(), newPortNodeTemplateId, context, + false); } } } protected void updNodesGetAttrInConnectivity( - ServiceTemplate serviceTemplate, - List<UnifiedCompositionData> unifiedComposotionDataList, - TranslationContext context) { + ServiceTemplate serviceTemplate, + List<UnifiedCompositionData> unifiedComposotionDataList, + TranslationContext context) { Map<String, UnifiedCompositionEntity> consolidationNodeTemplateIdAndType = - getAllConsolidationNodeTemplateIdAndType(unifiedComposotionDataList); + getAllConsolidationNodeTemplateIdAndType(unifiedComposotionDataList); for (UnifiedCompositionData unifiedCompositionData : unifiedComposotionDataList) { ComputeTemplateConsolidationData computeTemplateConsolidationData = - unifiedCompositionData.getComputeTemplateConsolidationData(); + unifiedCompositionData.getComputeTemplateConsolidationData(); String newComputeNodeTemplateId = getNewComputeNodeTemplateId(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + computeTemplateConsolidationData.getNodeTemplateId()); updNodeGetAttrInConnectivity(serviceTemplate, computeTemplateConsolidationData, - computeTemplateConsolidationData.getNodeTemplateId(), - newComputeNodeTemplateId, context, consolidationNodeTemplateIdAndType, false); + computeTemplateConsolidationData.getNodeTemplateId(), + newComputeNodeTemplateId, context, consolidationNodeTemplateIdAndType, false); String computeType = - getComputeTypeSuffix(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + getComputeTypeSuffix(serviceTemplate, + computeTemplateConsolidationData.getNodeTemplateId()); List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(unifiedCompositionData); + getPortTemplateConsolidationDataList(unifiedCompositionData); for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { String newPotNodeTemplateId = - getNewPortNodeTemplateId(portTemplateConsolidationData.getNodeTemplateId(), computeType, - computeTemplateConsolidationData); + getNewPortNodeTemplateId(portTemplateConsolidationData.getNodeTemplateId(), computeType, + computeTemplateConsolidationData); updNodeGetAttrInConnectivity(serviceTemplate, portTemplateConsolidationData, - portTemplateConsolidationData.getNodeTemplateId(), - newPotNodeTemplateId, context, consolidationNodeTemplateIdAndType, false); + portTemplateConsolidationData.getNodeTemplateId(), + newPotNodeTemplateId, context, consolidationNodeTemplateIdAndType, false); } } } protected void updNestedCompositionOutputParamGetAttrInConnectivity( - ServiceTemplate serviceTemplate, UnifiedCompositionData unifiedCompositionData, - TranslationContext context) { + ServiceTemplate serviceTemplate, UnifiedCompositionData unifiedCompositionData, + TranslationContext context) { NestedTemplateConsolidationData nestedTemplateConsolidationData = - unifiedCompositionData.getNestedTemplateConsolidationData(); + unifiedCompositionData.getNestedTemplateConsolidationData(); if (Objects.isNull(nestedTemplateConsolidationData)) { return; } String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); Optional<String> newNestedNodeTemplateId = context.getUnifiedNestedNodeTemplateId( - serviceTemplateFileName, nestedTemplateConsolidationData.getNodeTemplateId()); + serviceTemplateFileName, nestedTemplateConsolidationData.getNodeTemplateId()); newNestedNodeTemplateId.ifPresent( - newNestedNodeTemplateIdVal -> updOutputParamGetAttrInConnectivity(serviceTemplate, - nestedTemplateConsolidationData, nestedTemplateConsolidationData.getNodeTemplateId(), - newNestedNodeTemplateIdVal, context, true)); + newNestedNodeTemplateIdVal -> updOutputParamGetAttrInConnectivity(serviceTemplate, + nestedTemplateConsolidationData, nestedTemplateConsolidationData.getNodeTemplateId(), + newNestedNodeTemplateIdVal, context, true)); } protected void updNestedCompositionNodesGetAttrInConnectivity( - ServiceTemplate serviceTemplate, - UnifiedCompositionData unifiedCompositionData, - TranslationContext context) { + ServiceTemplate serviceTemplate, + UnifiedCompositionData unifiedCompositionData, + TranslationContext context) { NestedTemplateConsolidationData nestedTemplateConsolidationData = - unifiedCompositionData.getNestedTemplateConsolidationData(); + unifiedCompositionData.getNestedTemplateConsolidationData(); if (Objects.isNull(nestedTemplateConsolidationData)) { return; } String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); Optional<String> newNestedNodeTemplateId = context.getUnifiedNestedNodeTemplateId( - serviceTemplateFileName, nestedTemplateConsolidationData.getNodeTemplateId()); + serviceTemplateFileName, nestedTemplateConsolidationData.getNodeTemplateId()); newNestedNodeTemplateId.ifPresent( - newNestedNodeTemplateIdVal -> updNodeGetAttrInConnectivity(serviceTemplate, - nestedTemplateConsolidationData, nestedTemplateConsolidationData.getNodeTemplateId(), - newNestedNodeTemplateIdVal, context, null, true)); + newNestedNodeTemplateIdVal -> updNodeGetAttrInConnectivity(serviceTemplate, + nestedTemplateConsolidationData, nestedTemplateConsolidationData.getNodeTemplateId(), + newNestedNodeTemplateIdVal, context, null, true)); } private void updateRequirementForNodesConnectedIn( - ServiceTemplate serviceTemplate, - RequirementAssignmentData requirementAssignmentData, - EntityConsolidationData entityConsolidationData, - String originalNodeTemplateId, - String newNodeTemplateId, - TranslationContext context) { + ServiceTemplate serviceTemplate, + RequirementAssignmentData requirementAssignmentData, + EntityConsolidationData entityConsolidationData, + String originalNodeTemplateId, + String newNodeTemplateId, + TranslationContext context) { ToscaAnalyzerService toscaAnalyzerService = new ToscaAnalyzerServiceImpl(); RequirementAssignment requirementAssignment = requirementAssignmentData - .getRequirementAssignment(); + .getRequirementAssignment(); String newAbstractUnifiedNodeTemplateId = context.getUnifiedAbstractNodeTemplateId( - serviceTemplate, entityConsolidationData.getNodeTemplateId()); + serviceTemplate, entityConsolidationData.getNodeTemplateId()); NodeTemplate abstractUnifiedNodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - newAbstractUnifiedNodeTemplateId); + newAbstractUnifiedNodeTemplateId); Optional<String> newCapabilityId = getNewCapabilityForNodesConnectedIn(serviceTemplate, - abstractUnifiedNodeTemplate, requirementAssignment, newNodeTemplateId, context); + abstractUnifiedNodeTemplate, requirementAssignment, newNodeTemplateId, context); if (newCapabilityId.isPresent()) { //Creating a copy of the requirement object and checking if it already exists in the // original node template RequirementAssignment requirementAssignmentCopy = (RequirementAssignment) getClonedObject( - requirementAssignmentData.getRequirementAssignment(), RequirementAssignment.class); + requirementAssignmentData.getRequirementAssignment(), RequirementAssignment.class); NodeTemplate originalNodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - originalNodeTemplateId); + originalNodeTemplateId); requirementAssignmentCopy.setCapability(newCapabilityId.get()); requirementAssignmentCopy.setNode(newAbstractUnifiedNodeTemplateId); if (!toscaAnalyzerService.isRequirementExistInNodeTemplate(originalNodeTemplate, - requirementAssignmentData.getRequirementId(), requirementAssignmentCopy)) { + requirementAssignmentData.getRequirementId(), requirementAssignmentCopy)) { //Update the existing requirement requirementAssignmentData.getRequirementAssignment().setCapability(newCapabilityId - .get()); + .get()); requirementAssignmentData.getRequirementAssignment() - .setNode(newAbstractUnifiedNodeTemplateId); + .setNode(newAbstractUnifiedNodeTemplateId); } else { //The updated requirement already exists in the node template so simply remove the // current one DataModelUtil.removeRequirementAssignment(originalNodeTemplate, requirementAssignmentData - .getRequirementId(), requirementAssignmentData.getRequirementAssignment()); + .getRequirementId(), requirementAssignmentData.getRequirementAssignment()); } } } private void updateRequirementForNestedCompositionNodesConnectedIn( - ServiceTemplate serviceTemplate, - RequirementAssignmentData requirementAssignmentData, - EntityConsolidationData entityConsolidationData, - String newNodeTemplateId, - TranslationContext context) { + ServiceTemplate serviceTemplate, + RequirementAssignmentData requirementAssignmentData, + EntityConsolidationData entityConsolidationData, + String newNodeTemplateId, + TranslationContext context) { ToscaAnalyzerService toscaAnalyzerService = new ToscaAnalyzerServiceImpl(); String newAbstractUnifiedNodeTemplateId = newNodeTemplateId; RequirementAssignment requirementAssignment = requirementAssignmentData - .getRequirementAssignment(); + .getRequirementAssignment(); //Creating a copy of the requirement object and checking if it already exists in the // original node template RequirementAssignment requirementAssignmentCopy = (RequirementAssignment) getClonedObject( - requirementAssignmentData.getRequirementAssignment(), RequirementAssignment.class); + requirementAssignmentData.getRequirementAssignment(), RequirementAssignment.class); NodeTemplate unifiedAbstractNestedNodeTemplate = DataModelUtil - .getNodeTemplate(serviceTemplate, newAbstractUnifiedNodeTemplateId); + .getNodeTemplate(serviceTemplate, newAbstractUnifiedNodeTemplateId); requirementAssignmentCopy.setCapability(requirementAssignment.getCapability()); requirementAssignmentCopy.setNode(newAbstractUnifiedNodeTemplateId); if (!toscaAnalyzerService.isRequirementExistInNodeTemplate(unifiedAbstractNestedNodeTemplate, - requirementAssignmentData.getRequirementId(), requirementAssignmentCopy)) { + requirementAssignmentData.getRequirementId(), requirementAssignmentCopy)) { //Update the existing requirement requirementAssignmentData.getRequirementAssignment() - .setNode(newAbstractUnifiedNodeTemplateId); + .setNode(newAbstractUnifiedNodeTemplateId); } else { //The updated requirement already exists in the node template so simply remove the // current one DataModelUtil.removeRequirementAssignment(unifiedAbstractNestedNodeTemplate, - requirementAssignmentData.getRequirementId(), requirementAssignmentData - .getRequirementAssignment()); + requirementAssignmentData.getRequirementId(), requirementAssignmentData + .getRequirementAssignment()); } } private Optional<String> getNewCapabilityForNodesConnectedIn(ServiceTemplate serviceTemplate, NodeTemplate unifiedNodeTemplate, RequirementAssignment - requirementAssignment, + requirementAssignment, String newNodeTemplateId, TranslationContext context) { ServiceTemplate globalSubstitutionServiceTemplate = - HeatToToscaUtil.fetchGlobalSubstitutionServiceTemplate(serviceTemplate, context); + HeatToToscaUtil.fetchGlobalSubstitutionServiceTemplate(serviceTemplate, context); Map<String, NodeType> nodeTypes = globalSubstitutionServiceTemplate.getNode_types(); String unifiedNodeTemplateType = unifiedNodeTemplate.getType(); NodeType unifiedNodeType = nodeTypes.get(unifiedNodeTemplateType); Map<String, CapabilityDefinition> abstractNodeTypeCapabilities = unifiedNodeType - .getCapabilities(); + .getCapabilities(); for (Map.Entry<String, CapabilityDefinition> entry : abstractNodeTypeCapabilities.entrySet()) { String capabilityId = entry.getKey(); CapabilityDefinition capabilityDefinition = entry.getValue(); @@ -1027,18 +1076,18 @@ public class UnifiedCompositionService { private void updateRequirementInAbstractNodeTemplate(ServiceTemplate serviceTemplate, EntityConsolidationData - entityConsolidationData, + entityConsolidationData, String newNodeTemplateId, Map<String, List<RequirementAssignmentData>> - requirementAssignmentDataMap, + requirementAssignmentDataMap, TranslationContext context) { ToscaAnalyzerService toscaAnalyzerService = new ToscaAnalyzerServiceImpl(); for (Map.Entry<String, List<RequirementAssignmentData>> entry : requirementAssignmentDataMap - .entrySet()) { + .entrySet()) { String abstractNodeTemplateId = context.getUnifiedAbstractNodeTemplateId( - serviceTemplate, entityConsolidationData.getNodeTemplateId()); + serviceTemplate, entityConsolidationData.getNodeTemplateId()); NodeTemplate abstractNodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - abstractNodeTemplateId); + abstractNodeTemplateId); if (abstractNodeTemplate == null) { //The abstract node template is not found from id in the context return; @@ -1047,62 +1096,102 @@ public class UnifiedCompositionService { for (RequirementAssignmentData requirementAssignmentData : requirementAssignmentDataList) { String oldRequirementId = requirementAssignmentData.getRequirementId(); RequirementAssignment abstractRequirementAssignment = (RequirementAssignment) - getClonedObject(requirementAssignmentData.getRequirementAssignment(), - RequirementAssignment.class); + getClonedObject(requirementAssignmentData.getRequirementAssignment(), + RequirementAssignment.class); String newRequirementId = oldRequirementId + "_" + newNodeTemplateId; //Check if the requirement is not already present in the list of requirements of the // abstract node template if (!toscaAnalyzerService.isRequirementExistInNodeTemplate(abstractNodeTemplate, - newRequirementId, abstractRequirementAssignment)) { + newRequirementId, abstractRequirementAssignment)) { DataModelUtil.addRequirementAssignment(abstractNodeTemplate, newRequirementId, - abstractRequirementAssignment); + abstractRequirementAssignment); //Update the volume relationship template if required updateVolumeRelationshipTemplate(serviceTemplate, abstractRequirementAssignment - .getRelationship(), context); + .getRelationship(), context); + } + } + } + } + + private void updateRequirementInNestedNodeTemplate(ServiceTemplate serviceTemplate, + EntityConsolidationData + entityConsolidationData, + String newNodeTemplateId, + Map<String, List<RequirementAssignmentData>> + requirementAssignmentDataMap) { + ToscaAnalyzerService toscaAnalyzerService = new ToscaAnalyzerServiceImpl(); + + if(MapUtils.isEmpty(requirementAssignmentDataMap)){ + return; + } + + for (Map.Entry<String, List<RequirementAssignmentData>> entry : requirementAssignmentDataMap + .entrySet()) { + String nodeTemplateId = entityConsolidationData.getNodeTemplateId(); + NodeTemplate nodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, nodeTemplateId); + if (nodeTemplate == null) { + //The node template is not found from id in the context + return; + } + List<RequirementAssignmentData> requirementAssignmentDataList = entry.getValue(); + for (RequirementAssignmentData requirementAssignmentData : requirementAssignmentDataList) { + String oldRequirementId = requirementAssignmentData.getRequirementId(); + RequirementAssignment clonedRequirementAssignment = (RequirementAssignment) + getClonedObject(requirementAssignmentData.getRequirementAssignment(), + RequirementAssignment.class); + String newRequirementId = oldRequirementId + "_" + newNodeTemplateId; + //Check if the requirement is not already present in the list of requirements of the + // node template + if (!toscaAnalyzerService.isRequirementExistInNodeTemplate(nodeTemplate, + newRequirementId, clonedRequirementAssignment)) { + DataModelUtil.removeRequirementAssignment(nodeTemplate, oldRequirementId, + requirementAssignmentData.getRequirementAssignment()); + DataModelUtil.addRequirementAssignment(nodeTemplate, newRequirementId, + clonedRequirementAssignment); } } } } private NodeTemplate getAbstractNodeTemplate( - ServiceTemplate serviceTemplate, - UnifiedCompositionEntity unifiedCompositionEntity, - ComputeTemplateConsolidationData computeTemplateConsolidationData, - PortTemplateConsolidationData portTemplateConsolidationData, - TranslationContext context) { + ServiceTemplate serviceTemplate, + UnifiedCompositionEntity unifiedCompositionEntity, + ComputeTemplateConsolidationData computeTemplateConsolidationData, + PortTemplateConsolidationData portTemplateConsolidationData, + TranslationContext context) { String abstractNodeTemplateId = - getAbstractNodeTemplateId(serviceTemplate, unifiedCompositionEntity, - computeTemplateConsolidationData, portTemplateConsolidationData, context); + getAbstractNodeTemplateId(serviceTemplate, unifiedCompositionEntity, + computeTemplateConsolidationData, portTemplateConsolidationData, context); return DataModelUtil.getNodeTemplate(serviceTemplate, - abstractNodeTemplateId); + abstractNodeTemplateId); } private String getAbstractNodeTemplateId( - ServiceTemplate serviceTemplate, - UnifiedCompositionEntity unifiedCompositionEntity, - ComputeTemplateConsolidationData computeTemplateConsolidationData, - PortTemplateConsolidationData portTemplateConsolidationData, - TranslationContext context) { + ServiceTemplate serviceTemplate, + UnifiedCompositionEntity unifiedCompositionEntity, + ComputeTemplateConsolidationData computeTemplateConsolidationData, + PortTemplateConsolidationData portTemplateConsolidationData, + TranslationContext context) { switch (unifiedCompositionEntity) { case Compute: return context.getUnifiedAbstractNodeTemplateId(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + computeTemplateConsolidationData.getNodeTemplateId()); case Port: return context.getUnifiedAbstractNodeTemplateId(serviceTemplate, - portTemplateConsolidationData.getNodeTemplateId()); + portTemplateConsolidationData.getNodeTemplateId()); default: return null; } } private void updNodeGetAttrInConnectivity( - ServiceTemplate serviceTemplate, - EntityConsolidationData entityConsolidationData, - String oldNodeTemplateId, String newNodeTemplateId, - TranslationContext context, - Map<String, UnifiedCompositionEntity> consolidationNodeTemplateIdAndType, - boolean isNested) { + ServiceTemplate serviceTemplate, + EntityConsolidationData entityConsolidationData, + String oldNodeTemplateId, String newNodeTemplateId, + TranslationContext context, + Map<String, UnifiedCompositionEntity> consolidationNodeTemplateIdAndType, + boolean isNested) { Map<String, List<GetAttrFuncData>> nodesGetAttrIn = entityConsolidationData.getNodesGetAttrIn(); if (MapUtils.isEmpty(nodesGetAttrIn)) { return; @@ -1110,25 +1199,25 @@ public class UnifiedCompositionService { for (String sourceNodeTemplateId : nodesGetAttrIn.keySet()) { NodeTemplate sourceNodeTemplate = - DataModelUtil.getNodeTemplate(serviceTemplate, sourceNodeTemplateId); + DataModelUtil.getNodeTemplate(serviceTemplate, sourceNodeTemplateId); if (!isNested && consolidationNodeTemplateIdAndType.keySet().contains(sourceNodeTemplateId)) { continue; } List<GetAttrFuncData> getAttrFuncDataList = nodesGetAttrIn.get(sourceNodeTemplateId); for (GetAttrFuncData getAttrFuncData : getAttrFuncDataList) { Object propertyValue = - DataModelUtil.getPropertyValue(sourceNodeTemplate, getAttrFuncData.getFieldName()); + DataModelUtil.getPropertyValue(sourceNodeTemplate, getAttrFuncData.getFieldName()); String newAttrName = null; String newGetAttrAbstractNodeTemplateId = newNodeTemplateId; if (!isNested) { newGetAttrAbstractNodeTemplateId = - context.getUnifiedAbstractNodeTemplateId(serviceTemplate, oldNodeTemplateId); + context.getUnifiedAbstractNodeTemplateId(serviceTemplate, oldNodeTemplateId); newAttrName = getNewSubstitutionOutputParameterId(newNodeTemplateId, getAttrFuncData - .getAttributeName()); + .getAttributeName()); } List<List<Object>> getAttrFuncValueList = extractGetAttrFunction(propertyValue); updateGetAttrValue(oldNodeTemplateId, getAttrFuncData, newGetAttrAbstractNodeTemplateId, - newAttrName, getAttrFuncValueList, isNested); + newAttrName, getAttrFuncValueList, isNested); } } } @@ -1138,7 +1227,7 @@ public class UnifiedCompositionService { List<List<Object>> getAttrFuncValueList, boolean isNested) { for (List<Object> getAttrFuncValue : getAttrFuncValueList) { if (oldNodeTemplateId.equals(getAttrFuncValue.get(0)) - && getAttrFuncData.getAttributeName().equals(getAttrFuncValue.get(1))) { + && getAttrFuncData.getAttributeName().equals(getAttrFuncValue.get(1))) { getAttrFuncValue.set(0, newNodeTemplateId); if (!isNested) { getAttrFuncValue.set(1, newAttrName); @@ -1152,7 +1241,7 @@ public class UnifiedCompositionService { String nodeTypeId, Integer index) { ComputeTemplateConsolidationData computeTemplateConsolidationData = - unifiedCompositionData.getComputeTemplateConsolidationData(); + unifiedCompositionData.getComputeTemplateConsolidationData(); String computeType = getComputeTypeSuffix(nodeTypeId); String templateName = "Nested_" + computeType; if (Objects.nonNull(index)) { @@ -1164,7 +1253,7 @@ public class UnifiedCompositionService { private String getComputeTypeSuffix(ServiceTemplate serviceTemplate, String computeNodeTemplateId) { NodeTemplate computeNodeTemplate = - DataModelUtil.getNodeTemplate(serviceTemplate, computeNodeTemplateId); + DataModelUtil.getNodeTemplate(serviceTemplate, computeNodeTemplateId); return getComputeTypeSuffix(computeNodeTemplate.getType()); } @@ -1185,26 +1274,26 @@ public class UnifiedCompositionService { TranslationContext context, boolean isNested) { List<GetAttrFuncData> outputParametersGetAttrIn = - entityConsolidationData.getOutputParametersGetAttrIn(); + entityConsolidationData.getOutputParametersGetAttrIn(); if (CollectionUtils.isEmpty(outputParametersGetAttrIn)) { return; } for (GetAttrFuncData getAttrFuncData : outputParametersGetAttrIn) { Object outputParamValue = - DataModelUtil.getOuputParameter(serviceTemplate, getAttrFuncData.getFieldName()) - .getValue(); + DataModelUtil.getOuputParameter(serviceTemplate, getAttrFuncData.getFieldName()) + .getValue(); String newAttrName = null; String newGetAttrAbstractNodeTemplateId = newNodeTemplateId; if (!isNested) { newGetAttrAbstractNodeTemplateId = - context.getUnifiedAbstractNodeTemplateId(serviceTemplate, oldNodeTemplateId); + context.getUnifiedAbstractNodeTemplateId(serviceTemplate, oldNodeTemplateId); newAttrName = getNewSubstitutionOutputParameterId(newNodeTemplateId, getAttrFuncData - .getAttributeName()); + .getAttributeName()); } List<List<Object>> getAttrFuncValueList = extractGetAttrFunction(outputParamValue); updateGetAttrValue(oldNodeTemplateId, getAttrFuncData, newGetAttrAbstractNodeTemplateId, - newAttrName, - getAttrFuncValueList, isNested); + newAttrName, + getAttrFuncValueList, isNested); } } @@ -1216,7 +1305,7 @@ public class UnifiedCompositionService { if (valueObject instanceof Map) { if (((Map) valueObject).containsKey(ToscaFunctions.GET_ATTRIBUTE.getDisplayName())) { getAttrValueList.add( - (List<Object>) ((Map) valueObject).get(ToscaFunctions.GET_ATTRIBUTE.getDisplayName())); + (List<Object>) ((Map) valueObject).get(ToscaFunctions.GET_ATTRIBUTE.getDisplayName())); } for (Object key : ((Map) valueObject).keySet()) { @@ -1264,41 +1353,41 @@ public class UnifiedCompositionService { String computeNodeType, TranslationContext context) { createOutputParametersForCompute(serviceTemplate, substitutionServiceTemplate, - unifiedCompositionDataList, context); + unifiedCompositionDataList, context); createOutputParameterForPorts(serviceTemplate, substitutionServiceTemplate, - unifiedCompositionDataList, computeNodeType, context); + unifiedCompositionDataList, computeNodeType, context); } private void createOutputParameterForPorts( - ServiceTemplate serviceTemplate, - ServiceTemplate substitutionServiceTemplate, - List<UnifiedCompositionData> unifiedCompositionDataList, - String connectedComputeNodeType, - TranslationContext context) { + ServiceTemplate serviceTemplate, + ServiceTemplate substitutionServiceTemplate, + List<UnifiedCompositionData> unifiedCompositionDataList, + String connectedComputeNodeType, + TranslationContext context) { for (UnifiedCompositionData unifiedCompositionData : unifiedCompositionDataList) { List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(unifiedCompositionData); + getPortTemplateConsolidationDataList(unifiedCompositionData); if (CollectionUtils.isEmpty(portTemplateConsolidationDataList)) { return; } for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { String newPortNodeTemplateId = - getNewPortNodeTemplateId(portTemplateConsolidationData.getNodeTemplateId(), - connectedComputeNodeType, - unifiedCompositionData.getComputeTemplateConsolidationData()); + getNewPortNodeTemplateId(portTemplateConsolidationData.getNodeTemplateId(), + connectedComputeNodeType, + unifiedCompositionData.getComputeTemplateConsolidationData()); addOutputParameters(portTemplateConsolidationData, newPortNodeTemplateId, - serviceTemplate, substitutionServiceTemplate, unifiedCompositionDataList, context); + serviceTemplate, substitutionServiceTemplate, unifiedCompositionDataList, context); } } } //The ID should be <vm_type>_<port_type> or <vm_type>_<portNodeTemplateId> private String getNewPortNodeTemplateId( - String portNodeTemplateId, - String connectedComputeNodeType, - ComputeTemplateConsolidationData computeTemplateConsolidationData) { + String portNodeTemplateId, + String connectedComputeNodeType, + ComputeTemplateConsolidationData computeTemplateConsolidationData) { StringBuilder newPortNodeTemplateId = new StringBuilder(); String portType = ConsolidationDataUtil.getPortType(portNodeTemplateId); @@ -1314,20 +1403,20 @@ public class UnifiedCompositionService { } private void createOutputParametersForCompute( - ServiceTemplate serviceTemplate, - ServiceTemplate substitutionServiceTemplate, - List<UnifiedCompositionData> - unifiedCompositionDataList, - TranslationContext context) { + ServiceTemplate serviceTemplate, + ServiceTemplate substitutionServiceTemplate, + List<UnifiedCompositionData> + unifiedCompositionDataList, + TranslationContext context) { List<EntityConsolidationData> computeConsolidationDataList = - getComputeConsolidationDataList(unifiedCompositionDataList); + getComputeConsolidationDataList(unifiedCompositionDataList); for (EntityConsolidationData computeTemplateConsolidationData : computeConsolidationDataList) { String newComputeNodeTemplateId = - getNewComputeNodeTemplateId(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + getNewComputeNodeTemplateId(serviceTemplate, + computeTemplateConsolidationData.getNodeTemplateId()); addOutputParameters(computeTemplateConsolidationData, newComputeNodeTemplateId, - serviceTemplate, substitutionServiceTemplate, unifiedCompositionDataList, context); + serviceTemplate, substitutionServiceTemplate, unifiedCompositionDataList, context); } } @@ -1338,10 +1427,10 @@ public class UnifiedCompositionService { List<UnifiedCompositionData> unifiedCompositionDataList, TranslationContext context) { handleNodesGetAttrIn(entityConsolidationData, newNodeTemplateId, serviceTemplate, - substitutionServiceTemplate, unifiedCompositionDataList, context); + substitutionServiceTemplate, unifiedCompositionDataList, context); handleOutputParamGetAttrIn(entityConsolidationData, newNodeTemplateId, serviceTemplate, - substitutionServiceTemplate, context); + substitutionServiceTemplate, context); } private void handleOutputParamGetAttrIn(EntityConsolidationData entityConsolidationData, @@ -1350,11 +1439,11 @@ public class UnifiedCompositionService { ServiceTemplate substitutionServiceTemplate, TranslationContext context) { List<GetAttrFuncData> outputParametersGetAttrIn = - entityConsolidationData.getOutputParametersGetAttrIn(); + entityConsolidationData.getOutputParametersGetAttrIn(); if (!CollectionUtils.isEmpty(outputParametersGetAttrIn)) { for (GetAttrFuncData getAttrFuncData : outputParametersGetAttrIn) { createAndAddOutputParameter(entityConsolidationData, newNodeTemplateId, - substitutionServiceTemplate, getAttrFuncData, context); + substitutionServiceTemplate, getAttrFuncData, context); } } } @@ -1369,13 +1458,13 @@ public class UnifiedCompositionService { if (!MapUtils.isEmpty(getAttrIn)) { Map<String, UnifiedCompositionEntity> consolidationNodeTemplateIdAndType = - getAllConsolidationNodeTemplateIdAndType(unifiedCompositionDataList); + getAllConsolidationNodeTemplateIdAndType(unifiedCompositionDataList); for (String sourceNodeTemplateId : getAttrIn.keySet()) { if (!consolidationNodeTemplateIdAndType.keySet().contains(sourceNodeTemplateId)) { List<GetAttrFuncData> getAttrFuncDataList = getAttrIn.get(sourceNodeTemplateId); for (GetAttrFuncData getAttrFuncData : getAttrFuncDataList) { createAndAddOutputParameter(entityConsolidationData, newNodeTemplateId, - substitutionServiceTemplate, getAttrFuncData, context); + substitutionServiceTemplate, getAttrFuncData, context); } } } @@ -1395,10 +1484,10 @@ public class UnifiedCompositionService { ParameterDefinition outputParameter = new ParameterDefinition(); outputParameter.setValue(parameterValue); setOutputParameterType(substitutionServiceTemplate, newNodeTemplateId, getAttrFuncData - .getAttributeName(), outputParameter, context); + .getAttributeName(), outputParameter, context); DataModelUtil.addOutputParameterToTopologyTemplate(substitutionServiceTemplate, - getNewSubstitutionOutputParameterId(newNodeTemplateId, getAttrFuncData.getAttributeName()), - outputParameter); + getNewSubstitutionOutputParameterId(newNodeTemplateId, getAttrFuncData.getAttributeName()), + outputParameter); } private void setOutputParameterType(ServiceTemplate substitutionServiceTemplate, @@ -1407,16 +1496,16 @@ public class UnifiedCompositionService { ParameterDefinition outputParameter, TranslationContext context) { NodeTemplate nodeTemplate = DataModelUtil.getNodeTemplate(substitutionServiceTemplate, - newNodeTemplateId); + newNodeTemplateId); //Get the type and entry schema of the output parameter from the node type flat hierarchy String outputParameterType = null; EntrySchema outputParameterEntrySchema = null; NodeType nodeTypeWithFlatHierarchy = - HeatToToscaUtil.getNodeTypeWithFlatHierarchy(nodeTemplate.getType(), - substitutionServiceTemplate, context); + HeatToToscaUtil.getNodeTypeWithFlatHierarchy(nodeTemplate.getType(), + substitutionServiceTemplate, context); //Check if the parameter is present in the attributes AttributeDefinition outputParameterDefinitionFromAttributes = - getOutputParameterDefinitionFromAttributes(nodeTypeWithFlatHierarchy, outputParameterName); + getOutputParameterDefinitionFromAttributes(nodeTypeWithFlatHierarchy, outputParameterName); if (Objects.nonNull(outputParameterDefinitionFromAttributes)) { outputParameterType = outputParameterDefinitionFromAttributes.getType(); outputParameterEntrySchema = outputParameterDefinitionFromAttributes.getEntry_schema(); @@ -1425,7 +1514,7 @@ public class UnifiedCompositionService { // properties and global types are in sync. Ideally the parameter should be found in either // properties or attributes collected from global types PropertyDefinition outputParameterDefinitionFromProperties = - nodeTypeWithFlatHierarchy.getProperties().get(outputParameterName); + nodeTypeWithFlatHierarchy.getProperties().get(outputParameterName); outputParameterType = outputParameterDefinitionFromProperties.getType(); outputParameterEntrySchema = outputParameterDefinitionFromProperties.getEntry_schema(); } @@ -1439,21 +1528,21 @@ public class UnifiedCompositionService { String inputParameterName, TranslationContext context) { NodeType nodeTypeWithFlatHierarchy = - HeatToToscaUtil.getNodeTypeWithFlatHierarchy(nodeTemplate.getType(), - serviceTemplate, context); + HeatToToscaUtil.getNodeTypeWithFlatHierarchy(nodeTemplate.getType(), + serviceTemplate, context); String parameterType = nodeTypeWithFlatHierarchy.getProperties() - .get(inputParameterName).getType(); + .get(inputParameterName).getType(); return getUnifiedInputParameterType(parameterType); } private AttributeDefinition getOutputParameterDefinitionFromAttributes(NodeType - nodeTypeWithFlatHierarchy, + nodeTypeWithFlatHierarchy, String outputParameterName) { AttributeDefinition outputParameterDefinition = null; if ((Objects.nonNull(nodeTypeWithFlatHierarchy.getAttributes())) - && (nodeTypeWithFlatHierarchy.getAttributes().containsKey(outputParameterName))) { + && (nodeTypeWithFlatHierarchy.getAttributes().containsKey(outputParameterName))) { outputParameterDefinition = - nodeTypeWithFlatHierarchy.getAttributes().get(outputParameterName); + nodeTypeWithFlatHierarchy.getAttributes().get(outputParameterName); } return outputParameterDefinition; } @@ -1462,17 +1551,17 @@ public class UnifiedCompositionService { String unifiedInputParameterType = null; if (Objects.nonNull(parameterType)) { if (parameterType.equalsIgnoreCase(PropertyType.STRING.getDisplayName()) - || parameterType.equalsIgnoreCase(PropertyType.INTEGER.getDisplayName()) - || parameterType.equalsIgnoreCase(PropertyType.FLOAT.getDisplayName()) - || parameterType.equalsIgnoreCase(PropertyType.BOOLEAN.getDisplayName()) - || parameterType.equalsIgnoreCase(PropertyType.TIMESTAMP.getDisplayName()) - || parameterType.equalsIgnoreCase(PropertyType.NULL.getDisplayName()) - || parameterType.equalsIgnoreCase(PropertyType.SCALAR_UNIT_SIZE.getDisplayName()) - || parameterType.equalsIgnoreCase(PropertyType.SCALAR_UNIT_FREQUENCY.getDisplayName())) { + || parameterType.equalsIgnoreCase(PropertyType.INTEGER.getDisplayName()) + || parameterType.equalsIgnoreCase(PropertyType.FLOAT.getDisplayName()) + || parameterType.equalsIgnoreCase(PropertyType.BOOLEAN.getDisplayName()) + || parameterType.equalsIgnoreCase(PropertyType.TIMESTAMP.getDisplayName()) + || parameterType.equalsIgnoreCase(PropertyType.NULL.getDisplayName()) + || parameterType.equalsIgnoreCase(PropertyType.SCALAR_UNIT_SIZE.getDisplayName()) + || parameterType.equalsIgnoreCase(PropertyType.SCALAR_UNIT_FREQUENCY.getDisplayName())) { unifiedInputParameterType = parameterType.toLowerCase(); } else if (parameterType.equalsIgnoreCase(PropertyType.MAP.getDisplayName()) - || parameterType.equalsIgnoreCase(PropertyType.LIST.getDisplayName()) - || parameterType.equalsIgnoreCase(PropertyTypeExt.JSON.getDisplayName())) { + || parameterType.equalsIgnoreCase(PropertyType.LIST.getDisplayName()) + || parameterType.equalsIgnoreCase(PropertyTypeExt.JSON.getDisplayName())) { unifiedInputParameterType = PropertyTypeExt.JSON.getDisplayName(); } else { unifiedInputParameterType = parameterType; @@ -1487,26 +1576,26 @@ public class UnifiedCompositionService { } private void addUnifiedSubstitionData(TranslationContext context, ServiceTemplate - serviceTemplate, List<UnifiedCompositionData> unifiedCompositionDataList, String - substituteNodeTemplateId) { + serviceTemplate, List<UnifiedCompositionData> unifiedCompositionDataList, String + substituteNodeTemplateId) { String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); for (UnifiedCompositionData unifiedCompositionData : unifiedCompositionDataList) { //Add compute node template mapping information ComputeTemplateConsolidationData computeTemplateConsolidationData = - unifiedCompositionData.getComputeTemplateConsolidationData(); + unifiedCompositionData.getComputeTemplateConsolidationData(); String computeNodeTemplateId = computeTemplateConsolidationData.getNodeTemplateId(); context.addUnifiedSubstitutionData(serviceTemplateFileName, computeNodeTemplateId, - substituteNodeTemplateId); + substituteNodeTemplateId); //Add Port template mapping information List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(unifiedCompositionData); + getPortTemplateConsolidationDataList(unifiedCompositionData); if (CollectionUtils.isNotEmpty(portTemplateConsolidationDataList)) { for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { String oldPortNodeTemplateId = portTemplateConsolidationData.getNodeTemplateId(); context.addUnifiedSubstitutionData(serviceTemplateFileName, oldPortNodeTemplateId, - substituteNodeTemplateId); + substituteNodeTemplateId); } } } @@ -1521,9 +1610,9 @@ public class UnifiedCompositionService { Map<String, Object> indexPropertyValue = new HashMap<>(); Map<String, Object> properties = nodeTemplate.getProperties(); indexPropertyValue.put(ToscaFunctions.GET_PROPERTY.getDisplayName(), - indexValueGetPropertyValue); + indexValueGetPropertyValue); properties.put(ToscaConstants.INDEX_VALUE_PROPERTY_NAME, - indexPropertyValue); + indexPropertyValue); nodeTemplate.setProperties(properties); } @@ -1532,11 +1621,11 @@ public class UnifiedCompositionService { String nodeTypeId, Integer index) { String computeNodeTemplateId = - unifiedCompositionData.getComputeTemplateConsolidationData().getNodeTemplateId(); + unifiedCompositionData.getComputeTemplateConsolidationData().getNodeTemplateId(); NodeTemplate computeNodeTemplate = - DataModelUtil.getNodeTemplate(serviceTemplate, computeNodeTemplateId); + DataModelUtil.getNodeTemplate(serviceTemplate, computeNodeTemplateId); String nodeTemplateId = ABSTRACT_NODE_TEMPLATE_ID_PREFIX + DataModelUtil - .getNamespaceSuffix(nodeTypeId); + .getNamespaceSuffix(nodeTypeId); if (Objects.nonNull(index)) { nodeTemplateId = nodeTemplateId + "_" + index.toString(); } @@ -1556,15 +1645,15 @@ public class UnifiedCompositionService { Integer index, TranslationContext context) { String computeNodeTemplateId = - unifiedCompositionData.getComputeTemplateConsolidationData().getNodeTemplateId(); + unifiedCompositionData.getComputeTemplateConsolidationData().getNodeTemplateId(); NodeTemplate computeNodeTemplate = - DataModelUtil.getNodeTemplate(serviceTemplate, computeNodeTemplateId); + DataModelUtil.getNodeTemplate(serviceTemplate, computeNodeTemplateId); String computeType = computeNodeTemplate.getType(); String globalSTName = ToscaUtil.getServiceTemplateFileName(Constants - .GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME); + .GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME); String nodeTypeId = ToscaNodeType.ABSTRACT_NODE_TYPE_PREFIX - + DataModelUtil.getNamespaceSuffix(getIndexedGlobalNodeTypeId(computeType, context)); + + DataModelUtil.getNamespaceSuffix(getIndexedGlobalNodeTypeId(computeType, context)); context.updateUsedTimesForNestedComputeNodeType(globalSTName, computeType); @@ -1575,8 +1664,8 @@ public class UnifiedCompositionService { } private String getNewComputeNodeTemplateId( - ServiceTemplate serviceTemplate, - String computeNodeTemplateId) { + ServiceTemplate serviceTemplate, + String computeNodeTemplateId) { return getComputeTypeSuffix(serviceTemplate, computeNodeTemplateId); } @@ -1587,12 +1676,12 @@ public class UnifiedCompositionService { String substitutionNodeTypeId, Integer index) { NodeType substitutionNodeType = new ToscaAnalyzerServiceImpl() - .createInitSubstitutionNodeType(substitutionServiceTemplate, - ToscaNodeType.VFC_ABSTRACT_SUBSTITUTE); + .createInitSubstitutionNodeType(substitutionServiceTemplate, + ToscaNodeType.VFC_ABSTRACT_SUBSTITUTE); ServiceTemplate globalSubstitutionServiceTemplate = - HeatToToscaUtil.fetchGlobalSubstitutionServiceTemplate(serviceTemplate, context); + HeatToToscaUtil.fetchGlobalSubstitutionServiceTemplate(serviceTemplate, context); DataModelUtil.addNodeType(globalSubstitutionServiceTemplate, substitutionNodeTypeId, - substitutionNodeType); + substitutionNodeType); return substitutionNodeType; } @@ -1605,10 +1694,10 @@ public class UnifiedCompositionService { if (unifiedCompositionDataList.size() > 1) { handleConsolidationPorts(serviceTemplate, substitutionServiceTemplate, - unifiedCompositionDataList, connectedComputeNodeType, context); + unifiedCompositionDataList, connectedComputeNodeType, context); } else { handleSinglePorts(serviceTemplate, substitutionServiceTemplate, connectedComputeNodeType, - unifiedCompositionDataList, context); + unifiedCompositionDataList, context); } } @@ -1619,18 +1708,18 @@ public class UnifiedCompositionService { TranslationContext context) { UnifiedCompositionData unifiedCompositionData = unifiedCompositionDataList.get(0); List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(unifiedCompositionData); + getPortTemplateConsolidationDataList(unifiedCompositionData); if (CollectionUtils.isEmpty(portTemplateConsolidationDataList)) { return; } for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { List<EntityConsolidationData> portConsolidationDataList = new ArrayList<>(); portConsolidationDataList.add(portTemplateConsolidationData); handlePortNodeTemplate(serviceTemplate, substitutionServiceTemplate, - portConsolidationDataList, connectedComputeNodeType, - unifiedCompositionData.getComputeTemplateConsolidationData(), - unifiedCompositionDataList, context); + portConsolidationDataList, connectedComputeNodeType, + unifiedCompositionData.getComputeTemplateConsolidationData(), + unifiedCompositionDataList, context); } } @@ -1640,62 +1729,62 @@ public class UnifiedCompositionService { String connectedComputeNodeType, TranslationContext context) { Collection<ComputeTemplateConsolidationData> computeConsolidationDataList = - (Collection) getComputeConsolidationDataList(unifiedCompositionDataList); + (Collection) getComputeConsolidationDataList(unifiedCompositionDataList); Map<String, Set<String>> portIdsPerPortType = UnifiedCompositionUtil - .collectAllPortsFromEachTypesFromComputes(computeConsolidationDataList); + .collectAllPortsFromEachTypesFromComputes(computeConsolidationDataList); for (String portType : portIdsPerPortType.keySet()) { List<EntityConsolidationData> portTemplateConsolidationDataList = - getPortConsolidationDataList(portIdsPerPortType.get(portType), - unifiedCompositionDataList); + getPortConsolidationDataList(portIdsPerPortType.get(portType), + unifiedCompositionDataList); if (CollectionUtils.isEmpty(portTemplateConsolidationDataList)) { continue; } handlePortNodeTemplate(serviceTemplate, substitutionServiceTemplate, - portTemplateConsolidationDataList, connectedComputeNodeType, - unifiedCompositionDataList.get(0).getComputeTemplateConsolidationData(), - unifiedCompositionDataList, context); + portTemplateConsolidationDataList, connectedComputeNodeType, + unifiedCompositionDataList.get(0).getComputeTemplateConsolidationData(), + unifiedCompositionDataList, context); } } private void handlePortNodeTemplate( - ServiceTemplate serviceTemplate, - ServiceTemplate substitutionServiceTemplate, - List<EntityConsolidationData> portTemplateConsolidationDataList, - String connectedComputeNodeType, - ComputeTemplateConsolidationData computeTemplateConsolidationData, - List<UnifiedCompositionData> unifiedCompositionDataList, - TranslationContext context) { + ServiceTemplate serviceTemplate, + ServiceTemplate substitutionServiceTemplate, + List<EntityConsolidationData> portTemplateConsolidationDataList, + String connectedComputeNodeType, + ComputeTemplateConsolidationData computeTemplateConsolidationData, + List<UnifiedCompositionData> unifiedCompositionDataList, + TranslationContext context) { EntityConsolidationData portTemplateConsolidationData = - portTemplateConsolidationDataList.get(0); + portTemplateConsolidationDataList.get(0); NodeTemplate newPortNodeTemplate = getNodeTemplate( - portTemplateConsolidationData.getNodeTemplateId(), serviceTemplate, context).clone(); + portTemplateConsolidationData.getNodeTemplateId(), serviceTemplate, context).clone(); removeConnectivityOut(portTemplateConsolidationData, newPortNodeTemplate); handleProperties(serviceTemplate, newPortNodeTemplate, - substitutionServiceTemplate, UnifiedCompositionEntity.Port, - portTemplateConsolidationDataList, computeTemplateConsolidationData, - unifiedCompositionDataList, context); + substitutionServiceTemplate, UnifiedCompositionEntity.Port, + portTemplateConsolidationDataList, computeTemplateConsolidationData, + unifiedCompositionDataList, context); String newPortNodeTemplateId = - getNewPortNodeTemplateId(portTemplateConsolidationData - .getNodeTemplateId(), connectedComputeNodeType, - computeTemplateConsolidationData); + getNewPortNodeTemplateId(portTemplateConsolidationData + .getNodeTemplateId(), connectedComputeNodeType, + computeTemplateConsolidationData); //Update requirements for relationships between the consolidation entities handleConsolidationEntitiesRequirementConnectivity(newPortNodeTemplateId, newPortNodeTemplate, - serviceTemplate, context); + serviceTemplate, context); DataModelUtil.addNodeTemplate(substitutionServiceTemplate, newPortNodeTemplateId, - newPortNodeTemplate); + newPortNodeTemplate); //Add the node template mapping in the context for handling requirement updation for (EntityConsolidationData data : portTemplateConsolidationDataList) { String newPortTemplateId = getNewPortNodeTemplateId(data.getNodeTemplateId(), - connectedComputeNodeType, computeTemplateConsolidationData); + connectedComputeNodeType, computeTemplateConsolidationData); context.addSubstitutionServiceTemplateUnifiedSubstitutionData(ToscaUtil - .getServiceTemplateFileName(serviceTemplate), data.getNodeTemplateId(), - newPortTemplateId); + .getServiceTemplateFileName(serviceTemplate), data.getNodeTemplateId(), + newPortTemplateId); } } @@ -1707,8 +1796,8 @@ public class UnifiedCompositionService { if (Objects.isNull(nodeTemplate)) { nodeTemplate = context - .getCleanedNodeTemplate(ToscaUtil.getServiceTemplateFileName(serviceTemplate), - nodeTemplateId); + .getCleanedNodeTemplate(ToscaUtil.getServiceTemplateFileName(serviceTemplate), + nodeTemplateId); } return nodeTemplate; @@ -1720,27 +1809,27 @@ public class UnifiedCompositionService { List<UnifiedCompositionData> unifiedCompositionDataList, TranslationContext context) { ComputeTemplateConsolidationData computeTemplateConsolidationData = - unifiedCompositionDataList.get(0).getComputeTemplateConsolidationData(); + unifiedCompositionDataList.get(0).getComputeTemplateConsolidationData(); handleComputeNodeTemplate(serviceTemplate, substitutionServiceTemplate, - unifiedCompositionDataList, context); + unifiedCompositionDataList, context); ServiceTemplate globalSubstitutionServiceTemplate = - HeatToToscaUtil.fetchGlobalSubstitutionServiceTemplate(serviceTemplate, context); + HeatToToscaUtil.fetchGlobalSubstitutionServiceTemplate(serviceTemplate, context); return handleComputeNodeType(serviceTemplate, substitutionServiceTemplate, globalSubstitutionServiceTemplate, - computeTemplateConsolidationData); + computeTemplateConsolidationData); } private String handleComputeNodeType( - ServiceTemplate serviceTemplate, - ServiceTemplate substitutionServiceTemplate, - ServiceTemplate globalSubstitutionServiceTemplate, - ComputeTemplateConsolidationData computeTemplateConsolidationData) { + ServiceTemplate serviceTemplate, + ServiceTemplate substitutionServiceTemplate, + ServiceTemplate globalSubstitutionServiceTemplate, + ComputeTemplateConsolidationData computeTemplateConsolidationData) { NodeTemplate computeNodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + computeTemplateConsolidationData.getNodeTemplateId()); String computeNodeTypeId = computeNodeTemplate.getType(); NodeType computeNodeType = - DataModelUtil.getNodeType(serviceTemplate, computeNodeTypeId); + DataModelUtil.getNodeType(serviceTemplate, computeNodeTypeId); DataModelUtil - .addNodeType(substitutionServiceTemplate, computeNodeTypeId, computeNodeType); + .addNodeType(substitutionServiceTemplate, computeNodeTypeId, computeNodeType); // NodeType globalNodeType = new ToscaAnalyzerServiceImpl() // .createInitSubstitutionNodeType(substitutionServiceTemplate, // computeNodeType.getDerived_from()); @@ -1755,46 +1844,46 @@ public class UnifiedCompositionService { List<UnifiedCompositionData> unifiedCompositionDataList, TranslationContext context) { ComputeTemplateConsolidationData computeTemplateConsolidationData = - unifiedCompositionDataList.get(0).getComputeTemplateConsolidationData(); + unifiedCompositionDataList.get(0).getComputeTemplateConsolidationData(); NodeTemplate newComputeNodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()).clone(); + computeTemplateConsolidationData.getNodeTemplateId()).clone(); removeConnectivityOut(computeTemplateConsolidationData, newComputeNodeTemplate); removeVolumeConnectivity(computeTemplateConsolidationData, newComputeNodeTemplate); List<EntityConsolidationData> computeConsoliadtionDataList = - getComputeConsolidationDataList(unifiedCompositionDataList); + getComputeConsolidationDataList(unifiedCompositionDataList); handleProperties(serviceTemplate, newComputeNodeTemplate, - substitutionServiceTemplate, UnifiedCompositionEntity.Compute, - computeConsoliadtionDataList, computeTemplateConsolidationData, unifiedCompositionDataList, - context); + substitutionServiceTemplate, UnifiedCompositionEntity.Compute, + computeConsoliadtionDataList, computeTemplateConsolidationData, unifiedCompositionDataList, + context); String newComputeNodeTemplateId = getNewComputeNodeTemplateId(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + computeTemplateConsolidationData.getNodeTemplateId()); //Update requirements for relationships between the consolidation entities handleConsolidationEntitiesRequirementConnectivity(newComputeNodeTemplateId, - newComputeNodeTemplate, - serviceTemplate, context); + newComputeNodeTemplate, + serviceTemplate, context); DataModelUtil - .addNodeTemplate(substitutionServiceTemplate, - newComputeNodeTemplateId, newComputeNodeTemplate); + .addNodeTemplate(substitutionServiceTemplate, + newComputeNodeTemplateId, newComputeNodeTemplate); //Add the node template mapping in the context for handling requirement updation for (EntityConsolidationData data : computeConsoliadtionDataList) { String newComputeTemplateId = getNewComputeNodeTemplateId(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + computeTemplateConsolidationData.getNodeTemplateId()); context.addSubstitutionServiceTemplateUnifiedSubstitutionData(ToscaUtil - .getServiceTemplateFileName(serviceTemplate), data.getNodeTemplateId(), - newComputeTemplateId); + .getServiceTemplateFileName(serviceTemplate), data.getNodeTemplateId(), + newComputeTemplateId); } } private List<EntityConsolidationData> getComputeConsolidationDataList( - List<UnifiedCompositionData> unifiedCompositionDataList) { + List<UnifiedCompositionData> unifiedCompositionDataList) { List<EntityConsolidationData> computeConsolidationDataList = new ArrayList<>(); for (UnifiedCompositionData unifiedCompositionData : unifiedCompositionDataList) { computeConsolidationDataList - .add(unifiedCompositionData.getComputeTemplateConsolidationData()); + .add(unifiedCompositionData.getComputeTemplateConsolidationData()); } return computeConsolidationDataList; } @@ -1809,15 +1898,15 @@ public class UnifiedCompositionService { List<UnifiedCompositionData> unifiedCompositionDataList, TranslationContext context) { List<String> propertiesWithIdenticalVal = - consolidationService.getPropertiesWithIdenticalVal(unifiedCompositionEntity, context); + consolidationService.getPropertiesWithIdenticalVal(unifiedCompositionEntity, context); nodeTemplate.setProperties(new HashedMap()); handleNodeTemplateProperties(serviceTemplate, nodeTemplate, substitutionServiceTemplate, - unifiedCompositionEntity, entityConsolidationDataList, computeTemplateConsolidationData, - unifiedCompositionDataList, context); + unifiedCompositionEntity, entityConsolidationDataList, computeTemplateConsolidationData, + unifiedCompositionDataList, context); //Add enrich properties from openecomp node type as input to global and substitution ST handleNodeTypeProperties(substitutionServiceTemplate, - entityConsolidationDataList, nodeTemplate, unifiedCompositionEntity, - computeTemplateConsolidationData, context); + entityConsolidationDataList, nodeTemplate, unifiedCompositionEntity, + computeTemplateConsolidationData, context); } @@ -1826,50 +1915,50 @@ public class UnifiedCompositionService { ServiceTemplate substitutionServiceTemplate, UnifiedCompositionEntity unifiedCompositionEntity, List<EntityConsolidationData> - entityConsolidationDataList, + entityConsolidationDataList, ComputeTemplateConsolidationData - computeTemplateConsolidationData, + computeTemplateConsolidationData, List<UnifiedCompositionData> unifiedCompositionDataList, TranslationContext context) { List<String> propertiesWithIdenticalVal = - consolidationService.getPropertiesWithIdenticalVal(unifiedCompositionEntity, context); + consolidationService.getPropertiesWithIdenticalVal(unifiedCompositionEntity, context); for (EntityConsolidationData entityConsolidationData : entityConsolidationDataList) { String nodeTemplateId = entityConsolidationData.getNodeTemplateId(); Map<String, Object> properties = - DataModelUtil.getNodeTemplateProperties(serviceTemplate, nodeTemplateId); + DataModelUtil.getNodeTemplateProperties(serviceTemplate, nodeTemplateId); if (MapUtils.isEmpty(properties)) { continue; } for (Map.Entry<String, Object> propertyEntry : properties.entrySet()) { NodeType nodeTypeWithFlatHierarchy = - HeatToToscaUtil.getNodeTypeWithFlatHierarchy(nodeTemplate.getType(), serviceTemplate, - context); + HeatToToscaUtil.getNodeTypeWithFlatHierarchy(nodeTemplate.getType(), serviceTemplate, + context); PropertyDefinition propertyDefinition = - nodeTypeWithFlatHierarchy.getProperties().get(propertyEntry.getKey()); + nodeTypeWithFlatHierarchy.getProperties().get(propertyEntry.getKey()); String propertyType = propertyDefinition.getType(); if (propertiesWithIdenticalVal.contains(propertyEntry.getKey())) { String parameterId = - updateIdenticalProperty(nodeTemplateId, propertyEntry.getKey(), nodeTemplate, - unifiedCompositionEntity, unifiedCompositionDataList); + updateIdenticalProperty(nodeTemplateId, propertyEntry.getKey(), nodeTemplate, + unifiedCompositionEntity, unifiedCompositionDataList); addInputParameter( - parameterId, propertyType, - propertyType.equals(PropertyType.LIST.getDisplayName()) ? propertyDefinition - .getEntry_schema() : null, - substitutionServiceTemplate); + parameterId, propertyType, + propertyType.equals(PropertyType.LIST.getDisplayName()) ? propertyDefinition + .getEntry_schema() : null, + substitutionServiceTemplate); } else { Optional<String> parameterId = - updateProperty(serviceTemplate, nodeTemplateId, nodeTemplate, propertyEntry, - unifiedCompositionEntity, computeTemplateConsolidationData, - unifiedCompositionDataList, - context); + updateProperty(serviceTemplate, nodeTemplateId, nodeTemplate, propertyEntry, + unifiedCompositionEntity, computeTemplateConsolidationData, + unifiedCompositionDataList, + context); //todo - define list of type which will match the node property type (instead of string) addPropertyInputParameter(propertyType, substitutionServiceTemplate, propertyDefinition - .getEntry_schema(), - parameterId, unifiedCompositionEntity, context); + .getEntry_schema(), + parameterId, unifiedCompositionEntity, context); } } } @@ -1880,7 +1969,7 @@ public class UnifiedCompositionService { NodeTemplate nodeTemplate, UnifiedCompositionEntity compositionEntity, ComputeTemplateConsolidationData - computeTemplateConsolidationData, + computeTemplateConsolidationData, TranslationContext context) { ToscaAnalyzerService toscaAnalyzerService = new ToscaAnalyzerServiceImpl(); Optional<NodeType> enrichNodeType; @@ -1888,8 +1977,8 @@ public class UnifiedCompositionService { if (compositionEntity.equals(UnifiedCompositionEntity.Port)) { enrichNodeType = - toscaAnalyzerService.fetchNodeType(ToscaNodeType.NETWORK_PORT, - context.getGlobalServiceTemplates().values()); + toscaAnalyzerService.fetchNodeType(ToscaNodeType.NETWORK_PORT, + context.getGlobalServiceTemplates().values()); enrichProperties = context.getEnrichPortResourceProperties(); if (!enrichNodeType.isPresent() || Objects.isNull(enrichProperties)) { return; @@ -1903,9 +1992,9 @@ public class UnifiedCompositionService { if (Objects.nonNull(enrichNodeTypeProperties)) { for (String enrichPropertyName : enrichProperties) { handleEntityConsolidationDataNodeTypeProperties( - enrichPropertyName, substitutionServiceTemplate, - enrichNodeType.get(), nodeTemplate, compositionEntity, computeTemplateConsolidationData, - entityConsolidationDataList, nodeTemplateProperties, context); + enrichPropertyName, substitutionServiceTemplate, + enrichNodeType.get(), nodeTemplate, compositionEntity, computeTemplateConsolidationData, + entityConsolidationDataList, nodeTemplateProperties, context); } } } @@ -1926,14 +2015,14 @@ public class UnifiedCompositionService { String nodeTemplateId = entityConsolidationData.getNodeTemplateId(); String inputParamId = - getParameterId(nodeTemplateId, nodeTemplate, enrichPropertyName, - compositionEntity, computeTemplateConsolidationData); + getParameterId(nodeTemplateId, nodeTemplate, enrichPropertyName, + compositionEntity, computeTemplateConsolidationData); Map<String, String> propertyValMap = new HashMap<>(); context - .addNewPropertyIdToNodeTemplate( - ToscaUtil.getServiceTemplateFileName(substitutionServiceTemplate), - inputParamId, nodeTemplateProperties.get(enrichPropertyName)); + .addNewPropertyIdToNodeTemplate( + ToscaUtil.getServiceTemplateFileName(substitutionServiceTemplate), + inputParamId, nodeTemplateProperties.get(enrichPropertyName)); if (nodeTemplateProperties.containsKey(enrichPropertyName)) { handleExistingEnrichedProperty(enrichPropertyName, nodeTemplateProperties, inputParamId); @@ -1942,11 +2031,11 @@ public class UnifiedCompositionService { nodeTemplate.getProperties().put(enrichPropertyName, propertyValMap); } propertyType = - enrichNodeType.getProperties().get(enrichPropertyName).getType(); + enrichNodeType.getProperties().get(enrichPropertyName).getType(); addPropertyInputParameter(propertyType, substitutionServiceTemplate, enrichNodeType - .getProperties().get(enrichPropertyName).getEntry_schema(), - Optional.of(inputParamId), compositionEntity, context); + .getProperties().get(enrichPropertyName).getEntry_schema(), + Optional.of(inputParamId), compositionEntity, context); } } @@ -1981,35 +2070,35 @@ public class UnifiedCompositionService { UnifiedCompositionEntity unifiedCompositionEntity, TranslationContext context) { if (parameterId.isPresent() && - isParameterBelongsToEnrichedPortProperties(parameterId.get(), context)) { + isParameterBelongsToEnrichedPortProperties(parameterId.get(), context)) { addInputParameter(parameterId.get(), - propertyType, - propertyType.equals(PropertyType.LIST.getDisplayName()) ? entrySchema : null, - substitutionServiceTemplate); + propertyType, + propertyType.equals(PropertyType.LIST.getDisplayName()) ? entrySchema : null, + substitutionServiceTemplate); } else if (isPropertySimpleType(propertyType)) { parameterId - .ifPresent(parameterIdValue -> addInputParameter(parameterIdValue, - PropertyType.LIST.getDisplayName(), - DataModelUtil - .createEntrySchema(propertyType.toLowerCase(), null, null), - substitutionServiceTemplate)); + .ifPresent(parameterIdValue -> addInputParameter(parameterIdValue, + PropertyType.LIST.getDisplayName(), + DataModelUtil + .createEntrySchema(propertyType.toLowerCase(), null, null), + substitutionServiceTemplate)); } else if (propertyType.equals(PropertyTypeExt.JSON.getDisplayName()) || - (Objects.nonNull(entrySchema) && isPropertySimpleType(entrySchema.getType()))) { + (Objects.nonNull(entrySchema) && isPropertySimpleType(entrySchema.getType()))) { parameterId - .ifPresent(parameterIdValue -> addInputParameter(parameterIdValue, - PropertyType.LIST.getDisplayName(), - DataModelUtil - .createEntrySchema(PropertyTypeExt.JSON.getDisplayName(), null, null), - substitutionServiceTemplate)); + .ifPresent(parameterIdValue -> addInputParameter(parameterIdValue, + PropertyType.LIST.getDisplayName(), + DataModelUtil + .createEntrySchema(PropertyTypeExt.JSON.getDisplayName(), null, null), + substitutionServiceTemplate)); } else { parameterId - .ifPresent(parameterIdValue -> addInputParameter(parameterIdValue, - analyzeParameterType(propertyType), - DataModelUtil - .createEntrySchema(analyzeEntrySchemaType(propertyType, entrySchema), - null, null), - substitutionServiceTemplate)); + .ifPresent(parameterIdValue -> addInputParameter(parameterIdValue, + analyzeParameterType(propertyType), + DataModelUtil + .createEntrySchema(analyzeEntrySchemaType(propertyType, entrySchema), + null, null), + substitutionServiceTemplate)); } } @@ -2028,20 +2117,20 @@ public class UnifiedCompositionService { private boolean isPropertySimpleType(String propertyType) { return !Objects.isNull(propertyType) && - (propertyType.equalsIgnoreCase(PropertyType.STRING.getDisplayName()) - || propertyType.equalsIgnoreCase(PropertyType.INTEGER.getDisplayName()) - || propertyType.equalsIgnoreCase(PropertyType.FLOAT.getDisplayName()) - || propertyType.equalsIgnoreCase(PropertyType.BOOLEAN.getDisplayName())); + (propertyType.equalsIgnoreCase(PropertyType.STRING.getDisplayName()) + || propertyType.equalsIgnoreCase(PropertyType.INTEGER.getDisplayName()) + || propertyType.equalsIgnoreCase(PropertyType.FLOAT.getDisplayName()) + || propertyType.equalsIgnoreCase(PropertyType.BOOLEAN.getDisplayName())); } private String analyzeParameterType(String propertyType) { return propertyType.equalsIgnoreCase(PropertyType.LIST.getDisplayName()) ? PropertyType.LIST - .getDisplayName() : propertyType; + .getDisplayName() : propertyType; } private String analyzeEntrySchemaType(String propertyType, EntrySchema entrySchema) { return propertyType.equalsIgnoreCase(PropertyType.LIST.getDisplayName()) ? - entrySchema.getType() : null; + entrySchema.getType() : null; } private void handleConsolidationEntitiesRequirementConnectivity(String nodeTemplateId, @@ -2050,7 +2139,7 @@ public class UnifiedCompositionService { TranslationContext context) { Map<String, RequirementAssignment> updatedNodeTemplateRequirements = new HashMap<>(); List<Map<String, RequirementAssignment>> nodeTemplateRequirements = DataModelUtil - .getNodeTemplateRequirementList(nodeTemplate); + .getNodeTemplateRequirementList(nodeTemplate); if (CollectionUtils.isEmpty(nodeTemplateRequirements)) { return; } @@ -2060,8 +2149,8 @@ public class UnifiedCompositionService { RequirementAssignment requirementAssignment = entry.getValue(); String requirementNode = requirementAssignment.getNode(); String unifiedNodeTemplateId = - context.getUnifiedSubstitutionNodeTemplateId(serviceTemplate, - requirementNode); + context.getUnifiedSubstitutionNodeTemplateId(serviceTemplate, + requirementNode); if (unifiedNodeTemplateId != null) { //Update the node id in the requirement requirementAssignment.setNode(unifiedNodeTemplateId); @@ -2081,14 +2170,14 @@ public class UnifiedCompositionService { String relationshipId, TranslationContext context) { Map<String, RelationshipTemplate> relationshipTemplates = DataModelUtil - .getRelationshipTemplates(serviceTemplate); + .getRelationshipTemplates(serviceTemplate); if (relationshipTemplates != null) { RelationshipTemplate relationshipTemplate = relationshipTemplates.get(relationshipId); if (relationshipTemplate != null) { String relationshipTemplateType = relationshipTemplate.getType(); if (relationshipTemplateType.equals(ToscaRelationshipType.CINDER_VOLUME_ATTACHES_TO)) { handleCinderVolumeAttachmentRelationshipTemplate(serviceTemplate, - relationshipTemplate, context); + relationshipTemplate, context); } } } @@ -2096,14 +2185,14 @@ public class UnifiedCompositionService { private void handleCinderVolumeAttachmentRelationshipTemplate(ServiceTemplate - substitutionServiceTemplate, + substitutionServiceTemplate, RelationshipTemplate - relationshipTemplate, + relationshipTemplate, TranslationContext context) { Map<String, Object> properties = relationshipTemplate.getProperties(); properties.computeIfPresent(HeatConstants.INSTANCE_UUID_PROPERTY_NAME, (key, value) -> - context.getUnifiedAbstractNodeTemplateId(substitutionServiceTemplate, - (String) value)); + context.getUnifiedAbstractNodeTemplateId(substitutionServiceTemplate, + (String) value)); } private String updateIdenticalProperty(String nodeTemplateId, String propertyId, @@ -2117,7 +2206,7 @@ public class UnifiedCompositionService { switch (unifiedCompositionEntity) { case Compute: inputParamId = COMPUTE_IDENTICAL_VALUE_PROPERTY_PREFIX + propertyId - + COMPUTE_IDENTICAL_VALUE_PROPERTY_SUFFIX; + + COMPUTE_IDENTICAL_VALUE_PROPERTY_SUFFIX; propertyVal.put(ToscaFunctions.GET_INPUT.getDisplayName(), inputParamId); nodeTemplate.getProperties().put(propertyId, propertyVal); @@ -2127,9 +2216,9 @@ public class UnifiedCompositionService { case Port: String portType = ConsolidationDataUtil.getPortType(nodeTemplateId); ComputeTemplateConsolidationData computeTemplateConsolidationData = - getConnectedComputeConsolidationData(unifiedCompositionDataList, nodeTemplateId); + getConnectedComputeConsolidationData(unifiedCompositionDataList, nodeTemplateId); inputParamId = getInputParamIdForPort(nodeTemplateId, propertyId, portType, - computeTemplateConsolidationData); + computeTemplateConsolidationData); propertyVal.put(ToscaFunctions.GET_INPUT.getDisplayName(), inputParamId); nodeTemplate.getProperties().put(propertyId, propertyVal); @@ -2145,15 +2234,15 @@ public class UnifiedCompositionService { ComputeTemplateConsolidationData computeTemplateConsolidationData) { String inputParamId; if (Objects.isNull(computeTemplateConsolidationData) - || computeTemplateConsolidationData.getPorts().get(portType).size() > 1) { + || computeTemplateConsolidationData.getPorts().get(portType).size() > 1) { inputParamId = - UnifiedCompositionEntity.Port.name().toLowerCase() + "_" + nodeTemplateId + "_" + - propertyId; + UnifiedCompositionEntity.Port.name().toLowerCase() + "_" + nodeTemplateId + "_" + + propertyId; } else { inputParamId = - UnifiedCompositionEntity.Port.name().toLowerCase() + "_" + portType + "_" - + propertyId; + UnifiedCompositionEntity.Port.name().toLowerCase() + "_" + portType + "_" + + propertyId; } return inputParamId; } @@ -2164,36 +2253,36 @@ public class UnifiedCompositionService { ServiceTemplate serviceTemplate) { ParameterDefinition parameterDefinition = DataModelUtil.createParameterDefinition - (parameterType, null, null, - true, null, null, - entrySchema, null); + (parameterType, null, null, + true, null, null, + entrySchema, null); DataModelUtil - .addInputParameterToTopologyTemplate(serviceTemplate, parameterId, parameterDefinition); + .addInputParameterToTopologyTemplate(serviceTemplate, parameterId, parameterDefinition); } // Return the input parameter Id which is used in the new property value if there is one private Optional<String> updateProperty( - ServiceTemplate serviceTemplate, - String nodeTemplateId, NodeTemplate nodeTemplate, - Map.Entry<String, Object> propertyEntry, - UnifiedCompositionEntity compositionEntity, - ComputeTemplateConsolidationData computeTemplateConsolidationData, - List<UnifiedCompositionData> unifiedCompositionDataList, - TranslationContext context) { + ServiceTemplate serviceTemplate, + String nodeTemplateId, NodeTemplate nodeTemplate, + Map.Entry<String, Object> propertyEntry, + UnifiedCompositionEntity compositionEntity, + ComputeTemplateConsolidationData computeTemplateConsolidationData, + List<UnifiedCompositionData> unifiedCompositionDataList, + TranslationContext context) { if (handleGetAttrFromConsolidationNodes(serviceTemplate, nodeTemplateId, nodeTemplate, - propertyEntry, unifiedCompositionDataList, context)) { + propertyEntry, unifiedCompositionDataList, context)) { return Optional.empty(); } String inputParamId = - getParameterId(nodeTemplateId, nodeTemplate, propertyEntry.getKey(), compositionEntity, - computeTemplateConsolidationData); + getParameterId(nodeTemplateId, nodeTemplate, propertyEntry.getKey(), compositionEntity, + computeTemplateConsolidationData); Map<String, List<String>> propertyVal = getPropertyValueInputParam(nodeTemplateId, - nodeTemplate, inputParamId); + nodeTemplate, inputParamId); nodeTemplate.getProperties().put(propertyEntry.getKey(), propertyVal); return Optional.of(inputParamId); } @@ -2210,17 +2299,17 @@ public class UnifiedCompositionService { } private boolean handleGetAttrFromConsolidationNodes( - ServiceTemplate serviceTemplate, - String nodeTemplateId, NodeTemplate nodeTemplate, - Map.Entry<String, Object> propertyEntry, - List<UnifiedCompositionData> unifiedCompositionDataList, - TranslationContext context) { + ServiceTemplate serviceTemplate, + String nodeTemplateId, NodeTemplate nodeTemplate, + Map.Entry<String, Object> propertyEntry, + List<UnifiedCompositionData> unifiedCompositionDataList, + TranslationContext context) { Map<String, UnifiedCompositionEntity> consolidationNodeTemplateIdAndType = - getAllConsolidationNodeTemplateIdAndType(unifiedCompositionDataList); + getAllConsolidationNodeTemplateIdAndType(unifiedCompositionDataList); Set<String> consolidationNodeTemplateIds = consolidationNodeTemplateIdAndType.keySet(); Map<String, String> entityIdToType = ConsolidationService.getConsolidationEntityIdToType( - serviceTemplate, context.getConsolidationData()); + serviceTemplate, context.getConsolidationData()); boolean includeGetAttrFromConsolidationNodes = false; boolean includeGetAttrFromOutsideNodes = false; boolean isGetAttrFromConsolidationIsFromSameType = false; @@ -2237,9 +2326,9 @@ public class UnifiedCompositionService { } } if ((includeGetAttrFromConsolidationNodes && includeGetAttrFromOutsideNodes) - || - (includeGetAttrFromConsolidationNodes && isIncludeToscaFunc(propertyEntry.getValue(), - ToscaFunctions.GET_INPUT))) { + || + (includeGetAttrFromConsolidationNodes && isIncludeToscaFunc(propertyEntry.getValue(), + ToscaFunctions.GET_INPUT))) { //This case is currently not supported - this property will be ignored return true; } else if (includeGetAttrFromConsolidationNodes && !isGetAttrFromConsolidationIsFromSameType) { @@ -2249,7 +2338,7 @@ public class UnifiedCompositionService { String targetNodeTemplateId = (String) getAttrFunc.get(0); if (consolidationNodeTemplateIds.contains(targetNodeTemplateId)) { updatePropertyGetAttrFunc(serviceTemplate, unifiedCompositionDataList, context, - consolidationNodeTemplateIdAndType, targetNodeTemplateId, getAttrFunc); + consolidationNodeTemplateIdAndType, targetNodeTemplateId, getAttrFunc); } } nodeTemplate.getProperties().put(propertyEntry.getKey(), clonedPropertyValue); @@ -2261,10 +2350,10 @@ public class UnifiedCompositionService { private boolean isGetAttrFromConsolidationNodesIsFromSameType(String sourceNodeTemplateId, Set<String> nodeTemplateIdsFromConsolidation, Map<String, String> - nodeTemplateIdToType) { + nodeTemplateIdToType) { for (String idFromConsolidation : nodeTemplateIdsFromConsolidation) { if (isGetAttrNodeTemplateFromSameType(sourceNodeTemplateId, idFromConsolidation, - nodeTemplateIdToType)) { + nodeTemplateIdToType)) { return true; } } @@ -2276,26 +2365,26 @@ public class UnifiedCompositionService { Map<String, String> nodeTemplateIdToType) { if (Objects.isNull(nodeTemplateIdToType.get(sourceNodeTemplateId)) - || Objects.isNull(nodeTemplateIdToType.get(targetNodeTemplateId))) { + || Objects.isNull(nodeTemplateIdToType.get(targetNodeTemplateId))) { return false; } return nodeTemplateIdToType.get(sourceNodeTemplateId).equals(nodeTemplateIdToType - .get(targetNodeTemplateId)); + .get(targetNodeTemplateId)); } private void updatePropertyGetAttrFunc( - ServiceTemplate serviceTemplate, - List<UnifiedCompositionData> unifiedCompositionDataList, - TranslationContext context, - Map<String, UnifiedCompositionEntity> consolidationNodeTemplateIdAndType, - String targetNodeTemplateId, - List<Object> getAttrFunc) { + ServiceTemplate serviceTemplate, + List<UnifiedCompositionData> unifiedCompositionDataList, + TranslationContext context, + Map<String, UnifiedCompositionEntity> consolidationNodeTemplateIdAndType, + String targetNodeTemplateId, + List<Object> getAttrFunc) { UnifiedCompositionEntity targetCompositionEntity = - consolidationNodeTemplateIdAndType.get(targetNodeTemplateId); + consolidationNodeTemplateIdAndType.get(targetNodeTemplateId); String targetNewNodeTemplateId = - getNewNodeTemplateId(serviceTemplate, unifiedCompositionDataList, targetNodeTemplateId, - targetCompositionEntity); + getNewNodeTemplateId(serviceTemplate, unifiedCompositionDataList, targetNodeTemplateId, + targetCompositionEntity); getAttrFunc.set(0, targetNewNodeTemplateId); } @@ -2308,13 +2397,13 @@ public class UnifiedCompositionService { return getNewComputeNodeTemplateId(serviceTemplate, nodeTemplateId); case Port: ComputeTemplateConsolidationData connectedComputeConsolidationData = - getConnectedComputeConsolidationData( - unifiedCompositionDataList, nodeTemplateId); + getConnectedComputeConsolidationData( + unifiedCompositionDataList, nodeTemplateId); NodeTemplate connectedComputeNodeTemplate = - DataModelUtil.getNodeTemplate(serviceTemplate, - connectedComputeConsolidationData.getNodeTemplateId()); + DataModelUtil.getNodeTemplate(serviceTemplate, + connectedComputeConsolidationData.getNodeTemplateId()); return getNewPortNodeTemplateId(nodeTemplateId, connectedComputeNodeTemplate.getType(), - connectedComputeConsolidationData); + connectedComputeConsolidationData); default: return null; } @@ -2327,13 +2416,13 @@ public class UnifiedCompositionService { ConsolidationData consolidationData = context.getConsolidationData(); if (isIdIsOfExpectedType(origNodeTemplateId, UnifiedCompositionEntity.Port, - serviceTemplateFileName, - context)) { + serviceTemplateFileName, + context)) { return handleIdOfPort(origNodeTemplateId, serviceTemplateFileName, consolidationData); } else if (isIdIsOfExpectedType(origNodeTemplateId, UnifiedCompositionEntity.Compute, - serviceTemplateFileName, context)) { + serviceTemplateFileName, context)) { NodeTemplate nodeTemplate = - getComputeNodeTemplate(origNodeTemplateId, serviceTemplate, context); + getComputeNodeTemplate(origNodeTemplateId, serviceTemplate, context); return getComputeTypeSuffix(nodeTemplate.getType()); } @@ -2341,11 +2430,11 @@ public class UnifiedCompositionService { } private ComputeTemplateConsolidationData getConnectedComputeConsolidationData( - List<UnifiedCompositionData> unifiedCompositionDataList, - String portNodeTemplateId) { + List<UnifiedCompositionData> unifiedCompositionDataList, + String portNodeTemplateId) { for (UnifiedCompositionData unifiedCompositionData : unifiedCompositionDataList) { Collection<List<String>> portsCollection = - unifiedCompositionData.getComputeTemplateConsolidationData().getPorts().values(); + unifiedCompositionData.getComputeTemplateConsolidationData().getPorts().values(); for (List<String> portIdList : portsCollection) { if (portIdList.contains(portNodeTemplateId)) { return unifiedCompositionData.getComputeTemplateConsolidationData(); @@ -2371,16 +2460,16 @@ public class UnifiedCompositionService { switch (unifiedCompositionEntity) { case Compute: return UnifiedCompositionEntity.Compute.name().toLowerCase() + "_" - + getComputeTypeSuffix(nodeTemplate.getType()) + "_" + propertyId; + + getComputeTypeSuffix(nodeTemplate.getType()) + "_" + propertyId; case Port: String portType = ConsolidationDataUtil.getPortType(nodeTemplateId); if (Objects.isNull(computeTemplateConsolidationData) - || computeTemplateConsolidationData.getPorts().get(portType).size() > 1) { + || computeTemplateConsolidationData.getPorts().get(portType).size() > 1) { return UnifiedCompositionEntity.Port.name().toLowerCase() + "_" + nodeTemplateId + "_" - + propertyId; + + propertyId; } return UnifiedCompositionEntity.Port.name().toLowerCase() + "_" + portType + "_" - + propertyId; + + propertyId; default: return propertyId; } @@ -2393,10 +2482,10 @@ public class UnifiedCompositionService { } for (List<RequirementAssignmentData> requirementAssignmentDataList : entityConsolidationData - .getNodesConnectedOut().values()) { + .getNodesConnectedOut().values()) { for (RequirementAssignmentData requirementAssignmentData : requirementAssignmentDataList) { DataModelUtil.removeRequirementsAssignment(nodeTemplate.getRequirements(), - requirementAssignmentData.getRequirementId()); + requirementAssignmentData.getRequirementId()); } if (nodeTemplate.getRequirements().isEmpty()) { nodeTemplate.setRequirements(null); @@ -2405,17 +2494,17 @@ public class UnifiedCompositionService { } private void removeVolumeConnectivity( - ComputeTemplateConsolidationData computeTemplateConsolidationData, - NodeTemplate computeNodeTemplate) { + ComputeTemplateConsolidationData computeTemplateConsolidationData, + NodeTemplate computeNodeTemplate) { if (MapUtils.isEmpty(computeTemplateConsolidationData.getVolumes())) { return; } Collection<List<RequirementAssignmentData>> volumeCollection = - computeTemplateConsolidationData.getVolumes().values(); + computeTemplateConsolidationData.getVolumes().values(); for (List<RequirementAssignmentData> requirementAssignmentDataList : volumeCollection) { for (RequirementAssignmentData requirementAssignmentData : requirementAssignmentDataList) { DataModelUtil.removeRequirementsAssignment(computeNodeTemplate.getRequirements(), - requirementAssignmentData.getRequirementId()); + requirementAssignmentData.getRequirementId()); } } if (computeNodeTemplate.getRequirements().isEmpty()) { @@ -2425,11 +2514,11 @@ public class UnifiedCompositionService { private void createIndexInputParameter(ServiceTemplate substitutionServiceTemplate) { ParameterDefinition indexParameterDefinition = - DataModelUtil.createParameterDefinition(PropertyType.INTEGER.getDisplayName(), - "Index value of this substitution service template runtime instance", null, - false, createIndexValueConstraint(), null, null, 0); + DataModelUtil.createParameterDefinition(PropertyType.INTEGER.getDisplayName(), + "Index value of this substitution service template runtime instance", null, + false, createIndexValueConstraint(), null, null, 0); DataModelUtil.addInputParameterToTopologyTemplate(substitutionServiceTemplate, - ToscaConstants.INDEX_VALUE_PROPERTY_NAME, indexParameterDefinition); + ToscaConstants.INDEX_VALUE_PROPERTY_NAME, indexParameterDefinition); } @@ -2444,50 +2533,50 @@ public class UnifiedCompositionService { private Optional<UnifiedComposition> getUnifiedCompositionInstance(UnifiedCompositionMode mode) { String unifiedCompositionImplClassName = - unifiedCompositionImplMap.get(mode.name()).getImplementationClass(); + unifiedCompositionImplMap.get(mode.name()).getImplementationClass(); if (StringUtils.isEmpty(unifiedCompositionImplClassName)) { return Optional.empty(); } return Optional - .of(CommonMethods.newInstance(unifiedCompositionImplClassName, UnifiedComposition.class)); + .of(CommonMethods.newInstance(unifiedCompositionImplClassName, UnifiedComposition.class)); } private Optional<Map<String, Object>> createAbstractSubstitutionProperties( - ServiceTemplate serviceTemplate, - ServiceTemplate substitutionServiceTemplate, - List<UnifiedCompositionData> unifiedCompositionDataList, - TranslationContext context) { + ServiceTemplate serviceTemplate, + ServiceTemplate substitutionServiceTemplate, + List<UnifiedCompositionData> unifiedCompositionDataList, + TranslationContext context) { Map<String, Object> abstractSubstituteProperties = new LinkedHashMap<>(); Map<String, ParameterDefinition> substitutionTemplateInputs = DataModelUtil - .getInputParameters(substitutionServiceTemplate); + .getInputParameters(substitutionServiceTemplate); if (substitutionTemplateInputs == null) { return Optional.empty(); } //Since all the computes have the same type fetching the type from the first entry NodeTemplate firstComputeNodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - unifiedCompositionDataList.get(0) - .getComputeTemplateConsolidationData().getNodeTemplateId()); + unifiedCompositionDataList.get(0) + .getComputeTemplateConsolidationData().getNodeTemplateId()); String computeType = getComputeTypeSuffix(firstComputeNodeTemplate.getType()); for (Map.Entry<String, ParameterDefinition> input : substitutionTemplateInputs.entrySet()) { String substitutionTemplateInputName = input.getKey(); ParameterDefinition inputParameterDefinition = input.getValue(); String inputType = inputParameterDefinition.getType(); UnifiedCompositionEntity inputUnifiedCompositionEntity = - getInputCompositionEntity(substitutionTemplateInputName); + getInputCompositionEntity(substitutionTemplateInputName); if (!inputType.equalsIgnoreCase(PropertyType.LIST.getDisplayName())) { if (isIdenticalValueProperty( - substitutionTemplateInputName, inputUnifiedCompositionEntity, context)) { + substitutionTemplateInputName, inputUnifiedCompositionEntity, context)) { //Handle identical value properties Optional<String> identicalValuePropertyName = - getIdenticalValuePropertyName(substitutionTemplateInputName, - inputUnifiedCompositionEntity, context); + getIdenticalValuePropertyName(substitutionTemplateInputName, + inputUnifiedCompositionEntity, context); if (identicalValuePropertyName.isPresent()) { updateIdenticalPropertyValue(identicalValuePropertyName.get(), - substitutionTemplateInputName, computeType, inputUnifiedCompositionEntity, - unifiedCompositionDataList.get(0), serviceTemplate, abstractSubstituteProperties, - context); + substitutionTemplateInputName, computeType, inputUnifiedCompositionEntity, + unifiedCompositionDataList.get(0), serviceTemplate, abstractSubstituteProperties, + context); } } continue; @@ -2500,9 +2589,9 @@ public class UnifiedCompositionService { case Compute: for (UnifiedCompositionData compositionData : unifiedCompositionDataList) { ComputeTemplateConsolidationData computeTemplateConsolidationData = - compositionData.getComputeTemplateConsolidationData(); + compositionData.getComputeTemplateConsolidationData(); propertyValue = getComputePropertyValue(substitutionTemplateInputName, - serviceTemplate, computeTemplateConsolidationData); + serviceTemplate, computeTemplateConsolidationData); if (!(propertyValue instanceof Optional)) { abstractPropertyValue.add(propertyValue); } @@ -2511,18 +2600,18 @@ public class UnifiedCompositionService { case Port: for (UnifiedCompositionData compositionData : unifiedCompositionDataList) { List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(compositionData); + getPortTemplateConsolidationDataList(compositionData); //Get the input type for this input whether it is of type // port_<port_node_template_id>_<property_name> or port_<port_type>_<property_name> PortInputType portInputType = getPortInputType(substitutionTemplateInputName, - compositionData); + compositionData); for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { //Get the port property value String portNodeTemplateId = portTemplateConsolidationData.getNodeTemplateId(); propertyValue = getPortPropertyValue(substitutionTemplateInputName, - computeType, portInputType, serviceTemplate, - portNodeTemplateId); + computeType, portInputType, serviceTemplate, + portNodeTemplateId); //If the value object is Optional.empty it implies that the property name was not // found in the input name if (!(propertyValue instanceof Optional)) { @@ -2540,7 +2629,7 @@ public class UnifiedCompositionService { for (Object val : abstractPropertyValue) { if (Objects.nonNull(val)) { updateAbstractPropertyValue(substitutionTemplateInputName, inputParameterDefinition, - abstractPropertyValue, abstractSubstituteProperties); + abstractPropertyValue, abstractSubstituteProperties); break; } } @@ -2558,10 +2647,10 @@ public class UnifiedCompositionService { Object propertyValue = abstractPropertyValue.get(0); String entrySchemaType = parameterDefinition.getEntry_schema().getType(); if (entrySchemaType.equalsIgnoreCase(PropertyType.STRING.getDisplayName()) - || entrySchemaType.equalsIgnoreCase(PropertyType.INTEGER.getDisplayName()) - || entrySchemaType.equalsIgnoreCase(PropertyType.FLOAT.getDisplayName()) - || entrySchemaType.equalsIgnoreCase(PropertyType.BOOLEAN.getDisplayName()) - || entrySchemaType.equals(PropertyTypeExt.JSON.getDisplayName())) { + || entrySchemaType.equalsIgnoreCase(PropertyType.INTEGER.getDisplayName()) + || entrySchemaType.equalsIgnoreCase(PropertyType.FLOAT.getDisplayName()) + || entrySchemaType.equalsIgnoreCase(PropertyType.BOOLEAN.getDisplayName()) + || entrySchemaType.equals(PropertyTypeExt.JSON.getDisplayName())) { abstractSubstituteProperties.put(substitutionTemplateInputName, abstractPropertyValue); } else { abstractSubstituteProperties.put(substitutionTemplateInputName, propertyValue); @@ -2578,12 +2667,12 @@ public class UnifiedCompositionService { Map<String, Object> abstractSubstituteProperties, TranslationContext context) { Optional<Object> identicalPropertyValueByType = - getIdenticalPropertyValueByType(identicalValuePropertyName, substitutionTemplateInputName, - entity, unifiedCompositionData, serviceTemplate, context); + getIdenticalPropertyValueByType(identicalValuePropertyName, substitutionTemplateInputName, + entity, unifiedCompositionData, serviceTemplate, context); if (identicalPropertyValueByType.isPresent()) { abstractSubstituteProperties - .put(substitutionTemplateInputName, identicalPropertyValueByType.get()); + .put(substitutionTemplateInputName, identicalPropertyValueByType.get()); } @@ -2598,33 +2687,33 @@ public class UnifiedCompositionService { TranslationContext context) { ComputeTemplateConsolidationData computeTemplateConsolidationData = - unifiedCompositionData.getComputeTemplateConsolidationData(); + unifiedCompositionData.getComputeTemplateConsolidationData(); Optional<Object> computeIdenticalPropertyValue; switch (entity) { case Compute: computeIdenticalPropertyValue = - getIdenticalPropertyValue(identicalValuePropertyName, serviceTemplate, - entity, computeTemplateConsolidationData, context); + getIdenticalPropertyValue(identicalValuePropertyName, serviceTemplate, + entity, computeTemplateConsolidationData, context); return computeIdenticalPropertyValue.isPresent() ? Optional.of( - computeIdenticalPropertyValue.get()) : Optional.empty(); + computeIdenticalPropertyValue.get()) : Optional.empty(); case Other: computeIdenticalPropertyValue = - getIdenticalPropertyValue(identicalValuePropertyName, serviceTemplate, - entity, computeTemplateConsolidationData, context); + getIdenticalPropertyValue(identicalValuePropertyName, serviceTemplate, + entity, computeTemplateConsolidationData, context); return computeIdenticalPropertyValue.isPresent() ? Optional.of( - computeIdenticalPropertyValue.get()) : Optional.empty(); + computeIdenticalPropertyValue.get()) : Optional.empty(); case Port: List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - unifiedCompositionData.getPortTemplateConsolidationDataList(); + unifiedCompositionData.getPortTemplateConsolidationDataList(); for (PortTemplateConsolidationData portTemplateConsolidationData : portTemplateConsolidationDataList) { String portType = - ConsolidationDataUtil.getPortType(portTemplateConsolidationData.getNodeTemplateId()); + ConsolidationDataUtil.getPortType(portTemplateConsolidationData.getNodeTemplateId()); if (substitutionTemplateInputName.contains(portType)) { return getIdenticalPropertyValue(identicalValuePropertyName, serviceTemplate, - entity, portTemplateConsolidationData, context); + entity, portTemplateConsolidationData, context); } } } @@ -2638,13 +2727,13 @@ public class UnifiedCompositionService { UnifiedCompositionData unifiedCompositionData) { String portInputPrefix = UnifiedCompositionEntity.Port.name().toLowerCase() + "_"; ComputeTemplateConsolidationData computeTemplateConsolidationData = unifiedCompositionData - .getComputeTemplateConsolidationData(); + .getComputeTemplateConsolidationData(); List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(unifiedCompositionData); + getPortTemplateConsolidationDataList(unifiedCompositionData); //Scan the available port node template ids to check if the input is of the form // "port_<port_node_template_id>_<property_name>" for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { String portNodeTemplateId = portTemplateConsolidationData.getNodeTemplateId(); String portNodeTemplateIdPrefix = portInputPrefix + portNodeTemplateId; if (inputName.startsWith(portNodeTemplateIdPrefix)) { @@ -2675,17 +2764,17 @@ public class UnifiedCompositionService { TranslationContext context) { String nodeTemplateIdToRemove = entity.getNodeTemplateId(); Map<String, NodeTemplate> nodeTemplates = - serviceTemplate.getTopology_template().getNode_templates(); + serviceTemplate.getTopology_template().getNode_templates(); NodeTemplate nodeTemplateToRemove = - nodeTemplates.get(nodeTemplateIdToRemove); + nodeTemplates.get(nodeTemplateIdToRemove); nodeTemplates.remove(nodeTemplateIdToRemove); context.addCleanedNodeTemplate(ToscaUtil.getServiceTemplateFileName(serviceTemplate), - nodeTemplateIdToRemove, - entity.getClass() == ComputeTemplateConsolidationData.class - ? UnifiedCompositionEntity.Compute - : UnifiedCompositionEntity.Port, - nodeTemplateToRemove); + nodeTemplateIdToRemove, + entity.getClass() == ComputeTemplateConsolidationData.class + ? UnifiedCompositionEntity.Compute + : UnifiedCompositionEntity.Port, + nodeTemplateToRemove); } @@ -2693,13 +2782,13 @@ public class UnifiedCompositionService { ServiceTemplate serviceTemplate, TranslationContext context) { NodeTemplate cleanedNodeTemplate = - context - .getCleanedNodeTemplate(ToscaUtil.getServiceTemplateFileName(serviceTemplate), - cleanedNodeTemplateId); + context + .getCleanedNodeTemplate(ToscaUtil.getServiceTemplateFileName(serviceTemplate), + cleanedNodeTemplateId); String typeToRemove = cleanedNodeTemplate.getType(); if (Objects.nonNull(typeToRemove) - && serviceTemplate.getNode_types().containsKey(typeToRemove)) { + && serviceTemplate.getNode_types().containsKey(typeToRemove)) { serviceTemplate.getNode_types().remove(typeToRemove); } } @@ -2708,25 +2797,25 @@ public class UnifiedCompositionService { EntityConsolidationData entity, TranslationContext context) { Map<String, GroupDefinition> groups = serviceTemplate.getTopology_template() - .getGroups() == null ? new HashMap<>() - : serviceTemplate.getTopology_template().getGroups(); + .getGroups() == null ? new HashMap<>() + : serviceTemplate.getTopology_template().getGroups(); String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); String nodeRelatedAbstractNodeId = - context.getUnifiedAbstractNodeTemplateId(serviceTemplate, entity.getNodeTemplateId()); + context.getUnifiedAbstractNodeTemplateId(serviceTemplate, entity.getNodeTemplateId()); for (Map.Entry<String, GroupDefinition> groupEntry : groups.entrySet()) { GroupDefinition groupDefinition = groupEntry.getValue(); if (isHeatStackGroup(groupDefinition.getType())) { updateGroupMembersWithNewUnifiedNodeTemplateId(entity, nodeRelatedAbstractNodeId, - groupEntry); + groupEntry); } } } private void updateGroupMembersWithNewUnifiedNodeTemplateId( - EntityConsolidationData entity, - String newNodetemplateId, - Map.Entry<String, GroupDefinition> groupEntry) { + EntityConsolidationData entity, + String newNodetemplateId, + Map.Entry<String, GroupDefinition> groupEntry) { List<String> members = groupEntry.getValue().getMembers(); if (members.contains(entity.getNodeTemplateId())) { members.remove(entity.getNodeTemplateId()); @@ -2744,7 +2833,7 @@ public class UnifiedCompositionService { } SubstitutionMapping substitution_mappings = - substitutionServiceTemplate.getTopology_template().getSubstitution_mappings(); + substitutionServiceTemplate.getTopology_template().getSubstitution_mappings(); if(Objects.isNull(substitution_mappings)){ return; @@ -2759,34 +2848,34 @@ public class UnifiedCompositionService { private void updateSubstitutionMapping(ServiceTemplate serviceTemplate, TranslationContext context) { SubstitutionMapping substitutionMappings = - DataModelUtil.getSubstitutionMappings(serviceTemplate); + DataModelUtil.getSubstitutionMappings(serviceTemplate); if (Objects.nonNull(substitutionMappings)) { if (Objects.nonNull(substitutionMappings.getRequirements())) { updateSubstitutionMappingRequirements(substitutionMappings.getRequirements(), - serviceTemplate, context); + serviceTemplate, context); } if (Objects.nonNull(substitutionMappings.getCapabilities())) { updateSubstitutionMappingCapabilities(substitutionMappings.getCapabilities(), - serviceTemplate, context); + serviceTemplate, context); } } } private void updateSubstitutionMappingRequirements(Map<String, List<String>> - substitutionMappingRequirements, + substitutionMappingRequirements, ServiceTemplate serviceTemplate, TranslationContext context) { for (Map.Entry<String, List<String>> entry : substitutionMappingRequirements.entrySet()) { List<String> requirement = entry.getValue(); String oldNodeTemplateId = requirement.get(0); String newAbstractNodeTemplateId = context.getUnifiedAbstractNodeTemplateId(serviceTemplate, - requirement.get(0)); + requirement.get(0)); String newSubstitutionNodeTemplateId = context.getUnifiedSubstitutionNodeTemplateId( - serviceTemplate, oldNodeTemplateId); + serviceTemplate, oldNodeTemplateId); if (Objects.nonNull(newAbstractNodeTemplateId) - && Objects.nonNull(newSubstitutionNodeTemplateId)) { + && Objects.nonNull(newSubstitutionNodeTemplateId)) { requirement.set(0, newAbstractNodeTemplateId); String newRequirementValue = requirement.get(1) + "_" + newSubstitutionNodeTemplateId; requirement.set(1, newRequirementValue); @@ -2795,18 +2884,18 @@ public class UnifiedCompositionService { } private void updateSubstitutionMappingCapabilities(Map<String, List<String>> - substitutionMappingCapabilities, + substitutionMappingCapabilities, ServiceTemplate serviceTemplate, TranslationContext context) { for (Map.Entry<String, List<String>> entry : substitutionMappingCapabilities.entrySet()) { List<String> capability = entry.getValue(); String oldNodeTemplateId = capability.get(0); String newAbstractNodeTemplateId = context.getUnifiedAbstractNodeTemplateId(serviceTemplate, - capability.get(0)); + capability.get(0)); String newSubstitutionNodeTemplateId = context.getUnifiedSubstitutionNodeTemplateId( - serviceTemplate, oldNodeTemplateId); + serviceTemplate, oldNodeTemplateId); if (Objects.nonNull(newAbstractNodeTemplateId) - && Objects.nonNull(newSubstitutionNodeTemplateId)) { + && Objects.nonNull(newSubstitutionNodeTemplateId)) { capability.set(0, newAbstractNodeTemplateId); String newRequirementValue = capability.get(1) + "_" + newSubstitutionNodeTemplateId; capability.set(1, newRequirementValue); @@ -2818,16 +2907,16 @@ public class UnifiedCompositionService { EntityConsolidationData entity, TranslationContext context) { Map<String, GroupDefinition> groups = serviceTemplate.getTopology_template() - .getGroups() == null ? new HashMap<>() : serviceTemplate.getTopology_template().getGroups(); + .getGroups() == null ? new HashMap<>() : serviceTemplate.getTopology_template().getGroups(); String serviceTemplateFileName = ToscaUtil.getServiceTemplateFileName(serviceTemplate); Optional<String> nestedNodeTemplateId = - context.getUnifiedNestedNodeTemplateId(serviceTemplateFileName, entity.getNodeTemplateId()); + context.getUnifiedNestedNodeTemplateId(serviceTemplateFileName, entity.getNodeTemplateId()); if (nestedNodeTemplateId.isPresent()) { for (Map.Entry<String, GroupDefinition> groupEntry : groups.entrySet()) { GroupDefinition groupDefinition = groupEntry.getValue(); if (isHeatStackGroup(groupDefinition.getType())) { updateGroupMembersWithNewUnifiedNodeTemplateId(entity, nestedNodeTemplateId.get(), - groupEntry); + groupEntry); } } } @@ -2838,7 +2927,7 @@ public class UnifiedCompositionService { ServiceTemplate nestedServiceTemplate, TranslationContext context) { NodeTemplate nestedNodeTemplate = DataModelUtil.getNodeTemplate(mainServiceTemplate, - nestedNodeTemplateId); + nestedNodeTemplateId); if (Objects.isNull(nestedNodeTemplate)) { return; } @@ -2846,82 +2935,108 @@ public class UnifiedCompositionService { updateNestedNodeTemplateProperties(nestedServiceTemplate, nestedNodeTemplate, context); Optional<String> unifiedNestedNodeTypeId = context - .getUnifiedNestedNodeTypeId( - ToscaUtil.getServiceTemplateFileName(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME), - nestedNodeTemplate.getType()); + .getUnifiedNestedNodeTypeId( + ToscaUtil.getServiceTemplateFileName(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME), + nestedNodeTemplate.getType()); unifiedNestedNodeTypeId - .ifPresent(unifiedNestedNodeTypeIdVal -> updateNestedNodeTemplate( - unifiedNestedNodeTypeIdVal, nestedNodeTemplateId, nestedNodeTemplate, - mainServiceTemplate, context)); + .ifPresent(unifiedNestedNodeTypeIdVal -> updateNestedNodeTemplate( + unifiedNestedNodeTypeIdVal, nestedNodeTemplateId, nestedNodeTemplate, + mainServiceTemplate, context)); + + //updateNestedNodeTemplateRequirement(nestedNodeTemplateId, mainServiceTemplate, + //nestedServiceTemplate, context); - updateNodeTemplateRequirements(nestedNodeTemplateId, mainServiceTemplate, - nestedServiceTemplate, context); + //updateNodeTemplateRequirements(nestedNodeTemplateId, mainServiceTemplate, + //nestedServiceTemplate, context); //updateNodeDependencyRequirement(mainServiceTemplate, context, nestedNodeTemplate); } - public void updateNodeTemplateRequirements(String nestedNodeTemplateId, - ServiceTemplate mainServiceTemplate, - ServiceTemplate nestedServiceTemplate, - TranslationContext context){ - String computeNodeType = nestedServiceTemplate.getNode_types().keySet().iterator().next(); - NodeTemplate nestedNtFromMain = - mainServiceTemplate.getTopology_template().getNode_templates().get(nestedNodeTemplateId); - ServiceTemplate globalSubstitutionServiceTemplate = - context.getGlobalSubstitutionServiceTemplate(); + private void updateNestedNodeTemplateRequirement(String nestedNodeTemplateId, + ServiceTemplate mainServiceTemplate, + ServiceTemplate nestedServiceTemplate, + TranslationContext context){ + NestedTemplateConsolidationData nestedTemplateConsolidationData = + ConsolidationDataUtil + .getNestedTemplateConsolidationData(context, mainServiceTemplate, null, nestedNodeTemplateId); - if(Objects.isNull(computeNodeType)){ - return; - } + FileComputeConsolidationData fileComputeConsolidationData = + context.getConsolidationData().getComputeConsolidationData().getFileComputeConsolidationData + (ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate)); - NodeType nestedNodeType = - globalSubstitutionServiceTemplate.getNode_types().get(computeNodeType); - if(Objects.isNull(nestedNodeType)){ + TypeComputeConsolidationData compute = + fileComputeConsolidationData.getAllTypeComputeConsolidationData().iterator().next(); + + if(Objects.isNull(nestedTemplateConsolidationData)){ return; } - List<Map<String, RequirementDefinition>> requirements = nestedNodeType.getRequirements(); - - if(CollectionUtils.isEmpty(nestedNtFromMain.getRequirements())){ - nestedNtFromMain.setRequirements(new ArrayList<>()); - } + Map<String, List<RequirementAssignmentData>> nodesConnectedOut = + nestedTemplateConsolidationData.getNodesConnectedOut(); - if(CollectionUtils.isEmpty(requirements)) { + if(MapUtils.isEmpty(nodesConnectedOut)){ return; } - updateNodeTemplateRequirements(nestedNtFromMain, requirements); + updateRequirements(nestedNodeTemplateId, mainServiceTemplate, nestedServiceTemplate, compute, + nodesConnectedOut); } - private void updateNodeTemplateRequirements(NodeTemplate nestedNtFromMain, - List<Map<String, RequirementDefinition>> requirements) { - for(Map<String, RequirementDefinition> requirementDefinitionMap : requirements){ - Map<String, RequirementAssignment> currReqAssignmentMap = new HashMap<>(); - for(Map.Entry<String, RequirementDefinition> requirementDefinitionEntry : - requirementDefinitionMap.entrySet()){ - RequirementAssignment requirementAssignment = - getRequirementAssignmentFromDefinition(requirementDefinitionEntry); - currReqAssignmentMap.put(requirementDefinitionEntry.getKey(), requirementAssignment); - } + private void updateRequirements(String nestedNodeTemplateId, ServiceTemplate mainServiceTemplate, + ServiceTemplate nestedServiceTemplate, + TypeComputeConsolidationData compute, + Map<String, List<RequirementAssignmentData>> nodesConnectedOut) { + NodeTemplate nodeTemplate = + DataModelUtil.getNodeTemplate(mainServiceTemplate, nestedNodeTemplateId); - if(!nestedNtFromMain.getRequirements().contains(currReqAssignmentMap)) { - nestedNtFromMain.getRequirements().add(new HashMap(currReqAssignmentMap)); + for(List<RequirementAssignmentData> requirementAssignmentDataList : nodesConnectedOut.values()){ + for(RequirementAssignmentData data : requirementAssignmentDataList){ + if(!data.getRequirementId().equals("dependency")){ + DataModelUtil.addRequirementAssignment(nodeTemplate, data.getRequirementId(), + cloneRequirementAssignment(data.getRequirementAssignment())); + updateRequirementInSubMapping(nestedServiceTemplate, compute, data); + + } } } + removeUneccessaryRequirements(nodeTemplate); + } + + private void updateRequirementInSubMapping(ServiceTemplate nestedServiceTemplate, + TypeComputeConsolidationData compute, + RequirementAssignmentData data) { + List<String> subMappingRequirement = + Arrays.asList(compute.getAllComputeNodeTemplateIds().iterator().next(), "dependency"); + DataModelUtil.addSubstitutionMappingReq(nestedServiceTemplate, data.getRequirementId(), + subMappingRequirement); + } + + + private RequirementAssignment cloneRequirementAssignment(RequirementAssignment reqToClone){ + RequirementAssignment requirementAssignment = new RequirementAssignment(); + + requirementAssignment.setRelationship(reqToClone.getRelationship()); + requirementAssignment.setNode(reqToClone.getNode()); + requirementAssignment.setCapability(reqToClone.getCapability()); + + return requirementAssignment; + } + + private void removeUneccessaryRequirements(NodeTemplate nodeTemplate) { List<Map<String, RequirementAssignment>> reqsToRemove = new ArrayList<>(); - for(Map<String, RequirementAssignment> requirementDefinitionMap : nestedNtFromMain.getRequirements()) { + for(Map<String, RequirementAssignment> requirementDefinitionMap : nodeTemplate.getRequirements()) { if (requirementDefinitionMap.containsKey("dependency")) { reqsToRemove.add(requirementDefinitionMap); } } - nestedNtFromMain.getRequirements().removeAll(reqsToRemove); + nodeTemplate.getRequirements().removeAll(reqsToRemove); } private RequirementAssignment getRequirementAssignmentFromDefinition( - Map.Entry<String, RequirementDefinition> requirementDefinitionEntry) { + Map.Entry<String, RequirementDefinition> requirementDefinitionEntry) { RequirementAssignment requirementAssignment = new RequirementAssignment(); if(requirementDefinitionEntry.getValue() instanceof RequirementDefinition) { @@ -2938,41 +3053,13 @@ public class UnifiedCompositionService { return requirementAssignment; } - private void updateNodeDependencyRequirement(ServiceTemplate mainServiceTemplate, - TranslationContext context, - NodeTemplate nestedNodeTemplate) { - List<Map<String, RequirementAssignment>> requirements = nestedNodeTemplate.getRequirements(); - for(int i = 0; i < requirements.size(); i++){ - Map<String, RequirementAssignment> requirementAssignmentMap = requirements.get(i); - Map<String, RequirementAssignment> updatedMap = new HashMap<>(); - for(Map.Entry<String, RequirementAssignment> requirementAssignmentEntry : - requirementAssignmentMap.entrySet()){ - if(requirementAssignmentEntry.getKey().equals("dependency")){ - Optional<String> newReqAssignmentDependencyId = - context.getNewReqAssignmentDependencyId(ToscaUtil.getServiceTemplateFileName - (mainServiceTemplate), requirementAssignmentEntry.getValue()); - - if(newReqAssignmentDependencyId.isPresent()){ - updatedMap.put(newReqAssignmentDependencyId.get(), requirementAssignmentEntry - .getValue()); - } - }else{ - updatedMap.put(requirementAssignmentEntry.getKey(), requirementAssignmentEntry - .getValue()); - } - } - - requirements.add(i, updatedMap); - } - } - private void updateNestedNodeTemplateProperties(ServiceTemplate nestedServiceTemplate, NodeTemplate nestedNodeTemplate, TranslationContext context) { Map<String, Object> newPropertyInputParamIds = - context.getAllNewPropertyInputParamIdsPerNodeTenplateId(ToscaUtil - .getServiceTemplateFileName(nestedServiceTemplate)); + context.getAllNewPropertyInputParamIdsPerNodeTenplateId(ToscaUtil + .getServiceTemplateFileName(nestedServiceTemplate)); for (Map.Entry<String, Object> entry : newPropertyInputParamIds.entrySet()) { if (Objects.nonNull(entry.getValue())) { @@ -2982,24 +3069,24 @@ public class UnifiedCompositionService { } String subNodeType = - nestedServiceTemplate.getTopology_template().getSubstitution_mappings().getNode_type(); + nestedServiceTemplate.getTopology_template().getSubstitution_mappings().getNode_type(); nestedNodeTemplate.setType(subNodeType); } private void handleSubstitutionMappingInNestedServiceTemplate( - String newNestedNodeType, - ServiceTemplate nestedServiceTemplate, - TranslationContext context) { + String newNestedNodeType, + ServiceTemplate nestedServiceTemplate, + TranslationContext context) { if (Objects.isNull(newNestedNodeType)) { return; } Set<String> relatedNestedNodeTypeIds = - context.getAllRelatedNestedNodeTypeIds(); + context.getAllRelatedNestedNodeTypeIds(); SubstitutionMapping substitutionMappings = - nestedServiceTemplate.getTopology_template().getSubstitution_mappings(); + nestedServiceTemplate.getTopology_template().getSubstitution_mappings(); if(!relatedNestedNodeTypeIds.contains(substitutionMappings.getNode_type())) { substitutionMappings.setNode_type(newNestedNodeType); } @@ -3012,43 +3099,43 @@ public class UnifiedCompositionService { TranslationContext context) { String mainSTName = ToscaUtil.getServiceTemplateFileName(mainServiceTemplate); String globalSTName = - ToscaUtil.getServiceTemplateFileName(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME); + ToscaUtil.getServiceTemplateFileName(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME); int index = - context.getHandledNestedComputeNodeTemplateIndex(globalSTName, newNestedNodeTypeId); + context.getHandledNestedComputeNodeTemplateIndex(globalSTName, newNestedNodeTypeId); String newNodeTemplateId = - Constants.ABSTRACT_NODE_TEMPLATE_ID_PREFIX + getComputeTypeSuffix(newNestedNodeTypeId) - + "_" + index; + Constants.ABSTRACT_NODE_TEMPLATE_ID_PREFIX + getComputeTypeSuffix(newNestedNodeTypeId) + + "_" + index; nestedNodeTemplate.setType(newNestedNodeTypeId); mainServiceTemplate.getTopology_template().getNode_templates().remove(nestedNodeTemplateId); mainServiceTemplate.getTopology_template().getNode_templates() - .put(newNodeTemplateId, nestedNodeTemplate); + .put(newNodeTemplateId, nestedNodeTemplate); context.addUnifiedNestedNodeTemplateId(mainSTName, nestedNodeTemplateId, newNodeTemplateId); } private void handleNestedNodeTypesInGlobalSubstituteServiceTemplate( - String origNestedNodeTypeId, - String newNestedNodeTypeId, - ServiceTemplate globalSubstitutionServiceTemplate, - TranslationContext context) { + String origNestedNodeTypeId, + String newNestedNodeTypeId, + ServiceTemplate globalSubstitutionServiceTemplate, + TranslationContext context) { Set<String> relatedNestedNodeTypeIds = - context.getAllRelatedNestedNodeTypeIds(); + context.getAllRelatedNestedNodeTypeIds(); Map<String, NodeType> nodeTypes = globalSubstitutionServiceTemplate.getNode_types(); if (!relatedNestedNodeTypeIds.contains(origNestedNodeTypeId)) { NodeType nested = DataModelUtil.getNodeType(globalSubstitutionServiceTemplate, - origNestedNodeTypeId); + origNestedNodeTypeId); setNewValuesForNestedNodeType(origNestedNodeTypeId, newNestedNodeTypeId, nested, nodeTypes); } else { NodeType nested = - (NodeType) DataModelUtil.getClonedObject( - DataModelUtil.getNodeType(globalSubstitutionServiceTemplate, origNestedNodeTypeId)); + (NodeType) DataModelUtil.getClonedObject( + DataModelUtil.getNodeType(globalSubstitutionServiceTemplate, origNestedNodeTypeId)); nested.setDerived_from(ToscaNodeType.VFC_ABSTRACT_SUBSTITUTE); nodeTypes.put(newNestedNodeTypeId, nested); } context.addUnifiedNestedNodeTypeId(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME, - origNestedNodeTypeId, newNestedNodeTypeId); + origNestedNodeTypeId, newNestedNodeTypeId); } private void setNewValuesForNestedNodeType(String origNestedNodeType, @@ -3066,22 +3153,22 @@ public class UnifiedCompositionService { ServiceTemplate nestedServiceTemplate, TranslationContext context) { FileComputeConsolidationData fileComputeConsolidationData = - context.getConsolidationData().getComputeConsolidationData() - .getFileComputeConsolidationData( - ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate)); + context.getConsolidationData().getComputeConsolidationData() + .getFileComputeConsolidationData( + ToscaUtil.getServiceTemplateFileName(nestedServiceTemplate)); if (Objects.nonNull(fileComputeConsolidationData)) { String nestedNodeTypePrefix = ToscaNodeType.ABSTRACT_NODE_TYPE_PREFIX + "heat."; return Optional - .of(nestedNodeTypePrefix + getComputeTypeInNestedFile(fileComputeConsolidationData)); + .of(nestedNodeTypePrefix + getComputeTypeInNestedFile(fileComputeConsolidationData)); } return Optional.empty(); } private String getComputeTypeInNestedFile( - FileComputeConsolidationData fileComputeConsolidationData) { + FileComputeConsolidationData fileComputeConsolidationData) { List<TypeComputeConsolidationData> typeComputeConsolidationDatas = - new ArrayList<>(fileComputeConsolidationData.getAllTypeComputeConsolidationData()); + new ArrayList<>(fileComputeConsolidationData.getAllTypeComputeConsolidationData()); if (typeComputeConsolidationDatas.size() == 0) { return null; } else { @@ -3095,20 +3182,20 @@ public class UnifiedCompositionService { String serviceTemplateFileName, NodeTemplate abstractNodeTemplate) { Map<String, Object> properties = - abstractNodeTemplate == null || abstractNodeTemplate.getProperties() == null - ? new HashMap<>() - : abstractNodeTemplate.getProperties(); + abstractNodeTemplate == null || abstractNodeTemplate.getProperties() == null + ? new HashMap<>() + : abstractNodeTemplate.getProperties(); for (Object propertyValue : properties.values()) { List<List<Object>> getAttrList = extractGetAttrFunction(propertyValue); for (List<Object> getAttrFuncValue : getAttrList) { String origNodeTemplateId = (String) getAttrFuncValue.get(0); Optional<String> nestedNodeTemplateId = context.getUnifiedNestedNodeTemplateId(ToscaUtil - .getServiceTemplateFileName(serviceTemplate), origNodeTemplateId); + .getServiceTemplateFileName(serviceTemplate), origNodeTemplateId); if (nestedNodeTemplateId.isPresent()) { getAttrFuncValue.set(0, nestedNodeTemplateId.get()); } else { replaceGetAttrNodeIdAndAttrName(serviceTemplate, context, serviceTemplateFileName, - getAttrFuncValue); + getAttrFuncValue); } } } @@ -3122,17 +3209,17 @@ public class UnifiedCompositionService { String attributeName = (String) getAttrFuncValue.get(1); String unifiedAbstractNodeTemplateId = - context.getUnifiedAbstractNodeTemplateId(serviceTemplate, origNodeTemplateId); + context.getUnifiedAbstractNodeTemplateId(serviceTemplate, origNodeTemplateId); if (Objects.isNull(unifiedAbstractNodeTemplateId)) { return; } String newNodeTemplateId = - getNewNodeTemplateId(origNodeTemplateId, serviceTemplateFileName, serviceTemplate, context); + getNewNodeTemplateId(origNodeTemplateId, serviceTemplateFileName, serviceTemplate, context); String newSubstitutionOutputParameterId = - getNewSubstitutionOutputParameterId(newNodeTemplateId, attributeName); + getNewSubstitutionOutputParameterId(newNodeTemplateId, attributeName); getAttrFuncValue.set(0, unifiedAbstractNodeTemplateId); getAttrFuncValue.set(1, newSubstitutionOutputParameterId); @@ -3142,11 +3229,11 @@ public class UnifiedCompositionService { ServiceTemplate serviceTemplate, TranslationContext context) { NodeTemplate computeNodeTemplate = - DataModelUtil.getNodeTemplate(serviceTemplate, origNodeTemplateId); + DataModelUtil.getNodeTemplate(serviceTemplate, origNodeTemplateId); if (computeNodeTemplate == null) { computeNodeTemplate = - context.getCleanedNodeTemplate(ToscaUtil.getServiceTemplateFileName(serviceTemplate), - origNodeTemplateId); + context.getCleanedNodeTemplate(ToscaUtil.getServiceTemplateFileName(serviceTemplate), + origNodeTemplateId); } return computeNodeTemplate; } @@ -3154,14 +3241,14 @@ public class UnifiedCompositionService { private String handleIdOfPort(String origNodeTemplateId, String serviceTemplateFileName, ConsolidationData consolidationData) { Optional<Pair<String, ComputeTemplateConsolidationData>> - computeTypeAndComputeTemplateByPortId = - getComputeTypeAndComputeTemplateByPortId(origNodeTemplateId, serviceTemplateFileName, - consolidationData); + computeTypeAndComputeTemplateByPortId = + getComputeTypeAndComputeTemplateByPortId(origNodeTemplateId, serviceTemplateFileName, + consolidationData); if (computeTypeAndComputeTemplateByPortId.isPresent()) { Pair<String, ComputeTemplateConsolidationData> computeIdToComputeData = - computeTypeAndComputeTemplateByPortId.get(); + computeTypeAndComputeTemplateByPortId.get(); return getNewPortNodeTemplateId(origNodeTemplateId, computeIdToComputeData.getKey(), - computeIdToComputeData.getValue()); + computeIdToComputeData.getValue()); } return null; @@ -3171,15 +3258,15 @@ public class UnifiedCompositionService { getComputeTypeAndComputeTemplateByPortId(String portId, String serviceTemplateFileName, ConsolidationData consolidationData) { FileComputeConsolidationData fileComputeConsolidationData = - consolidationData.getComputeConsolidationData() - .getFileComputeConsolidationData(serviceTemplateFileName); + consolidationData.getComputeConsolidationData() + .getFileComputeConsolidationData(serviceTemplateFileName); Set<String> computeTypes = - fileComputeConsolidationData.getAllComputeTypes(); + fileComputeConsolidationData.getAllComputeTypes(); for (String computeType : computeTypes) { Collection<ComputeTemplateConsolidationData> computeTemplateConsolidationDatas = - fileComputeConsolidationData.getTypeComputeConsolidationData(computeType) - .getAllComputeTemplateConsolidationData(); + fileComputeConsolidationData.getTypeComputeConsolidationData(computeType) + .getAllComputeTemplateConsolidationData(); for (ComputeTemplateConsolidationData compute : computeTemplateConsolidationDatas) { if (ConsolidationDataUtil.isComputeReferenceToPortId(compute, portId)) { @@ -3196,16 +3283,16 @@ public class UnifiedCompositionService { String serviceTemplateFileName, TranslationContext context) { UnifiedSubstitutionData unifiedSubstitutionData = - context.getUnifiedSubstitutionData().get(serviceTemplateFileName); + context.getUnifiedSubstitutionData().get(serviceTemplateFileName); if (Objects.isNull(unifiedSubstitutionData)) { return false; } UnifiedCompositionEntity actualUnifiedCompositionEntity = - unifiedSubstitutionData.getCleanedNodeTemplateCompositionEntity(id); + unifiedSubstitutionData.getCleanedNodeTemplateCompositionEntity(id); return actualUnifiedCompositionEntity == null ? false - : actualUnifiedCompositionEntity.equals(expectedUnifiedCompositionEntity); + : actualUnifiedCompositionEntity.equals(expectedUnifiedCompositionEntity); } private boolean isHeatStackGroup(String groupType) { @@ -3219,14 +3306,14 @@ public class UnifiedCompositionService { String portNodeTemplateId) { //Get the input prefix to extract the property name from the input name String portInputPrefix = getPortInputPrefix( - portNodeTemplateId, portInputType); + portNodeTemplateId, portInputType); //Get the property name from the input Optional<String> propertyName = getPropertyNameFromInput(inputName, - UnifiedCompositionEntity.Port, computeType, portInputPrefix); + UnifiedCompositionEntity.Port, computeType, portInputPrefix); //Get the property value from the node template if (propertyName.isPresent()) { NodeTemplate portNodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - portNodeTemplateId); + portNodeTemplateId); if (Objects.nonNull(portNodeTemplate)) { return getPropertyValueFromNodeTemplate(propertyName.get(), portNodeTemplate); } @@ -3235,9 +3322,9 @@ public class UnifiedCompositionService { } private Optional<String> getPortTypeFromInput( - String inputName, - String portNodeTemplateId, - ComputeTemplateConsolidationData computeTemplateConsolidationData) { + String inputName, + String portNodeTemplateId, + ComputeTemplateConsolidationData computeTemplateConsolidationData) { String portTypeFromInput = null; String portInputPrefix = UnifiedCompositionEntity.Port.name().toLowerCase() + "_"; String portNodeTemplateIdPrefix = portInputPrefix + portNodeTemplateId; @@ -3256,14 +3343,14 @@ public class UnifiedCompositionService { } private Object getComputePropertyValue( - String inputName, - ServiceTemplate serviceTemplate, - ComputeTemplateConsolidationData computeTemplateConsolidationData) { + String inputName, + ServiceTemplate serviceTemplate, + ComputeTemplateConsolidationData computeTemplateConsolidationData) { NodeTemplate nodeTemplate = DataModelUtil.getNodeTemplate(serviceTemplate, - computeTemplateConsolidationData.getNodeTemplateId()); + computeTemplateConsolidationData.getNodeTemplateId()); String nodeType = getComputeTypeSuffix(nodeTemplate.getType()); Optional<String> propertyName = - getPropertyNameFromInput(inputName, UnifiedCompositionEntity.Compute, nodeType, null); + getPropertyNameFromInput(inputName, UnifiedCompositionEntity.Compute, nodeType, null); if (propertyName.isPresent()) { return getPropertyValueFromNodeTemplate(propertyName.get(), nodeTemplate); } @@ -3276,13 +3363,13 @@ public class UnifiedCompositionService { EntityConsolidationData entity, TranslationContext context) { NodeTemplate nodeTemplate = - getNodeTemplate(entity.getNodeTemplateId(), serviceTemplate, context); + getNodeTemplate(entity.getNodeTemplateId(), serviceTemplate, context); Object propertyValueFromNodeTemplate = - getPropertyValueFromNodeTemplate(identicalValuePropertyName, nodeTemplate); + getPropertyValueFromNodeTemplate(identicalValuePropertyName, nodeTemplate); return Objects.isNull(propertyValueFromNodeTemplate) ? Optional.empty() - : Optional.of(propertyValueFromNodeTemplate); + : Optional.of(propertyValueFromNodeTemplate); } private UnifiedCompositionEntity getInputCompositionEntity(String inputName) { @@ -3297,14 +3384,14 @@ public class UnifiedCompositionService { } private Optional<String> getPropertyNameFromInput( - String inputName, - UnifiedCompositionEntity compositionEntity, - String computeType, String portInputPrefix) { + String inputName, + UnifiedCompositionEntity compositionEntity, + String computeType, String portInputPrefix) { String propertyName = null; switch (compositionEntity) { case Compute: propertyName = inputName.substring(inputName.lastIndexOf(computeType) - + computeType.length() + 1); + + computeType.length() + 1); break; case Port: if (inputName.startsWith(portInputPrefix)) { @@ -3318,8 +3405,8 @@ public class UnifiedCompositionService { } private String getPortInputPrefix( - String portNodeTemplateId, - PortInputType portInputType) { + String portNodeTemplateId, + PortInputType portInputType) { String portInputPrefix = UnifiedCompositionEntity.Port.name().toLowerCase() + "_"; String portType = ConsolidationDataUtil.getPortType(portNodeTemplateId); if (portInputType == PortInputType.NodeTemplateId) { @@ -3335,14 +3422,14 @@ public class UnifiedCompositionService { TranslationContext context) { List<String> identicalValuePropertyList = - consolidationService.getPropertiesWithIdenticalVal(unifiedCompositionEntity, context); + consolidationService.getPropertiesWithIdenticalVal(unifiedCompositionEntity, context); StringBuilder builder = getPropertyValueStringBuilder(unifiedCompositionEntity); boolean isMatchingProperty = Pattern.matches(builder.toString(), inputName); return (isMatchingProperty - && isPropertyFromIdenticalValuesList(inputName, unifiedCompositionEntity, - identicalValuePropertyList)); + && isPropertyFromIdenticalValuesList(inputName, unifiedCompositionEntity, + identicalValuePropertyList)); } private boolean isPropertyFromIdenticalValuesList(String inputName, @@ -3351,11 +3438,11 @@ public class UnifiedCompositionService { switch (unifiedCompositionEntity) { case Compute: return identicalValuePropertyList.contains(getIdenticalValuePropertyName(inputName, - unifiedCompositionEntity, null).get()); + unifiedCompositionEntity, null).get()); case Other: return identicalValuePropertyList.contains(getIdenticalValuePropertyName(inputName, - unifiedCompositionEntity, null).get()); + unifiedCompositionEntity, null).get()); case Port: return getPortPropertyNameFromInput(inputName, identicalValuePropertyList).isPresent(); @@ -3376,7 +3463,7 @@ public class UnifiedCompositionService { } private StringBuilder getPropertyValueStringBuilder( - UnifiedCompositionEntity unifiedCompositionEntity) { + UnifiedCompositionEntity unifiedCompositionEntity) { switch (unifiedCompositionEntity) { case Compute: @@ -3420,7 +3507,7 @@ public class UnifiedCompositionService { case Port: return getPortPropertyNameFromInput(input, consolidationService - .getPropertiesWithIdenticalVal(unifiedCompositionEntity, context)); + .getPropertiesWithIdenticalVal(unifiedCompositionEntity, context)); default: return Optional.empty(); @@ -3438,39 +3525,39 @@ public class UnifiedCompositionService { } private Map<String, UnifiedCompositionEntity> getAllConsolidationNodeTemplateIdAndType( - List<UnifiedCompositionData> unifiedCompositionDataList) { + List<UnifiedCompositionData> unifiedCompositionDataList) { Map<String, UnifiedCompositionEntity> consolidationNodeTemplateIdAndType = new HashMap<>(); for (UnifiedCompositionData unifiedCompositionData : unifiedCompositionDataList) { ComputeTemplateConsolidationData computeTemplateConsolidationData = - unifiedCompositionData.getComputeTemplateConsolidationData(); + unifiedCompositionData.getComputeTemplateConsolidationData(); if (Objects.nonNull(computeTemplateConsolidationData)) { consolidationNodeTemplateIdAndType - .put(computeTemplateConsolidationData.getNodeTemplateId(), - UnifiedCompositionEntity.Compute); + .put(computeTemplateConsolidationData.getNodeTemplateId(), + UnifiedCompositionEntity.Compute); } List<PortTemplateConsolidationData> portTemplateConsolidationDataList = - getPortTemplateConsolidationDataList(unifiedCompositionData); + getPortTemplateConsolidationDataList(unifiedCompositionData); for (PortTemplateConsolidationData portTemplateConsolidationData : - portTemplateConsolidationDataList) { + portTemplateConsolidationDataList) { consolidationNodeTemplateIdAndType.put(portTemplateConsolidationData.getNodeTemplateId(), - UnifiedCompositionEntity.Port); + UnifiedCompositionEntity.Port); } NestedTemplateConsolidationData nestedTemplateConsolidationData = - unifiedCompositionData.getNestedTemplateConsolidationData(); + unifiedCompositionData.getNestedTemplateConsolidationData(); if (Objects.nonNull(nestedTemplateConsolidationData)) { consolidationNodeTemplateIdAndType - .put(nestedTemplateConsolidationData.getNodeTemplateId(), - UnifiedCompositionEntity.Nested); + .put(nestedTemplateConsolidationData.getNodeTemplateId(), + UnifiedCompositionEntity.Nested); } } return consolidationNodeTemplateIdAndType; } private List<PortTemplateConsolidationData> getPortTemplateConsolidationDataList( - UnifiedCompositionData unifiedCompositionData) { + UnifiedCompositionData unifiedCompositionData) { return unifiedCompositionData.getPortTemplateConsolidationDataList() == null ? new - ArrayList<>() : unifiedCompositionData.getPortTemplateConsolidationDataList(); + ArrayList<>() : unifiedCompositionData.getPortTemplateConsolidationDataList(); } private enum PortInputType { diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/utils/ResourceWalker.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/utils/ResourceWalker.java index 7e8ef16631..353b791a1f 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/utils/ResourceWalker.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/utils/ResourceWalker.java @@ -137,7 +137,7 @@ public class ResourceWalker { } } else { try (FileInputStream stream = new FileInputStream(file)) { - handler.accept(file.getName(), stream); + handler.accept(file.getPath(), stream); } } } 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 a58659fab8..cebe9ec505 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 @@ -175,4 +175,14 @@ public class UnifiedCompositionNestedSingleComputeFullTest extends BaseFullTrans testTranslationWithInit(); } + + @Test + public void testDuplicateReq() throws IOException { + inputFilesPath = + "/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in"; + outputFilesPath = + "/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/out"; + + testTranslationWithInit(); + } } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeDiffImageName/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeDiffImageName/out/GlobalSubstitutionTypesServiceTemplate.yaml index c24fab0eea..4b86407746 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeDiffImageName/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeDiffImageName/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,85 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_pd_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd01_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_order: + type: integer + required: true + status: SUPPORTED + port_pd01_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd01_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_pd_server_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string org.openecomp.resource.abstract.nodes.pd_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -419,4 +498,4 @@ node_types: description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeGetAttrBetweenThem/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeGetAttrBetweenThem/out/GlobalSubstitutionTypesServiceTemplate.yaml index c24fab0eea..4b86407746 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeGetAttrBetweenThem/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeGetAttrBetweenThem/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,85 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_pd_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd01_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_order: + type: integer + required: true + status: SUPPORTED + port_pd01_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd01_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_pd_server_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string org.openecomp.resource.abstract.nodes.pd_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -419,4 +498,4 @@ node_types: description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypePortsConnectedToDiffNetworks/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypePortsConnectedToDiffNetworks/out/GlobalSubstitutionTypesServiceTemplate.yaml index c24fab0eea..4b86407746 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypePortsConnectedToDiffNetworks/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypePortsConnectedToDiffNetworks/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,85 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_pd_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd01_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_order: + type: integer + required: true + status: SUPPORTED + port_pd01_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd01_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_pd_server_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string org.openecomp.resource.abstract.nodes.pd_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -419,4 +498,4 @@ node_types: description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/twoNovaWithDiffProperties/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/twoNovaWithDiffProperties/out/GlobalSubstitutionTypesServiceTemplate.yaml index 1da6af47e0..b112901caa 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/twoNovaWithDiffProperties/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/twoNovaWithDiffProperties/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,103 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + compute_pd_server_key_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_pd_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + compute_pd_server_personality: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + compute_pd_server_image_update_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd01_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_order: + type: integer + required: true + status: SUPPORTED + port_pd01_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd01_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_pd_server_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string org.openecomp.resource.abstract.nodes.pd_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -437,4 +534,4 @@ node_types: description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/connectivityBetweenPatterns/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/connectivityBetweenPatterns/out/MainServiceTemplate.yaml index 6ea3983b37..efa8626f8d 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/connectivityBetweenPatterns/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/connectivityBetweenPatterns/out/MainServiceTemplate.yaml @@ -347,28 +347,6 @@ topology_template: capability: tosca.capabilities.network.Linkable node: nested_network relationship: tosca.relationships.network.LinksTo - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo abstract_1c2_catalog_instance_0: type: org.openecomp.resource.abstract.nodes.1c2_catalog_instance directives: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/MainServiceTemplate.yaml index f917dda694..f6cb6d15d4 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/MainServiceTemplate.yaml @@ -166,10 +166,6 @@ topology_template: capability: tosca.capabilities.Node node: nestedWithNoNovaHadDependencyToIt relationship: tosca.relationships.DependsOn - - dependency_1b01_single_1B_b_single_1b: - capability: tosca.capabilities.Node - node: nestedWithNoNovaHadDependencyToIt - relationship: tosca.relationships.DependsOn - link_b_single_1b_1b_t2_port: capability: tosca.capabilities.network.Linkable node: b_single_1b_network @@ -251,18 +247,10 @@ topology_template: capability: tosca.capabilities.Node node: nestedWithNoNovaHadDependencyToIt relationship: tosca.relationships.DependsOn - - dependency_1c102_scalling_instance_1C1_1c1_scalling_instance: - capability: tosca.capabilities.Node - node: nestedWithNoNovaHadDependencyToIt - relationship: tosca.relationships.DependsOn - link_1c1_scalling_instance_1c1_t1_port: capability: tosca.capabilities.network.Linkable node: 1c1_scalling_instance_network relationship: tosca.relationships.network.LinksTo - - dependency_1c101_scalling_instance_1C1_1c1_scalling_instance: - capability: tosca.capabilities.Node - node: nestedWithNoNovaHadDependencyToIt - relationship: tosca.relationships.DependsOn b_single_1b_network: type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net properties: @@ -320,28 +308,10 @@ topology_template: capability: tosca.capabilities.network.Linkable node: nested_network relationship: tosca.relationships.network.LinksTo - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - dependency_server_pcm: capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root + node: nestedWithNoNovaHadDependencyToIt relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo abstract_1c2_catalog_instance_0: type: org.openecomp.resource.abstract.nodes.1c2_catalog_instance directives: @@ -397,10 +367,6 @@ topology_template: capability: tosca.capabilities.Node node: nestedWithNoNovaHadDependencyToIt relationship: tosca.relationships.DependsOn - - dependency_1c2_t1_port_0_1c2_catalog_instance_1c2_t1_port: - capability: tosca.capabilities.Node - node: nestedWithNoNovaHadDependencyToIt - relationship: tosca.relationships.DependsOn - link_1c2_catalog_instance_1c2_t2_port: capability: tosca.capabilities.network.Linkable node: 1c2_catalog_instance_network @@ -462,10 +428,6 @@ topology_template: capability: tosca.capabilities.Node node: nestedWithNoNovaHadDependencyToIt relationship: tosca.relationships.DependsOn - - dependency_1c2_t1_port_1_1c2_catalog_instance_1c2_t1_port: - capability: tosca.capabilities.Node - node: nestedWithNoNovaHadDependencyToIt - relationship: tosca.relationships.DependsOn - link_1c2_catalog_instance_1c2_t2_port: capability: tosca.capabilities.network.Linkable node: 1c2_catalog_instance_network @@ -699,10 +661,6 @@ topology_template: capability: tosca.capabilities.Node node: nestedWithNoNovaHadDependencyToIt relationship: tosca.relationships.DependsOn - - dependency_1a_single_1A_a_single_1a: - capability: tosca.capabilities.Node - node: nestedWithNoNovaHadDependencyToIt - relationship: tosca.relationships.DependsOn - link_a_single_1a_1a_t1_port: capability: tosca.capabilities.network.Linkable node: a_single_1a_network diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/nested-pcm_v0.1ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/nested-pcm_v0.1ServiceTemplate.yaml index 6f2b5a7ca4..b143e6bfa3 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/nested-pcm_v0.1ServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/nested-pcm_v0.1ServiceTemplate.yaml @@ -452,4 +452,4 @@ topology_template: - dependency dependency_pcm_port_1: - pcm_port_1 - - dependency + - 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/services/heattotosca/fulltest/mixPatterns/oneAppearancePerPattern/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/oneAppearancePerPattern/out/MainServiceTemplate.yaml index edc5d992fe..e26ec620a8 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/oneAppearancePerPattern/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/oneAppearancePerPattern/out/MainServiceTemplate.yaml @@ -260,28 +260,6 @@ topology_template: capability: tosca.capabilities.network.Linkable node: nested_network relationship: tosca.relationships.network.LinksTo - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo abstract_1c2_catalog_instance_0: type: org.openecomp.resource.abstract.nodes.1c2_catalog_instance directives: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/twoAppearancePerPatternWithConnectivities/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/twoAppearancePerPatternWithConnectivities/out/MainServiceTemplate.yaml index 594a544d6b..3dacbb2056 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/twoAppearancePerPatternWithConnectivities/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/twoAppearancePerPatternWithConnectivities/out/MainServiceTemplate.yaml @@ -1544,28 +1544,6 @@ topology_template: capability: tosca.capabilities.network.Linkable node: nested_network relationship: tosca.relationships.network.LinksTo - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo 1c1_t2_port_12: type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port properties: @@ -1699,28 +1677,6 @@ topology_template: capability: tosca.capabilities.network.Linkable node: nested_network relationship: tosca.relationships.network.LinksTo - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo 1c1_t2_port_11: type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port properties: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml index b41b4dece5..c23d70e2e9 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -10535,6 +10535,176 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.ps_server_nested2_1b: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_ps_server_nested_b_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_nested_b_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_ps_server_nested_b_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_ps_server_nested2_1b_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_nested_b_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + compute_ps_server_nested2_1b_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_ps_server_nested_b_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_ps_server_nested_b_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_ps_server_nested_b_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_ps_server_nested_b_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_ps_server_nested_b_port_network_role: + type: string + required: true + status: SUPPORTED + port_ps_server_nested_b_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_ps_server_nested_b_port_order: + type: integer + required: true + status: SUPPORTED + org.openecomp.resource.vfc.nodes.heat.ps_server_main_1b: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_ps_server_main_b_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_ps_server_main_b_port_network_role: + type: string + required: true + status: SUPPORTED + compute_ps_server_main_1b_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_main_b_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_ps_server_main_b_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_main_b_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_ps_server_main_b_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_main_b_port_order: + type: integer + required: true + status: SUPPORTED + port_ps_server_main_b_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_ps_server_main_b_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_image_name: + type: string + required: true + status: SUPPORTED + port_ps_server_main_b_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_ps_server_main_1b_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_main_b_port_subnetpoolid: + type: string + required: true + status: SUPPORTED org.openecomp.resource.abstract.nodes.ps_server_main_1b: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -10956,6 +11126,346 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.cmaui_1c1_main: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_cmaui_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_cmaui_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_cmaui_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_cmaui_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_cmaui_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_cmaui_port_order: + type: integer + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_cmaui_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_cmaui_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_network_role: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_cmaui_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + compute_cmaui_1c1_main_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_cmaui_1c1_main_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + org.openecomp.resource.vfc.nodes.heat.cmaui_1c1_nested2: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_cmaui_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_cmaui_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_cmaui_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_cmaui_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_cmaui_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_cmaui_port_order: + type: integer + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_cmaui_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_cmaui_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_network_role: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_cmaui_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + compute_cmaui_1c1_nested2_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + compute_cmaui_1c1_nested2_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + org.openecomp.resource.vfc.nodes.heat.pd_server_nested2_1b: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pd_server_nested_b_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pd_server_nested_b_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_pd_server_nested_b_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_pd_server_nested_b_port_network_role_tag: + type: string + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd_server_nested_b_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + compute_pd_server_nested2_1b_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_nested2_1b_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_nested_b_port_order: + type: integer + required: true + status: SUPPORTED + port_pd_server_nested_b_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_nested_b_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pd_server_nested_b_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd_server_nested_b_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd_server_nested_b_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + org.openecomp.resource.vfc.nodes.heat.pd_server_main_1b: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pd_server_main_b_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_pd_server_main_b_port_order: + type: integer + required: true + status: SUPPORTED + compute_pd_server_main_1b_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_main_b_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_main_b_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pd_server_main_b_port_network_role_tag: + type: string + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd_server_main_b_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_pd_server_main_b_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pd_server_main_b_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd_server_main_b_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd_server_main_b_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + compute_pd_server_main_1b_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_main_b_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string org.openecomp.resource.abstract.nodes.cmaui_1c1_nested2: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -12763,3 +13273,549 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pd_server_pattern4: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + pd_server_pattern4_ips: + type: string + required: true + status: SUPPORTED + p1: + type: string + description: UID of OAM network + required: true + status: SUPPORTED + p2: + type: string + description: UID of OAM network + required: true + status: SUPPORTED + port_pd_server_pattern4_port_2_order: + type: integer + required: true + status: SUPPORTED + port_pd_server_pattern4_port_2_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pd_server_pattern4_port_2_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd_server_pattern4_port_2_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + availability_zone_0: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + port_pd_server_pattern4_port_2_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd_server_pattern4_port_1_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + net: + type: string + required: true + status: SUPPORTED + port_pd_server_pattern4_port_1_network_role_tag: + type: string + required: true + status: SUPPORTED + pd_server_pattern4_flavor: + type: string + description: Flavor for PD server + required: true + status: SUPPORTED + port_pd_server_pattern4_port_2_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pd_server_pattern4_port_1_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd_server_pattern4_port_1_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + security_group_name: + type: list + description: CMAUI1, CMAUI2 server names + required: true + status: SUPPORTED + entry_schema: + type: string + ps_server_flavor: + type: string + description: Flavor for PS server + required: true + status: SUPPORTED + port_pd_server_pattern4_port_1_order: + type: integer + required: true + status: SUPPORTED + pd_server_pattern4_image: + type: string + description: Flavor for PD server + required: true + status: SUPPORTED + port_pd_server_pattern4_port_1_network_role: + type: string + required: true + status: SUPPORTED + port_pd_server_pattern4_port_2_network_role: + type: string + required: true + status: SUPPORTED + port_pd_server_pattern4_port_1_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pd_server_pattern4_port_1_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pd_server_pattern4_port_2_subnetpoolid: + type: string + required: true + status: SUPPORTED + pd_server_pattern4_names: + type: list + description: PD server names + required: true + status: SUPPORTED + entry_schema: + type: string + attributes: + pattern4_attr_1: + type: string + description: pattern4_attr_1_value + status: SUPPORTED + requirements: + - dependency_server_pd_pattern4: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_server_pd_pattern4: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_pd_server_pattern4_port_1: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pd_server_pattern4_port_1: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_pd_server_pattern4_port_2: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pd_server_pattern4_port_2: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + disk.root.size_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.openecomp.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_pd_server_pattern4_port_1: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.openecomp.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_pd_server_pattern4_port_2: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_pd_server_pattern4_port_2: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + feature_pd_server_pattern4_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.latency_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + attachment_pd_server_pattern4_port_2: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_pd_server_pattern4_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + feature_server_pd_pattern4: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_server_pd_pattern4: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + cpu_util_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_pd_server_pattern4_port_1: + type: org.openecomp.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_pd_server_pattern4_port_2: + type: org.openecomp.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_pd_server_pattern4_port_1: + type: org.openecomp.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_pd_server_pattern4_port_1: + type: org.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_server_pd_pattern4: + type: org.openecomp.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_pd_server_pattern4_port_2: + type: org.openecomp.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_pd_server_pattern4_port_2: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.openecomp.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_pd_server_pattern4_port_1: + type: org.openecomp.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_pd_server_pattern4_port_2: + type: org.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.usage_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + memory_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + binding_pd_server_pattern4_port_2: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.incoming.bytes.rate_pd_server_pattern4_port_2: + type: org.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_server_pd_pattern4: + type: org.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_server_pd_pattern4: + type: org.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_pd_server_pattern4_port_1: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.incoming.bytes.rate_pd_server_pattern4_port_1: + type: org.openecomp.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_pd_server_pattern4_port_1: + type: org.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_server_pd_pattern4: + type: org.openecomp.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_pd_server_pattern4_port_1: + type: org.openecomp.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_pd_server_pattern4_port_2: + type: org.openecomp.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_pd_server_pattern4_port_2: + type: org.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_server_pd_pattern4: + type: org.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/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/MainServiceTemplate.yaml index da6640c27b..5de9f39ea9 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/MainServiceTemplate.yaml @@ -185,10 +185,6 @@ topology_template: capability: tosca.capabilities.Node node: test_nested_no_compute relationship: tosca.relationships.DependsOn - - dependency_server_main_ps_1b_ps_server_main_1b: - capability: tosca.capabilities.Node - node: test_nested_no_compute - relationship: tosca.relationships.DependsOn test_nested1Level_duplicate_same_file: type: org.openecomp.resource.abstract.nodes.heat.nested1 directives: @@ -263,14 +259,6 @@ topology_template: capability: tosca.capabilities.Node node: test_nested_no_compute relationship: tosca.relationships.DependsOn - - dependency_server_main_1c1_cmaui_2_cmaui_1c1_main: - capability: tosca.capabilities.Node - node: test_nested_no_compute - relationship: tosca.relationships.DependsOn - - dependency_server_main_1c1_cmaui_1_cmaui_1c1_main: - capability: tosca.capabilities.Node - node: test_nested_no_compute - relationship: tosca.relationships.DependsOn test_nested_pattern_4_main_0: type: org.openecomp.resource.abstract.nodes.heat.pd_server_pattern4 directives: @@ -301,26 +289,8 @@ topology_template: requirements: - dependency_server_pd_pattern4: capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pd_pattern4: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pd_server_pattern4_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_pattern4_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_pd_server_pattern4_port_2: - capability: tosca.capabilities.Node - node: tosca.nodes.Root + node: test_nested_no_compute relationship: tosca.relationships.DependsOn - - link_pd_server_pattern4_port_2: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo test_nested1Level: type: org.openecomp.resource.abstract.nodes.heat.nested1 directives: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested-pattern-4ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested-pattern-4ServiceTemplate.yaml index de4d785b6f..237b5e728c 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested-pattern-4ServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested-pattern-4ServiceTemplate.yaml @@ -422,4 +422,4 @@ topology_template: - link dependency_server_pd_pattern4: - server_pd_pattern4 - - dependency + - 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/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested1ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested1ServiceTemplate.yaml index 4308e668dc..7e4eb5122e 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested1ServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested1ServiceTemplate.yaml @@ -130,29 +130,6 @@ topology_template: is_required: true floating_ip_count_required: is_required: false - requirements: - - dependency_server_pd_pattern4: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pd_pattern4: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pd_server_pattern4_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_pattern4_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_pd_server_pattern4_port_2: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_pattern4_port_2: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo abstract_ps_server_main_1b: type: org.openecomp.resource.abstract.nodes.ps_server_main_1b directives: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested2ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested2ServiceTemplate.yaml index 4a129de7ec..ffc5015e19 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested2ServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested2ServiceTemplate.yaml @@ -149,10 +149,6 @@ topology_template: capability: tosca.capabilities.Node node: test_nested3Level relationship: tosca.relationships.DependsOn - - dependency_server_nested2_pd_1b_pd_server_nested2_1b: - capability: tosca.capabilities.Node - node: test_nested3Level - relationship: tosca.relationships.DependsOn test_nested_pattern_4_nested2: type: org.openecomp.resource.abstract.nodes.heat.pd_server_pattern4 directives: @@ -183,26 +179,8 @@ topology_template: requirements: - dependency_server_pd_pattern4: capability: tosca.capabilities.Node - node: tosca.nodes.Root + node: test_resourceGroup relationship: tosca.relationships.DependsOn - - local_storage_server_pd_pattern4: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pd_server_pattern4_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_pattern4_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_pd_server_pattern4_port_2: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_pattern4_port_2: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo test_nested3Level: type: org.openecomp.resource.abstract.nodes.heat.nested3 directives: @@ -248,29 +226,6 @@ topology_template: is_required: true floating_ip_count_required: is_required: false - requirements: - - dependency_server_pd_pattern4: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pd_pattern4: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pd_server_pattern4_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_pattern4_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_pd_server_pattern4_port_2: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_pattern4_port_2: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo abstract_ps_server_nested2_1b: type: org.openecomp.resource.abstract.nodes.ps_server_nested2_1b directives: @@ -379,14 +334,6 @@ topology_template: capability: tosca.capabilities.Node node: test_nested3Level relationship: tosca.relationships.DependsOn - - dependency_server_nested2_1c1_cmaui_2_cmaui_1c1_nested2: - capability: tosca.capabilities.Node - node: test_nested3Level - relationship: tosca.relationships.DependsOn - - dependency_server_nested2_1c1_cmaui_1_cmaui_1c1_nested2: - capability: tosca.capabilities.Node - node: test_nested3Level - relationship: tosca.relationships.DependsOn groups: nested2_group: type: org.openecomp.groups.heat.HeatStack diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml index e8301c06c2..fb315b170a 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,97 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pd_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_pd_server_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + compute_pd_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pd_server_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd_server_port_order: + type: integer + required: true + status: SUPPORTED + port_pd_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pd_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED org.openecomp.resource.abstract.nodes.pd_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -981,6 +1072,188 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.ps_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_ps_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_ps_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_ps_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_ps_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_network_role: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_ps_server_port_order: + type: integer + required: true + status: SUPPORTED + port_ps_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_ps_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_ps_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_ps_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_ps_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_ps_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + org.openecomp.resource.vfc.nodes.heat.sm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_sm_server_port_order: + type: integer + required: true + status: SUPPORTED + port_sm_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_sm_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_sm_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_sm_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_sm_server_port_network_role: + type: string + required: true + status: SUPPORTED + port_sm_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_sm_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_sm_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_image_name: + type: string + required: true + status: SUPPORTED + compute_sm_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_sm_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_sm_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_sm_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_sm_server_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json org.openecomp.resource.abstract.nodes.oam_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -1408,6 +1681,555 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.cmaui: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + cmaui_names: + type: list + description: CMAUI1, CMAUI2 server names + required: true + status: SUPPORTED + entry_schema: + type: string + p1: + type: string + description: UID of OAM network + required: true + status: SUPPORTED + port_cmaui_port_8_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + p2: + type: string + required: true + status: SUPPORTED + net2: + type: string + description: Contrail V2 network + required: true + status: SUPPORTED + net1: + type: string + description: Neutron network + required: true + status: SUPPORTED + indx: + type: float + required: true + status: SUPPORTED + port_cmaui_port_8_order: + type: integer + required: true + status: SUPPORTED + port_cmaui_port_7_network_role_tag: + type: string + required: true + status: SUPPORTED + availability_zone_0: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + net: + type: string + required: true + status: SUPPORTED + port_cmaui_port_8_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_cmaui_port_7_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + security_group_name: + type: list + description: CMAUI1, CMAUI2 server names + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_8_network_role_tag: + type: string + required: true + status: SUPPORTED + port_cmaui_port_8_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_cmaui_port_7_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_cmaui_port_7_order: + type: integer + required: true + status: SUPPORTED + cmaui_image: + type: string + description: Image for CMAUI server + required: true + status: SUPPORTED + cmaui_flavor: + type: string + description: Flavor for CMAUI server + required: true + status: SUPPORTED + port_cmaui_port_7_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_cmaui_port_7_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_cmaui_port_7_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_cmaui_port_7_network_role: + type: string + required: true + status: SUPPORTED + port_cmaui_port_8_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + cmaui_oam_ips: + type: string + required: true + status: SUPPORTED + port_cmaui_port_8_network_role: + type: string + required: true + status: SUPPORTED + port_cmaui_port_8_subnetpoolid: + type: string + required: true + status: SUPPORTED + requirements: + - dependency_cmaui_port_7: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_cmaui_port_7: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_cmaui_port_8: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_cmaui_port_8: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_server_cmaui: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_server_cmaui: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + capabilities: + cpu.delta_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.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_cmaui_port_7: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + feature_cmaui_port_8: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + scalable_server_cmaui: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_server_cmaui: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + cpu_util_server_cmaui: + type: org.openecomp.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_cmaui_port_8: + type: org.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_cmaui_port_7: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_cmaui_port_8: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_cmaui_port_7: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.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.usage_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.openecomp.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_cmaui_port_7: + type: org.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_server_cmaui: + type: org.openecomp.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_cmaui_port_8: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_server_cmaui: + type: org.openecomp.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_cmaui_port_7: + type: org.openecomp.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_cmaui_port_8: + type: org.openecomp.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_cmaui_port_7: + type: org.openecomp.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_cmaui_port_8: + type: org.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_server_cmaui: + type: org.openecomp.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_cmaui_port_7: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_cmaui_port_7: + type: org.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_server_cmaui: + type: org.openecomp.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_cmaui_port_8: + type: org.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_server_cmaui: + type: org.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_cmaui_port_7: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outgoing.bytes_cmaui_port_8: + type: org.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_cmaui_port_8: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.allocation_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.openecomp.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_cmaui_port_7: + type: org.openecomp.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_cmaui_port_8: + type: org.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_server_cmaui: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_cmaui_port_7: + type: org.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_server_cmaui: + type: org.openecomp.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_cmaui_port_8: + type: org.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_server_cmaui: + type: org.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_server_cmaui: + type: org.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.nested1: derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute properties: @@ -5292,3 +6114,94 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.oam_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_oam_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_server_port_order: + type: integer + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_oam_server_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_oam_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_oam_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_oam_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + compute_oam_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_image_name: + type: string + required: true + status: SUPPORTED + port_oam_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_oam_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_oam_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_oam_server_port_network_role: + type: string + required: true + status: SUPPORTED + port_oam_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_oam_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/out/nested2ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/out/nested2ServiceTemplate.yaml index d06e2b7d58..a8501fd729 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/out/nested2ServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/out/nested2ServiceTemplate.yaml @@ -122,29 +122,6 @@ topology_template: is_required: true floating_ip_count_required: is_required: false - requirements: - - dependency_cmaui_port_7: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_cmaui_port_7: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_cmaui_port_8: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_cmaui_port_8: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_cmaui: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_cmaui: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo abstract_sm_server: type: org.openecomp.resource.abstract.nodes.sm_server directives: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsDiffVmTypePattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsDiffVmTypePattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml index 20819de371..65ff3a0615 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsDiffVmTypePattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsDiffVmTypePattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,85 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_pd_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd01_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_order: + type: integer + required: true + status: SUPPORTED + port_pd01_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd01_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_pd_server_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string org.openecomp.resource.abstract.nodes.pd_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -1262,433 +1341,6 @@ node_types: occurrences: - 1 - UNBOUNDED - org.openecomp.resource.abstract.nodes.oam: - derived_from: org.openecomp.resource.abstract.nodes.VFC - properties: - port_oam02_port_network: - type: list - required: true - status: SUPPORTED - entry_schema: - type: string - port_oam02_port_ip_requirements: - type: list - required: true - status: SUPPORTED - entry_schema: - type: org.openecomp.datatypes.network.IpRequirements - port_oam02_port_network_role: - type: string - required: true - status: SUPPORTED - index_value: - type: integer - description: Index value of this substitution service template runtime instance - required: false - default: 0 - status: SUPPORTED - constraints: - - greater_or_equal: 0 - port_oam02_port_fixed_ips: - type: list - required: true - status: SUPPORTED - entry_schema: - type: org.openecomp.datatypes.heat.neutron.port.FixedIps - vm_flavor_name: - type: string - required: true - status: SUPPORTED - port_oam02_port_exCP_naming: - type: org.openecomp.datatypes.Naming - required: true - status: SUPPORTED - port_oam02_port_security_groups: - type: list - required: true - status: SUPPORTED - entry_schema: - type: json - port_oam02_port_subnetpoolid: - type: string - required: true - status: SUPPORTED - port_oam02_port_mac_requirements: - type: org.openecomp.datatypes.network.MacRequirements - required: true - status: SUPPORTED - port_oam02_port_order: - type: integer - required: true - status: SUPPORTED - vm_image_name: - type: string - required: true - status: SUPPORTED - port_oam02_port_network_role_tag: - type: string - required: true - status: SUPPORTED - port_oam02_port_replacement_policy: - type: list - required: true - status: SUPPORTED - entry_schema: - type: string - compute_oam_availability_zone: - type: list - required: true - status: SUPPORTED - entry_schema: - type: string - port_oam02_port_vlan_requirements: - type: list - required: true - status: SUPPORTED - entry_schema: - type: org.openecomp.datatypes.network.VlanRequirements - compute_oam_name: - type: list - required: true - status: SUPPORTED - entry_schema: - type: string - requirements: - - dependency_oam_oam02_port: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - occurrences: - - 0 - - UNBOUNDED - - link_oam_oam02_port: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - occurrences: - - 1 - - 1 - - dependency_oam: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - occurrences: - - 0 - - UNBOUNDED - - local_storage_oam: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - occurrences: - - 0 - - UNBOUNDED - capabilities: - cpu_oam: - type: org.openecomp.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_oam_oam02_port: - type: org.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.usage_oam: - type: org.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_oam: - type: org.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_oam: - type: org.openecomp.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_oam_oam02_port: - type: org.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_oam: - type: org.openecomp.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_oam_oam02_port: - type: org.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_oam_oam02_port: - type: tosca.capabilities.network.Bindable - valid_source_types: - - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface - occurrences: - - 0 - - UNBOUNDED - scalable_oam: - type: tosca.capabilities.Scalable - occurrences: - - 1 - - UNBOUNDED - network.outgoing.bytes.rate_oam_oam02_port: - type: org.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_oam: - type: tosca.capabilities.Node - occurrences: - - 1 - - UNBOUNDED - disk.allocation_oam: - type: org.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_oam: - type: org.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_oam: - type: tosca.capabilities.network.Bindable - occurrences: - - 1 - - UNBOUNDED - disk.device.read.bytes.rate_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.openecomp.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_oam_oam02_port: - type: org.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_oam: - type: org.openecomp.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_oam_oam02_port: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam: - type: org.openecomp.capabilities.metric.Ceilometer - description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. - occurrences: - - 1 - - UNBOUNDED - host_oam: - type: tosca.capabilities.Container - valid_source_types: - - tosca.nodes.SoftwareComponent - occurrences: - - 1 - - UNBOUNDED - endpoint_oam: - type: tosca.capabilities.Endpoint.Admin - occurrences: - - 1 - - UNBOUNDED - disk.device.read.requests_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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_oam_oam02_port: - type: tosca.capabilities.Node - occurrences: - - 1 - - UNBOUNDED - cpu_util_oam: - type: org.openecomp.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_oam_oam02_port: - type: org.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_oam: - type: tosca.capabilities.OperatingSystem - occurrences: - - 1 - - UNBOUNDED - memory.usage_oam: - type: org.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_oam: - type: org.openecomp.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_oam_oam02_port: - type: org.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_oam_oam02_port: - type: tosca.capabilities.Attachment - occurrences: - - 1 - - UNBOUNDED - disk.write.bytes_oam: - type: org.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_oam: - type: org.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_oam: - type: org.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.oam_1: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -2116,433 +1768,6 @@ node_types: occurrences: - 1 - UNBOUNDED - org.openecomp.resource.abstract.nodes.cmaui: - derived_from: org.openecomp.resource.abstract.nodes.VFC - properties: - index_value: - type: integer - description: Index value of this substitution service template runtime instance - required: false - default: 0 - status: SUPPORTED - constraints: - - greater_or_equal: 0 - port_cmaui02_port_exCP_naming: - type: org.openecomp.datatypes.Naming - required: true - status: SUPPORTED - port_cmaui02_port_fixed_ips: - type: list - required: true - status: SUPPORTED - entry_schema: - type: org.openecomp.datatypes.heat.neutron.port.FixedIps - port_cmaui02_port_mac_requirements: - type: org.openecomp.datatypes.network.MacRequirements - required: true - status: SUPPORTED - vm_flavor_name: - type: string - required: true - status: SUPPORTED - compute_cmaui_name: - type: list - required: true - status: SUPPORTED - entry_schema: - type: string - port_cmaui02_port_vlan_requirements: - type: list - required: true - status: SUPPORTED - entry_schema: - type: org.openecomp.datatypes.network.VlanRequirements - compute_cmaui_availability_zone: - type: list - required: true - status: SUPPORTED - entry_schema: - type: string - vm_image_name: - type: string - required: true - status: SUPPORTED - port_cmaui02_port_ip_requirements: - type: list - required: true - status: SUPPORTED - entry_schema: - type: org.openecomp.datatypes.network.IpRequirements - port_cmaui02_port_order: - type: integer - required: true - status: SUPPORTED - port_cmaui02_port_replacement_policy: - type: list - required: true - status: SUPPORTED - entry_schema: - type: string - port_cmaui02_port_network_role: - type: string - required: true - status: SUPPORTED - port_cmaui02_port_security_groups: - type: list - required: true - status: SUPPORTED - entry_schema: - type: json - port_cmaui02_port_subnetpoolid: - type: string - required: true - status: SUPPORTED - port_cmaui02_port_network: - type: list - required: true - status: SUPPORTED - entry_schema: - type: string - port_cmaui02_port_network_role_tag: - type: string - required: true - status: SUPPORTED - requirements: - - dependency_cmaui_cmaui02_port: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - occurrences: - - 0 - - UNBOUNDED - - link_cmaui_cmaui02_port: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - occurrences: - - 1 - - 1 - - dependency_cmaui: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - occurrences: - - 0 - - UNBOUNDED - - local_storage_cmaui: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - occurrences: - - 0 - - UNBOUNDED - capabilities: - network.incoming.bytes_cmaui_cmaui02_port: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.openecomp.capabilities.metric.Ceilometer - description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. - occurrences: - - 1 - - UNBOUNDED - host_cmaui: - type: tosca.capabilities.Container - valid_source_types: - - tosca.nodes.SoftwareComponent - occurrences: - - 1 - - UNBOUNDED - disk.device.allocation_cmaui: - type: org.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_cmaui_cmaui02_port: - type: tosca.capabilities.Node - occurrences: - - 1 - - UNBOUNDED - disk.read.bytes_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: tosca.capabilities.Scalable - occurrences: - - 1 - - UNBOUNDED - disk.device.write.bytes.rate_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: tosca.capabilities.OperatingSystem - occurrences: - - 1 - - UNBOUNDED - disk.device.read.bytes.rate_cmaui: - type: org.openecomp.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_cmaui_cmaui02_port: - type: org.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_cmaui_cmaui02_port: - type: tosca.capabilities.network.Bindable - valid_source_types: - - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface - occurrences: - - 0 - - UNBOUNDED - disk.device.usage_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.openecomp.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_cmaui_cmaui02_port: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: tosca.capabilities.Node - occurrences: - - 1 - - UNBOUNDED - network.incoming.packets_cmaui_cmaui02_port: - type: org.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_cmaui: - type: tosca.capabilities.network.Bindable - occurrences: - - 1 - - UNBOUNDED - attachment_cmaui_cmaui02_port: - type: tosca.capabilities.Attachment - occurrences: - - 1 - - UNBOUNDED - endpoint_cmaui: - type: tosca.capabilities.Endpoint.Admin - occurrences: - - 1 - - UNBOUNDED - disk.device.capacity_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.openecomp.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_cmaui_cmaui02_port: - type: org.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.usage_cmaui: - type: org.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_cmaui: - type: org.openecomp.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_cmaui_cmaui02_port: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.openecomp.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_cmaui_cmaui02_port: - type: org.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_cmaui: - type: org.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_cmaui: - type: org.openecomp.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_cmaui_cmaui02_port: - type: org.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_cmaui: - type: org.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.cmaui_1: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -7597,3 +6822,1130 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.abstract.nodes.oam: + derived_from: org.openecomp.resource.abstract.nodes.VFC + properties: + port_oam02_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam02_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_oam02_port_network_role: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_oam02_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_oam02_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_oam02_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_oam02_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_oam02_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_oam02_port_order: + type: integer + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_oam02_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_oam02_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_oam_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam02_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_oam_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + requirements: + - dependency_oam_oam02_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_oam_oam02_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_oam: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_oam: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + capabilities: + cpu_oam: + type: org.openecomp.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_oam_oam02_port: + type: org.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.usage_oam: + type: org.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_oam: + type: org.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_oam: + type: org.openecomp.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_oam_oam02_port: + type: org.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_oam: + type: org.openecomp.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_oam_oam02_port: + type: org.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_oam_oam02_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + scalable_oam: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_oam_oam02_port: + type: org.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_oam: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.allocation_oam: + type: org.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_oam: + type: org.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_oam: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.openecomp.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_oam_oam02_port: + type: org.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_oam: + type: org.openecomp.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_oam_oam02_port: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_oam: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + endpoint_oam: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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_oam_oam02_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + cpu_util_oam: + type: org.openecomp.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_oam_oam02_port: + type: org.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_oam: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + memory.usage_oam: + type: org.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_oam: + type: org.openecomp.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_oam_oam02_port: + type: org.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_oam_oam02_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes_oam: + type: org.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_oam: + type: org.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_oam: + type: org.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.cmaui: + derived_from: org.openecomp.resource.abstract.nodes.VFC + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_cmaui02_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_cmaui02_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_cmaui02_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + compute_cmaui_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui02_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_cmaui_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_image_name: + type: string + required: true + status: SUPPORTED + port_cmaui02_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_cmaui02_port_order: + type: integer + required: true + status: SUPPORTED + port_cmaui02_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui02_port_network_role: + type: string + required: true + status: SUPPORTED + port_cmaui02_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_cmaui02_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_cmaui02_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui02_port_network_role_tag: + type: string + required: true + status: SUPPORTED + requirements: + - dependency_cmaui_cmaui02_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_cmaui_cmaui02_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_cmaui: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_cmaui: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + capabilities: + network.incoming.bytes_cmaui_cmaui02_port: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_cmaui: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + disk.device.allocation_cmaui: + type: org.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_cmaui_cmaui02_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_cmaui: + type: org.openecomp.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_cmaui_cmaui02_port: + type: org.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_cmaui_cmaui02_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.device.usage_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.openecomp.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_cmaui_cmaui02_port: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_cmaui_cmaui02_port: + type: org.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_cmaui: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + attachment_cmaui_cmaui02_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + endpoint_cmaui: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.openecomp.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_cmaui_cmaui02_port: + type: org.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.usage_cmaui: + type: org.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_cmaui: + type: org.openecomp.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_cmaui_cmaui02_port: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.openecomp.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_cmaui_cmaui02_port: + type: org.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_cmaui: + type: org.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_cmaui: + type: org.openecomp.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_cmaui_cmaui02_port: + type: org.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_cmaui: + type: org.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.vfc.nodes.heat.cmaui: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_cmaui01_port_network_role: + type: string + required: true + status: SUPPORTED + port_cmaui01_port_order: + type: integer + required: true + status: SUPPORTED + port_cmaui01_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_cmaui01_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + vm_flavor_name: + type: string + required: true + status: SUPPORTED + compute_cmaui_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui01_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_cmaui_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui01_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_cmaui01_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_cmaui01_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_cmaui01_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_cmaui01_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_cmaui01_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui01_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + org.openecomp.resource.vfc.nodes.heat.ps: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_pd01_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_pd01_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + compute_ps_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_pd01_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd01_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_ps_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_order: + type: integer + required: true + status: SUPPORTED + port_pd01_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd01_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + org.openecomp.resource.vfc.nodes.heat.oam: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_oam01_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_oam01_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_oam01_port_order: + type: integer + required: true + status: SUPPORTED + port_oam01_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_oam01_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_oam01_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_oam01_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_oam01_port_network_role: + type: string + required: true + status: SUPPORTED + port_oam01_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_oam01_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + compute_oam_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam01_port_network_role_tag: + type: string + required: true + status: SUPPORTED + compute_oam_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam01_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsSameVmTypePattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsSameVmTypePattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml index eba51d82d0..576a2f4258 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsSameVmTypePattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsSameVmTypePattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -420,6 +420,85 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_pd_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd01_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd01_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd01_port_order: + type: integer + required: true + status: SUPPORTED + port_pd01_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd01_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd01_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_pd_server_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string org.openecomp.resource.abstract.nodes.pd_server_5: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -7524,4 +7603,4 @@ node_types: type: tosca.capabilities.OperatingSystem occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/GlobalSubstitutionTypesServiceTemplate.yaml index 8ba567db2c..164c5aed87 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,821 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.rd_server_1b: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_ps_server_b_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_ps_server_b_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_ps_server_b_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_rd_server_1b_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_b_port_network_role: + type: string + required: true + status: SUPPORTED + port_ps_server_b_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_ps_server_b_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_ps_server_b_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_ps_server_b_port_order: + type: integer + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_ps_server_b_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_ps_server_b_port_network_role_tag: + type: string + required: true + status: SUPPORTED + compute_rd_server_1b_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_b_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + org.openecomp.resource.vfc.nodes.heat.osm_server_1c2: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_osm_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_osm_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_osm_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_osm_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_osm_server_1c2_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_osm_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_osm_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_osm_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_osm_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_osm_port_network_role: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_osm_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_osm_port_order: + type: integer + required: true + status: SUPPORTED + compute_osm_server_1c2_metadata: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + compute_osm_server_1c2_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + attributes: + osm_server_1c2_accessIPv4: + type: string + status: SUPPORTED + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + p1: + type: string + description: UID of OAM network + required: true + status: SUPPORTED + p2: + type: string + description: UID of OAM network + required: true + status: SUPPORTED + port_pd_server_port_1_order: + type: integer + required: true + status: SUPPORTED + pd_server_names: + type: list + description: PD server names + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_port_1_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pd_server_port_2_network_role: + type: string + required: true + status: SUPPORTED + port_pd_server_port_1_network_role: + type: string + required: true + status: SUPPORTED + pd_server_flavor: + type: string + description: Flavor for PD server + required: true + status: SUPPORTED + port_pd_server_port_2_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd_server_port_2_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + availability_zone_0: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + net: + type: string + required: true + status: SUPPORTED + port_pd_server_port_2_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pd_server_port_2_subnetpoolid: + type: string + required: true + status: SUPPORTED + pd_server_ips: + type: string + required: true + status: SUPPORTED + port_pd_server_port_1_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pd_server_port_1_network_role_tag: + type: string + required: true + status: SUPPORTED + security_group_name: + type: list + description: CMAUI1, CMAUI2 server names + required: true + status: SUPPORTED + entry_schema: + type: string + ps_server_flavor: + type: string + description: Flavor for PS server + required: true + status: SUPPORTED + port_pd_server_port_1_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pd_server_port_2_order: + type: integer + required: true + status: SUPPORTED + port_pd_server_port_2_network_role_tag: + type: string + required: true + status: SUPPORTED + pd_server_image: + type: string + description: Flavor for PD server + required: true + status: SUPPORTED + port_pd_server_port_1_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd_server_port_2_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pd_server_port_1_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + attributes: + pattern4_attr_1: + type: string + description: pattern4_attr_1_value + status: SUPPORTED + requirements: + - dependency_pd_server_port_1: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pd_server_port_1: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_pd_server_port_2: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pd_server_port_2: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_server_pd: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_server_pd: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + capabilities: + disk.iops_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.openecomp.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_pd_server_port_1: + type: org.openecomp.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_pd_server_port_2: + type: org.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_server_pd: + type: org.openecomp.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_pd_server_port_1: + type: org.openecomp.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_pd_server_port_2: + type: org.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_server_pd: + type: org.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.usage_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_server_pd: + type: org.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_pd_server_port_2: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_pd_server_port_2: + type: org.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_pd_server_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_pd_server_port_1: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.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_pd_server_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + feature_pd_server_port_2: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_server_pd: + type: org.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_server_pd: + type: org.openecomp.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_pd_server_port_2: + type: org.openecomp.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_pd_server_port_1: + type: org.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_server_pd: + type: org.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_pd_server_port_2: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_pd_server_port_1: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + cpu.delta_server_pd: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_server_pd: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_pd_server_port_1: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.openecomp.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_pd_server_port_2: + type: org.openecomp.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_pd_server_port_2: + type: org.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_server_pd: + type: org.openecomp.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_pd_server_port_1: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.openecomp.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_pd_server_port_2: + type: org.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_server_pd: + type: org.openecomp.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_pd_server_port_1: + type: org.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_server_pd: + type: org.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_server_pd: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.device.latency_server_pd: + type: org.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_server_pd: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + scalable_server_pd: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_pd_server_port_2: + type: org.openecomp.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_pd_server_port_1: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.root.size_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.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_server_pd: + type: org.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.vfc.nodes.heat.BE_1c1: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_BE_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_BE_port_network_role: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_BE_port_order: + type: integer + required: true + status: SUPPORTED + port_BE_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_BE_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_BE_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_BE_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_BE_1c1_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_BE_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_BE_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_BE_port_network_role_tag: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + compute_BE_1c1_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_BE_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + attributes: + BE_1c1_accessIPv4: + type: string + status: SUPPORTED org.openecomp.resource.abstract.nodes.pd_server_1b_1: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -1292,6 +2107,101 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.oam_server_1c2: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_oam_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + compute_oam_server_1c2_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_oam_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_oam_port_order: + type: integer + required: true + status: SUPPORTED + port_oam_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + compute_oam_server_1c2_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_image_name: + type: string + required: true + status: SUPPORTED + compute_oam_server_1c2_metadata: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_oam_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_oam_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_oam_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_oam_port_network_role: + type: string + required: true + status: SUPPORTED + attributes: + oam_server_1c2_accessIPv4: + type: string + status: SUPPORTED org.openecomp.resource.abstract.nodes.heat.pd_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -2259,6 +3169,184 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pd_server_1b: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + compute_pd_server_1b_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_b_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd_server_b_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pd_server_b_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_pd_server_b_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd_server_b_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd_server_b_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_b_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd_server_b_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd_server_b_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_1b_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_b_port_order: + type: integer + required: true + status: SUPPORTED + port_pd_server_b_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + attributes: + pd_server_1b_accessIPv4: + type: string + status: SUPPORTED + org.openecomp.resource.vfc.nodes.heat.cmaui_1c1: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_cmaui_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_cmaui_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_cmaui_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_cmaui_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_cmaui_1c1_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_cmaui_port_order: + type: integer + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_cmaui_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_cmaui_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_network_role: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_cmaui_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + compute_cmaui_1c1_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + attributes: + cmaui_1c1_accessIPv4: + type: string + status: SUPPORTED org.openecomp.resource.abstract.nodes.BE_1c1: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -7899,4 +8987,4 @@ node_types: description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/MainServiceTemplate.yaml index 04be425c13..f272e87efd 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/MainServiceTemplate.yaml @@ -258,29 +258,6 @@ topology_template: port_pd_server_port_1_mac_requirements: mac_count_required: is_required: false - requirements: - - dependency_pd_server_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_pd_server_port_2: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_port_2: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pd: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pd: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo test_nested_no_compute: type: org.openecomp.resource.abstract.nodes.heat.nested-no-compute directives: @@ -328,29 +305,6 @@ topology_template: port_pd_server_port_1_mac_requirements: mac_count_required: is_required: false - requirements: - - dependency_pd_server_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_pd_server_port_2: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_port_2: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pd: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pd: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo packet_external_network: type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net properties: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/nested1ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/nested1ServiceTemplate.yaml index 049d11ded3..fd0e21909c 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/nested1ServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/nested1ServiceTemplate.yaml @@ -242,29 +242,6 @@ topology_template: port_pd_server_port_1_mac_requirements: mac_count_required: is_required: false - requirements: - - dependency_pd_server_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_pd_server_port_2: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_port_2: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pd: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pd: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo abstract_pd_server_1b: type: org.openecomp.resource.abstract.nodes.pd_server_1b directives: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllNonNestedPatterns/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllNonNestedPatterns/out/GlobalSubstitutionTypesServiceTemplate.yaml index ef3fc1ac7f..df3f7a36ac 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllNonNestedPatterns/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllNonNestedPatterns/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,91 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.ps_server_1b: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_ps_server_b_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_ps_server_b_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_ps_server_b_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_ps_server_b_port_network_role: + type: string + required: true + status: SUPPORTED + port_ps_server_b_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_ps_server_b_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_ps_server_b_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_ps_server_b_port_order: + type: integer + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_ps_server_b_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_ps_server_b_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_ps_server_b_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_ps_server_1b_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_ps_server_1b_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string org.openecomp.resource.abstract.nodes.oam_server_1c2: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -426,6 +511,91 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.oam_server_1c2: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_oam_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + compute_oam_server_1c2_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_oam_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_oam_port_order: + type: integer + required: true + status: SUPPORTED + port_oam_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + compute_oam_server_1c2_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_image_name: + type: string + required: true + status: SUPPORTED + port_oam_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_oam_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_oam_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_oam_port_network_role: + type: string + required: true + status: SUPPORTED org.openecomp.resource.abstract.nodes.pd_server_1b: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -847,6 +1017,176 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pd_server_1b: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + compute_pd_server_1b_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_b_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd_server_b_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pd_server_b_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_pd_server_b_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd_server_b_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd_server_b_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_b_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd_server_b_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd_server_b_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_1b_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_b_port_order: + type: integer + required: true + status: SUPPORTED + port_pd_server_b_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + org.openecomp.resource.vfc.nodes.heat.cmaui_1c1: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_cmaui_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_cmaui_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_cmaui_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_cmaui_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_cmaui_1c1_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_cmaui_port_order: + type: integer + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_cmaui_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_cmaui_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_network_role: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_cmaui_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + compute_cmaui_1c1_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_subnetpoolid: + type: string + required: true + status: SUPPORTED org.openecomp.resource.abstract.nodes.heat.nested1: derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute properties: @@ -3841,4 +4181,4 @@ node_types: description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/MainServiceTemplate.yaml index 4b52dd0087..1602a813ba 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/MainServiceTemplate.yaml @@ -61,29 +61,6 @@ topology_template: port_pd_server_port_1_mac_requirements: mac_count_required: is_required: false - requirements: - - dependency_pd_server_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_pd_server_port_2: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pd_server_port_2: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pd: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pd: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo test_nested_no_compute: type: org.openecomp.resource.abstract.nodes.heat.nested-no-compute directives: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedCatalogInstance/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedCatalogInstance/out/GlobalSubstitutionTypesServiceTemplate.yaml index 8fe327f845..6d6a5de44e 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedCatalogInstance/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedCatalogInstance/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -426,6 +426,91 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.cmaui: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_cmaui_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_cmaui_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_cmaui_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_cmaui_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_cmaui_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_cmaui_port_order: + type: integer + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + compute_cmaui_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + compute_cmaui_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_network_role: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_cmaui_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_cmaui_port_subnetpoolid: + type: string + required: true + status: SUPPORTED org.openecomp.resource.abstract.nodes.heat.nested1: derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute properties: @@ -1195,4 +1280,4 @@ node_types: description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedScalingInstance/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedScalingInstance/out/GlobalSubstitutionTypesServiceTemplate.yaml index 3113acf1d8..732e0000f1 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedScalingInstance/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedScalingInstance/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -426,6 +426,91 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.cmaui: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_cmaui_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_cmaui_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_cmaui_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_cmaui_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_cmaui_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_cmaui_port_order: + type: integer + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + compute_cmaui_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + compute_cmaui_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_network_role: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_cmaui_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_cmaui_port_subnetpoolid: + type: string + required: true + status: SUPPORTED org.openecomp.resource.abstract.nodes.heat.nested1: derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute properties: @@ -1145,4 +1230,4 @@ node_types: description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedSingleSubstitution1B/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedSingleSubstitution1B/out/GlobalSubstitutionTypesServiceTemplate.yaml index d51e4f4f2f..75d9aef275 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedSingleSubstitution1B/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedSingleSubstitution1B/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,91 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pd_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_pd_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pd_server_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd_server_port_order: + type: integer + required: true + status: SUPPORTED + port_pd_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pd_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED org.openecomp.resource.abstract.nodes.pd_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -426,6 +511,91 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.ps_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_ps_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_ps_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_ps_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_network_role: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_ps_server_port_order: + type: integer + required: true + status: SUPPORTED + port_ps_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_ps_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_ps_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_ps_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_ps_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_ps_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED org.openecomp.resource.abstract.nodes.heat.nested1: derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute properties: @@ -1587,4 +1757,4 @@ node_types: description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameFileOneDiff/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameFileOneDiff/out/GlobalSubstitutionTypesServiceTemplate.yaml index b5dc2d96c3..34c5eefc65 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameFileOneDiff/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameFileOneDiff/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,91 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pd_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_pd_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pd_server_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd_server_port_order: + type: integer + required: true + status: SUPPORTED + port_pd_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pd_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED org.openecomp.resource.abstract.nodes.pd_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -1918,6 +2003,176 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.ps_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_ps_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_ps_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_ps_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_network_role: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_ps_server_port_order: + type: integer + required: true + status: SUPPORTED + port_ps_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_ps_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_ps_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_ps_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_ps_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_ps_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + org.openecomp.resource.vfc.nodes.heat.sm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_sm_server_port_order: + type: integer + required: true + status: SUPPORTED + port_sm_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_sm_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_sm_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_sm_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_sm_server_port_network_role: + type: string + required: true + status: SUPPORTED + port_sm_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_sm_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_sm_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_image_name: + type: string + required: true + status: SUPPORTED + compute_sm_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_sm_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_sm_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_sm_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps org.openecomp.resource.abstract.nodes.oam_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -3181,3 +3436,88 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.oam_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_oam_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_server_port_order: + type: integer + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_oam_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_oam_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_oam_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + compute_oam_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_image_name: + type: string + required: true + status: SUPPORTED + port_oam_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_oam_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_oam_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_oam_server_port_network_role: + type: string + required: true + status: SUPPORTED + port_oam_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_oam_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameOneDiffWithConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameOneDiffWithConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml index 9c2d3e605d..1c8f548356 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameOneDiffWithConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameOneDiffWithConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,97 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pd_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pd_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_pd_server_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + compute_pd_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pd_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_pd_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pd_server_port_network_role: + type: string + required: true + status: SUPPORTED + port_pd_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pd_server_port_order: + type: integer + required: true + status: SUPPORTED + port_pd_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pd_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pd_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED org.openecomp.resource.abstract.nodes.pd_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -1924,6 +2015,188 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.ps_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_ps_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_ps_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_ps_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_ps_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_network_role: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_ps_server_port_order: + type: integer + required: true + status: SUPPORTED + port_ps_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_ps_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_ps_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_ps_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_ps_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_ps_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_ps_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + org.openecomp.resource.vfc.nodes.heat.sm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_sm_server_port_order: + type: integer + required: true + status: SUPPORTED + port_sm_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_sm_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_sm_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_sm_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_sm_server_port_network_role: + type: string + required: true + status: SUPPORTED + port_sm_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_sm_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_sm_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_image_name: + type: string + required: true + status: SUPPORTED + compute_sm_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_sm_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_sm_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_sm_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_sm_server_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json org.openecomp.resource.abstract.nodes.oam_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -3205,3 +3478,94 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.oam_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_oam_server_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_server_port_order: + type: integer + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_oam_server_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_oam_server_port_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_oam_server_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_oam_server_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + compute_oam_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_image_name: + type: string + required: true + status: SUPPORTED + port_oam_server_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_oam_server_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_oam_server_port_network_role_tag: + type: string + required: true + status: SUPPORTED + port_oam_server_port_network_role: + type: string + required: true + status: SUPPORTED + port_oam_server_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_oam_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_oam_server_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/diffNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/diffNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml index ccafac79bd..f57796a212 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/diffNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/diffNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml @@ -91,29 +91,6 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo server_pcm_001: type: org.openecomp.resource.abstract.nodes.heat.pcm_server_1 directives: @@ -151,29 +128,6 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo compute_port_0: type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port properties: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/MANIFEST.json new file mode 100644 index 0000000000..b15ef7ced2 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/MANIFEST.json @@ -0,0 +1,36 @@ +{ + "name": "shlomi_5068", + "description": "shlomi_5068", + "version": "1.0", + "data": [ + { + "isBase": true, + "file": "base_cscf.yaml", + "type": "HEAT", + "data": [ + { + "file": "base_cscf.env", + "type": "HEAT_ENV" + }, + { + "file": "base_cscf_volume.yaml", + "type": "HEAT_VOL", + "data": [ + { + "file": "base_cscf_volume.env", + "type": "HEAT_ENV" + } + ] + } + ] + }, + { + "file": "nested_tdcore.yaml", + "type": "HEAT" + }, + { + "file": "nested_cscf.yaml", + "type": "HEAT" + } + ] +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf.env new file mode 100644 index 0000000000..5439cc54b5 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf.env @@ -0,0 +1,406 @@ +## Copyright:: Nokia Corporation 2017 +## Note: Nokia VM HOT file for CFX-5000 IMS17.0 +## Name: "base_cscf.env" +## History +## Date: 23 Aug 2017 +## 1. corrected the flavour +## 2. internal ip range to match the TPD for all VMs +## 3. number of internal ip assignment in list +## a) cscf_internal_zone_0_ips +## b) cscf_internal_zone_1_ips +## c) cscf_internal_zone_0_v6_ips +## d) cscf_internal_zone_1_v6_ips +## e) tdcore_internal_zone_0_ips +## f) tdcore_internal_zone_1_ips +## to match the count of cscf and tdcore. +## +## Kilo Version + +parameters: +# PSEUDO CONSTANTS +# ----------------------------------------------------------------------------- + vcscf_release: "17.0" + vcscf_name_delimeter: "_" + vcscf_internal_network_mtu: 1500 + + oam_image_name: IMS_17_0_OPENSTACK_OAM_1701400.000 + cif_image_name: IMS_17_0_OPENSTACK_CSCF_1701400.000 + lbd_image_name: IMS_17_0_OPENSTACK_CSCF_1701400.000 + cdi_image_name: IMS_17_0_OPENSTACK_CSCF_1701400.000 + cscf_image_name: IMS_17_0_OPENSTACK_CSCF_1701400.000 + tdcore_image_name: IMS_17_0_OPENSTACK_CSCF_1701400.000 + + oam_flavor_name: ND.c4r32d30 + cscf_flavor_name: ND.c8r16d38 + cif_flavor_name: ND.c4r16d38 + lbd_flavor_name: ND.c4r16d38 + tdcore_flavor_name: ND.c4r16d38 + cdi_flavor_name: ND.c4r8d38 + + + # vCSCF VM Counts + + cscf_zone_0_count: 19 + cscf_zone_1_count: 18 + tdcore_zone_0_count: 4 + tdcore_zone_1_count: 4 + + + # vCSCF Internal Network + + vcscf_internal_netmask: 255.255.255.0 + vcscf_internal_network_cidr: 192.168.210.0/24 + vcscf_internal_network_v6_cidr: 2a00:9a00:a000:1190:0:1:1:2b00/120 + vcscf_internal_dpdk_network_cidr: 192.168.211.0/24 + + # OAM Internal network + + oam_internal_vip_0: 192.168.210.3 + oam_internal_ip_0: 192.168.210.136 + oam_internal_ip_1: 192.168.210.137 + oam_internal_ip_2: 192.168.210.138 + + # CSCF VM Internal Network + + cscf_internal_zone_0_ips: + - 192.168.210.16 + - 192.168.210.18 + - 192.168.210.20 + - 192.168.210.22 + - 192.168.210.24 + - 192.168.210.26 + - 192.168.210.28 + - 192.168.210.30 + - 192.168.210.32 + - 192.168.210.34 + - 192.168.210.36 + - 192.168.210.38 + - 192.168.210.40 + - 192.168.210.42 + - 192.168.210.44 + - 192.168.210.46 + - 192.168.210.48 + - 192.168.210.50 + - 192.168.210.52 + + cscf_internal_zone_1_ips: + - 192.168.210.17 + - 192.168.210.19 + - 192.168.210.21 + - 192.168.210.23 + - 192.168.210.25 + - 192.168.210.27 + - 192.168.210.29 + - 192.168.210.31 + - 192.168.210.33 + - 192.168.210.35 + - 192.168.210.37 + - 192.168.210.39 + - 192.168.210.41 + - 192.168.210.43 + - 192.168.210.45 + - 192.168.210.47 + - 192.168.210.49 + - 192.168.210.51 + cscf_internal_zone_0_v6_ips: + - "2a00:9a00:a000:1190:0:1:1:2b10" + - "2a00:9a00:a000:1190:0:1:1:2b12" + - "2a00:9a00:a000:1190:0:1:1:2b14" + - "2a00:9a00:a000:1190:0:1:1:2b16" + - "2a00:9a00:a000:1190:0:1:1:2b18" + - "2a00:9a00:a000:1190:0:1:1:2b1a" + - "2a00:9a00:a000:1190:0:1:1:2b1c" + - "2a00:9a00:a000:1190:0:1:1:2b1e" + - "2a00:9a00:a000:1190:0:1:1:2b20" + - "2a00:9a00:a000:1190:0:1:1:2b22" + - "2a00:9a00:a000:1190:0:1:1:2b24" + - "2a00:9a00:a000:1190:0:1:1:2b26" + - "2a00:9a00:a000:1190:0:1:1:2b28" + - "2a00:9a00:a000:1190:0:1:1:2b2a" + - "2a00:9a00:a000:1190:0:1:1:2b2c" + - "2a00:9a00:a000:1190:0:1:1:2b2e" + - "2a00:9a00:a000:1190:0:1:1:2b30" + - "2a00:9a00:a000:1190:0:1:1:2b32" + - "2a00:9a00:a000:1190:0:1:1:2b34" + + cscf_internal_zone_1_v6_ips: + - "2a00:9a00:a000:1190:0:1:1:2b11" + - "2a00:9a00:a000:1190:0:1:1:2b13" + - "2a00:9a00:a000:1190:0:1:1:2b15" + - "2a00:9a00:a000:1190:0:1:1:2b17" + - "2a00:9a00:a000:1190:0:1:1:2b19" + - "2a00:9a00:a000:1190:0:1:1:2b1b" + - "2a00:9a00:a000:1190:0:1:1:2b1d" + - "2a00:9a00:a000:1190:0:1:1:2b1f" + - "2a00:9a00:a000:1190:0:1:1:2b21" + - "2a00:9a00:a000:1190:0:1:1:2b23" + - "2a00:9a00:a000:1190:0:1:1:2b25" + - "2a00:9a00:a000:1190:0:1:1:2b27" + - "2a00:9a00:a000:1190:0:1:1:2b29" + - "2a00:9a00:a000:1190:0:1:1:2b2b" + - "2a00:9a00:a000:1190:0:1:1:2b2d" + - "2a00:9a00:a000:1190:0:1:1:2b2f" + - "2a00:9a00:a000:1190:0:1:1:2b31" + - "2a00:9a00:a000:1190:0:1:1:2b33" + + # TDCore VM Internal Network + + tdcore_internal_zone_0_ips: + - 192.168.210.8 + - 192.168.210.10 + - 192.168.210.12 + - 192.168.210.14 + + tdcore_internal_zone_1_ips: + - 192.168.210.9 + - 192.168.210.11 + - 192.168.210.13 + - 192.168.210.15 + # TDCore VM DPDK Internal Network + + tdcore_dpdk_zone_0_ips: + - 192.168.211.8 + - 192.168.211.10 + - 192.168.211.12 + - 192.168.211.14 + + tdcore_dpdk_zone_1_ips: + - 192.168.211.9 + - 192.168.211.11 + - 192.168.211.13 + - 192.168.211.15 + + # CIF VM Internal Network + + cif_internal_ip_0: 192.168.210.1 + cif_internal_ip_1: 192.168.210.2 + cif_internal_vip_0: 192.168.210.150 + cif_internal_v6_ip_0: "2a00:9a00:a000:1190:0:1:1:2b04" + cif_internal_v6_ip_1: "2a00:9a00:a000:1190:0:1:1:2b05" + + # LBD (l2TD) VM Internal Network + + lbd_internal_ip_0: 192.168.210.4 + lbd_internal_ip_1: 192.168.210.5 + + # LBD (l2TD) VM DPDK Internal Network + + lbd_internal_dpdk_ip_0: 192.168.211.1 + lbd_internal_dpdk_ip_1: 192.168.211.2 + lbd_internal_dpdk_vip_0: 192.168.211.181 + + # CDI VM Internal Network + + cdi_internal_ip_0: 192.168.210.139 + cdi_internal_ip_1: 192.168.210.140 + + + cdi_internal_v6_ip_0: "2a00:9a00:a000:1190:0:1:1:2b8b" + cdi_internal_v6_ip_1: "2a00:9a00:a000:1190:0:1:1:2b8c" + cdi_internal_v6_vip_0: "2a00:9a00:a000:1190:0:1:1:2b8d" + +# SITE SPECIFIC +# ----------------------------------------------------------------------------- +# oam_volume_id_0: f0781f87-671c-40c0-82ce-4d8c0531fbc1 +# oam_volume_id_1: 53a1d529-47a1-4722-bab0-d502603eef14 +# cif_volume_id_0: d2262ef6-7bac-4c4e-abfb-fd78e3f0cc0b +# cif_volume_id_1: b1f6f2bc-6774-4c66-88ef-cb225d216bf0 +# +# +#------------------------------------ +# Preload Sheet +#------------------------------------ +# # Network IDs +# oam_net_id: LAN1 +# ims_core_net_id: ipv6_1256 +# ims_li_v6_net_id: ipv6_1255 +# +# # instance availability zones for 1+1 pairs +# availability_zone_0: zone1 +# availability_zone_1: zone2 +# +# cif_oam_ip_0: 192.168.1.26 +# cif_oam_ip_1: 192.168.1.27 +# +# Tag Value +# cif_oam_vip_0: 192.168.1.28 +# +# cif_ims_core_v6_ip_0: "2a00:8a00:a000:4000::308" +# cif_ims_core_v6_ip_1: "2a00:8a00:a000:4000::309" +# cif_ims_core_v6_vip_0: "2a00:8a00:a000:4000::310" +# +# # Seperated Interface for LI-X1 (eth3) +# cif_oam_ip_2: 192.168.1.29 +# cif_oam_ip_3: 192.168.1.30 +# +# Tag Value +# cif_oam_vip_1: 192.168.1.31 +# +# # Seperated Interface for LI-X2 (eth4) +# +# cif_ims_li_v6_ip_0: "2a00:8a00:a000:4000::284" +# cif_ims_li_v6_ip_1: "2a00:8a00:a000:4000::285" +# cif_ims_li_v6_vip_0: "2a00:8a00:a000:4000::286" +# +# +# lbd_ims_core_v6_ip_0: "2a00:8a00:a000:4000::311" +# lbd_ims_core_v6_ip_1: "2a00:8a00:a000:4000::312" +# lbd_ims_core_v6_vip_0: "2a00:8a00:a000:4000::313" +# +# +# cdi_ims_core_v6_ip_0: "2a00:8a00:a000:4000::314" +# cdi_ims_core_v6_ip_1: "2a00:8a00:a000:4000::315" +# cdi_ims_core_v6_vip_0: "2a00:8a00:a000:4000::316" +# +# oam_name_0: cscf0011vm001oam001 +# oam_name_1: cscf0011vm002oam001 +# oam_name_2: cscf0011vm003oam001 +# cif_name_0: cscf0011vm004cif001 +# cif_name_1: cscf0011vm005cif001 +# cdi_name_0: cscf0011vm006cdi001 +# cdi_name_1: cscf0011vm007cdi001 +# lbd_name_0: cscf0011vm008lbd001 +# lbd_name_1: cscf0011vm009lbd001 +# +#------------------------------------ +# Tag values +#------------------------------------ +# +# vcscf_dn: DN1 +# vcscf_du: DU1 +# vcscf_cmrepo_address: 10.111.12.71 +# vcscf_swrepo_address: 10.111.12.71 +# vcscf_dns_address: 10.111.12.67 +# +# vnf_name: CSCF0001 +# vnf_id: CSCF0001 +# vf_module_name: CSCF0001 +# vf_module_id: CSCF0001 +# +# vcscf_oam_netmask: 255.255.255.0 +# vcscf_default_gateway: 192.168.1.1 +# +# oam_oam_vip_0: 192.168.1.21 +# oam_oam_ip_0: 192.168.1.23 +# oam_oam_ip_1: 192.168.1.24 +# oam_oam_ip_2: 192.168.1.25 +# +# tdcore_zone_0_names: +# - cscf0011vm101sip001 +# - cscf0011vm103sip001 +# - cscf0011vm105sip001 +# - cscf0011vm107sip001 +# +# tdcore_zone_1_names: +# - cscf0011vm102sip001 +# - cscf0011vm104sip001 +# - cscf0011vm106sip001 +# - cscf0011vm108sip001 +# +# cscf_zone_0_names: +# - cscf0011vm201scf001 +# - cscf0011vm203scf001 +# - cscf0011vm205scf001 +# - cscf0011vm207scf001 +# - cscf0011vm209scf001 +# - cscf0011vm211scf001 +# - cscf0011vm213scf001 +# - cscf0011vm215scf001 +# - cscf0011vm217scf001 +# - cscf0011vm219scf001 +# - cscf0011vm221scf001 +# - cscf0011vm223scf001 +# - cscf0011vm225scf001 +# - cscf0011vm227scf001 +# - cscf0011vm229scf001 +# - cscf0011vm231scf001 +# - cscf0011vm233scf001 +# - cscf0011vm235scf001 +# - cscf0011vm237scf001 +# +# cscf_zone_1_names: +# - cscf0011vm202scf001 +# - cscf0011vm204scf001 +# - cscf0011vm206scf001 +# - cscf0011vm208scf001 +# - cscf0011vm210scf001 +# - cscf0011vm212scf001 +# - cscf0011vm214scf001 +# - cscf0011vm216scf001 +# - cscf0011vm218scf001 +# - cscf0011vm220scf001 +# - cscf0011vm222scf001 +# - cscf0011vm224scf001 +# - cscf0011vm226scf001 +# - cscf0011vm228scf001 +# - cscf0011vm230scf001 +# - cscf0011vm232scf001 +# - cscf0011vm234scf001 +# - cscf0011vm236scf001 +# +# # Below value should be taken from CMRepo after parsing the TPD or the below names should be used while parsing TPD as input +# +# oam_uuid_0: cscf0011vm001oam001 +# oam_uuid_1: cscf0011vm002oam001 +# oam_uuid_2: cscf0011vm003oam001 +# cif_uuid_0: cscf0011vm004cif001 +# cif_uuid_1: cscf0011vm005cif001 +# lbd_uuid_0: cscf0011vm006cdi001 +# lbd_uuid_1: cscf0011vm007cdi001 +# cdi_uuid_0: cscf0011vm008lbd001 +# cdi_uuid_1: cscf0011vm009lbd001 +# +# tdcore_zone_0_uuids: +# - cscf0011vm101sip001 +# - cscf0011vm103sip001 +# - cscf0011vm105sip001 +# - cscf0011vm107sip001 +# +# tdcore_zone_1_uuids: +# - cscf0011vm102sip001 +# - cscf0011vm104sip001 +# - cscf0011vm106sip001 +# - cscf0011vm108sip001 +# +# cscf_zone_0_uuids: +# - cscf0011vm201scf001 +# - cscf0011vm203scf001 +# - cscf0011vm205scf001 +# - cscf0011vm207scf001 +# - cscf0011vm209scf001 +# - cscf0011vm211scf001 +# - cscf0011vm213scf001 +# - cscf0011vm215scf001 +# - cscf0011vm217scf001 +# - cscf0011vm219scf001 +# - cscf0011vm221scf001 +# - cscf0011vm223scf001 +# - cscf0011vm225scf001 +# - cscf0011vm227scf001 +# - cscf0011vm229scf001 +# - cscf0011vm231scf001 +# - cscf0011vm233scf001 +# - cscf0011vm235scf001 +# - cscf0011vm237scf001 +# +# cscf_zone_1_uuids: +# - cscf0011vm202scf001 +# - cscf0011vm204scf001 +# - cscf0011vm206scf001 +# - cscf0011vm208scf001 +# - cscf0011vm210scf001 +# - cscf0011vm212scf001 +# - cscf0011vm214scf001 +# - cscf0011vm216scf001 +# - cscf0011vm218scf001 +# - cscf0011vm220scf001 +# - cscf0011vm222scf001 +# - cscf0011vm224scf001 +# - cscf0011vm226scf001 +# - cscf0011vm228scf001 +# - cscf0011vm230scf001 +# - cscf0011vm232scf001 +# - cscf0011vm234scf001 +# - cscf0011vm236scf001 + + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf.yaml new file mode 100644 index 0000000000..f907f2849d --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf.yaml @@ -0,0 +1,2045 @@ +## Copyright:: Nokia Corporation 2017 +## Note: Nokia VM HOT file for CFX +## Name: "base_cscf.yaml" +## Date: 20 Mar 2017 +## Kilo Version +heat_template_version: 2015-04-30 + +description: > + CFX-5000 N+K VNF HOT template for AT&T. + +parameters: + + vnf_name: + type: string + description: Unique name for this VF instance + + vnf_id: + type: string + description: Unique ID for this VF instance + + vf_module_name: + type: string + description: Unique name for this VF Module instance + + vf_module_id: + type: string + description: Unique ID for this VF Module instance + + cif_volume_id_0: + type: string + description: size of the cinder volume used for cif + cif_volume_id_1: + type: string + description: size of the cinder volume used for cif + + oam_volume_id_0: + type: string + description: size of the cinder volume used for oam + oam_volume_id_1: + type: string + description: size of the cinder volume used for oam + + oam_net_id: + type: string + description: Name/UUID of OAM network + + ims_core_net_id: + type: string + description: Name/UUID of Core network + + ims_li_v6_net_id: + type: string + description: Name/UUID of V6 LI network + + availability_zone_0: + type: string + description: > + Availability zone where the first node of a pair will be deployed. + Availability zone 0 and 1 can have same zone name if single zone is used. + + availability_zone_1: + type: string + description: > + Availability zone where the second node of a pair will be deployed. + Availability zone 0 and 1 can have same zone name if single zone is used. + + oam_image_name: + type: string + description: OAM VM image name + + cif_image_name: + type: string + description: CSCF CIF VM image name + + lbd_image_name: + type: string + description: CSCF LBD VM image name + + cdi_image_name: + type: string + description: CDI VM image name + + cscf_image_name: + type: string + description: CSCF server VM image name + + tdcore_image_name: + type: string + description: TDCORE VM image name + + oam_flavor_name: + type: string + description: OAM VM flavor + + cscf_flavor_name: + type: string + description: CSCF server VM flavor + + cif_flavor_name: + type: string + description: CSCF CIF VM flavor + + lbd_flavor_name: + type: string + description: CSCF LBD VM flavor + + tdcore_flavor_name: + type: string + description: TDCORE VM flavor + + cdi_flavor_name: + type: string + description: CDI VM flavor + + cscf_zone_0_count: + type: number + description: > + Number of CSCF to be deployed on zone 0. + This parameter is used to scale the cscf instances. + constraints: + - range: { min: 0, max: 120 } + + cscf_zone_1_count: + type: number + description: > + Number of CSCF to be deployed on zone 1. + This parameter is used to scale the cscf instances. + constraints: + - range: { min: 0, max: 120 } + + tdcore_zone_0_count: + type: number + description: > + Number of TD Core VMs to be deployed zone 0. + This parameter is used to scale the TD Core instances. + constraints: + - range: { min: 0, max: 8 } + + tdcore_zone_1_count: + type: number + description: > + Number of TD Core VMs to be deployed zone 1. + This parameter is used to scale the TD Core instances. + constraints: + - range: { min: 0, max: 8 } + + vcscf_internal_netmask: + type: string + description: Netmask for Internal LAN + + vcscf_internal_network_cidr: + type: string + description: CIDR for for Internal LAN + + vcscf_internal_network_v6_cidr: + type: string + description: CIDR for for Internal LAN v6 + + vcscf_internal_dpdk_network_cidr: + type: string + description: CIDR for for Internal LAN DPDK + + vcscf_oam_netmask: + type: string + description: Netmask for OAM LAN + + vcscf_default_gateway: + type: string + description: Default gateway for OAM LAN + + oam_oam_vip_0: + type: string + description: OAM CIPA IP of OAM unit + + oam_oam_ip_0: + type: string + description: OAM IP of OAM01 instance + + oam_oam_ip_1: + type: string + description: OAM IP of OAM02 instance + + oam_oam_ip_2: + type: string + description: OAM IP of OAM03 instance + + oam_internal_vip_0: + type: string + description: Internal CIPA IP of OAM unit + + oam_internal_ip_0: + type: string + description: Internal IP of OAM01 instance + + oam_internal_ip_1: + type: string + description: Internal IP of OAM01 instance + + oam_internal_ip_2: + type: string + description: Internal IP of OAM01 instance + + cscf_internal_zone_0_ips: + type: comma_delimited_list + description: "List of Internal Lan IPs for CSCF instances on zone 0" + + cscf_internal_zone_0_v6_ips: + type: comma_delimited_list + description: "List of Internal Lan v6 IPs for CSCF instances on zone 0" + + cscf_internal_zone_1_ips: + type: comma_delimited_list + description: "List of Internal Lan IPs for CSCF instances on zone 1" + + cscf_internal_zone_1_v6_ips: + type: comma_delimited_list + description: "List of Internal Lan v6 IPs for CSCF instances on zone 1" + + tdcore_internal_zone_0_ips: + type: comma_delimited_list + description: "List of Internal Lan IPs for TDCORE instances on zone 0" + + tdcore_dpdk_zone_0_ips: + type: comma_delimited_list + description: "List of DPDK Lan IPs for TDCORE instances on zone 0" + + tdcore_internal_zone_1_ips: + type: comma_delimited_list + description: "List of Internal Lan IPs for TDCORE instances on zone 1" + + tdcore_dpdk_zone_1_ips: + type: comma_delimited_list + description: "List of DPDK Lan IPs for TDCORE instances on zone 1" + + cif_internal_ip_0: + type: string + description: Internal IP of CIF01 instance + + cif_internal_ip_1: + type: string + description: Internal IP of CIF02 instance + + cif_internal_vip_0: + type: string + description: Internal CIPA IP of CIF + + cif_internal_v6_ip_0: + type: string + description: Internal IP v6 of CIF01 instance + + cif_internal_v6_ip_1: + type: string + description: Internal IP v6 of CIF02 instance + + cif_oam_ip_0: + type: string + description: OAM IP of CIF01 instance + + cif_oam_ip_1: + type: string + description: OAM IP of CIF02 instance + + cif_oam_vip_0: + type: string + description: OAM CIPA IP of CIF + + cif_ims_core_v6_ip_0: + type: string + description: IMS CORE v6 IP of CIF01 instance + + cif_ims_core_v6_ip_1: + type: string + description: IMS CORE v6 IP of CIF02 instance + + cif_ims_core_v6_vip_0: + type: string + description: IMS CORE v6 CIPA IP of CIF + + cif_oam_ip_2: + type: string + description: OAM (LI-X1) v4 IP of CIF01 instance + + cif_oam_ip_3: + type: string + description: OAM (LI-X1) v4 IP of CIF02 instance + + cif_oam_vip_1: + type: string + description: OAM (LI-X1) v4 CIPA of CIF + + cif_ims_li_v6_ip_0: + type: string + description: IMS LI v6 IP of CIF01 instance + + cif_ims_li_v6_ip_1: + type: string + description: IMS LI v6 IP of CIF02 instance + + cif_ims_li_v6_vip_0: + type: string + description: IMS LI CIPA v6 IP of CIF + + lbd_internal_ip_0: + type: string + description: Internal IP of LBD01 instance + + lbd_internal_ip_1: + type: string + description: Internal IP of LBD02 instance + + lbd_internal_dpdk_ip_0: + type: string + description: Internal DPDK IP of LBD01 instance + + lbd_internal_dpdk_ip_1: + type: string + description: Internal DPDK IP of LBD02 instance + + lbd_internal_dpdk_vip_0: + type: string + description: Internal DPDK CIP IP of LBD + + lbd_ims_core_v6_ip_0: + type: string + description: IMS CORE v6 IP of LBD01 instance + + lbd_ims_core_v6_ip_1: + type: string + description: IMS CORE v6 IP of LBD02 instance + + lbd_ims_core_v6_vip_0: + type: string + description: IMS CORE CIPA v6 IP of LBD + + cdi_internal_ip_0: + type: string + description: Internal IP of CDI01 instance + + cdi_internal_ip_1: + type: string + description: Internal IP of CDI02 instance + + cdi_internal_v6_ip_0: + type: string + description: Internal v6 IP of CDI01 instance + + cdi_internal_v6_ip_1: + type: string + description: Internal v6 IP of CDI02 instance + + cdi_internal_v6_vip_0: + type: string + description: Internal v6 CIPA IP of CDI + + cdi_ims_core_v6_ip_0: + type: string + description: IMS CORE LAN v6 IP of CDI01 instance + + cdi_ims_core_v6_ip_1: + type: string + description: IMS CORE LAN v6 IP of CDI02 instance + + cdi_ims_core_v6_vip_0: + type: string + description: IMS CORE LAN CIPA v6 IP of CDI + + vcscf_name_delimeter: + type: string + description: 'delimeter used in concatenating different words while naming (ex: "-","_",".",...)' + constraints: + - allowed_values: [ '-', '', '_', '.'] + + oam_name_0: + type: string + description: OAM01 instance name + + oam_name_1: + type: string + description: OAM02 instance name + + oam_name_2: + type: string + description: OAM03 instance name + + cif_name_0: + type: string + description: CIF01 instance name + + cif_name_1: + type: string + description: CIF02 instance name + + lbd_name_0: + type: string + description: LBD01 instance name + + lbd_name_1: + type: string + description: LBD02 instance name + + cdi_name_0: + type: string + description: CDI01 instance name + + cdi_name_1: + type: string + description: CDI02 instance name + + cscf_zone_0_names: + type: comma_delimited_list + description: "List of instance names for CSCF instances on zone 0" + + cscf_zone_1_names: + type: comma_delimited_list + description: "List of instance names for CSCF instances on zone 1" + + tdcore_zone_0_names: + type: comma_delimited_list + description: "List of instance names for TDCORE instances on zone 0" + + tdcore_zone_1_names: + type: comma_delimited_list + description: "List of instance names for TDCORE instances on zone 1" + + vcscf_release: + type: string + description: "IMS release" + + vcscf_dn: + type: string + description: "DN name" + + vcscf_du: + type: string + description: "DU name" + + vcscf_cmrepo_address: + type: string + description: "CMRepo IP or FQDN" + + vcscf_swrepo_address: + type: string + description: SWRepo IP or FQDN + + vcscf_dns_address: + type: string + description: DNS server IP + + vcscf_internal_network_mtu: + type: number + description: MTU for internal network interface (eth0) + constraints: + - range: { min: 1000, max: 9100 } + + oam_uuid_0: + type: string + description: UUID generated by cmrepo for OAM01 + + oam_uuid_1: + type: string + description: UUID generated by cmrepo for OAM02 + + oam_uuid_2: + type: string + description: UUID generated by cmrepo for OAM03 + + cif_uuid_0: + type: string + description: UUID generated by cmrepo for CIF01 + + cif_uuid_1: + type: string + description: UUID generated by cmrepo for CIF02 + + lbd_uuid_0: + type: string + description: UUID generated by cmrepo for LBD01 + + lbd_uuid_1: + type: string + description: UUID generated by cmrepo for LBD02 + + cdi_uuid_0: + type: string + description: UUID generated by cmrepo for CDI01 + + cdi_uuid_1: + type: string + description: UUID generated by cmrepo for CDI02 + + cscf_zone_0_uuids: + type: comma_delimited_list + description: "List of UUIDs generated by cmrepo for CSCF instances on zone 0" + + cscf_zone_1_uuids: + type: comma_delimited_list + description: "List of UUIDs generated by cmrepo for CSCF instances on zone 1" + + tdcore_zone_0_uuids: + type: comma_delimited_list + description: "List of UUIDs generated by cmrepo for TDCORE instances on zone 0" + + tdcore_zone_1_uuids: + type: comma_delimited_list + description: "List of UUIDs generated by cmrepo for TDCORE instances on zone 1" + +resources: + + cscf_RSG: + type: OS::Neutron::SecurityGroup + properties: + description: Allow all + name: + str_replace: + template: "$VNF$DELsecurity$DELgroup" + params: + $VNF: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + rules: + - { direction: ingress, ethertype: IPv4 } + - { direction: egress, ethertype: IPv4 } + - { direction: ingress, ethertype: IPv6 } + - { direction: egress, ethertype: IPv6 } + + cscf_internal_network_0: + type: OS::Neutron::Net + properties: + name: + str_replace: + template: $PREFIX$DELinternal$DELnetwork + params: + $PREFIX: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + admin_state_up: True + shared: False + + cscf_internal_subnet_0: + type: OS::Neutron::Subnet + properties: + name: + str_replace: + template: $PREFIX$DELinternal$DELsubnet + params: + $PREFIX: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + ip_version: 4 + network: { get_resource: cscf_internal_network_0 } + cidr: { get_param: vcscf_internal_network_cidr } + enable_dhcp: False + gateway_ip: null + + cscf_internal_subnet_v6_0: + type: OS::Neutron::Subnet + properties: + name: + str_replace: + template: $PREFIX$DELinternal$DELsubnetv6 + params: + $PREFIX: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + ip_version: 6 + network: { get_resource: cscf_internal_network_0 } + cidr: { get_param: vcscf_internal_network_v6_cidr } + enable_dhcp: False + gateway_ip: null + + cscf_internal_dpdk_network_0: + type: OS::Neutron::Net + properties: + name: + str_replace: + template: $PREFIX$DELinternal$DELdpdk$DELnetwork + params: + $PREFIX: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + admin_state_up: True + shared: False + + cscf_internal_dpdk_subnet_0: + type: OS::Neutron::Subnet + properties: + name: + str_replace: + template: $PREFIX$DELinternal$DELdpdk$DELsubnet + params: + $PREFIX: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_dpdk_network_0 } + cidr: { get_param: vcscf_internal_dpdk_network_cidr } + enable_dhcp: False + gateway_ip: null + + cif_server_group: + type: OS::Nova::ServerGroup + properties: + name: + str_replace: + template: "$VNF$DELcif$DELgroup" + params: + $VNF: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + policies: ["anti-affinity"] + + lbd_server_group: + type: OS::Nova::ServerGroup + properties: + name: + str_replace: + template: "$VNF$DELlbd$DELgroup" + params: + $VNF: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + policies: ["anti-affinity"] + + cdi_server_group: + type: OS::Nova::ServerGroup + properties: + name: + str_replace: + template: "$VNF$DELcdi$DELgroup" + params: + $VNF: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + policies: ["anti-affinity"] + + oam_server_group: + type: OS::Nova::ServerGroup + properties: + name: + str_replace: + template: "$VNF$DELoam$DELgroup" + params: + $VNF: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + policies: ["anti-affinity"] + + tdcore_zone_0_server_group: + type: OS::Nova::ServerGroup + properties: + name: + str_replace: + template: "$VNF$DELtdcore$DELzone0$DELgroup" + params: + $VNF: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + policies: ["anti-affinity"] + + tdcore_zone_1_server_group: + type: OS::Nova::ServerGroup + properties: + name: + str_replace: + template: "$VNF$DELtdcore$DELzone1$DELgroup" + params: + $VNF: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + policies: ["anti-affinity"] + + cif_internal_vip_0_port: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_0 + properties: + name: + str_replace: + template: $NAME$DELcif$DELinternal$DELvip + params: + $NAME: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_internal_vip_0 } + + cif_oam_vip_1_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $NAME$DELcif$DELoam$DELvip0 + params: + $NAME: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: oam_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_oam_vip_0 } + + cif_ims_core_v6_vip_2_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $NAME$DELcif$DELims$DELcore$DELvip$DELv6 + params: + $NAME: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_core_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_ims_core_v6_vip_0 } + + cif_oam_vip_3_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $NAME$DELcif$DELoam$DELvip1 + params: + $NAME: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: oam_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_oam_vip_1 } + + cif_ims_li_v6_vip_4_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $NAME$DELcif$DELims$DELli$DELvip$DELv6 + params: + $NAME: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_li_v6_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_ims_li_v6_vip_0 } + + lbd_internal_dpdk_vip_1_port: + type: OS::Neutron::Port + depends_on: + - cscf_internal_dpdk_subnet_0 + properties: + name: + str_replace: + template: $NAME$DELlbd$DELinternal$DELdpdk$DELvip + params: + $NAME: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_dpdk_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: lbd_internal_dpdk_vip_0 } + + lbd_ims_core_v6_vip_2_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $NAME$DELlbd$DELims$DELcore$DELvip$DELv6 + params: + $NAME: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_core_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: lbd_ims_core_v6_vip_0 } + + cdi_internal_v6_vip_0_port: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_v6_0 + properties: + name: + str_replace: + template: $NAME$DELcdi$DELinternal$DELvip$DELv6 + params: + $NAME: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cdi_internal_v6_vip_0 } + + cdi_ims_core_v6_vip_1_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $NAME$DELcdi$DELims$DELdb$DELvip$DELv6 + params: + $NAME: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_core_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cdi_ims_core_v6_vip_0 } + + oam_internal_vip_0_port: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_0 + properties: + name: + str_replace: + template: $NAME$DELoam$DELinternal$DELvip + params: + $NAME: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: oam_internal_vip_0 } + + oam_oam_vip_1_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $NAME$DELoam$DELoam$DELvip + params: + $NAME: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: oam_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: oam_oam_vip_0 } + + oam_internal_0_port_0: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_0 + properties: + name: + str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: { get_param: oam_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: oam_internal_ip_0 } + allowed_address_pairs: + - ip_address: "0.0.0.0/1" + - ip_address: "128.0.0.0/1" + - ip_address: "::/1" + - ip_address: "8000::/1" + + oam_oam_0_port_1: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: { get_param: oam_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: oam_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: oam_oam_ip_0 } + allowed_address_pairs: + - ip_address: { get_param: oam_oam_vip_0} + + + oam_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + scheduler_hints: { group: { get_resource: oam_server_group } } + name: { get_param: oam_name_0 } + flavor: { get_param: oam_flavor_name } + image: { get_param: oam_image_name } + metadata: + vm_role: oam + vnf_id: {get_param: vnf_id} + vnf_name: {get_param: vnf_name} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + networks: + - port: { get_resource: oam_internal_0_port_0 } + - port: { get_resource: oam_oam_0_port_1 } + block_device_mapping: + - device_name: vdb + volume_id: { get_param: oam_volume_id_0 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + DN=$dn_name + DUName=$du_name + Uuid=$uuid + SwRepoIp=$swrepo_ip + CmRepoIp=$cmrepo_ip + OamDnsIp=$dns_ip + eth0_MTU=$mtu + UniqueId=$dn_name/$du_name/$release/$uuid + OamNetmask=$oam_netmask + OamIp=$oam_ip + OamCipa=$oam_cipa_ip + NodeCipa=$node_cipa_ip + Gateway=$gateway + OamGateway=$gateway + NodeIp=$node_ip + Netmask=$netmask + NodeType=OAM + DUType=CSCF + Release=$release + SwRepoPort=5571 + CmRepoPort=8051 + LbGroupId=1 + HaGroupId=101 + NodeName=$instance_name + params: + $dn_name: { get_param: vcscf_dn} + $du_name: { get_param: vcscf_du } + $uuid: { get_param: oam_uuid_0 } + $dns_ip: { get_param: vcscf_dns_address } + $cmrepo_ip: { get_param: vcscf_cmrepo_address } + $swrepo_ip: { get_param: vcscf_swrepo_address } + $release: { get_param: vcscf_release } + $mtu: { get_param: vcscf_internal_network_mtu } + $node_ip: { get_param: oam_internal_ip_0 } + $netmask: { get_param: vcscf_internal_netmask } + $gateway: { get_param: vcscf_default_gateway} + $oam_ip: { get_param: oam_oam_ip_0 } + $oam_netmask: { get_param: vcscf_oam_netmask } + $node_cipa_ip: { get_param: oam_internal_vip_0 } + $oam_cipa_ip: { get_param: oam_oam_vip_0 } + $instance_name: { get_param: oam_name_0 } + + + oam_internal_1_port_0: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_0 + properties: + name: + str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: { get_param: oam_name_1 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: oam_internal_ip_1 } + allowed_address_pairs: + - ip_address: "0.0.0.0/1" + - ip_address: "128.0.0.0/1" + - ip_address: "::/1" + - ip_address: "8000::/1" + + oam_oam_1_port_1: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: { get_param: oam_name_1 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: oam_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: oam_oam_ip_1 } + allowed_address_pairs: + - ip_address: { get_param: oam_oam_vip_0} + + + oam_server_1: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_1 } + scheduler_hints: { group: { get_resource: oam_server_group } } + name: { get_param: oam_name_1 } + flavor: { get_param: oam_flavor_name } + image: { get_param: oam_image_name } + metadata: + vm_role: oam + vnf_id: {get_param: vnf_id} + vnf_name: {get_param: vnf_name} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + networks: + - port: { get_resource: oam_internal_1_port_0 } + - port: { get_resource: oam_oam_1_port_1 } + block_device_mapping: + - device_name: vdb + volume_id: { get_param: oam_volume_id_1 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + DN=$dn_name + DUName=$du_name + Uuid=$uuid + SwRepoIp=$swrepo_ip + CmRepoIp=$cmrepo_ip + OamDnsIp=$dns_ip + eth0_MTU=$mtu + UniqueId=$dn_name/$du_name/$release/$uuid + OamNetmask=$oam_netmask + OamIp=$oam_ip + OamCipa=$oam_cipa_ip + NodeCipa=$node_cipa_ip + Gateway=$gateway + OamGateway=$gateway + NodeIp=$node_ip + Netmask=$netmask + NodeType=OAM + DUType=CSCF + Release=$release + SwRepoPort=5571 + CmRepoPort=8051 + LbGroupId=1 + HaGroupId=101 + NodeName=$instance_name + params: + $dn_name: { get_param: vcscf_dn} + $du_name: { get_param: vcscf_du } + $uuid: { get_param: oam_uuid_1 } + $dns_ip: { get_param: vcscf_dns_address } + $cmrepo_ip: { get_param: vcscf_cmrepo_address } + $swrepo_ip: { get_param: vcscf_swrepo_address } + $release: { get_param: vcscf_release } + $mtu: { get_param: vcscf_internal_network_mtu } + $node_ip: { get_param: oam_internal_ip_1 } + $netmask: { get_param: vcscf_internal_netmask } + $gateway: { get_param: vcscf_default_gateway} + $oam_ip: { get_param: oam_oam_ip_1 } + $oam_netmask: { get_param: vcscf_oam_netmask } + $node_cipa_ip: { get_param: oam_internal_vip_0 } + $oam_cipa_ip: { get_param: oam_oam_vip_0 } + $instance_name: { get_param: oam_name_1 } + + oam_internal_2_port_0: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_0 + properties: + name: + str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: { get_param: oam_name_2 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: oam_internal_ip_2 } + allowed_address_pairs: + - ip_address: "0.0.0.0/1" + - ip_address: "128.0.0.0/1" + - ip_address: "::/1" + - ip_address: "8000::/1" + + oam_oam_2_port_1: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: { get_param: oam_name_2 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: oam_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: oam_oam_ip_2 } + allowed_address_pairs: + - ip_address: { get_param: oam_oam_vip_0} + + + oam_server_2: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + scheduler_hints: { group: { get_resource: oam_server_group } } + name: { get_param: oam_name_2 } + flavor: { get_param: oam_flavor_name } + image: { get_param: oam_image_name } + metadata: + vm_role: oam + vnf_id: {get_param: vnf_id} + vnf_name: {get_param: vnf_name} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + networks: + - port: { get_resource: oam_internal_2_port_0 } + - port: { get_resource: oam_oam_2_port_1 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + DN=$dn_name + DUName=$du_name + Uuid=$uuid + SwRepoIp=$swrepo_ip + CmRepoIp=$cmrepo_ip + OamDnsIp=$dns_ip + eth0_MTU=$mtu + UniqueId=$dn_name/$du_name/$release/$uuid + OamNetmask=$oam_netmask + OamIp=$oam_ip + OamCipa=$oam_cipa_ip + NodeCipa=$node_cipa_ip + Gateway=$gateway + OamGateway=$gateway + NodeIp=$node_ip + Netmask=$netmask + NodeType=OAM + DUType=CSCF + Release=$release + SwRepoPort=5571 + CmRepoPort=8051 + LbGroupId=1 + HaGroupId=101 + NodeName=$instance_name + params: + $dn_name: { get_param: vcscf_dn} + $du_name: { get_param: vcscf_du } + $uuid: { get_param: oam_uuid_2 } + $dns_ip: { get_param: vcscf_dns_address } + $cmrepo_ip: { get_param: vcscf_cmrepo_address } + $swrepo_ip: { get_param: vcscf_swrepo_address } + $release: { get_param: vcscf_release } + $mtu: { get_param: vcscf_internal_network_mtu } + $node_ip: { get_param: oam_internal_ip_2 } + $netmask: { get_param: vcscf_internal_netmask } + $gateway: { get_param: vcscf_default_gateway} + $oam_ip: { get_param: oam_oam_ip_2 } + $oam_netmask: { get_param: vcscf_oam_netmask } + $node_cipa_ip: { get_param: oam_internal_vip_0 } + $oam_cipa_ip: { get_param: oam_oam_vip_0 } + $instance_name: { get_param: oam_name_2 } + + + cif_internal_0_port_0: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_0 + properties: + name: + str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: { get_param: cif_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_internal_ip_0 } + - ip_address: { get_param: cif_internal_v6_ip_0 } + allowed_address_pairs: + - ip_address: { get_param: cif_internal_vip_0 } + + cif_oam_0_port_1: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: { get_param: cif_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: oam_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_oam_ip_0 } + allowed_address_pairs: + - ip_address: { get_param: cif_oam_vip_0} + + cif_ims_core_0_port_2: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth2 + params: + $PREFIX: { get_param: cif_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_core_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_ims_core_v6_ip_0 } + allowed_address_pairs: + - ip_address: { get_param: cif_ims_core_v6_vip_0} + + + cif_oam_0_port_3: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth3 + params: + $PREFIX: { get_param: cif_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: oam_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_oam_ip_2 } + allowed_address_pairs: + - ip_address: { get_param: cif_oam_vip_1} + + + cif_ims_li_0_port_4: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth4 + params: + $PREFIX: { get_param: cif_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_li_v6_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_ims_li_v6_ip_0 } + allowed_address_pairs: + - ip_address: { get_param: cif_ims_li_v6_vip_0} + + cif_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + scheduler_hints: { group: { get_resource: cif_server_group } } + name: { get_param: cif_name_0 } + flavor: { get_param: cif_flavor_name } + image: { get_param: cif_image_name } + metadata: + vnf_id: {get_param: vnf_id} + vm_role: cif + vnf_name: {get_param: vnf_name} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + networks: + - port: { get_resource: cif_internal_0_port_0 } + - port: { get_resource: cif_oam_0_port_1 } + - port: { get_resource: cif_ims_core_0_port_2 } + - port: { get_resource: cif_oam_0_port_3 } + - port: { get_resource: cif_ims_li_0_port_4 } + block_device_mapping: + - device_name: vdb + volume_id: { get_param: cif_volume_id_0 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + DN=$dn_name + DUName=$du_name + Uuid=$uuid + SwRepoIp=$swrepo_ip + CmRepoIp=$cmrepo_ip + OamDnsIp=$dns_ip + eth0_MTU=$mtu + UniqueId=$dn_name/$du_name/$release/$uuid + OAMUnitInternalIp=$oam_unit_ip + NodeIp=$node_ip + Netmask=$netmask + Gateway=$oam_unit_ip + NodeType=CIF + DUType=CSCF + Release=$release + SwRepoPort=5571 + CmRepoPort=8051 + LbGroupId=1 + HaGroupId=1 + NodeName=$instance_name + params: + $dn_name: { get_param: vcscf_dn} + $du_name: { get_param: vcscf_du } + $cmrepo_ip: { get_param: vcscf_cmrepo_address } + $swrepo_ip: { get_param: vcscf_swrepo_address } + $oam_unit_ip: { get_param: oam_internal_vip_0 } + $netmask: { get_param: vcscf_internal_netmask } + $release: { get_param: vcscf_release } + $mtu: { get_param: vcscf_internal_network_mtu } + $dns_ip: { get_param: vcscf_dns_address } + $uuid: { get_param: cif_uuid_0 } + $node_ip: { get_param: cif_internal_ip_0 } + $instance_name: { get_param: cif_name_0 } + + cif_internal_1_port_0: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_0 + properties: + name: + str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: { get_param: cif_name_1 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_internal_ip_1 } + - ip_address: { get_param: cif_internal_v6_ip_1 } + allowed_address_pairs: + - ip_address: { get_param: cif_internal_vip_0 } + + + cif_oam_1_port_1: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: { get_param: cif_name_1 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: oam_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_oam_ip_1 } + allowed_address_pairs: + - ip_address: { get_param: cif_oam_vip_0} + + cif_ims_core_1_port_2: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth2 + params: + $PREFIX: { get_param: cif_name_1 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_core_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_ims_core_v6_ip_1 } + allowed_address_pairs: + - ip_address: { get_param: cif_ims_core_v6_vip_0} + + cif_oam_1_port_3: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth3 + params: + $PREFIX: { get_param: cif_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: oam_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_oam_ip_3 } + allowed_address_pairs: + - ip_address: { get_param: cif_oam_vip_1} + + + cif_ims_li_1_port_4: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth4 + params: + $PREFIX: { get_param: cif_name_1 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_li_v6_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cif_ims_li_v6_ip_1 } + allowed_address_pairs: + - ip_address: { get_param: cif_ims_li_v6_vip_0} + + cif_server_1: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_1 } + scheduler_hints: { group: { get_resource: cif_server_group } } + name: { get_param: cif_name_1 } + flavor: { get_param: cif_flavor_name } + image: { get_param: cif_image_name } + metadata: + vnf_id: {get_param: vnf_id} + vm_role: cif + vnf_name: {get_param: vnf_name} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + networks: + - port: { get_resource: cif_internal_1_port_0 } + - port: { get_resource: cif_oam_1_port_1 } + - port: { get_resource: cif_ims_core_1_port_2 } + - port: { get_resource: cif_oam_1_port_3 } + - port: { get_resource: cif_ims_li_1_port_4 } + block_device_mapping: + - device_name: vdb + volume_id: { get_param: cif_volume_id_1 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + DN=$dn_name + DUName=$du_name + Uuid=$uuid + SwRepoIp=$swrepo_ip + CmRepoIp=$cmrepo_ip + OamDnsIp=$dns_ip + eth0_MTU=$mtu + UniqueId=$dn_name/$du_name/$release/$uuid + OAMUnitInternalIp=$oam_unit_ip + NodeIp=$node_ip + Netmask=$netmask + Gateway=$oam_unit_ip + NodeType=CIF + DUType=CSCF + Release=$release + SwRepoPort=5571 + CmRepoPort=8051 + LbGroupId=1 + HaGroupId=1 + NodeName=$instance_name + params: + $dn_name: { get_param: vcscf_dn} + $du_name: { get_param: vcscf_du } + $cmrepo_ip: { get_param: vcscf_cmrepo_address } + $swrepo_ip: { get_param: vcscf_swrepo_address } + $oam_unit_ip: { get_param: oam_internal_vip_0 } + $netmask: { get_param: vcscf_internal_netmask } + $release: { get_param: vcscf_release } + $mtu: { get_param: vcscf_internal_network_mtu } + $dns_ip: { get_param: vcscf_dns_address } + $uuid: { get_param: cif_uuid_1 } + $node_ip: { get_param: cif_internal_ip_1 } + $instance_name: { get_param: cif_name_1 } + + lbd_internal_0_port_0: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_0 + properties: + name: + str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: { get_param: lbd_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: lbd_internal_ip_0 } + + lbd_dpdk_0_port_1: + type: OS::Neutron::Port + depends_on: + - cscf_internal_dpdk_subnet_0 + properties: + name: + str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: { get_param: lbd_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_dpdk_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: lbd_internal_dpdk_ip_0 } + allowed_address_pairs: + - ip_address: "0.0.0.0/1" + - ip_address: "128.0.0.0/1" + - ip_address: "::/1" + - ip_address: "8000::/1" + + lbd_ims_core_0_port_2: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth2 + params: + $PREFIX: { get_param: lbd_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_core_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: lbd_ims_core_v6_ip_0 } + allowed_address_pairs: + - ip_address: { get_param: lbd_ims_core_v6_vip_0} + + lbd_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + scheduler_hints: { group: { get_resource: lbd_server_group } } + name: { get_param: lbd_name_0 } + flavor: { get_param: lbd_flavor_name } + image: { get_param: lbd_image_name } + metadata: + vnf_id: {get_param: vnf_id} + vm_role: lbd + vnf_name: {get_param: vnf_name} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + networks: + - port: { get_resource: lbd_internal_0_port_0 } + - port: { get_resource: lbd_dpdk_0_port_1 } + - port: { get_resource: lbd_ims_core_0_port_2 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + DN=$dn_name + DUName=$du_name + Uuid=$uuid + SwRepoIp=$swrepo_ip + CmRepoIp=$cmrepo_ip + OamDnsIp=$dns_ip + eth0_MTU=$mtu + eth1_MTU=$mtu + UniqueId=$dn_name/$du_name/$release/$uuid + OAMUnitInternalIp=$oam_unit_ip + NodeIp=$node_ip + Netmask=$netmask + Gateway=$oam_unit_ip + NodeType=L2TD + DUType=CSCF + Release=$release + SwRepoPort=5571 + CmRepoPort=8051 + LbGroupId=1 + HaGroupId=1 + NodeName=$instance_name + params: + $dn_name: { get_param: vcscf_dn} + $du_name: { get_param: vcscf_du } + $cmrepo_ip: { get_param: vcscf_cmrepo_address } + $swrepo_ip: { get_param: vcscf_swrepo_address } + $netmask: { get_param: vcscf_internal_netmask } + $release: { get_param: vcscf_release } + $mtu: { get_param: vcscf_internal_network_mtu } + $oam_unit_ip: { get_param: oam_internal_vip_0 } + $dns_ip: { get_param: vcscf_dns_address } + $uuid: { get_param: lbd_uuid_0 } + $node_ip: { get_param: lbd_internal_ip_0 } + $instance_name: { get_param: lbd_name_0 } + + lbd_internal_1_port_0: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_0 + properties: + name: + str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: { get_param: lbd_name_1 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: lbd_internal_ip_1 } + + lbd_dpdk_1_port_1: + type: OS::Neutron::Port + depends_on: + - cscf_internal_dpdk_subnet_0 + properties: + name: + str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: { get_param: lbd_name_1 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_dpdk_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: lbd_internal_dpdk_ip_1 } + allowed_address_pairs: + - ip_address: "0.0.0.0/1" + - ip_address: "128.0.0.0/1" + - ip_address: "::/1" + - ip_address: "8000::/1" + + lbd_ims_core_1_port_2: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth2 + params: + $PREFIX: { get_param: lbd_name_1 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_core_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: lbd_ims_core_v6_ip_1 } + allowed_address_pairs: + - ip_address: { get_param: lbd_ims_core_v6_vip_0} + + lbd_server_1: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_1 } + scheduler_hints: { group: { get_resource: lbd_server_group } } + name: { get_param: lbd_name_1 } + flavor: { get_param: lbd_flavor_name } + image: { get_param: lbd_image_name } + metadata: + vnf_id: {get_param: vnf_id} + vm_role: lbd + vnf_name: {get_param: vnf_name} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + networks: + - port: { get_resource: lbd_internal_1_port_0 } + - port: { get_resource: lbd_dpdk_1_port_1 } + - port: { get_resource: lbd_ims_core_1_port_2 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + DN=$dn_name + DUName=$du_name + Uuid=$uuid + SwRepoIp=$swrepo_ip + CmRepoIp=$cmrepo_ip + OamDnsIp=$dns_ip + eth0_MTU=$mtu + eth1_MTU=$mtu + UniqueId=$dn_name/$du_name/$release/$uuid + OAMUnitInternalIp=$oam_unit_ip + NodeIp=$node_ip + Netmask=$netmask + Gateway=$oam_unit_ip + NodeType=L2TD + DUType=CSCF + Release=$release + SwRepoPort=5571 + CmRepoPort=8051 + LbGroupId=1 + HaGroupId=1 + NodeName=$instance_name + params: + $dn_name: { get_param: vcscf_dn} + $du_name: { get_param: vcscf_du } + $cmrepo_ip: { get_param: vcscf_cmrepo_address } + $swrepo_ip: { get_param: vcscf_swrepo_address } + $netmask: { get_param: vcscf_internal_netmask } + $release: { get_param: vcscf_release } + $mtu: { get_param: vcscf_internal_network_mtu } + $oam_unit_ip: { get_param: oam_internal_vip_0 } + $dns_ip: { get_param: vcscf_dns_address } + $uuid: { get_param: lbd_uuid_1 } + $node_ip: { get_param: lbd_internal_ip_1 } + $instance_name: { get_param: lbd_name_1 } + + cdi_internal_0_port_0: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_0 + - cscf_internal_subnet_v6_0 + properties: + name: + str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: { get_param: cdi_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cdi_internal_ip_0 } + - ip_address: { get_param: cdi_internal_v6_ip_0 } + allowed_address_pairs: + - ip_address: "0.0.0.0/1" + - ip_address: "128.0.0.0/1" + - ip_address: "::/1" + - ip_address: "8000::/1" + + cdi_ims_core_0_port_1: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: { get_param: cdi_name_0 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_core_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips : + - ip_address: { get_param: cdi_ims_core_v6_ip_0 } + allowed_address_pairs: + - ip_address: { get_param: cdi_ims_core_v6_vip_0} + + cdi_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + scheduler_hints: { group: { get_resource: cdi_server_group } } + name: { get_param: cdi_name_0 } + flavor: { get_param: cdi_flavor_name } + image: { get_param: cdi_image_name } + metadata: + vnf_id: {get_param: vnf_id} + vm_role: cdi + vnf_name: {get_param: vnf_name} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + networks: + - port: { get_resource: cdi_internal_0_port_0 } + - port: { get_resource: cdi_ims_core_0_port_1 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + DN=$dn_name + DUName=$du_name + Uuid=$uuid + SwRepoIp=$swrepo_ip + CmRepoIp=$cmrepo_ip + OamDnsIp=$dns_ip + eth0_MTU=$mtu + UniqueId=$dn_name/$du_name/$release/$uuid + OAMUnitInternalIp=$oam_unit_ip + NodeIp=$node_ip + Netmask=$netmask + Gateway=$oam_unit_ip + NodeType=CDI + DUType=CSCF + Release=$release + SwRepoPort=5571 + CmRepoPort=8051 + LbGroupId=1 + HaGroupId=1 + NodeName=$instance_name + params: + $dn_name: { get_param: vcscf_dn} + $du_name: { get_param: vcscf_du } + $dns_ip: { get_param: vcscf_dns_address } + $cmrepo_ip: { get_param: vcscf_cmrepo_address } + $swrepo_ip: { get_param: vcscf_swrepo_address } + $oam_unit_ip: { get_param: oam_internal_vip_0 } + $netmask: { get_param: vcscf_internal_netmask } + $release: { get_param: vcscf_release } + $mtu: { get_param: vcscf_internal_network_mtu } + $node_ip: { get_param: cdi_internal_ip_0 } + $uuid: { get_param: cdi_uuid_0 } + $instance_name: { get_param: cdi_name_0 } + + cdi_internal_1_port_0: + type: OS::Neutron::Port + depends_on: + - cscf_internal_subnet_0 + - cscf_internal_subnet_v6_0 + properties: + name: + str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: { get_param: cdi_name_1 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_resource: cscf_internal_network_0 } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips: + - ip_address: { get_param: cdi_internal_ip_1 } + - ip_address: { get_param: cdi_internal_v6_ip_1 } + allowed_address_pairs: + - ip_address: "0.0.0.0/1" + - ip_address: "128.0.0.0/1" + - ip_address: "::/1" + - ip_address: "8000::/1" + + cdi_ims_core_1_port_1: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: { get_param: cdi_name_1 } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: ims_core_net_id } + security_groups: + - { get_resource: cscf_RSG } + fixed_ips : + - ip_address: { get_param: cdi_ims_core_v6_ip_1 } + allowed_address_pairs: + - ip_address: { get_param: cdi_ims_core_v6_vip_0} + + cdi_server_1: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_1 } + scheduler_hints: { group: { get_resource: cdi_server_group } } + name: { get_param: cdi_name_1 } + flavor: { get_param: cdi_flavor_name } + image: { get_param: cdi_image_name } + metadata: + vnf_id: {get_param: vnf_id} + vm_role: cdi + vnf_name: {get_param: vnf_name} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + networks: + - port: { get_resource: cdi_internal_1_port_0 } + - port: { get_resource: cdi_ims_core_1_port_1 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + DN=$dn_name + DUName=$du_name + Uuid=$uuid + SwRepoIp=$swrepo_ip + CmRepoIp=$cmrepo_ip + OamDnsIp=$dns_ip + eth0_MTU=$mtu + UniqueId=$dn_name/$du_name/$release/$uuid + OAMUnitInternalIp=$oam_unit_ip + NodeIp=$node_ip + Netmask=$netmask + Gateway=$oam_unit_ip + NodeType=CDI + DUType=CSCF + Release=$release + SwRepoPort=5571 + CmRepoPort=8051 + LbGroupId=1 + HaGroupId=1 + NodeName=$instance_name + params: + $dn_name: { get_param: vcscf_dn} + $du_name: { get_param: vcscf_du } + $dns_ip: { get_param: vcscf_dns_address } + $cmrepo_ip: { get_param: vcscf_cmrepo_address } + $swrepo_ip: { get_param: vcscf_swrepo_address } + $oam_unit_ip: { get_param: oam_internal_vip_0 } + $netmask: { get_param: vcscf_internal_netmask } + $release: { get_param: vcscf_release } + $mtu: { get_param: vcscf_internal_network_mtu } + $node_ip: { get_param: cdi_internal_ip_1 } + $uuid: { get_param: cdi_uuid_1 } + $instance_name: { get_param: cdi_name_1 } + + tdcore_zone_0_RRG: + type: OS::Heat::ResourceGroup + depends_on: + - cscf_internal_subnet_0 + - cscf_internal_dpdk_subnet_0 + properties: + count: { get_param: tdcore_zone_0_count } + index_var: $INDEX + resource_def: + type: nested_tdcore.yaml + properties: + index: $INDEX + tdcore_server_group: { get_resource: tdcore_zone_0_server_group } + vnf_name: { get_param: vnf_name } + vcscf_name_delimeter: { get_param: vcscf_name_delimeter } + tdcore_flavor_name: { get_param: tdcore_flavor_name } + tdcore_image_name: { get_param: tdcore_image_name } + tdcore_security_group: { get_resource: cscf_RSG } + internal_net_id: { get_resource: cscf_internal_network_0 } + internal_dpdk_net_id: { get_resource: cscf_internal_dpdk_network_0 } + vcscf_dn: { get_param: vcscf_dn} + vcscf_du: { get_param: vcscf_du } + vcscf_cmrepo_address: { get_param: vcscf_cmrepo_address } + vcscf_swrepo_address: { get_param: vcscf_swrepo_address } + vcscf_gateway: { get_param: oam_internal_vip_0 } + vcscf_internal_netmask: { get_param: vcscf_internal_netmask } + vcscf_release: { get_param: vcscf_release } + vcscf_dns_address: { get_param: vcscf_dns_address } + vcscf_internal_network_mtu: { get_param: vcscf_internal_network_mtu } + vnf_id: {get_param: vnf_id} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + availability_zone_0: { get_param: availability_zone_0 } + tdcore_internal_ips: { get_param: tdcore_internal_zone_0_ips } + tdcore_dpdk_ips: { get_param: tdcore_dpdk_zone_0_ips } + tdcore_names: { get_param: tdcore_zone_0_names } + tdcore_uuids: { get_param: tdcore_zone_0_uuids } + + tdcore_zone_1_RRG: + type: OS::Heat::ResourceGroup + depends_on: + - cscf_internal_subnet_0 + - cscf_internal_dpdk_subnet_0 + properties: + count: { get_param: tdcore_zone_1_count } + index_var: $INDEX + resource_def: + type: nested_tdcore.yaml + properties: + index: $INDEX + tdcore_server_group: { get_resource: tdcore_zone_1_server_group } + vnf_name: { get_param: vnf_name } + vcscf_name_delimeter: { get_param: vcscf_name_delimeter } + tdcore_flavor_name: { get_param: tdcore_flavor_name } + tdcore_image_name: { get_param: tdcore_image_name } + tdcore_security_group: { get_resource: cscf_RSG } + internal_net_id: { get_resource: cscf_internal_network_0 } + internal_dpdk_net_id: { get_resource: cscf_internal_dpdk_network_0 } + vcscf_dn: { get_param: vcscf_dn} + vcscf_du: { get_param: vcscf_du } + vcscf_cmrepo_address: { get_param: vcscf_cmrepo_address } + vcscf_swrepo_address: { get_param: vcscf_swrepo_address } + vcscf_gateway: { get_param: oam_internal_vip_0 } + vcscf_internal_netmask: { get_param: vcscf_internal_netmask } + vcscf_release: { get_param: vcscf_release } + vcscf_dns_address: { get_param: vcscf_dns_address } + vcscf_internal_network_mtu: { get_param: vcscf_internal_network_mtu } + vnf_id: {get_param: vnf_id} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + availability_zone_0: { get_param: availability_zone_1 } + tdcore_internal_ips: { get_param: tdcore_internal_zone_1_ips } + tdcore_dpdk_ips: { get_param: tdcore_dpdk_zone_1_ips } + tdcore_names: { get_param: tdcore_zone_1_names } + tdcore_uuids: { get_param: tdcore_zone_1_uuids } + + cscf_zone_0_RRG: + type: OS::Heat::ResourceGroup + depends_on: + - cscf_internal_subnet_0 + - cscf_internal_subnet_v6_0 + properties: + count: { get_param: cscf_zone_0_count } + index_var: $INDEX + resource_def: + type: nested_cscf.yaml + properties: + index: $INDEX + vnf_name: { get_param: vnf_name } + vcscf_name_delimeter: { get_param: vcscf_name_delimeter } + cscf_flavor_name: { get_param: cscf_flavor_name } + cscf_image_name: { get_param: cscf_image_name } + cscf_security_group: { get_resource: cscf_RSG } + internal_net_id: { get_resource: cscf_internal_network_0 } + vcscf_dn: { get_param: vcscf_dn} + vcscf_du: { get_param: vcscf_du } + vcscf_cmrepo_address: { get_param: vcscf_cmrepo_address } + vcscf_swrepo_address: { get_param: vcscf_swrepo_address } + vcscf_gateway: { get_param: oam_internal_vip_0 } + vcscf_internal_netmask: { get_param: vcscf_internal_netmask } + vcscf_release: { get_param: vcscf_release } + vcscf_dns_address: { get_param: vcscf_dns_address } + vcscf_internal_network_mtu: { get_param: vcscf_internal_network_mtu } + vnf_id: {get_param: vnf_id} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + availability_zone_0 : { get_param: availability_zone_0 } + cscf_internal_ips: { get_param: cscf_internal_zone_0_ips } + cscf_internal_v6_ips: { get_param: cscf_internal_zone_0_v6_ips } + cscf_names: { get_param: cscf_zone_0_names } + cscf_uuids: { get_param: cscf_zone_0_uuids } + + cscf_zone_1_RRG: + type: OS::Heat::ResourceGroup + depends_on: + - cscf_internal_subnet_0 + - cscf_internal_subnet_v6_0 + properties: + count: { get_param: cscf_zone_1_count } + index_var: $INDEX + resource_def: + type: nested_cscf.yaml + properties: + index: $INDEX + vnf_name: { get_param: vnf_name } + vcscf_name_delimeter: { get_param: vcscf_name_delimeter } + cscf_flavor_name: { get_param: cscf_flavor_name } + cscf_image_name: { get_param: cscf_image_name } + cscf_security_group: { get_resource: cscf_RSG } + internal_net_id: { get_resource: cscf_internal_network_0 } + vcscf_dn: { get_param: vcscf_dn} + vcscf_du: { get_param: vcscf_du } + vcscf_cmrepo_address: { get_param: vcscf_cmrepo_address } + vcscf_swrepo_address: { get_param: vcscf_swrepo_address } + vcscf_gateway: { get_param: oam_internal_vip_0 } + vcscf_internal_netmask: { get_param: vcscf_internal_netmask } + vcscf_release: { get_param: vcscf_release } + vcscf_dns_address: { get_param: vcscf_dns_address } + vcscf_internal_network_mtu: { get_param: vcscf_internal_network_mtu } + vnf_id: {get_param: vnf_id} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + cscf_internal_ips: { get_param: cscf_internal_zone_1_ips } + cscf_internal_v6_ips: { get_param: cscf_internal_zone_1_v6_ips } + cscf_names: { get_param: cscf_zone_1_names } + cscf_uuids: { get_param: cscf_zone_1_uuids } + availability_zone_0 : { get_param: availability_zone_1 } + +outputs: + internal_net_id: + description: internal network + value: {get_resource: cscf_internal_network_0} + + internal_dpdk_net_id: + description: dpdk network + value: {get_resource: cscf_internal_dpdk_network_0} + + cscf_security_group: + description: cscf security group + value: {get_resource: cscf_RSG} + + tdcore_zone_0_server_group: + description: tdcore zone 0 server group name/id + value: {get_resource: tdcore_zone_0_server_group} + + tdcore_zone_1_server_group: + description: tdcore zone 1 server group name/id + value: {get_resource: tdcore_zone_1_server_group} diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf_volume.env new file mode 100644 index 0000000000..68c2dd1831 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf_volume.env @@ -0,0 +1,19 @@ +## Copyright:: Nokia Corporation 2017 +## Note: Nokia VM HOT file for CFX +## Name: "base_cscf_volume.env" +## Date: 20 Mar 2017 +## Kilo Version +parameters: + +# PSEUDO CONSTANTS +# ----------------------------------------------------------------------------- + cif_volume_size_0: 300 + oam_volume_size_0: 300 + vcscf_name_delimeter: "_" + +# SITE SPECIFIC +# ----------------------------------------------------------------------------- +# vnf_name: CSCF0001 + # storage availability zones +# availability_zone_0: zone1 +# availability_zone_1: zone2 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf_volume.yaml new file mode 100644 index 0000000000..cf0bd8b612 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf_volume.yaml @@ -0,0 +1,105 @@ +## Copyright:: Nokia Corporation 2017 +## Note: Nokia VM HOT file for CFX +## Name: "base_cscf_volume.yaml" +## Date: 20 Mar 2017 +## Kilo Version +heat_template_version: 2015-04-30 + +description: Volume template for CFX + +parameters: + vnf_name: + type: string + description: Unique name for this VF instance + + vcscf_name_delimeter: + type: string + description: 'delimeter used in concatenating different words while naming (ex: "-","_",".",...)' + constraints: + - allowed_values: [ '-', '', '_', '.'] + + availability_zone_0: + type: string + description: Storage availability zone for volume of first vm + + availability_zone_1: + type: string + description: Storage availability zone for volume of second vm + + cif_volume_size_0: + type: number + description: Size of Volume for cif VMs + constraints: + - range: { min: 1, max: 300 } + + oam_volume_size_0: + type: number + description: Size of Volume for oam VMs + constraints: + - range: { min: 1, max: 300 } + +resources: + cif_volume_0: + type: OS::Cinder::Volume + properties: + size: { get_param: cif_volume_size_0 } + availability_zone: { get_param: availability_zone_0} + name: + str_replace: + template: "$VNF$DELcif$DELvolume$DEL0" + params: + $VNF: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + + cif_volume_1: + type: OS::Cinder::Volume + properties: + availability_zone: { get_param: availability_zone_1} + size: { get_param: cif_volume_size_0 } + name: + str_replace: + template: "$VNF$DELcif$DELvolume$DEL1" + params: + $VNF: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + + oam_volume_0: + type: OS::Cinder::Volume + properties: + size: { get_param: oam_volume_size_0 } + availability_zone: { get_param: availability_zone_0} + name: + str_replace: + template: "$VNF$DELoam$DELvolume$DEL0" + params: + $VNF: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + + oam_volume_1: + type: OS::Cinder::Volume + properties: + size: { get_param: oam_volume_size_0 } + availability_zone: { get_param: availability_zone_1} + name: + str_replace: + template: "$VNF$DELoam$DELvolume$DEL1" + params: + $VNF: { get_param: vnf_name } + $DEL: { get_param: vcscf_name_delimeter } + +outputs: + cif_volume_id_0: + description: volume id for first cif + value: {get_resource: cif_volume_0} + + cif_volume_id_1: + description: volume id for second cif + value: {get_resource: cif_volume_1} + + oam_volume_id_0: + description: volume id for first oam + value: {get_resource: oam_volume_0} + + oam_volume_id_1: + description: volume id for second oam + value: {get_resource: oam_volume_1} diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/nested_cscf.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/nested_cscf.yaml new file mode 100644 index 0000000000..f911be6c11 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/nested_cscf.yaml @@ -0,0 +1,183 @@ +## Copyright:: Nokia Corporation 2017 +## Note: Nokia VM HOT file for CFX +## Name: "cscf.yaml" +## Date: 20 Mar 2017 +## Kilo Version +heat_template_version: 2015-04-30 + +description: IMS CSCF + +parameters: + + vcscf_name_delimeter: + type: string + description: 'delimeter used in concatenating different words while naming (ex: "-","_",".",...)' + constraints: + - allowed_values: [ '-', '', '_', '.'] + + vnf_name: + type: string + description: Unique name for this VF instance + + vnf_id: + type: string + description: Unique ID for this VF instance + + vf_module_name: + type: string + description: Unique name for this VF Module instance + + vf_module_id: + type: string + description: Unique ID for this VF Module instance + + cscf_security_group: + type: string + description: security group + + cscf_flavor_name: + type: string + description: flavor name + + cscf_image_name: + type: string + description: image name + + internal_net_id: + type: string + description: internal network name/uuid + + vcscf_internal_netmask: + type: string + description: internal netmask + + vcscf_release: + type: string + description: "IMS release" + + vcscf_dn: + type: string + description: "DN name" + + vcscf_du: + type: string + description: "DU name" + + vcscf_cmrepo_address: + type: string + description: "CMRepo IP or FQDN" + + vcscf_swrepo_address: + type: string + description: SWRepo IP or FQDN + + vcscf_dns_address: + type: string + description: DNS server IP + + vcscf_internal_network_mtu: + type: number + description: MTU for internal network interface (eth0) + constraints: + - range: { min: 1000, max: 9100 } + + vcscf_gateway: + type: string + description: OAM unit cipa ip + + cscf_internal_ips: + type: comma_delimited_list + description: "List of Internal Lan IPs for CSCF instances" + + cscf_internal_v6_ips: + type: comma_delimited_list + description: "List of Internal Lan v6 IPs for CSCF instances" + + cscf_names: + type: comma_delimited_list + description: "List of instance names for CSCF instances" + + cscf_uuids: + type: comma_delimited_list + description: "List of UUIDs generated by cmrepo for CSCF instances" + + availability_zone_0: + type: string + description: Availability zone name for CSCF instances. + + index: + type: number + description: index + constraints: + - range: { min: 0, max: 119 } + +resources: + + cscf_internal_0_port_0: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: { get_param: [ cscf_names, { get_param: index } ] } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: internal_net_id } + security_groups: + - { get_param: cscf_security_group } + fixed_ips: + - ip_address: { get_param: [ cscf_internal_ips, { get_param: index } ] } + - ip_address: { get_param: [ cscf_internal_v6_ips, { get_param: index } ] } + + cscf_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + name: { get_param: [ cscf_names, { get_param: index } ] } + flavor: { get_param: cscf_flavor_name } + image: { get_param: cscf_image_name } + metadata: + vnf_id: {get_param: vnf_id} + vm_role: cscf + vnf_name: {get_param: vnf_name} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + networks: + - port: { get_resource: cscf_internal_0_port_0 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + DN=$dn_name + DUName=$du_name + Uuid=$uuid + SwRepoIp=$swrepo_ip + CmRepoIp=$cmrepo_ip + OamDnsIp=$dns_ip + eth0_MTU=$mtu + UniqueId=$dn_name/$du_name/$release/$uuid + OAMUnitInternalIp=$oam_unit_ip + NodeIp=$node_ip + Netmask=$netmask + Gateway=$oam_unit_ip + NodeType=CSCF + DUType=CSCF + Release=$release + SwRepoPort=5571 + CmRepoPort=8051 + LbGroupId=1 + NodeName=$instance_name + params: + $dn_name: { get_param: vcscf_dn } + $du_name: { get_param: vcscf_du } + $uuid: { get_param: [ cscf_uuids, { get_param: index } ] } + $dns_ip: { get_param: vcscf_dns_address } + $cmrepo_ip: { get_param: vcscf_cmrepo_address } + $swrepo_ip: { get_param: vcscf_swrepo_address } + $oam_unit_ip: { get_param: vcscf_gateway } + $netmask: { get_param: vcscf_internal_netmask } + $release: { get_param: vcscf_release } + $mtu: { get_param: vcscf_internal_network_mtu } + $node_ip: { get_param: [ cscf_internal_ips, { get_param: index } ] } + $instance_name: { get_param: [ cscf_names, { get_param: index } ] } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/nested_tdcore.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/nested_tdcore.yaml new file mode 100644 index 0000000000..2baec50a38 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/nested_tdcore.yaml @@ -0,0 +1,213 @@ +## Copyright:: Nokia Corporation 2017 +## Note: Nokia VM HOT file for CFX +## Name: "tdcore.yaml" +## Date: 20 Mar 2017 +## Kilo Version +heat_template_version: 2015-04-30 + +description: IMS TDCORE VM + +parameters: + + vcscf_name_delimeter: + type: string + description: 'delimeter used in concatenating different words while naming (ex: "-","_",".",...)' + constraints: + - allowed_values: [ '-', '', '_', '.'] + + vnf_name: + type: string + description: Unique name for this VF instance + + vnf_id: + type: string + description: Unique ID for this VF instance + + vf_module_name: + type: string + description: Unique name for this VF Module instance + + vf_module_id: + type: string + description: Unique ID for this VF Module instance + + tdcore_security_group: + type: string + description: security group + + tdcore_flavor_name: + type: string + description: flavor name + + tdcore_image_name: + type: string + description: image name + + internal_net_id: + type: string + description: internal network name/uuid + + internal_dpdk_net_id: + type: string + description: internal dpdk network name/uuid + + vcscf_internal_netmask: + type: string + description: internal netmask + + vcscf_release: + type: string + description: "IMS release" + + vcscf_dn: + type: string + description: "DN name" + + vcscf_du: + type: string + description: "DU name" + + vcscf_cmrepo_address: + type: string + description: "CMRepo IP or FQDN" + + vcscf_swrepo_address: + type: string + description: SWRepo IP or FQDN + + vcscf_dns_address: + type: string + description: DNS server IP + + vcscf_internal_network_mtu: + type: number + description: MTU for internal network interface (eth0) + constraints: + - range: { min: 1000, max: 9100 } + + vcscf_gateway: + type: string + description: OAM unit virtual ip + + tdcore_names: + type: comma_delimited_list + description: "List of instance names for TDCORE instances" + + tdcore_internal_ips: + type: comma_delimited_list + description: "List of Internal Lan IPs for TDCORE instances" + + tdcore_dpdk_ips: + type: comma_delimited_list + description: "List of DPDK Lan IPs for TDCORE instances" + + tdcore_uuids: + type: comma_delimited_list + description: "List of UUIDs generated by cmrepo for TDCORE instances" + + availability_zone_0: + type: string + description: Availability zone name. + + tdcore_server_group: + type: string + description: server group name/id + + index: + type: number + description: index + constraints: + - range: { min: 0, max: 7 } + +resources: + + tdcore_internal_0_port_0: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: { get_param: [ tdcore_names, { get_param: index } ] } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: internal_net_id } + security_groups: + - { get_param: tdcore_security_group } + fixed_ips: + - ip_address: { get_param: [ tdcore_internal_ips, { get_param: index } ] } + + tdcore_dpdk_0_port_1: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: { get_param: [ tdcore_names, { get_param: index } ] } + $DEL: { get_param: vcscf_name_delimeter } + network: { get_param: internal_dpdk_net_id } + security_groups: + - { get_param: tdcore_security_group } + fixed_ips: + - ip_address: { get_param: [ tdcore_dpdk_ips, { get_param: index } ] } + allowed_address_pairs: + - ip_address: "0.0.0.0/1" + - ip_address: "128.0.0.0/1" + - ip_address: "::/1" + - ip_address: "8000::/1" + + tdcore_server_0: + type: OS::Nova::Server + properties: + availability_zone: { get_param: availability_zone_0 } + scheduler_hints: { group: { get_param: tdcore_server_group } } + name: { get_param: [ tdcore_names, { get_param: index } ] } + flavor: { get_param: tdcore_flavor_name } + image: { get_param: tdcore_image_name } + metadata: + vnf_id: {get_param: vnf_id} + vm_role: tdcore + vnf_name: {get_param: vnf_name} + vf_module_id: {get_param: vf_module_id} + vf_module_name: {get_param: vf_module_name} + networks: + - port: { get_resource: tdcore_internal_0_port_0 } + - port: { get_resource: tdcore_dpdk_0_port_1 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + DN=$dn_name + DUName=$du_name + Uuid=$uuid + SwRepoIp=$swrepo_ip + CmRepoIp=$cmrepo_ip + OamDnsIp=$dns_ip + eth0_MTU=$mtu + eth1_MTU=$mtu + UniqueId=$dn_name/$du_name/$release/$uuid + OAMUnitInternalIp=$oam_unit_ip + NodeIp=$node_ip + Netmask=$netmask + Gateway=$oam_unit_ip + NodeType=TD_Core + DUType=CSCF + Release=$release + SwRepoPort=5571 + CmRepoPort=8051 + LbGroupId=1 + NodeName=$instance_name + params: + $dn_name: { get_param: vcscf_dn } + $du_name: { get_param: vcscf_du } + $uuid: { get_param: [ tdcore_uuids, { get_param: index } ] } + $dns_ip: { get_param: vcscf_dns_address } + $cmrepo_ip: { get_param: vcscf_cmrepo_address } + $swrepo_ip: { get_param: vcscf_swrepo_address } + $oam_unit_ip: { get_param: vcscf_gateway } + $netmask: { get_param: vcscf_internal_netmask } + $release: { get_param: vcscf_release } + $mtu: { get_param: vcscf_internal_network_mtu } + $node_ip: { get_param: [ tdcore_internal_ips, { get_param: index } ] } + $instance_name: { get_param: [ tdcore_names, { get_param: index } ] } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/out/MainServiceTemplate.yaml new file mode 100644 index 0000000000..483ee0c644 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/out/MainServiceTemplate.yaml @@ -0,0 +1,3166 @@ +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: + cif_internal_ip_0: + hidden: false + immutable: false + type: string + description: Internal IP of CIF01 instance + default: 192.168.210.1 + vcscf_release: + hidden: false + immutable: false + type: string + description: IMS release + default: '17.0' + cif_name_1: + hidden: false + immutable: false + type: string + description: CIF02 instance name + cif_name_0: + hidden: false + immutable: false + type: string + description: CIF01 instance name + cif_internal_ip_1: + hidden: false + immutable: false + type: string + description: Internal IP of CIF02 instance + default: 192.168.210.2 + tdcore_zone_0_count: + hidden: false + immutable: false + type: float + description: | + Number of TD Core VMs to be deployed zone 0. This parameter is used to scale the TD Core instances. + default: 4 + constraints: + - in_range: + - 0 + - 8 + lbd_internal_dpdk_vip_0: + hidden: false + immutable: false + type: string + description: Internal DPDK CIP IP of LBD + default: 192.168.211.181 + lbd_ims_core_v6_vip_0: + hidden: false + immutable: false + type: string + description: IMS CORE CIPA v6 IP of LBD + cscf_zone_1_count: + hidden: false + immutable: false + type: float + description: | + Number of CSCF to be deployed on zone 1. This parameter is used to scale the cscf instances. + default: 18 + constraints: + - in_range: + - 0 + - 120 + oam_internal_vip_0: + hidden: false + immutable: false + type: string + description: Internal CIPA IP of OAM unit + default: 192.168.210.3 + cscf_image_name: + hidden: false + immutable: false + type: string + description: CSCF server VM image name + default: IMS_17_0_OPENSTACK_CSCF_1701400.000 + cif_internal_vip_0: + hidden: false + immutable: false + type: string + description: Internal CIPA IP of CIF + default: 192.168.210.150 + cif_ims_core_v6_ip_0: + hidden: false + immutable: false + type: string + description: IMS CORE v6 IP of CIF01 instance + cif_ims_core_v6_ip_1: + hidden: false + immutable: false + type: string + description: IMS CORE v6 IP of CIF02 instance + oam_volume_id_1: + hidden: false + immutable: false + type: string + description: size of the cinder volume used for oam + oam_volume_size_0: + hidden: false + immutable: false + type: float + description: Size of Volume for oam VMs + default: 300 + constraints: + - in_range: + - 1 + - 300 + oam_volume_id_0: + hidden: false + immutable: false + type: string + description: size of the cinder volume used for oam + vcscf_oam_netmask: + hidden: false + immutable: false + type: string + description: Netmask for OAM LAN + tdcore_zone_1_names: + hidden: false + immutable: false + type: list + description: List of instance names for TDCORE instances on zone 1 + entry_schema: + type: string + cif_flavor_name: + hidden: false + immutable: false + type: string + description: CSCF CIF VM flavor + default: ND.c4r16d38 + vcscf_dns_address: + hidden: false + immutable: false + type: string + description: DNS server IP + vcscf_internal_network_cidr: + hidden: false + immutable: false + type: string + description: CIDR for for Internal LAN + default: 192.168.210.0/24 + cdi_ims_core_v6_ip_1: + hidden: false + immutable: false + type: string + description: IMS CORE LAN v6 IP of CDI02 instance + cdi_ims_core_v6_ip_0: + hidden: false + immutable: false + type: string + description: IMS CORE LAN v6 IP of CDI01 instance + cdi_flavor_name: + hidden: false + immutable: false + type: string + description: CDI VM flavor + default: ND.c4r8d38 + vcscf_default_gateway: + hidden: false + immutable: false + type: string + description: Default gateway for OAM LAN + tdcore_zone_0_uuids: + hidden: false + immutable: false + type: list + description: List of UUIDs generated by cmrepo for TDCORE instances on zone 0 + entry_schema: + type: string + oam_name_1: + hidden: false + immutable: false + type: string + description: OAM02 instance name + oam_name_0: + hidden: false + immutable: false + type: string + description: OAM01 instance name + oam_name_2: + hidden: false + immutable: false + type: string + description: OAM03 instance name + cscf_zone_1_uuids: + hidden: false + immutable: false + type: list + description: List of UUIDs generated by cmrepo for CSCF instances on zone 1 + entry_schema: + type: string + vf_module_id: + hidden: false + immutable: false + type: string + description: Unique ID for this VF Module instance + oam_oam_ip_0: + hidden: false + immutable: false + type: string + description: OAM IP of OAM01 instance + cscf_internal_zone_1_ips: + hidden: false + immutable: false + type: list + description: List of Internal Lan IPs for CSCF instances on zone 1 + default: + - 192.168.210.17 + - 192.168.210.19 + - 192.168.210.21 + - 192.168.210.23 + - 192.168.210.25 + - 192.168.210.27 + - 192.168.210.29 + - 192.168.210.31 + - 192.168.210.33 + - 192.168.210.35 + - 192.168.210.37 + - 192.168.210.39 + - 192.168.210.41 + - 192.168.210.43 + - 192.168.210.45 + - 192.168.210.47 + - 192.168.210.49 + - 192.168.210.51 + entry_schema: + type: string + cif_ims_li_v6_vip_0: + hidden: false + immutable: false + type: string + description: IMS LI CIPA v6 IP of CIF + oam_oam_ip_1: + hidden: false + immutable: false + type: string + description: OAM IP of OAM02 instance + oam_oam_ip_2: + hidden: false + immutable: false + type: string + description: OAM IP of OAM03 instance + vnf_name: + hidden: false + immutable: false + type: string + description: Unique name for this VF instance + lbd_flavor_name: + hidden: false + immutable: false + type: string + description: CSCF LBD VM flavor + default: ND.c4r16d38 + cscf_zone_0_uuids: + hidden: false + immutable: false + type: list + description: List of UUIDs generated by cmrepo for CSCF instances on zone 0 + entry_schema: + type: string + vf_module_name: + hidden: false + immutable: false + type: string + description: Unique name for this VF Module instance + cdi_internal_ip_0: + hidden: false + immutable: false + type: string + description: Internal IP of CDI01 instance + default: 192.168.210.139 + cscf_zone_0_names: + hidden: false + immutable: false + type: list + description: List of instance names for CSCF instances on zone 0 + entry_schema: + type: string + oam_oam_vip_0: + hidden: false + immutable: false + type: string + description: OAM CIPA IP of OAM unit + vcscf_swrepo_address: + hidden: false + immutable: false + type: string + description: SWRepo IP or FQDN + cdi_internal_ip_1: + hidden: false + immutable: false + type: string + description: Internal IP of CDI02 instance + default: 192.168.210.140 + cdi_name_1: + hidden: false + immutable: false + type: string + description: CDI02 instance name + availability_zone_0: + hidden: false + immutable: false + type: string + description: Storage availability zone for volume of first vm + availability_zone_1: + hidden: false + immutable: false + type: string + description: Storage availability zone for volume of second vm + tdcore_image_name: + hidden: false + immutable: false + type: string + description: TDCORE VM image name + default: IMS_17_0_OPENSTACK_CSCF_1701400.000 + tdcore_flavor_name: + hidden: false + immutable: false + type: string + description: TDCORE VM flavor + default: ND.c4r16d38 + cscf_flavor_name: + hidden: false + immutable: false + type: string + description: CSCF server VM flavor + default: ND.c8r16d38 + vcscf_cmrepo_address: + hidden: false + immutable: false + type: string + description: CMRepo IP or FQDN + cdi_name_0: + hidden: false + immutable: false + type: string + description: CDI01 instance name + lbd_ims_core_v6_ip_0: + hidden: false + immutable: false + type: string + description: IMS CORE v6 IP of LBD01 instance + lbd_ims_core_v6_ip_1: + hidden: false + immutable: false + type: string + description: IMS CORE v6 IP of LBD02 instance + tdcore_internal_zone_1_ips: + hidden: false + immutable: false + type: list + description: List of Internal Lan IPs for TDCORE instances on zone 1 + default: + - 192.168.210.9 + - 192.168.210.11 + - 192.168.210.13 + - 192.168.210.15 + entry_schema: + type: string + oam_net_id: + hidden: false + immutable: false + type: string + description: Name/UUID of OAM network + cdi_internal_v6_vip_0: + hidden: false + immutable: false + type: string + description: Internal v6 CIPA IP of CDI + default: 2a00:9a00:a000:1190:0:1:1:2b8d + tdcore_dpdk_zone_1_ips: + hidden: false + immutable: false + type: list + description: List of DPDK Lan IPs for TDCORE instances on zone 1 + default: + - 192.168.211.9 + - 192.168.211.11 + - 192.168.211.13 + - 192.168.211.15 + entry_schema: + type: string + oam_internal_ip_0: + hidden: false + immutable: false + type: string + description: Internal IP of OAM01 instance + default: 192.168.210.136 + oam_internal_ip_1: + hidden: false + immutable: false + type: string + description: Internal IP of OAM01 instance + default: 192.168.210.137 + cscf_zone_0_count: + hidden: false + immutable: false + type: float + description: | + Number of CSCF to be deployed on zone 0. This parameter is used to scale the cscf instances. + default: 19 + constraints: + - in_range: + - 0 + - 120 + oam_internal_ip_2: + hidden: false + immutable: false + type: string + description: Internal IP of OAM01 instance + default: 192.168.210.138 + cscf_zone_1_names: + hidden: false + immutable: false + type: list + description: List of instance names for CSCF instances on zone 1 + entry_schema: + type: string + tdcore_zone_0_names: + hidden: false + immutable: false + type: list + description: List of instance names for TDCORE instances on zone 0 + entry_schema: + type: string + lbd_uuid_0: + hidden: false + immutable: false + type: string + description: UUID generated by cmrepo for LBD01 + lbd_uuid_1: + hidden: false + immutable: false + type: string + description: UUID generated by cmrepo for LBD02 + cdi_internal_v6_ip_1: + hidden: false + immutable: false + type: string + description: Internal v6 IP of CDI02 instance + default: 2a00:9a00:a000:1190:0:1:1:2b8c + cdi_internal_v6_ip_0: + hidden: false + immutable: false + type: string + description: Internal v6 IP of CDI01 instance + default: 2a00:9a00:a000:1190:0:1:1:2b8b + cdi_uuid_1: + hidden: false + immutable: false + type: string + description: UUID generated by cmrepo for CDI02 + ims_core_net_id: + hidden: false + immutable: false + type: string + description: Name/UUID of Core network + cdi_uuid_0: + hidden: false + immutable: false + type: string + description: UUID generated by cmrepo for CDI01 + vcscf_internal_network_v6_cidr: + hidden: false + immutable: false + type: string + description: CIDR for for Internal LAN v6 + default: 2a00:9a00:a000:1190:0:1:1:2b00/120 + oam_image_name: + hidden: false + immutable: false + type: string + description: OAM VM image name + default: IMS_17_0_OPENSTACK_OAM_1701400.000 + tdcore_zone_1_uuids: + hidden: false + immutable: false + type: list + description: List of UUIDs generated by cmrepo for TDCORE instances on zone 1 + entry_schema: + type: string + vcscf_internal_network_mtu: + hidden: false + immutable: false + type: float + description: MTU for internal network interface (eth0) + default: 1500 + constraints: + - in_range: + - 1000 + - 9100 + vcscf_internal_dpdk_network_cidr: + hidden: false + immutable: false + type: string + description: CIDR for for Internal LAN DPDK + default: 192.168.211.0/24 + tdcore_zone_1_count: + hidden: false + immutable: false + type: float + description: | + Number of TD Core VMs to be deployed zone 1. This parameter is used to scale the TD Core instances. + default: 4 + constraints: + - in_range: + - 0 + - 8 + cif_volume_size_0: + hidden: false + immutable: false + type: float + description: Size of Volume for cif VMs + default: 300 + constraints: + - in_range: + - 1 + - 300 + oam_flavor_name: + hidden: false + immutable: false + type: string + description: OAM VM flavor + default: ND.c4r32d30 + ims_li_v6_net_id: + hidden: false + immutable: false + type: string + description: Name/UUID of V6 LI network + lbd_internal_dpdk_ip_1: + hidden: false + immutable: false + type: string + description: Internal DPDK IP of LBD02 instance + default: 192.168.211.2 + cif_ims_core_v6_vip_0: + hidden: false + immutable: false + type: string + description: IMS CORE v6 CIPA IP of CIF + lbd_internal_dpdk_ip_0: + hidden: false + immutable: false + type: string + description: Internal DPDK IP of LBD01 instance + default: 192.168.211.1 + cdi_image_name: + hidden: false + immutable: false + type: string + description: CDI VM image name + default: IMS_17_0_OPENSTACK_CSCF_1701400.000 + oam_uuid_2: + hidden: false + immutable: false + type: string + description: UUID generated by cmrepo for OAM03 + oam_uuid_1: + hidden: false + immutable: false + type: string + description: UUID generated by cmrepo for OAM02 + oam_uuid_0: + hidden: false + immutable: false + type: string + description: UUID generated by cmrepo for OAM01 + cif_oam_vip_0: + hidden: false + immutable: false + type: string + description: OAM CIPA IP of CIF + cif_internal_v6_ip_1: + hidden: false + immutable: false + type: string + description: Internal IP v6 of CIF02 instance + default: 2a00:9a00:a000:1190:0:1:1:2b05 + vnf_id: + hidden: false + immutable: false + type: string + description: Unique ID for this VF instance + cscf_internal_zone_0_v6_ips: + hidden: false + immutable: false + type: list + description: List of Internal Lan v6 IPs for CSCF instances on zone 0 + default: + - 2a00:9a00:a000:1190:0:1:1:2b10 + - 2a00:9a00:a000:1190:0:1:1:2b12 + - 2a00:9a00:a000:1190:0:1:1:2b14 + - 2a00:9a00:a000:1190:0:1:1:2b16 + - 2a00:9a00:a000:1190:0:1:1:2b18 + - 2a00:9a00:a000:1190:0:1:1:2b1a + - 2a00:9a00:a000:1190:0:1:1:2b1c + - 2a00:9a00:a000:1190:0:1:1:2b1e + - 2a00:9a00:a000:1190:0:1:1:2b20 + - 2a00:9a00:a000:1190:0:1:1:2b22 + - 2a00:9a00:a000:1190:0:1:1:2b24 + - 2a00:9a00:a000:1190:0:1:1:2b26 + - 2a00:9a00:a000:1190:0:1:1:2b28 + - 2a00:9a00:a000:1190:0:1:1:2b2a + - 2a00:9a00:a000:1190:0:1:1:2b2c + - 2a00:9a00:a000:1190:0:1:1:2b2e + - 2a00:9a00:a000:1190:0:1:1:2b30 + - 2a00:9a00:a000:1190:0:1:1:2b32 + - 2a00:9a00:a000:1190:0:1:1:2b34 + entry_schema: + type: string + cscf_internal_zone_1_v6_ips: + hidden: false + immutable: false + type: list + description: List of Internal Lan v6 IPs for CSCF instances on zone 1 + default: + - 2a00:9a00:a000:1190:0:1:1:2b11 + - 2a00:9a00:a000:1190:0:1:1:2b13 + - 2a00:9a00:a000:1190:0:1:1:2b15 + - 2a00:9a00:a000:1190:0:1:1:2b17 + - 2a00:9a00:a000:1190:0:1:1:2b19 + - 2a00:9a00:a000:1190:0:1:1:2b1b + - 2a00:9a00:a000:1190:0:1:1:2b1d + - 2a00:9a00:a000:1190:0:1:1:2b1f + - 2a00:9a00:a000:1190:0:1:1:2b21 + - 2a00:9a00:a000:1190:0:1:1:2b23 + - 2a00:9a00:a000:1190:0:1:1:2b25 + - 2a00:9a00:a000:1190:0:1:1:2b27 + - 2a00:9a00:a000:1190:0:1:1:2b29 + - 2a00:9a00:a000:1190:0:1:1:2b2b + - 2a00:9a00:a000:1190:0:1:1:2b2d + - 2a00:9a00:a000:1190:0:1:1:2b2f + - 2a00:9a00:a000:1190:0:1:1:2b31 + - 2a00:9a00:a000:1190:0:1:1:2b33 + entry_schema: + type: string + cif_internal_v6_ip_0: + hidden: false + immutable: false + type: string + description: Internal IP v6 of CIF01 instance + default: 2a00:9a00:a000:1190:0:1:1:2b04 + lbd_internal_ip_1: + hidden: false + immutable: false + type: string + description: Internal IP of LBD02 instance + default: 192.168.210.5 + cif_oam_vip_1: + hidden: false + immutable: false + type: string + description: OAM (LI-X1) v4 CIPA of CIF + lbd_internal_ip_0: + hidden: false + immutable: false + type: string + description: Internal IP of LBD01 instance + default: 192.168.210.4 + cif_volume_id_0: + hidden: false + immutable: false + type: string + description: size of the cinder volume used for cif + cif_ims_li_v6_ip_0: + hidden: false + immutable: false + type: string + description: IMS LI v6 IP of CIF01 instance + cif_volume_id_1: + hidden: false + immutable: false + type: string + description: size of the cinder volume used for cif + cif_ims_li_v6_ip_1: + hidden: false + immutable: false + type: string + description: IMS LI v6 IP of CIF02 instance + lbd_image_name: + hidden: false + immutable: false + type: string + description: CSCF LBD VM image name + default: IMS_17_0_OPENSTACK_CSCF_1701400.000 + tdcore_dpdk_zone_0_ips: + hidden: false + immutable: false + type: list + description: List of DPDK Lan IPs for TDCORE instances on zone 0 + default: + - 192.168.211.8 + - 192.168.211.10 + - 192.168.211.12 + - 192.168.211.14 + entry_schema: + type: string + cif_uuid_0: + hidden: false + immutable: false + type: string + description: UUID generated by cmrepo for CIF01 + cif_uuid_1: + hidden: false + immutable: false + type: string + description: UUID generated by cmrepo for CIF02 + cif_oam_ip_0: + hidden: false + immutable: false + type: string + description: OAM IP of CIF01 instance + cif_image_name: + hidden: false + immutable: false + type: string + description: CSCF CIF VM image name + default: IMS_17_0_OPENSTACK_CSCF_1701400.000 + vcscf_internal_netmask: + hidden: false + immutable: false + type: string + description: Netmask for Internal LAN + default: 255.255.255.0 + vcscf_name_delimeter: + hidden: false + immutable: false + type: string + description: 'delimeter used in concatenating different words while naming (ex: + "-","_",".",...)' + default: _ + constraints: + - valid_values: + - '-' + - '' + - _ + - . + cif_oam_ip_3: + hidden: false + immutable: false + type: string + description: OAM (LI-X1) v4 IP of CIF02 instance + cif_oam_ip_2: + hidden: false + immutable: false + type: string + description: OAM (LI-X1) v4 IP of CIF01 instance + cif_oam_ip_1: + hidden: false + immutable: false + type: string + description: OAM IP of CIF02 instance + cdi_ims_core_v6_vip_0: + hidden: false + immutable: false + type: string + description: IMS CORE LAN CIPA v6 IP of CDI + vcscf_dn: + hidden: false + immutable: false + type: string + description: DN name + vcscf_du: + hidden: false + immutable: false + type: string + description: DU name + cscf_internal_zone_0_ips: + hidden: false + immutable: false + type: list + description: List of Internal Lan IPs for CSCF instances on zone 0 + default: + - 192.168.210.16 + - 192.168.210.18 + - 192.168.210.20 + - 192.168.210.22 + - 192.168.210.24 + - 192.168.210.26 + - 192.168.210.28 + - 192.168.210.30 + - 192.168.210.32 + - 192.168.210.34 + - 192.168.210.36 + - 192.168.210.38 + - 192.168.210.40 + - 192.168.210.42 + - 192.168.210.44 + - 192.168.210.46 + - 192.168.210.48 + - 192.168.210.50 + - 192.168.210.52 + entry_schema: + type: string + tdcore_internal_zone_0_ips: + hidden: false + immutable: false + type: list + description: List of Internal Lan IPs for TDCORE instances on zone 0 + default: + - 192.168.210.8 + - 192.168.210.10 + - 192.168.210.12 + - 192.168.210.14 + entry_schema: + type: string + lbd_name_1: + hidden: false + immutable: false + type: string + description: LBD02 instance name + lbd_name_0: + hidden: false + immutable: false + type: string + description: LBD01 instance name + node_templates: + cscf_RSG: + type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules + properties: + name: + str_replace: + template: $VNF$DELsecurity$DELgroup + params: + $DEL: + get_input: vcscf_name_delimeter + $VNF: + get_input: vnf_name + description: Allow all + rules: + - ethertype: IPv4 + direction: ingress + - ethertype: IPv4 + direction: egress + - ethertype: IPv6 + direction: ingress + - ethertype: IPv6 + direction: egress + requirements: + - port: + capability: tosca.capabilities.Attachment + node: cif_internal_vip_0_port + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: tosca.capabilities.Attachment + node: cif_oam_vip_1_port + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: tosca.capabilities.Attachment + node: cif_ims_core_v6_vip_2_port + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: tosca.capabilities.Attachment + node: cif_oam_vip_3_port + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: tosca.capabilities.Attachment + node: cif_ims_li_v6_vip_4_port + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: tosca.capabilities.Attachment + node: lbd_internal_dpdk_vip_1_port + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: tosca.capabilities.Attachment + node: lbd_ims_core_v6_vip_2_port + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: tosca.capabilities.Attachment + node: cdi_internal_v6_vip_0_port + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: tosca.capabilities.Attachment + node: cdi_ims_core_v6_vip_1_port + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: tosca.capabilities.Attachment + node: oam_internal_vip_0_port + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: tosca.capabilities.Attachment + node: oam_oam_vip_1_port + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_oam_oam_internal_0_port + node: abstract_oam + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_oam_oam_oam_0_port + node: abstract_oam + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_oam_oam_internal_1_port + node: abstract_oam_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_oam_oam_oam_1_port + node: abstract_oam_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_oam_oam_internal_2_port + node: abstract_oam_2 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_oam_oam_oam_2_port + node: abstract_oam_2 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cif_cif_internal_0_port + node: abstract_cif + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cif_cif_oam_0_port_1 + node: abstract_cif + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cif_cif_ims_core_0_port + node: abstract_cif + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cif_cif_oam_0_port_3 + node: abstract_cif + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cif_cif_ims_li_0_port + node: abstract_cif + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cif_cif_internal_1_port + node: abstract_cif_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cif_cif_oam_1_port_1 + node: abstract_cif_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cif_cif_ims_core_1_port + node: abstract_cif_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cif_cif_oam_1_port_3 + node: abstract_cif_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cif_cif_ims_li_1_port + node: abstract_cif_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_lbd_lbd_internal_0_port + node: abstract_lbd_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_lbd_lbd_dpdk_0_port + node: abstract_lbd_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_lbd_lbd_ims_core_0_port + node: abstract_lbd_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_lbd_lbd_internal_1_port + node: abstract_lbd + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_lbd_lbd_dpdk_1_port + node: abstract_lbd + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_lbd_lbd_ims_core_1_port + node: abstract_lbd + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cdi_cdi_internal_0_port + node: abstract_cdi + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cdi_cdi_ims_core_0_port + node: abstract_cdi + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cdi_cdi_internal_1_port + node: abstract_cdi_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cdi_cdi_ims_core_1_port + node: abstract_cdi_1 + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_tdcore_internal_0_port_0 + node: tdcore_zone_0_RRG + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_tdcore_dpdk_0_port_1 + node: tdcore_zone_0_RRG + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_tdcore_internal_0_port_0 + node: tdcore_zone_1_RRG + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_tdcore_dpdk_0_port_1 + node: tdcore_zone_1_RRG + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cscf_internal_0_port_0 + node: cscf_zone_0_RRG + relationship: org.openecomp.relationships.AttachesTo + - port: + capability: attachment_cscf_internal_0_port_0 + node: cscf_zone_1_RRG + relationship: org.openecomp.relationships.AttachesTo + cdi_internal_v6_vip_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: + - cscf_RSG + fixed_ips: + - ip_address: + get_input: cdi_internal_v6_vip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $NAME$DELcdi$DELinternal$DELvip$DELv6 + params: + $NAME: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + network: cscf_internal_network_0 + requirements: + - link: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + cscf_internal_dpdk_network_0: + type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net + properties: + dhcp_enabled: false + shared: false + admin_state_up: true + network_name: + str_replace: + template: $PREFIX$DELinternal$DELdpdk$DELnetwork + params: + $PREFIX: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + subnets: + cscf_internal_dpdk_subnet_0: + enable_dhcp: false + name: + str_replace: + template: $PREFIX$DELinternal$DELdpdk$DELsubnet + params: + $PREFIX: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + cidr: + get_input: vcscf_internal_dpdk_network_cidr + cif_ims_core_v6_vip_2_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: + - cscf_RSG + fixed_ips: + - ip_address: + get_input: cif_ims_core_v6_vip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $NAME$DELcif$DELims$DELcore$DELvip$DELv6 + params: + $NAME: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + network_role_tag: ims_core + network: + get_input: ims_core_net_id + abstract_cdi_1: + type: org.openecomp.resource.abstract.nodes.cdi_1 + directives: + - substitutable + properties: + port_cdi_ims_core_1_port_security_groups: + - - cscf_RSG + vm_flavor_name: + get_input: cdi_flavor_name + port_cdi_internal_1_port_security_groups: + - - cscf_RSG + port_cdi_ims_core_1_port_mac_requirements: + mac_count_required: + is_required: false + vm_image_name: + get_input: cdi_image_name + compute_cdi_scheduler_hints: + - group: cdi_server_group_group + port_cdi_ims_core_1_port_fixed_ips: + - ip_address: + get_input: cdi_ims_core_v6_ip_1 + compute_cdi_name: + - get_input: cdi_name_1 + port_cdi_ims_core_1_port_network_role_tag: ims_core + port_cdi_ims_core_1_port_name: + - str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: + get_input: cdi_name_1 + $DEL: + get_input: vcscf_name_delimeter + compute_cdi_user_data_format: + - RAW + port_cdi_ims_core_1_port_network: + - get_input: ims_core_net_id + compute_cdi_availability_zone: + - get_input: availability_zone_1 + port_cdi_internal_1_port_network: + - cscf_internal_network_0 + port_cdi_ims_core_1_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_cdi_internal_1_port_allowed_address_pairs: + - ip_address: 0.0.0.0/1 + - ip_address: 128.0.0.0/1 + - ip_address: ::/1 + - ip_address: 8000::/1 + compute_cdi_config_drive: + - true + port_cdi_internal_1_port_mac_requirements: + mac_count_required: + is_required: false + port_cdi_ims_core_1_port_allowed_address_pairs: + - ip_address: + get_input: cdi_ims_core_v6_vip_0 + port_cdi_internal_1_port_fixed_ips: + - ip_address: + get_input: cdi_internal_ip_1 + - ip_address: + get_input: cdi_internal_v6_ip_1 + port_cdi_internal_1_port_name: + - str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: + get_input: cdi_name_1 + $DEL: + get_input: vcscf_name_delimeter + port_cdi_internal_1_port_ip_requirements: + - ip_version: 6 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + compute_cdi_metadata: + - vf_module_id: + get_input: vf_module_id + vm_role: cdi + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + vf_module_name: + get_input: vf_module_name + service_template_filter: + substitute_service_template: Nested_cdi_1ServiceTemplate.yaml + count: 1 + index_value: + get_property: + - SELF + - service_template_filter + - index_value + requirements: + - link_cdi_cdi_internal_1_port: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_cdi_cdi_internal_1_port: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + cif_internal_vip_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: + - cscf_RSG + fixed_ips: + - ip_address: + get_input: cif_internal_vip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $NAME$DELcif$DELinternal$DELvip + params: + $NAME: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + network: cscf_internal_network_0 + requirements: + - link: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + cscf_zone_1_RRG: + type: org.openecomp.resource.abstract.nodes.heat.cscf + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + internal_net_id: cscf_internal_network_0 + vcscf_release: + get_input: vcscf_release + cscf_internal_ips: + get_input: cscf_internal_zone_1_ips + vcscf_gateway: + get_input: oam_internal_vip_0 + vnf_name: + get_input: vnf_name + vf_module_name: + get_input: vf_module_name + cscf_image_name: + get_input: cscf_image_name + cscf_names: + get_input: cscf_zone_1_names + service_template_filter: + substitute_service_template: nested_cscfServiceTemplate.yaml + count: + get_input: cscf_zone_1_count + mandatory: false + vcscf_swrepo_address: + get_input: vcscf_swrepo_address + cscf_uuids: + get_input: cscf_zone_1_uuids + vnf_id: + get_input: vnf_id + availability_zone_0: + get_input: availability_zone_1 + cscf_internal_v6_ips: + get_input: cscf_internal_zone_1_v6_ips + cscf_flavor_name: + get_input: cscf_flavor_name + vcscf_cmrepo_address: + get_input: vcscf_cmrepo_address + vcscf_dns_address: + get_input: vcscf_dns_address + vcscf_internal_network_mtu: + get_input: vcscf_internal_network_mtu + port_cscf_internal_0_port_0_ip_requirements: + - ip_version: 6 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + index: + get_property: + - SELF + - service_template_filter + - index_value + vcscf_internal_netmask: + get_input: vcscf_internal_netmask + vcscf_name_delimeter: + get_input: vcscf_name_delimeter + port_cscf_internal_0_port_0_network_role_tag: internal + vcscf_dn: + get_input: vcscf_dn + vcscf_du: + get_input: vcscf_du + port_cscf_internal_0_port_0_mac_requirements: + mac_count_required: + is_required: false + cscf_security_group: cscf_RSG + requirements: + - link_cscf_internal_0_port_0: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_cscf_server_0: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + oam_oam_vip_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: false + security_groups: + - cscf_RSG + fixed_ips: + - ip_address: + get_input: oam_oam_vip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $NAME$DELoam$DELoam$DELvip + params: + $NAME: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + network_role_tag: oam + network: + get_input: oam_net_id + tdcore_zone_0_RRG: + type: org.openecomp.resource.abstract.nodes.heat.tdcore + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + internal_net_id: cscf_internal_network_0 + vcscf_release: + get_input: vcscf_release + tdcore_security_group: cscf_RSG + tdcore_names: + get_input: tdcore_zone_0_names + port_tdcore_dpdk_0_port_1_network_role_tag: internal_dpdk + port_tdcore_dpdk_0_port_1_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + vcscf_gateway: + get_input: oam_internal_vip_0 + vnf_name: + get_input: vnf_name + internal_dpdk_net_id: cscf_internal_dpdk_network_0 + vf_module_name: + get_input: vf_module_name + service_template_filter: + substitute_service_template: nested_tdcoreServiceTemplate.yaml + count: + get_input: tdcore_zone_0_count + mandatory: false + vcscf_swrepo_address: + get_input: vcscf_swrepo_address + vnf_id: + get_input: vnf_id + availability_zone_0: + get_input: availability_zone_0 + port_tdcore_dpdk_0_port_1_mac_requirements: + mac_count_required: + is_required: false + tdcore_flavor_name: + get_input: tdcore_flavor_name + tdcore_image_name: + get_input: tdcore_image_name + vcscf_cmrepo_address: + get_input: vcscf_cmrepo_address + vcscf_dns_address: + get_input: vcscf_dns_address + vcscf_internal_network_mtu: + get_input: vcscf_internal_network_mtu + tdcore_server_group: tdcore_zone_0_server_group_group + index: + get_property: + - SELF + - service_template_filter + - index_value + vcscf_internal_netmask: + get_input: vcscf_internal_netmask + port_tdcore_internal_0_port_0_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + vcscf_name_delimeter: + get_input: vcscf_name_delimeter + tdcore_internal_ips: + get_input: tdcore_internal_zone_0_ips + tdcore_dpdk_ips: + get_input: tdcore_dpdk_zone_0_ips + tdcore_uuids: + get_input: tdcore_zone_0_uuids + vcscf_dn: + get_input: vcscf_dn + port_tdcore_internal_0_port_0_network_role_tag: internal + port_tdcore_internal_0_port_0_mac_requirements: + mac_count_required: + is_required: false + vcscf_du: + get_input: vcscf_du + requirements: + - link_tdcore_internal_0_port_0: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - link_tdcore_dpdk_0_port_1: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_dpdk_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_tdcore_server_0: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + - dependency_tdcore_server_0: + capability: tosca.capabilities.Node + node: cscf_internal_dpdk_network_0 + relationship: tosca.relationships.DependsOn + lbd_ims_core_v6_vip_2_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: + - cscf_RSG + fixed_ips: + - ip_address: + get_input: lbd_ims_core_v6_vip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $NAME$DELlbd$DELims$DELcore$DELvip$DELv6 + params: + $NAME: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + network_role_tag: ims_core + network: + get_input: ims_core_net_id + cif_oam_vip_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: false + security_groups: + - cscf_RSG + fixed_ips: + - ip_address: + get_input: cif_oam_vip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $NAME$DELcif$DELoam$DELvip0 + params: + $NAME: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + network_role_tag: oam + network: + get_input: oam_net_id + oam_volume_0: + type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume + properties: + availability_zone: + get_input: availability_zone_0 + size: '(get_input : oam_volume_size_0) * 1024' + name: + str_replace: + template: $VNF$DELoam$DELvolume$DEL0 + params: + $DEL: + get_input: vcscf_name_delimeter + $VNF: + get_input: vnf_name + abstract_lbd: + type: org.openecomp.resource.abstract.nodes.lbd + directives: + - substitutable + properties: + port_lbd_ims_core_1_port_allowed_address_pairs: + - ip_address: + get_input: lbd_ims_core_v6_vip_0 + compute_lbd_user_data_format: + - RAW + compute_lbd_config_drive: + - true + port_lbd_internal_1_port_name: + - str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: + get_input: lbd_name_1 + $DEL: + get_input: vcscf_name_delimeter + port_lbd_dpdk_1_port_allowed_address_pairs: + - ip_address: 0.0.0.0/1 + - ip_address: 128.0.0.0/1 + - ip_address: ::/1 + - ip_address: 8000::/1 + port_lbd_ims_core_1_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_lbd_dpdk_1_port_mac_requirements: + mac_count_required: + is_required: false + vm_flavor_name: + get_input: lbd_flavor_name + port_lbd_ims_core_1_port_mac_requirements: + mac_count_required: + is_required: false + compute_lbd_availability_zone: + - get_input: availability_zone_1 + port_lbd_internal_1_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + port_lbd_internal_1_port_security_groups: + - - cscf_RSG + vm_image_name: + get_input: lbd_image_name + port_lbd_dpdk_1_port_network: + - cscf_internal_dpdk_network_0 + port_lbd_ims_core_1_port_name: + - str_replace: + template: $PREFIX$DELeth2 + params: + $PREFIX: + get_input: lbd_name_1 + $DEL: + get_input: vcscf_name_delimeter + port_lbd_ims_core_1_port_security_groups: + - - cscf_RSG + port_lbd_ims_core_1_port_fixed_ips: + - ip_address: + get_input: lbd_ims_core_v6_ip_1 + port_lbd_internal_1_port_fixed_ips: + - ip_address: + get_input: lbd_internal_ip_1 + port_lbd_ims_core_1_port_network: + - get_input: ims_core_net_id + compute_lbd_scheduler_hints: + - group: lbd_server_group_group + port_lbd_dpdk_1_port_name: + - str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: + get_input: lbd_name_1 + $DEL: + get_input: vcscf_name_delimeter + port_lbd_dpdk_1_port_security_groups: + - - cscf_RSG + port_lbd_dpdk_1_port_fixed_ips: + - ip_address: + get_input: lbd_internal_dpdk_ip_1 + port_lbd_internal_1_port_network: + - cscf_internal_network_0 + port_lbd_dpdk_1_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + compute_lbd_metadata: + - vf_module_id: + get_input: vf_module_id + vm_role: lbd + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + vf_module_name: + get_input: vf_module_name + port_lbd_internal_1_port_mac_requirements: + mac_count_required: + is_required: false + compute_lbd_name: + - get_input: lbd_name_1 + port_lbd_ims_core_1_port_network_role_tag: ims_core + service_template_filter: + substitute_service_template: Nested_lbdServiceTemplate.yaml + count: 1 + index_value: + get_property: + - SELF + - service_template_filter + - index_value + requirements: + - link_lbd_lbd_internal_1_port: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_lbd_lbd_internal_1_port: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + - link_lbd_lbd_dpdk_1_port: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_dpdk_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_lbd_lbd_dpdk_1_port: + capability: tosca.capabilities.Node + node: cscf_internal_dpdk_network_0 + relationship: tosca.relationships.DependsOn + oam_internal_vip_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: + - cscf_RSG + fixed_ips: + - ip_address: + get_input: oam_internal_vip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $NAME$DELoam$DELinternal$DELvip + params: + $NAME: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + network: cscf_internal_network_0 + requirements: + - link: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + tdcore_zone_1_RRG: + type: org.openecomp.resource.abstract.nodes.heat.tdcore + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + internal_net_id: cscf_internal_network_0 + vcscf_release: + get_input: vcscf_release + tdcore_security_group: cscf_RSG + tdcore_names: + get_input: tdcore_zone_1_names + port_tdcore_dpdk_0_port_1_network_role_tag: internal_dpdk + port_tdcore_dpdk_0_port_1_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + vcscf_gateway: + get_input: oam_internal_vip_0 + vnf_name: + get_input: vnf_name + internal_dpdk_net_id: cscf_internal_dpdk_network_0 + vf_module_name: + get_input: vf_module_name + service_template_filter: + substitute_service_template: nested_tdcoreServiceTemplate.yaml + count: + get_input: tdcore_zone_1_count + mandatory: false + vcscf_swrepo_address: + get_input: vcscf_swrepo_address + vnf_id: + get_input: vnf_id + availability_zone_0: + get_input: availability_zone_1 + port_tdcore_dpdk_0_port_1_mac_requirements: + mac_count_required: + is_required: false + tdcore_flavor_name: + get_input: tdcore_flavor_name + tdcore_image_name: + get_input: tdcore_image_name + vcscf_cmrepo_address: + get_input: vcscf_cmrepo_address + vcscf_dns_address: + get_input: vcscf_dns_address + vcscf_internal_network_mtu: + get_input: vcscf_internal_network_mtu + tdcore_server_group: tdcore_zone_1_server_group_group + index: + get_property: + - SELF + - service_template_filter + - index_value + vcscf_internal_netmask: + get_input: vcscf_internal_netmask + port_tdcore_internal_0_port_0_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + vcscf_name_delimeter: + get_input: vcscf_name_delimeter + tdcore_internal_ips: + get_input: tdcore_internal_zone_1_ips + tdcore_dpdk_ips: + get_input: tdcore_dpdk_zone_1_ips + tdcore_uuids: + get_input: tdcore_zone_1_uuids + vcscf_dn: + get_input: vcscf_dn + port_tdcore_internal_0_port_0_network_role_tag: internal + port_tdcore_internal_0_port_0_mac_requirements: + mac_count_required: + is_required: false + vcscf_du: + get_input: vcscf_du + requirements: + - link_tdcore_internal_0_port_0: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - link_tdcore_dpdk_0_port_1: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_dpdk_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_tdcore_server_0: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + - dependency_tdcore_server_0: + capability: tosca.capabilities.Node + node: cscf_internal_dpdk_network_0 + relationship: tosca.relationships.DependsOn + oam_volume_1: + type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume + properties: + availability_zone: + get_input: availability_zone_1 + size: '(get_input : oam_volume_size_0) * 1024' + name: + str_replace: + template: $VNF$DELoam$DELvolume$DEL1 + params: + $DEL: + get_input: vcscf_name_delimeter + $VNF: + get_input: vnf_name + abstract_cdi: + type: org.openecomp.resource.abstract.nodes.cdi + directives: + - substitutable + properties: + port_cdi_internal_0_port_ip_requirements: + - ip_version: 6 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + vm_flavor_name: + get_input: cdi_flavor_name + port_cdi_ims_core_0_port_name: + - str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: + get_input: cdi_name_0 + $DEL: + get_input: vcscf_name_delimeter + port_cdi_internal_0_port_allowed_address_pairs: + - ip_address: 0.0.0.0/1 + - ip_address: 128.0.0.0/1 + - ip_address: ::/1 + - ip_address: 8000::/1 + vm_image_name: + get_input: cdi_image_name + compute_cdi_scheduler_hints: + - group: cdi_server_group_group + compute_cdi_name: + - get_input: cdi_name_0 + port_cdi_ims_core_0_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_cdi_ims_core_0_port_network_role_tag: ims_core + compute_cdi_user_data_format: + - RAW + port_cdi_internal_0_port_name: + - str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: + get_input: cdi_name_0 + $DEL: + get_input: vcscf_name_delimeter + compute_cdi_availability_zone: + - get_input: availability_zone_0 + port_cdi_ims_core_0_port_network: + - get_input: ims_core_net_id + port_cdi_internal_0_port_network: + - cscf_internal_network_0 + port_cdi_internal_0_port_fixed_ips: + - ip_address: + get_input: cdi_internal_ip_0 + - ip_address: + get_input: cdi_internal_v6_ip_0 + compute_cdi_config_drive: + - true + port_cdi_internal_0_port_security_groups: + - - cscf_RSG + port_cdi_ims_core_0_port_security_groups: + - - cscf_RSG + port_cdi_ims_core_0_port_fixed_ips: + - ip_address: + get_input: cdi_ims_core_v6_ip_0 + port_cdi_internal_0_port_mac_requirements: + mac_count_required: + is_required: false + port_cdi_ims_core_0_port_allowed_address_pairs: + - ip_address: + get_input: cdi_ims_core_v6_vip_0 + compute_cdi_metadata: + - vf_module_id: + get_input: vf_module_id + vm_role: cdi + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + vf_module_name: + get_input: vf_module_name + port_cdi_ims_core_0_port_mac_requirements: + mac_count_required: + is_required: false + service_template_filter: + substitute_service_template: Nested_cdiServiceTemplate.yaml + count: 1 + index_value: + get_property: + - SELF + - service_template_filter + - index_value + requirements: + - link_cdi_cdi_internal_0_port: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_cdi_cdi_internal_0_port: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + cif_volume_0: + type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume + properties: + availability_zone: + get_input: availability_zone_0 + size: '(get_input : cif_volume_size_0) * 1024' + name: + str_replace: + template: $VNF$DELcif$DELvolume$DEL0 + params: + $DEL: + get_input: vcscf_name_delimeter + $VNF: + get_input: vnf_name + cif_volume_1: + type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume + properties: + availability_zone: + get_input: availability_zone_1 + size: '(get_input : cif_volume_size_0) * 1024' + name: + str_replace: + template: $VNF$DELcif$DELvolume$DEL1 + params: + $DEL: + get_input: vcscf_name_delimeter + $VNF: + get_input: vnf_name + abstract_oam_1: + type: org.openecomp.resource.abstract.nodes.oam_1 + directives: + - substitutable + properties: + port_oam_internal_1_port_security_groups: + - - cscf_RSG + port_oam_oam_1_port_allowed_address_pairs: + - ip_address: + get_input: oam_oam_vip_0 + vm_flavor_name: + get_input: oam_flavor_name + port_oam_oam_1_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_oam_oam_1_port_network_role_tag: oam + port_oam_oam_1_port_security_groups: + - - cscf_RSG + vm_image_name: + get_input: oam_image_name + compute_oam_config_drive: + - true + port_oam_internal_1_port_network: + - cscf_internal_network_0 + port_oam_oam_1_port_fixed_ips: + - ip_address: + get_input: oam_oam_ip_1 + port_oam_internal_1_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + port_oam_oam_1_port_network: + - get_input: oam_net_id + port_oam_internal_1_port_allowed_address_pairs: + - ip_address: 0.0.0.0/1 + - ip_address: 128.0.0.0/1 + - ip_address: ::/1 + - ip_address: 8000::/1 + compute_oam_user_data_format: + - RAW + port_oam_internal_1_port_name: + - str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: + get_input: oam_name_1 + $DEL: + get_input: vcscf_name_delimeter + port_oam_internal_1_port_fixed_ips: + - ip_address: + get_input: oam_internal_ip_1 + port_oam_oam_1_port_name: + - str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: + get_input: oam_name_1 + $DEL: + get_input: vcscf_name_delimeter + compute_oam_scheduler_hints: + - group: oam_server_group_group + compute_oam_availability_zone: + - get_input: availability_zone_1 + compute_oam_metadata: + - vf_module_id: + get_input: vf_module_id + vm_role: oam + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + vf_module_name: + get_input: vf_module_name + port_oam_internal_1_port_mac_requirements: + mac_count_required: + is_required: false + compute_oam_name: + - get_input: oam_name_1 + port_oam_oam_1_port_mac_requirements: + mac_count_required: + is_required: false + service_template_filter: + substitute_service_template: Nested_oam_1ServiceTemplate.yaml + count: 1 + index_value: + get_property: + - SELF + - service_template_filter + - index_value + requirements: + - link_oam_oam_internal_1_port: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_oam_oam_internal_1_port: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + abstract_oam_2: + type: org.openecomp.resource.abstract.nodes.oam_2 + directives: + - substitutable + properties: + port_oam_oam_2_port_network_role_tag: oam + port_oam_oam_2_port_security_groups: + - - cscf_RSG + port_oam_oam_2_port_name: + - str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: + get_input: oam_name_2 + $DEL: + get_input: vcscf_name_delimeter + port_oam_internal_2_port_name: + - str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: + get_input: oam_name_2 + $DEL: + get_input: vcscf_name_delimeter + vm_flavor_name: + get_input: oam_flavor_name + port_oam_internal_2_port_mac_requirements: + mac_count_required: + is_required: false + vm_image_name: + get_input: oam_image_name + compute_oam_config_drive: + - true + port_oam_internal_2_port_allowed_address_pairs: + - ip_address: 0.0.0.0/1 + - ip_address: 128.0.0.0/1 + - ip_address: ::/1 + - ip_address: 8000::/1 + port_oam_internal_2_port_network: + - cscf_internal_network_0 + port_oam_internal_2_port_fixed_ips: + - ip_address: + get_input: oam_internal_ip_2 + port_oam_oam_2_port_fixed_ips: + - ip_address: + get_input: oam_oam_ip_2 + port_oam_oam_2_port_mac_requirements: + mac_count_required: + is_required: false + port_oam_oam_2_port_network: + - get_input: oam_net_id + compute_oam_user_data_format: + - RAW + port_oam_internal_2_port_security_groups: + - - cscf_RSG + port_oam_oam_2_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + compute_oam_scheduler_hints: + - group: oam_server_group_group + port_oam_internal_2_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + compute_oam_availability_zone: + - get_input: availability_zone_0 + compute_oam_metadata: + - vf_module_id: + get_input: vf_module_id + vm_role: oam + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + vf_module_name: + get_input: vf_module_name + port_oam_oam_2_port_allowed_address_pairs: + - ip_address: + get_input: oam_oam_vip_0 + compute_oam_name: + - get_input: oam_name_2 + service_template_filter: + substitute_service_template: Nested_oam_2ServiceTemplate.yaml + count: 1 + index_value: + get_property: + - SELF + - service_template_filter + - index_value + requirements: + - link_oam_oam_internal_2_port: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_oam_oam_internal_2_port: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + cif_ims_li_v6_vip_4_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: + - cscf_RSG + fixed_ips: + - ip_address: + get_input: cif_ims_li_v6_vip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $NAME$DELcif$DELims$DELli$DELvip$DELv6 + params: + $NAME: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + network_role_tag: ims_li_v6 + network: + get_input: ims_li_v6_net_id + cscf_internal_network_0: + type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net + properties: + dhcp_enabled: false + shared: false + ip_version: 4 + admin_state_up: true + network_name: + str_replace: + template: $PREFIX$DELinternal$DELnetwork + params: + $PREFIX: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + subnets: + cscf_internal_subnet_0: + enable_dhcp: false + ip_version: 4 + name: + str_replace: + template: $PREFIX$DELinternal$DELsubnet + params: + $PREFIX: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + cidr: + get_input: vcscf_internal_network_cidr + cscf_internal_subnet_v6_0: + enable_dhcp: false + ip_version: 6 + name: + str_replace: + template: $PREFIX$DELinternal$DELsubnetv6 + params: + $PREFIX: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + cidr: + get_input: vcscf_internal_network_v6_cidr + abstract_oam: + type: org.openecomp.resource.abstract.nodes.oam + directives: + - substitutable + properties: + port_oam_oam_0_port_name: + - str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: + get_input: oam_name_0 + $DEL: + get_input: vcscf_name_delimeter + port_oam_oam_0_port_fixed_ips: + - ip_address: + get_input: oam_oam_ip_0 + vm_flavor_name: + get_input: oam_flavor_name + port_oam_oam_0_port_mac_requirements: + mac_count_required: + is_required: false + port_oam_internal_0_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + port_oam_internal_0_port_network: + - cscf_internal_network_0 + vm_image_name: + get_input: oam_image_name + compute_oam_config_drive: + - true + port_oam_internal_0_port_name: + - str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: + get_input: oam_name_0 + $DEL: + get_input: vcscf_name_delimeter + port_oam_oam_0_port_allowed_address_pairs: + - ip_address: + get_input: oam_oam_vip_0 + port_oam_internal_0_port_security_groups: + - - cscf_RSG + port_oam_internal_0_port_fixed_ips: + - ip_address: + get_input: oam_internal_ip_0 + port_oam_oam_0_port_network_role_tag: oam + compute_oam_user_data_format: + - RAW + port_oam_oam_0_port_network: + - get_input: oam_net_id + port_oam_oam_0_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_oam_internal_0_port_mac_requirements: + mac_count_required: + is_required: false + compute_oam_scheduler_hints: + - group: oam_server_group_group + port_oam_internal_0_port_allowed_address_pairs: + - ip_address: 0.0.0.0/1 + - ip_address: 128.0.0.0/1 + - ip_address: ::/1 + - ip_address: 8000::/1 + compute_oam_availability_zone: + - get_input: availability_zone_0 + compute_oam_metadata: + - vf_module_id: + get_input: vf_module_id + vm_role: oam + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + vf_module_name: + get_input: vf_module_name + compute_oam_name: + - get_input: oam_name_0 + port_oam_oam_0_port_security_groups: + - - cscf_RSG + service_template_filter: + substitute_service_template: Nested_oamServiceTemplate.yaml + count: 1 + index_value: + get_property: + - SELF + - service_template_filter + - index_value + requirements: + - link_oam_oam_internal_0_port: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_oam_oam_internal_0_port: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + abstract_lbd_1: + type: org.openecomp.resource.abstract.nodes.lbd_1 + directives: + - substitutable + properties: + compute_lbd_user_data_format: + - RAW + compute_lbd_config_drive: + - true + port_lbd_dpdk_0_port_fixed_ips: + - ip_address: + get_input: lbd_internal_dpdk_ip_0 + port_lbd_internal_0_port_security_groups: + - - cscf_RSG + vm_flavor_name: + get_input: lbd_flavor_name + port_lbd_dpdk_0_port_security_groups: + - - cscf_RSG + compute_lbd_availability_zone: + - get_input: availability_zone_0 + port_lbd_dpdk_0_port_allowed_address_pairs: + - ip_address: 0.0.0.0/1 + - ip_address: 128.0.0.0/1 + - ip_address: ::/1 + - ip_address: 8000::/1 + vm_image_name: + get_input: lbd_image_name + port_lbd_dpdk_0_port_name: + - str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: + get_input: lbd_name_0 + $DEL: + get_input: vcscf_name_delimeter + port_lbd_dpdk_0_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + port_lbd_ims_core_0_port_network: + - get_input: ims_core_net_id + port_lbd_dpdk_0_port_network: + - cscf_internal_dpdk_network_0 + port_lbd_ims_core_0_port_mac_requirements: + mac_count_required: + is_required: false + port_lbd_ims_core_0_port_allowed_address_pairs: + - ip_address: + get_input: lbd_ims_core_v6_vip_0 + port_lbd_internal_0_port_name: + - str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: + get_input: lbd_name_0 + $DEL: + get_input: vcscf_name_delimeter + port_lbd_ims_core_0_port_network_role_tag: ims_core + compute_lbd_scheduler_hints: + - group: lbd_server_group_group + port_lbd_internal_0_port_mac_requirements: + mac_count_required: + is_required: false + port_lbd_ims_core_0_port_fixed_ips: + - ip_address: + get_input: lbd_ims_core_v6_ip_0 + port_lbd_ims_core_0_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_lbd_internal_0_port_fixed_ips: + - ip_address: + get_input: lbd_internal_ip_0 + port_lbd_internal_0_port_network: + - cscf_internal_network_0 + port_lbd_dpdk_0_port_mac_requirements: + mac_count_required: + is_required: false + compute_lbd_metadata: + - vf_module_id: + get_input: vf_module_id + vm_role: lbd + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + vf_module_name: + get_input: vf_module_name + compute_lbd_name: + - get_input: lbd_name_0 + port_lbd_internal_0_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + port_lbd_ims_core_0_port_security_groups: + - - cscf_RSG + port_lbd_ims_core_0_port_name: + - str_replace: + template: $PREFIX$DELeth2 + params: + $PREFIX: + get_input: lbd_name_0 + $DEL: + get_input: vcscf_name_delimeter + service_template_filter: + substitute_service_template: Nested_lbd_1ServiceTemplate.yaml + count: 1 + index_value: + get_property: + - SELF + - service_template_filter + - index_value + requirements: + - link_lbd_lbd_internal_0_port: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_lbd_lbd_internal_0_port: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + - link_lbd_lbd_dpdk_0_port: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_dpdk_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_lbd_lbd_dpdk_0_port: + capability: tosca.capabilities.Node + node: cscf_internal_dpdk_network_0 + relationship: tosca.relationships.DependsOn + cscf_zone_0_RRG: + type: org.openecomp.resource.abstract.nodes.heat.cscf + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + internal_net_id: cscf_internal_network_0 + vcscf_release: + get_input: vcscf_release + cscf_internal_ips: + get_input: cscf_internal_zone_0_ips + vcscf_gateway: + get_input: oam_internal_vip_0 + vnf_name: + get_input: vnf_name + vf_module_name: + get_input: vf_module_name + cscf_image_name: + get_input: cscf_image_name + cscf_names: + get_input: cscf_zone_0_names + service_template_filter: + substitute_service_template: nested_cscfServiceTemplate.yaml + count: + get_input: cscf_zone_0_count + mandatory: false + vcscf_swrepo_address: + get_input: vcscf_swrepo_address + cscf_uuids: + get_input: cscf_zone_0_uuids + vnf_id: + get_input: vnf_id + availability_zone_0: + get_input: availability_zone_0 + cscf_internal_v6_ips: + get_input: cscf_internal_zone_0_v6_ips + cscf_flavor_name: + get_input: cscf_flavor_name + vcscf_cmrepo_address: + get_input: vcscf_cmrepo_address + vcscf_dns_address: + get_input: vcscf_dns_address + vcscf_internal_network_mtu: + get_input: vcscf_internal_network_mtu + port_cscf_internal_0_port_0_ip_requirements: + - ip_version: 6 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + index: + get_property: + - SELF + - service_template_filter + - index_value + vcscf_internal_netmask: + get_input: vcscf_internal_netmask + vcscf_name_delimeter: + get_input: vcscf_name_delimeter + port_cscf_internal_0_port_0_network_role_tag: internal + vcscf_dn: + get_input: vcscf_dn + vcscf_du: + get_input: vcscf_du + port_cscf_internal_0_port_0_mac_requirements: + mac_count_required: + is_required: false + cscf_security_group: cscf_RSG + requirements: + - link_cscf_internal_0_port_0: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_cscf_server_0: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + lbd_internal_dpdk_vip_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: false + security_groups: + - cscf_RSG + fixed_ips: + - ip_address: + get_input: lbd_internal_dpdk_vip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $NAME$DELlbd$DELinternal$DELdpdk$DELvip + params: + $NAME: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + network: cscf_internal_dpdk_network_0 + requirements: + - link: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_dpdk_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency: + capability: tosca.capabilities.Node + node: cscf_internal_dpdk_network_0 + relationship: tosca.relationships.DependsOn + cif_oam_vip_3_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: + - cscf_RSG + fixed_ips: + - ip_address: + get_input: cif_oam_vip_1 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $NAME$DELcif$DELoam$DELvip1 + params: + $NAME: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + network_role_tag: oam + network: + get_input: oam_net_id + cdi_ims_core_v6_vip_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: false + security_groups: + - cscf_RSG + fixed_ips: + - ip_address: + get_input: cdi_ims_core_v6_vip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $NAME$DELcdi$DELims$DELdb$DELvip$DELv6 + params: + $NAME: + get_input: vnf_name + $DEL: + get_input: vcscf_name_delimeter + network_role_tag: ims_core + network: + get_input: ims_core_net_id + abstract_cif: + type: org.openecomp.resource.abstract.nodes.cif + directives: + - substitutable + properties: + port_cif_ims_core_0_port_network: + - get_input: ims_core_net_id + port_cif_oam_0_port_1_name: + - str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: + get_input: cif_name_0 + $DEL: + get_input: vcscf_name_delimeter + port_cif_oam_0_port_1_allowed_address_pairs: + - ip_address: + get_input: cif_oam_vip_0 + port_cif_oam_0_port_1_fixed_ips: + - ip_address: + get_input: cif_oam_ip_0 + vm_flavor_name: + get_input: cif_flavor_name + port_cif_internal_0_port_name: + - str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: + get_input: cif_name_0 + $DEL: + get_input: vcscf_name_delimeter + vm_image_name: + get_input: cif_image_name + compute_cif_user_data_format: + - RAW + port_cif_oam_0_port_1_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_cif_ims_li_0_port_fixed_ips: + - ip_address: + get_input: cif_ims_li_v6_ip_0 + compute_cif_scheduler_hints: + - group: cif_server_group_group + port_cif_oam_0_port_1_security_groups: + - - cscf_RSG + port_cif_ims_li_0_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + compute_cif_metadata: + - vf_module_id: + get_input: vf_module_id + vm_role: cif + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + vf_module_name: + get_input: vf_module_name + port_cif_ims_li_0_port_name: + - str_replace: + template: $PREFIX$DELeth4 + params: + $PREFIX: + get_input: cif_name_0 + $DEL: + get_input: vcscf_name_delimeter + port_cif_ims_core_0_port_fixed_ips: + - ip_address: + get_input: cif_ims_core_v6_ip_0 + port_cif_oam_0_port_3_network_role_tag: oam + port_cif_ims_core_0_port_security_groups: + - - cscf_RSG + port_cif_ims_core_0_port_name: + - str_replace: + template: $PREFIX$DELeth2 + params: + $PREFIX: + get_input: cif_name_0 + $DEL: + get_input: vcscf_name_delimeter + port_cif_internal_0_port_network: + - cscf_internal_network_0 + port_cif_oam_0_port_3_security_groups: + - - cscf_RSG + port_cif_ims_core_0_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_cif_ims_li_0_port_mac_requirements: + mac_count_required: + is_required: false + port_cif_oam_0_port_1_network: + - get_input: oam_net_id + port_cif_ims_li_0_port_security_groups: + - - cscf_RSG + compute_cif_name: + - get_input: cif_name_0 + compute_cif_availability_zone: + - get_input: availability_zone_0 + port_cif_oam_0_port_1_network_role_tag: oam + port_cif_oam_0_port_3_mac_requirements: + mac_count_required: + is_required: false + port_cif_ims_core_0_port_allowed_address_pairs: + - ip_address: + get_input: cif_ims_core_v6_vip_0 + port_cif_oam_0_port_3_fixed_ips: + - ip_address: + get_input: cif_oam_ip_2 + port_cif_ims_core_0_port_network_role_tag: ims_core + port_cif_ims_li_0_port_allowed_address_pairs: + - ip_address: + get_input: cif_ims_li_v6_vip_0 + port_cif_internal_0_port_mac_requirements: + mac_count_required: + is_required: false + port_cif_ims_li_0_port_network: + - get_input: ims_li_v6_net_id + port_cif_internal_0_port_security_groups: + - - cscf_RSG + port_cif_ims_li_0_port_network_role_tag: ims_li_v6 + port_cif_oam_0_port_3_allowed_address_pairs: + - ip_address: + get_input: cif_oam_vip_1 + port_cif_internal_0_port_fixed_ips: + - ip_address: + get_input: cif_internal_ip_0 + - ip_address: + get_input: cif_internal_v6_ip_0 + compute_cif_config_drive: + - true + port_cif_oam_0_port_3_name: + - str_replace: + template: $PREFIX$DELeth3 + params: + $PREFIX: + get_input: cif_name_0 + $DEL: + get_input: vcscf_name_delimeter + port_cif_oam_0_port_3_network: + - get_input: oam_net_id + port_cif_ims_core_0_port_mac_requirements: + mac_count_required: + is_required: false + port_cif_internal_0_port_allowed_address_pairs: + - ip_address: + get_input: cif_internal_vip_0 + port_cif_oam_0_port_1_mac_requirements: + mac_count_required: + is_required: false + port_cif_oam_0_port_3_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_cif_internal_0_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + service_template_filter: + substitute_service_template: Nested_cifServiceTemplate.yaml + count: 1 + index_value: + get_property: + - SELF + - service_template_filter + - index_value + requirements: + - link_cif_cif_internal_0_port: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_cif_cif_internal_0_port: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + abstract_cif_1: + type: org.openecomp.resource.abstract.nodes.cif_1 + directives: + - substitutable + properties: + port_cif_oam_1_port_1_name: + - str_replace: + template: $PREFIX$DELeth1 + params: + $PREFIX: + get_input: cif_name_1 + $DEL: + get_input: vcscf_name_delimeter + port_cif_ims_core_1_port_security_groups: + - - cscf_RSG + port_cif_oam_1_port_1_mac_requirements: + mac_count_required: + is_required: false + port_cif_oam_1_port_3_network: + - get_input: oam_net_id + vm_flavor_name: + get_input: cif_flavor_name + vm_image_name: + get_input: cif_image_name + compute_cif_user_data_format: + - RAW + port_cif_oam_1_port_3_allowed_address_pairs: + - ip_address: + get_input: cif_oam_vip_1 + compute_cif_scheduler_hints: + - group: cif_server_group_group + port_cif_oam_1_port_3_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_cif_internal_1_port_security_groups: + - - cscf_RSG + port_cif_oam_1_port_1_network: + - get_input: oam_net_id + port_cif_ims_core_1_port_network_role_tag: ims_core + port_cif_ims_li_1_port_security_groups: + - - cscf_RSG + port_cif_ims_li_1_port_allowed_address_pairs: + - ip_address: + get_input: cif_ims_li_v6_vip_0 + port_cif_internal_1_port_allowed_address_pairs: + - ip_address: + get_input: cif_internal_vip_0 + port_cif_oam_1_port_3_security_groups: + - - cscf_RSG + compute_cif_metadata: + - vf_module_id: + get_input: vf_module_id + vm_role: cif + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + vf_module_name: + get_input: vf_module_name + port_cif_oam_1_port_1_fixed_ips: + - ip_address: + get_input: cif_oam_ip_1 + port_cif_internal_1_port_network: + - cscf_internal_network_0 + port_cif_ims_core_1_port_network: + - get_input: ims_core_net_id + port_cif_oam_1_port_3_fixed_ips: + - ip_address: + get_input: cif_oam_ip_3 + port_cif_oam_1_port_1_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_cif_ims_core_1_port_mac_requirements: + mac_count_required: + is_required: false + compute_cif_name: + - get_input: cif_name_1 + compute_cif_availability_zone: + - get_input: availability_zone_1 + port_cif_internal_1_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_cif_ims_li_1_port_name: + - str_replace: + template: $PREFIX$DELeth4 + params: + $PREFIX: + get_input: cif_name_1 + $DEL: + get_input: vcscf_name_delimeter + port_cif_internal_1_port_name: + - str_replace: + template: $PREFIX$DELeth0 + params: + $PREFIX: + get_input: cif_name_1 + $DEL: + get_input: vcscf_name_delimeter + port_cif_ims_li_1_port_fixed_ips: + - ip_address: + get_input: cif_ims_li_v6_ip_1 + port_cif_internal_1_port_mac_requirements: + mac_count_required: + is_required: false + port_cif_ims_li_1_port_mac_requirements: + mac_count_required: + is_required: false + port_cif_ims_li_1_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_cif_ims_core_1_port_fixed_ips: + - ip_address: + get_input: cif_ims_core_v6_ip_1 + port_cif_ims_core_1_port_allowed_address_pairs: + - ip_address: + get_input: cif_ims_core_v6_vip_0 + port_cif_oam_1_port_1_network_role_tag: oam + port_cif_oam_1_port_3_mac_requirements: + mac_count_required: + is_required: false + port_cif_ims_core_1_port_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + port_cif_ims_li_1_port_network: + - get_input: ims_li_v6_net_id + port_cif_internal_1_port_fixed_ips: + - ip_address: + get_input: cif_internal_ip_1 + - ip_address: + get_input: cif_internal_v6_ip_1 + port_cif_ims_core_1_port_name: + - str_replace: + template: $PREFIX$DELeth2 + params: + $PREFIX: + get_input: cif_name_1 + $DEL: + get_input: vcscf_name_delimeter + compute_cif_config_drive: + - true + port_cif_oam_1_port_3_name: + - str_replace: + template: $PREFIX$DELeth3 + params: + $PREFIX: + get_input: cif_name_0 + $DEL: + get_input: vcscf_name_delimeter + port_cif_ims_li_1_port_network_role_tag: ims_li_v6 + port_cif_oam_1_port_1_security_groups: + - - cscf_RSG + port_cif_oam_1_port_1_allowed_address_pairs: + - ip_address: + get_input: cif_oam_vip_0 + port_cif_oam_1_port_3_network_role_tag: oam + service_template_filter: + substitute_service_template: Nested_cif_1ServiceTemplate.yaml + count: 1 + index_value: + get_property: + - SELF + - service_template_filter + - index_value + requirements: + - link_cif_cif_internal_1_port: + capability: tosca.capabilities.network.Linkable + node: cscf_internal_network_0 + relationship: tosca.relationships.network.LinksTo + - dependency_cif_cif_internal_1_port: + capability: tosca.capabilities.Node + node: cscf_internal_network_0 + relationship: tosca.relationships.DependsOn + groups: + tdcore_zone_0_server_group_group: + type: tosca.groups.Root + members: [ + ] + tdcore_zone_1_server_group_group: + type: tosca.groups.Root + members: [ + ] + oam_server_group_group: + type: tosca.groups.Root + members: + - abstract_oam + - abstract_oam_1 + - abstract_oam_2 + cdi_server_group_group: + type: tosca.groups.Root + members: + - abstract_cdi + - abstract_cdi_1 + cif_server_group_group: + type: tosca.groups.Root + members: + - abstract_cif + - abstract_cif_1 + base_cscf_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/base_cscf.yaml + description: | + CFX-5000 N+K VNF HOT template for AT&T. + members: + - cscf_RSG + - cdi_internal_v6_vip_0_port + - cscf_internal_dpdk_network_0 + - cif_ims_core_v6_vip_2_port + - cif_internal_vip_0_port + - cscf_zone_1_RRG + - oam_oam_vip_1_port + - tdcore_zone_0_RRG + - lbd_ims_core_v6_vip_2_port + - cif_oam_vip_1_port + - oam_internal_vip_0_port + - tdcore_zone_1_RRG + - cif_ims_li_v6_vip_4_port + - cscf_internal_network_0 + - cscf_zone_0_RRG + - lbd_internal_dpdk_vip_1_port + - cif_oam_vip_3_port + - cdi_ims_core_v6_vip_1_port + - abstract_lbd + - abstract_lbd_1 + - abstract_cif + - abstract_cif_1 + - abstract_oam + - abstract_oam_1 + - abstract_oam_2 + - abstract_cdi + - abstract_cdi_1 + base_cscf_volume_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/base_cscf_volume.yaml + description: Volume template for CFX + members: + - oam_volume_1 + - oam_volume_0 + - cif_volume_0 + - cif_volume_1 + lbd_server_group_group: + type: tosca.groups.Root + members: + - abstract_lbd + - abstract_lbd_1 + outputs: + oam_volume_id_1: + description: volume id for second oam + value: oam_volume_1 + oam_volume_id_0: + description: volume id for first oam + value: oam_volume_0 + cif_volume_id_0: + description: volume id for first cif + value: cif_volume_0 + cif_volume_id_1: + description: volume id for second cif + value: cif_volume_1 + policies: + oam_server_group_policy: + type: org.openecomp.policies.placement.Antilocate + properties: + name: + str_replace: + template: $VNF$DELoam$DELgroup + params: + $DEL: + get_input: vcscf_name_delimeter + $VNF: + get_input: vnf_name + container_type: host + targets: + - oam_server_group_group + cdi_server_group_policy: + type: org.openecomp.policies.placement.Antilocate + properties: + name: + str_replace: + template: $VNF$DELcdi$DELgroup + params: + $DEL: + get_input: vcscf_name_delimeter + $VNF: + get_input: vnf_name + container_type: host + targets: + - cdi_server_group_group + lbd_server_group_policy: + type: org.openecomp.policies.placement.Antilocate + properties: + name: + str_replace: + template: $VNF$DELlbd$DELgroup + params: + $DEL: + get_input: vcscf_name_delimeter + $VNF: + get_input: vnf_name + container_type: host + targets: + - lbd_server_group_group + tdcore_zone_0_server_group_policy: + type: org.openecomp.policies.placement.Antilocate + properties: + name: + str_replace: + template: $VNF$DELtdcore$DELzone0$DELgroup + params: + $DEL: + get_input: vcscf_name_delimeter + $VNF: + get_input: vnf_name + container_type: host + targets: + - tdcore_zone_0_server_group_group + cif_server_group_policy: + type: org.openecomp.policies.placement.Antilocate + properties: + name: + str_replace: + template: $VNF$DELcif$DELgroup + params: + $DEL: + get_input: vcscf_name_delimeter + $VNF: + get_input: vnf_name + container_type: host + targets: + - cif_server_group_group + tdcore_zone_1_server_group_policy: + type: org.openecomp.policies.placement.Antilocate + properties: + name: + str_replace: + template: $VNF$DELtdcore$DELzone1$DELgroup + params: + $DEL: + get_input: vcscf_name_delimeter + $VNF: + get_input: vnf_name + container_type: host + targets: + - tdcore_zone_1_server_group_group
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml index 3702b5affd..281f71b84e 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -2029,6 +2029,510 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.vson_vm: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + vf_module_id: + type: string + description: Unique ID for this VF Module instance + required: true + status: SUPPORTED + vson_cluster_name: + type: string + description: Name of the vSON Cluster. + required: true + status: SUPPORTED + default_gateway: + type: string + description: Default gateway. + required: true + status: SUPPORTED + port_vson_server_oam_net_port_0_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + instance_index: + type: float + description: Index of the instance. + required: true + status: SUPPORTED + vnf_name: + type: string + description: Unique name for this VF instance. + required: true + status: SUPPORTED + oam_net_subnet_prefix_length: + type: string + description: Prefix length of the subnet on the OAM network. + required: true + status: SUPPORTED + swift_storage_url: + type: string + description: | + Swift storage URL. Example: http://172.16.209.246:8080/v1/AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 http://172.16.209.246:8080 - protocol, IP and port, v1 - API version AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 - account ID + required: true + status: SUPPORTED + vf_module_name: + type: string + description: Unique name for this VF module instance. + required: true + status: SUPPORTED + dns_servers: + type: list + description: List of DNS servers. + required: true + status: SUPPORTED + entry_schema: + type: string + oam_net_security_group_id: + type: string + description: | + The ID of Security group applied on the port bound to the vSON OAM network. + required: true + status: SUPPORTED + vson_vm_image_name: + type: string + description: VM Image name the vSON instance will be created from. + required: true + status: SUPPORTED + vnf_id: + type: string + description: Unique ID for this VF instance. + required: true + status: SUPPORTED + port_vson_server_oam_net_port_0_network_role: + type: string + required: true + status: SUPPORTED + vson_clm_oam_net_ip: + type: string + description: IP of the vSON Cluster Manager. + required: true + status: SUPPORTED + port_vson_server_oam_net_port_0_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_vson_server_oam_net_port_0_subnetpoolid: + type: string + required: true + status: SUPPORTED + oam_net_ips: + type: list + description: Fixed IP assignments for vSON instances on the OAM network. + required: true + status: SUPPORTED + entry_schema: + type: string + swift_son_container_name: + type: string + description: Swift container storing vSON artifacts. + required: true + status: SUPPORTED + vfc_role: + type: string + description: Unique ID for this VF Module instance + required: true + status: SUPPORTED + swift_account_auth_token: + type: string + description: | + Swift account auth token. Example: 041a5187bb4641f9b89583e2539776b0 + required: true + status: SUPPORTED + vson_server_group_id: + type: string + description: | + Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. + required: true + status: SUPPORTED + vson_vm_flavor_name: + type: string + description: The ID or name of the flavor to boot onto. + required: true + status: SUPPORTED + port_vson_server_oam_net_port_0_network_role_tag: + type: string + required: true + status: SUPPORTED + port_vson_server_oam_net_port_0_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + availability_zones: + type: list + description: List of availability zones. + required: true + status: SUPPORTED + entry_schema: + type: string + ntp_servers: + type: list + description: List of NTP servers. + required: true + status: SUPPORTED + entry_schema: + type: string + oam_net_id: + type: string + description: The ID of the OAM network. + required: true + status: SUPPORTED + port_vson_server_oam_net_port_0_order: + type: integer + required: true + status: SUPPORTED + port_vson_server_oam_net_port_0_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + vson_vm_names: + type: list + description: A list of unique names to be issued to the vSON Cluster leaders. + required: true + status: SUPPORTED + entry_schema: + type: string + requirements: + - dependency_vson_server: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_vson_server: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_vson_server_oam_net_port_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_vson_server_oam_net_port_0: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + disk.write.bytes_vson_server: + type: org.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_vson_server: + type: org.openecomp.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_vson_server_oam_net_port_0: + type: org.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_vson_server: + type: org.openecomp.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_vson_server_oam_net_port_0: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + feature_vson_server_oam_net_port_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + instance_vson_server: + type: org.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_vson_server: + type: org.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_vson_server_oam_net_port_0: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.iops_vson_server: + type: org.openecomp.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_vson_server_oam_net_port_0: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + vcpus_vson_server: + type: org.openecomp.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_vson_server_oam_net_port_0: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.openecomp.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_vson_server_oam_net_port_0: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.openecomp.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_vson_server_oam_net_port_0: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_vson_server_oam_net_port_0: + type: org.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_vson_server: + type: org.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.usage_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: org.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_vson_server: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.allocation_vson_server: + type: org.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_vson_server: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + host_vson_server: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + binding_vson_server_oam_net_port_0: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.incoming.bytes.rate_vson_server_oam_net_port_0: + type: org.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_vson_server: + type: org.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.vson_vm_8: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml index 17124e4463..862c5a63ad 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml @@ -1060,19 +1060,8 @@ topology_template: requirements: - dependency_vson_server: capability: tosca.capabilities.Node - node: tosca.nodes.Root + node: oam_net_security_group relationship: tosca.relationships.DependsOn - - local_storage_vson_server: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_vson_server_oam_net_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_vson_server_oam_net_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo vson_mgt_group: type: org.openecomp.resource.abstract.nodes.heat.vson_vm_2 directives: @@ -1137,22 +1126,6 @@ topology_template: get_input: oam_net_id vson_vm_names: - get_input: vson_mgt_name_0 - requirements: - - dependency_vson_server: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_vson_server: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_vson_server_oam_net_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_vson_server_oam_net_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo vson_dbs_volume_1: type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume properties: @@ -1235,22 +1208,6 @@ topology_template: get_input: oam_net_id vson_vm_names: - get_input: vson_dbc_name_0 - requirements: - - dependency_vson_server: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_vson_server: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_vson_server_oam_net_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_vson_server_oam_net_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo vson_dbs_volume_0: type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume properties: @@ -1330,22 +1287,6 @@ topology_template: get_input: oam_net_id vson_vm_names: - get_input: vson_clm_name_0 - requirements: - - dependency_vson_server: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_vson_server: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_vson_server_oam_net_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_vson_server_oam_net_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo vson_dcl_volume_2: type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume properties: @@ -1464,22 +1405,6 @@ topology_template: get_input: oam_net_id vson_vm_names: - get_input: vson_mdr_name_0 - requirements: - - dependency_vson_server: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_vson_server: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_vson_server_oam_net_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_vson_server_oam_net_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo vson_dbs_group: type: org.openecomp.resource.abstract.nodes.heat.vson_vm_1 directives: @@ -1552,22 +1477,6 @@ topology_template: vson_vm_names: - get_input: vson_dbs_name_0 - get_input: vson_dbs_name_1 - requirements: - - dependency_vson_server: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_vson_server: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_vson_server_oam_net_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_vson_server_oam_net_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo vson_app_group: type: org.openecomp.resource.abstract.nodes.heat.vson_vm directives: @@ -1642,22 +1551,6 @@ topology_template: get_input: oam_net_id vson_vm_names: - get_input: vson_app_name_0 - requirements: - - dependency_vson_server: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_vson_server: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_vson_server_oam_net_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_vson_server_oam_net_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo oam_net_security_group: type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules properties: @@ -1884,22 +1777,6 @@ topology_template: get_input: oam_net_id vson_vm_names: - get_input: vson_dbg_name_0 - requirements: - - dependency_vson_server: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_vson_server: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_vson_server_oam_net_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_vson_server_oam_net_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo vson_cll_group: type: org.openecomp.resource.abstract.nodes.heat.vson_vm_1 directives: @@ -1975,22 +1852,6 @@ topology_template: - get_input: vson_cll_name_0 - get_input: vson_cll_name_1 - get_input: vson_cll_name_2 - requirements: - - dependency_vson_server: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_vson_server: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_vson_server_oam_net_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_vson_server_oam_net_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo vson_app_volume_0: type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume properties: @@ -2069,22 +1930,6 @@ topology_template: get_input: oam_net_id vson_vm_names: - get_input: vson_mon_name_0 - requirements: - - dependency_vson_server: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_vson_server: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_vson_server_oam_net_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_vson_server_oam_net_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo vson_dcl_group: type: org.openecomp.resource.abstract.nodes.heat.vson_vm_1 directives: @@ -2161,22 +2006,6 @@ topology_template: - get_input: vson_dcl_name_0 - get_input: vson_dcl_name_1 - get_input: vson_dcl_name_2 - requirements: - - dependency_vson_server: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_vson_server: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_vson_server_oam_net_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_vson_server_oam_net_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo groups: module_5_vson_dbg_volume_group: type: org.openecomp.groups.heat.HeatStack diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/out/GlobalSubstitutionTypesServiceTemplate.yaml index 535f2ea84e..e92abe8fd5 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -1384,6 +1384,157 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.cmaui: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_cmaui_port_1_network_role_tag: + type: string + required: true + status: SUPPORTED + port_cmaui_port_2_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_cmaui_port_1_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_cmaui_port_1_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + vm_flavor_name: + type: string + required: true + status: SUPPORTED + compute_cmaui_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_2_network_role: + type: string + required: true + status: SUPPORTED + port_cmaui_port_1_order: + type: integer + required: true + status: SUPPORTED + compute_cmaui_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_1_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_cmaui_port_1_network_role: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_cmaui_port_2_network_role_tag: + type: string + required: true + status: SUPPORTED + port_cmaui_port_2_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_cmaui_port_2_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_cmaui_port_1_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_cmaui_port_1_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_cmaui_port_2_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_cmaui_port_1_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_cmaui_port_1_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_2_replacement_policy: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_1_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_cmaui_port_2_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_cmaui_port_2_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_cmaui_port_2_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_cmaui_port_2_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_cmaui_port_2_order: + type: integer + required: true + status: SUPPORTED + port_cmaui_port_1_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string org.openecomp.resource.abstract.nodes.cmaui_1: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -6453,3 +6604,24 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.jsa: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + compute_jsa_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_image_name: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/out/nested3ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/out/nested3ServiceTemplate.yaml index e7f660fe28..78e72c4585 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/out/nested3ServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/out/nested3ServiceTemplate.yaml @@ -89,29 +89,6 @@ topology_template: is_required: true floating_ip_count_required: is_required: false - requirements: - - dependency_cmaui_port_7: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_cmaui_port_7: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_cmaui_port_8: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_cmaui_port_8: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_cmaui: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_cmaui: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo abstract_cmaui: type: org.openecomp.resource.abstract.nodes.cmaui directives: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesConnectedIn/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesConnectedIn/out/GlobalSubstitutionTypesServiceTemplate.yaml index 90dfb74a67..05256ec462 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesConnectedIn/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesConnectedIn/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -1712,6 +1712,575 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pcm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pcm_port_0_network_role: + type: string + required: true + status: SUPPORTED + p1: + type: string + description: UID of OAM network + required: true + status: SUPPORTED + p2: + type: string + description: UID of OAM network + required: true + status: SUPPORTED + port_pcm_port_1_network_role_tag: + type: string + required: true + status: SUPPORTED + availabilityzone_name: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + port_pcm_port_0_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + pcm_image_name: + type: string + description: PCRF CM image name + required: true + status: SUPPORTED + port_pcm_port_0_order: + type: integer + required: true + status: SUPPORTED + port_pcm_port_0_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_1_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_network_role_tag: + type: string + required: true + status: SUPPORTED + pcm_server_name: + type: string + description: PCRF CM server name + required: true + status: SUPPORTED + cps_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pcm_port_0_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + oam_net_name: + type: string + description: OAM network name + required: true + status: SUPPORTED + port_pcm_port_1_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + oam_net_gw: + type: string + description: CPS network gateway + required: true + status: SUPPORTED + security_group_name: + type: string + description: the name of security group + required: true + status: SUPPORTED + cps_net_ip: + type: string + description: CPS network ip + required: true + status: SUPPORTED + port_pcm_port_1_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pcm_port_1_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + pcm_flavor_name: + type: string + description: flavor name of PCRF CM instance + required: true + status: SUPPORTED + pcm_vol: + type: string + description: CPS Cluman Cinder Volume + required: true + status: SUPPORTED + port_pcm_port_1_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pcm_port_0_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + cps_net_name: + type: string + description: CPS network name + required: true + status: SUPPORTED + oam_net_ip: + type: string + description: OAM network ip + required: true + status: SUPPORTED + oam_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_order: + type: integer + required: true + status: SUPPORTED + attributes: + server_pcm_id: + type: string + description: the pcm nova service id + status: SUPPORTED + requirements: + - dependency_pcm_port_1: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_1: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_server_pcm: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_server_pcm: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_pcm_port_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_0: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + network.incoming.packets.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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.usage_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_pcm_port_1: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + memory.usage_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_0: + type: org.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_server_pcm: + type: org.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_pcm_port_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + endpoint_server_pcm: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_server_pcm: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + cpu.delta_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_pcm: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.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.pcm_server_1: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -2582,3 +3151,615 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.oam_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + p2: + type: string + description: UID of OAM network + required: true + status: SUPPORTED + port_oam_port_1_network_role: + type: string + required: true + status: SUPPORTED + availabilityzone_name: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + port_oam_port_0_network_role: + type: string + required: true + status: SUPPORTED + port_oam_port_1_network_role_tag: + type: string + required: true + status: SUPPORTED + oam_server_name: + type: string + description: oam server name + required: true + status: SUPPORTED + port_oam_port_0_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_oam_port_1_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_oam_port_1_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_oam_port_1_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_oam_port_1_order: + type: integer + required: true + status: SUPPORTED + port_oam_port_0_network_role_tag: + type: string + required: true + status: SUPPORTED + port_oam_port_1_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + oam_image_name: + type: string + description: oam image name + required: true + status: SUPPORTED + cps_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + oam_net_name: + type: string + description: OAM network name + required: true + status: SUPPORTED + oam_net_gw: + type: string + description: CPS network gateway + required: true + status: SUPPORTED + port_oam_port_0_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + oam_flavor_name: + type: string + description: flavor name of PCRF CM instance + required: true + status: SUPPORTED + security_group_name: + type: string + description: the name of security group + required: true + status: SUPPORTED + cps_net_ip: + type: string + description: CPS network ip + required: true + status: SUPPORTED + port_oam_port_0_order: + type: integer + required: true + status: SUPPORTED + port_oam_port_0_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_oam_port_1_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_oam_port_0_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + pcm_vol: + type: string + description: CPS Cluman Cinder Volume + required: true + status: SUPPORTED + cps_net_name: + type: string + description: CPS network name + required: true + status: SUPPORTED + oam_net_ip: + type: string + description: OAM network ip + required: true + status: SUPPORTED + oam_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_oam_port_0_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + shared_security_group_id1: + type: string + description: UID of OAM network + required: true + status: SUPPORTED + attributes: + server_oam_id: + type: string + description: the oam nova service id + status: SUPPORTED + requirements: + - dependency_oam_port_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_oam_port_0: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_server_oam: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_server_oam: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_oam_port_1: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_oam_port_1: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + cpu_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.openecomp.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_oam_port_1: + type: org.openecomp.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_oam_port_0: + type: org.openecomp.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_oam_port_0: + type: org.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_server_oam: + type: org.openecomp.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_oam_port_1: + type: org.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_server_oam: + type: org.openecomp.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_oam_port_0: + type: org.openecomp.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_oam_port_1: + type: org.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_server_oam: + type: org.openecomp.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_oam_port_0: + type: org.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_server_oam: + type: org.openecomp.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_oam_port_1: + type: org.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_server_oam: + type: org.openecomp.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_oam_port_0: + type: org.openecomp.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_oam_port_1: + type: org.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.usage_server_oam: + type: org.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_server_oam: + type: org.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_oam_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_oam_port_0: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.ephemeral.size_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.read.requests_server_oam: + type: org.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_server_oam: + type: org.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_oam_port_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_server_oam: + type: org.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_server_oam: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_server_oam: + type: org.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_server_oam: + type: org.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_oam_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.openecomp.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_oam_port_0: + type: org.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_server_oam: + type: org.openecomp.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_oam_port_1: + type: org.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_server_oam: + type: org.openecomp.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_oam_port_0: + type: org.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_server_oam: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_server_oam: + type: org.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_oam_port_0: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.incoming.packets_oam_port_1: + type: org.openecomp.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_oam_port_0: + type: org.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_server_oam: + type: org.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_oam_port_1: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outpoing.packets_oam_port_1: + type: org.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_server_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_server_oam: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_server_oam: + type: org.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_server_oam: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes.rate_server_oam: + type: org.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.vfc.nodes.heat.compute: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + compute_compute_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_image_name: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_compute_metadata: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + compute_compute_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + compute_compute_config_drive: + type: list + required: true + status: SUPPORTED + entry_schema: + type: boolean
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesGetAttrIn/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesGetAttrIn/out/MainServiceTemplate.yaml index b1f6c7e875..e44327fa33 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesGetAttrIn/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesGetAttrIn/out/MainServiceTemplate.yaml @@ -105,11 +105,6 @@ topology_template: type: string description: PCRF CM image name default: rhel2 - shared_security_group_id2: - hidden: false - immutable: false - type: string - description: network name of jsa log network oam_server_names: label: PCRF CM server names hidden: false @@ -141,11 +136,6 @@ topology_template: type: string description: CPS network mask default: 255.255.255.0 - shared_security_group_id1: - hidden: false - immutable: false - type: string - description: network name of jsa log network oam_net_name: label: OAM network name hidden: false @@ -161,10 +151,8 @@ topology_template: properties: pcm_flavor_name: get_input: pcm_flavor_name - p1: jsa_security_group1 service_template_filter: substitute_service_template: nested-pcm_v0.1ServiceTemplate.yaml - p2: jsa_security_group2 port_pcm_port_1_network_role_tag: oam port_pcm_port_0_ip_requirements: - ip_version: 4 @@ -191,68 +179,53 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo server_oam_001: type: org.openecomp.resource.abstract.nodes.heat.oam_server directives: - substitutable properties: + port_pcm_port_1_network_role_tag: oam availabilityzone_name: get_input: availabilityzone_name + port_pcm_port_0_ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false oam_net_gw: get_input: oam_net_gw - port_oam_port_0_mac_requirements: - mac_count_required: - is_required: false oam_flavor_name: get_input: oam_flavor_name + security_group_name: + get_input: security_group_name cps_net_ip: get_input: - cps_net_ips - 0 - port_oam_port_1_network_role_tag: oam oam_server_name: get_input: - oam_server_names - 0 + port_pcm_port_1_mac_requirements: + mac_count_required: + is_required: false service_template_filter: substitute_service_template: nested-oam_v0.1ServiceTemplate.yaml - port_oam_port_1_ip_requirements: + pcm_vol: + get_input: + - pcm_volumes + - 0 + port_pcm_port_1_ip_requirements: - ip_version: 4 ip_count_required: is_required: true floating_ip_count_required: is_required: false - port_oam_port_1_mac_requirements: + port_pcm_port_0_network_role_tag: cps + port_pcm_port_0_mac_requirements: mac_count_required: is_required: false - pcm_vol: - get_input: - - pcm_volumes - - 0 - port_oam_port_0_network_role_tag: cps oam_image_name: get_input: oam_image_name cps_net_name: @@ -265,42 +238,17 @@ topology_template: - 0 oam_net_mask: get_input: oam_net_mask - port_oam_port_0_ip_requirements: - - ip_version: 4 - ip_count_required: - is_required: true - floating_ip_count_required: - is_required: false oam_net_name: get_input: oam_net_name - requirements: - - dependency_oam_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_oam_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_oam: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_oam: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_oam_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_oam_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo server_pcm_001: type: org.openecomp.resource.abstract.nodes.heat.pcm_server directives: - substitutable properties: + metadata: + get_attribute: + - compute_port_0 + - device_id port_pcm_port_1_network_role_tag: oam availabilityzone_name: get_input: availabilityzone_name @@ -325,8 +273,16 @@ topology_template: is_required: false pcm_flavor_name: get_input: pcm_flavor_name + key_name: + get_attribute: + - server_oam_001 + - accessIPv4 service_template_filter: substitute_service_template: nested-pcm_v0.1ServiceTemplate.yaml + user_data_format: + get_attribute: + - server_pcm_002 + - oam_net_gw pcm_vol: get_input: - pcm_volumes @@ -357,43 +313,17 @@ topology_template: get_input: oam_net_mask oam_net_name: get_input: oam_net_name - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo packet_mirror_network: type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net properties: + tenant_id: + get_attribute: + - abstract_compute + - compute_instance_name network_name: - get_input: net_name - requirements: - - dependency: - capability: tosca.capabilities.Node - node: server_pcm_001 - relationship: tosca.relationships.DependsOn - - dependency: - capability: feature_compute - node: abstract_compute - relationship: tosca.relationships.DependsOn + get_attribute: + - server_pcm_001 + - instance_name compute_port_0: type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port properties: @@ -408,104 +338,6 @@ topology_template: is_required: false network: get_input: net_name - jsa_security_group1: - type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules - properties: - name: jsa_security_group1_name - description: ems security group - rules: - - protocol: icmp - ethertype: IPv6 - remote_ip_prefix: ::/0 - direction: ingress - requirements: - - port: - capability: attachment_pcm_port_0 - node: server_pcm_002 - relationship: org.openecomp.relationships.AttachesTo - - port: - capability: attachment_pcm_port_1 - node: server_pcm_002 - relationship: org.openecomp.relationships.AttachesTo - - port: - capability: attachment_oam_port_1 - node: test_shared_node_connected_in_nested - relationship: org.openecomp.relationships.AttachesTo - - port: - capability: attachment_oam_port_0 - node: test_shared_node_connected_in_nested - relationship: org.openecomp.relationships.AttachesTo - jsa_security_group2: - type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules - properties: - name: jsa_security_group2_name - description: ems security group - rules: - - protocol: tcp - ethertype: IPv4 - port_range_max: 65535 - remote_ip_prefix: 0.0.0.0/0 - direction: egress - port_range_min: 1 - requirements: - - port: - capability: attachment_pcm_port_0 - node: server_pcm_002 - relationship: org.openecomp.relationships.AttachesTo - test_shared_node_connected_in_nested: - type: org.openecomp.resource.abstract.nodes.heat.oam_server - directives: - - substitutable - properties: - service_template_filter: - substitute_service_template: nested-oam_v0.1ServiceTemplate.yaml - p2: - get_input: shared_security_group_id2 - port_oam_port_1_ip_requirements: - - ip_version: 4 - ip_count_required: - is_required: true - floating_ip_count_required: - is_required: false - port_oam_port_1_mac_requirements: - mac_count_required: - is_required: false - port_oam_port_0_mac_requirements: - mac_count_required: - is_required: false - port_oam_port_0_network_role_tag: cps - port_oam_port_1_network_role_tag: oam - port_oam_port_0_ip_requirements: - - ip_version: 4 - ip_count_required: - is_required: true - floating_ip_count_required: - is_required: false - shared_security_group_id1: - get_input: shared_security_group_id1 - requirements: - - dependency_oam_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_oam_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_oam: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_oam: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_oam_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_oam_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo abstract_compute: type: org.openecomp.resource.abstract.nodes.compute directives: @@ -519,8 +351,8 @@ topology_template: get_input: compute_image_name compute_compute_metadata: - get_attribute: - - server_pcm_001 - - server_pcm_id + - compute_port_0 + - device_id compute_compute_name: - compute_name: null vm_flavor_name: @@ -563,14 +395,4 @@ topology_template: - server_pcm_001 - packet_mirror_network - compute_port_0 - - jsa_security_group1 - - jsa_security_group2 - - abstract_compute - addOn_group: - type: org.openecomp.groups.heat.HeatStack - properties: - heat_file: ../Artifacts/addOn.yml - description: | - Version 2.0 02-09-2016 (Authors: John Doe, user PROD) - members: - - test_shared_node_connected_in_nested
\ No newline at end of file + - abstract_compute
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/out/GlobalSubstitutionTypesServiceTemplate.yaml index 2eeae9ad81..34e096b9d4 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -1133,6 +1133,575 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pcm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pcm_port_0_network_role: + type: string + required: true + status: SUPPORTED + metadata: + type: string + description: metadata + required: true + status: SUPPORTED + port_pcm_port_1_network_role_tag: + type: string + required: true + status: SUPPORTED + availabilityzone_name: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + port_pcm_port_0_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + pcm_image_name: + type: string + description: PCRF CM image name + required: true + status: SUPPORTED + port_pcm_port_0_order: + type: integer + required: true + status: SUPPORTED + port_pcm_port_0_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_1_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_network_role_tag: + type: string + required: true + status: SUPPORTED + pcm_server_name: + type: string + description: PCRF CM server name + required: true + status: SUPPORTED + cps_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pcm_port_0_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + oam_net_name: + type: string + description: OAM network name + required: true + status: SUPPORTED + port_pcm_port_1_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + oam_net_gw: + type: string + description: CPS network gateway + required: true + status: SUPPORTED + security_group_name: + type: string + description: the name of security group + required: true + status: SUPPORTED + cps_net_ip: + type: string + description: CPS network ip + required: true + status: SUPPORTED + port_pcm_port_1_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pcm_port_1_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + pcm_flavor_name: + type: string + description: flavor name of PCRF CM instance + required: true + status: SUPPORTED + user_data_format: + type: string + description: user_data_format + required: true + status: SUPPORTED + pcm_vol: + type: string + description: CPS Cluman Cinder Volume + required: true + status: SUPPORTED + port_pcm_port_1_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pcm_port_0_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + cps_net_name: + type: string + description: CPS network name + required: true + status: SUPPORTED + oam_net_ip: + type: string + description: OAM network ip + required: true + status: SUPPORTED + oam_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_order: + type: integer + required: true + status: SUPPORTED + attributes: + server_pcm_id: + type: string + description: the pcm nova service id + status: SUPPORTED + requirements: + - dependency_pcm_port_1: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_1: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_server_pcm: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_server_pcm: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_pcm_port_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_0: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + network.incoming.packets.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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.usage_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_pcm_port_1: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + memory.usage_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_0: + type: org.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_server_pcm: + type: org.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_pcm_port_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + endpoint_server_pcm: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_server_pcm: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + cpu.delta_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_pcm: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.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.pcm_server_1: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -1995,3 +2564,597 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.oam_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pcm_port_0_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_1_network_role_tag: + type: string + required: true + status: SUPPORTED + availabilityzone_name: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + port_pcm_port_0_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + oam_server_name: + type: string + description: oam server name + required: true + status: SUPPORTED + port_pcm_port_0_order: + type: integer + required: true + status: SUPPORTED + port_pcm_port_0_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_1_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_network_role_tag: + type: string + required: true + status: SUPPORTED + oam_image_name: + type: string + description: oam image name + required: true + status: SUPPORTED + cps_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pcm_port_0_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + oam_net_name: + type: string + description: OAM network name + required: true + status: SUPPORTED + port_pcm_port_1_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + oam_net_gw: + type: string + description: CPS network gateway + required: true + status: SUPPORTED + oam_flavor_name: + type: string + description: flavor name of PCRF CM instance + required: true + status: SUPPORTED + security_group_name: + type: string + description: the name of security group + required: true + status: SUPPORTED + cps_net_ip: + type: string + description: CPS network ip + required: true + status: SUPPORTED + port_pcm_port_1_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pcm_port_1_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + pcm_vol: + type: string + description: CPS Cluman Cinder Volume + required: true + status: SUPPORTED + port_pcm_port_1_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pcm_port_0_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + cps_net_name: + type: string + description: CPS network name + required: true + status: SUPPORTED + oam_net_ip: + type: string + description: OAM network ip + required: true + status: SUPPORTED + oam_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_order: + type: integer + required: true + status: SUPPORTED + attributes: + server_oam_id: + type: string + description: the oam nova service id + status: SUPPORTED + requirements: + - dependency_server_oam: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_server_oam: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_pcm_port_1: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_1: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_pcm_port_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_0: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + cpu_server_oam: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_oam: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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.usage_server_oam: + type: org.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_server_oam: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_pcm_port_1: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.read.bytes_server_oam: + type: org.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_server_oam: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.read.requests_server_oam: + type: org.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_server_oam: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_0: + type: org.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_pcm_port_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_server_oam: + type: org.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_server_oam: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_server_oam: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_server_oam: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_oam: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_pcm_port_0: + type: org.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_server_oam: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: org.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_server_oam: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_pcm_port_0: + type: org.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_server_oam: + type: org.openecomp.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_pcm_port_1: + type: org.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.vfc.nodes.heat.compute: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + vm_image_name: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_compute_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + compute_compute_config_drive: + type: list + required: true + status: SUPPORTED + entry_schema: + type: boolean + attributes: + compute_instance_name: + type: string + status: SUPPORTED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/out/MainServiceTemplate.yaml index 1ce813d1b6..5868c5cfd9 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/out/MainServiceTemplate.yaml @@ -181,29 +181,6 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo server_oam_001: type: org.openecomp.resource.abstract.nodes.heat.oam_server directives: @@ -265,29 +242,6 @@ topology_template: get_input: oam_net_mask oam_net_name: get_input: oam_net_name - requirements: - - dependency_server_oam: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_oam: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo server_pcm_001: type: org.openecomp.resource.abstract.nodes.heat.pcm_server directives: @@ -349,29 +303,6 @@ topology_template: get_input: oam_net_mask oam_net_name: get_input: oam_net_name - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo packet_mirror_network: type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net properties: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/out/GlobalSubstitutionTypesServiceTemplate.yaml index 16dda32915..e48040b5ed 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -564,6 +564,565 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pcm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pcm_port_0_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_1_network_role_tag: + type: string + required: true + status: SUPPORTED + availabilityzone_name: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + port_pcm_port_0_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + pcm_image_name: + type: string + description: PCRF CM image name + required: true + status: SUPPORTED + port_pcm_port_0_order: + type: integer + required: true + status: SUPPORTED + port_pcm_port_0_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_1_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_network_role_tag: + type: string + required: true + status: SUPPORTED + pcm_server_name: + type: string + description: PCRF CM server name + required: true + status: SUPPORTED + cps_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pcm_port_0_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + oam_net_name: + type: string + description: OAM network name + required: true + status: SUPPORTED + port_pcm_port_1_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + oam_net_gw: + type: string + description: CPS network gateway + required: true + status: SUPPORTED + security_group_name: + type: string + description: the name of security group + required: true + status: SUPPORTED + cps_net_ip: + type: string + description: CPS network ip + required: true + status: SUPPORTED + port_pcm_port_1_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pcm_port_1_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + pcm_flavor_name: + type: string + description: flavor name of PCRF CM instance + required: true + status: SUPPORTED + pcm_vol: + type: string + description: CPS Cluman Cinder Volume + required: true + status: SUPPORTED + port_pcm_port_1_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pcm_port_0_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + cps_net_name: + type: string + description: CPS network name + required: true + status: SUPPORTED + oam_net_ip: + type: string + description: OAM network ip + required: true + status: SUPPORTED + oam_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_order: + type: integer + required: true + status: SUPPORTED + attributes: + server_pcm_id: + type: string + description: the pcm nova service id + status: SUPPORTED + requirements: + - dependency_pcm_port_1: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_1: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_server_pcm: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_server_pcm: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_pcm_port_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_0: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + network.incoming.packets.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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.usage_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_pcm_port_1: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + memory.usage_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_0: + type: org.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_server_pcm: + type: org.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_pcm_port_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + endpoint_server_pcm: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_server_pcm: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + cpu.delta_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_pcm: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.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.compute: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -979,3 +1538,82 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.compute: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + compute_compute_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_compute_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_compute_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + compute_compute_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_compute_port_network_role: + type: string + required: true + status: SUPPORTED + vm_image_name: + type: string + required: true + status: SUPPORTED + port_compute_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_compute_port_network_role_tag: + type: string + required: true + status: SUPPORTED + compute_compute_metadata: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_compute_port_order: + type: integer + required: true + status: SUPPORTED + port_compute_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_compute_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_compute_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/out/MainServiceTemplate.yaml index 17fb056d3a..0f63982943 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/out/MainServiceTemplate.yaml @@ -181,29 +181,6 @@ topology_template: get_input: oam_net_mask oam_net_name: get_input: oam_net_name - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo packet_mirror_network: type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net properties: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneComputeDiffPortType/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneComputeDiffPortType/out/MainServiceTemplate.yaml index 90babddc3e..6bfb11cba1 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneComputeDiffPortType/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneComputeDiffPortType/out/MainServiceTemplate.yaml @@ -181,29 +181,6 @@ topology_template: get_input: oam_net_mask oam_net_name: get_input: oam_net_name - requirements: - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_1port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_1port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_pcm_2port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_2port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo packet_mirror_network: type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net properties: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/out/GlobalSubstitutionTypesServiceTemplate.yaml index 181027f032..4035ba819f 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -438,6 +438,103 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pcm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_pcm_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pcm_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_pcm_port_network_role_tag: + type: string + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pcm_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pcm_port_order: + type: integer + required: true + status: SUPPORTED + compute_pcm_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pcm_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pcm_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pcm_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + compute_pcm_server_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pcm_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + compute_pcm_server_config_drive: + type: list + required: true + status: SUPPORTED + entry_schema: + type: boolean + port_pcm_port_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json org.openecomp.resource.abstract.nodes.heat.nested-pcm_v0.1: derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute properties: @@ -1480,3 +1577,40 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.compute: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + compute_compute_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_image_name: + type: string + required: true + status: SUPPORTED + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_compute_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED + compute_compute_config_drive: + type: list + required: true + status: SUPPORTED + entry_schema: + type: boolean
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/out/MainServiceTemplate.yaml index d76973cb78..280d7da19f 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/out/MainServiceTemplate.yaml @@ -269,4 +269,4 @@ topology_template: - server_pcm_002 - server_pcm_001 - compute_port_0 - - abstract_compute + - abstract_compute
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoDiffComputeTypes/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoDiffComputeTypes/out/GlobalSubstitutionTypesServiceTemplate.yaml index fb024af4d2..a53c1b2c92 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoDiffComputeTypes/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoDiffComputeTypes/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -5,6 +5,103 @@ imports: - openecomp_heat_index: file: openecomp-heat/_index.yml node_types: + org.openecomp.resource.vfc.nodes.heat.pd_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_pd_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + compute_pd_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pcm_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_pcm_port_network_role_tag: + type: string + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pcm_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pcm_port_order: + type: integer + required: true + status: SUPPORTED + port_pcm_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pcm_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pcm_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pcm_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pcm_port_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + compute_pd_server_config_drive: + type: list + required: true + status: SUPPORTED + entry_schema: + type: boolean + compute_pd_server_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pcm_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json org.openecomp.resource.abstract.nodes.pd_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -871,6 +968,103 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pcm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_pcm_server_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pcm_port_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_pcm_port_network_role_tag: + type: string + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_pcm_port_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pcm_port_order: + type: integer + required: true + status: SUPPORTED + compute_pcm_server_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pcm_port_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_pcm_port_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_pcm_port_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + compute_pcm_server_user_data_format: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_image_name: + type: string + required: true + status: SUPPORTED + port_pcm_port_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + compute_pcm_server_config_drive: + type: list + required: true + status: SUPPORTED + entry_schema: + type: boolean + port_pcm_port_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_security_groups: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json org.openecomp.resource.abstract.nodes.heat.nested-pcm_v0.1: derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute properties: @@ -1632,4 +1826,4 @@ node_types: type: tosca.capabilities.OperatingSystem occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml index c1c907fb3d..65531c3ca7 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -1123,6 +1123,565 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pcm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pcm_port_0_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_1_network_role_tag: + type: string + required: true + status: SUPPORTED + availabilityzone_name: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + port_pcm_port_0_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + pcm_image_name: + type: string + description: PCRF CM image name + required: true + status: SUPPORTED + port_pcm_port_0_order: + type: integer + required: true + status: SUPPORTED + port_pcm_port_0_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_1_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_network_role_tag: + type: string + required: true + status: SUPPORTED + pcm_server_name: + type: string + description: PCRF CM server name + required: true + status: SUPPORTED + cps_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pcm_port_0_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + oam_net_name: + type: string + description: OAM network name + required: true + status: SUPPORTED + port_pcm_port_1_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + oam_net_gw: + type: string + description: CPS network gateway + required: true + status: SUPPORTED + security_group_name: + type: string + description: the name of security group + required: true + status: SUPPORTED + cps_net_ip: + type: string + description: CPS network ip + required: true + status: SUPPORTED + port_pcm_port_1_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pcm_port_1_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + pcm_flavor_name: + type: string + description: flavor name of PCRF CM instance + required: true + status: SUPPORTED + pcm_vol: + type: string + description: CPS Cluman Cinder Volume + required: true + status: SUPPORTED + port_pcm_port_1_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pcm_port_0_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + cps_net_name: + type: string + description: CPS network name + required: true + status: SUPPORTED + oam_net_ip: + type: string + description: OAM network ip + required: true + status: SUPPORTED + oam_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_order: + type: integer + required: true + status: SUPPORTED + attributes: + server_pcm_id: + type: string + description: the pcm nova service id + status: SUPPORTED + requirements: + - dependency_pcm_port_1: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_1: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_server_pcm: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_server_pcm: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_pcm_port_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_0: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + network.incoming.packets.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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.usage_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_pcm_port_1: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + memory.usage_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_0: + type: org.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_server_pcm: + type: org.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_pcm_port_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + endpoint_server_pcm: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_server_pcm: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + cpu.delta_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_pcm: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.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.pcm_server_1: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -1681,4 +2240,4 @@ node_types: description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/out/MainServiceTemplate.yaml index 6736c9caa3..15ea89d5a9 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/out/MainServiceTemplate.yaml @@ -91,29 +91,6 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo server_pcm_001: type: org.openecomp.resource.abstract.nodes.heat.pcm_server_1 directives: @@ -151,29 +128,6 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo server_pcm_003: type: org.openecomp.resource.abstract.nodes.heat.pcm_server_2 directives: @@ -211,29 +165,6 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo compute_port_0: type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port properties: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/out/GlobalSubstitutionTypesServiceTemplate.yaml index c1c907fb3d..65531c3ca7 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -1123,6 +1123,565 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pcm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_pcm_port_0_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_1_network_role_tag: + type: string + required: true + status: SUPPORTED + availabilityzone_name: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + port_pcm_port_0_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + pcm_image_name: + type: string + description: PCRF CM image name + required: true + status: SUPPORTED + port_pcm_port_0_order: + type: integer + required: true + status: SUPPORTED + port_pcm_port_0_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_1_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_network_role_tag: + type: string + required: true + status: SUPPORTED + pcm_server_name: + type: string + description: PCRF CM server name + required: true + status: SUPPORTED + cps_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_pcm_port_0_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + oam_net_name: + type: string + description: OAM network name + required: true + status: SUPPORTED + port_pcm_port_1_network_role: + type: string + required: true + status: SUPPORTED + port_pcm_port_0_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + oam_net_gw: + type: string + description: CPS network gateway + required: true + status: SUPPORTED + security_group_name: + type: string + description: the name of security group + required: true + status: SUPPORTED + cps_net_ip: + type: string + description: CPS network ip + required: true + status: SUPPORTED + port_pcm_port_1_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_pcm_port_1_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + pcm_flavor_name: + type: string + description: flavor name of PCRF CM instance + required: true + status: SUPPORTED + pcm_vol: + type: string + description: CPS Cluman Cinder Volume + required: true + status: SUPPORTED + port_pcm_port_1_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_pcm_port_0_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + cps_net_name: + type: string + description: CPS network name + required: true + status: SUPPORTED + oam_net_ip: + type: string + description: OAM network ip + required: true + status: SUPPORTED + oam_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + port_pcm_port_1_order: + type: integer + required: true + status: SUPPORTED + attributes: + server_pcm_id: + type: string + description: the pcm nova service id + status: SUPPORTED + requirements: + - dependency_pcm_port_1: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_1: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_server_pcm: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_server_pcm: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_pcm_port_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_0: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + network.incoming.packets.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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.usage_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_pcm_port_1: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + memory.usage_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_server_pcm: + type: org.openecomp.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_pcm_port_0: + type: org.openecomp.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_pcm_port_1: + type: org.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_pcm_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_0: + type: org.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_server_pcm: + type: org.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_pcm_port_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_pcm_port_1: + type: org.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_pcm_port_0: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + endpoint_server_pcm: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + host_server_pcm: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + cpu.delta_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.openecomp.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_pcm_port_0: + type: org.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_server_pcm: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: org.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_server_pcm: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_pcm_port_0: + type: org.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_server_pcm: + type: org.openecomp.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_pcm_port_1: + type: org.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.pcm_server_1: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -1681,4 +2240,4 @@ node_types: description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. occurrences: - 1 - - UNBOUNDED + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/out/MainServiceTemplate.yaml index 2e0c569781..2a5f3b77f9 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/out/MainServiceTemplate.yaml @@ -91,29 +91,6 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo server_pcm_001: type: org.openecomp.resource.abstract.nodes.heat.pcm_server directives: @@ -151,29 +128,6 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo server_pcm_003: type: org.openecomp.resource.abstract.nodes.heat.pcm_server_2 directives: @@ -211,29 +165,6 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo compute_port_0: type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port properties: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/twoNestedNodeTemplatesWithSameComputeType/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/twoNestedNodeTemplatesWithSameComputeType/out/MainServiceTemplate.yaml index beb20a352c..6f0bd1ea94 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/twoNestedNodeTemplatesWithSameComputeType/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/twoNestedNodeTemplatesWithSameComputeType/out/MainServiceTemplate.yaml @@ -91,29 +91,6 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo server_pcm_001: type: org.openecomp.resource.abstract.nodes.heat.pcm_server directives: @@ -151,29 +128,6 @@ topology_template: get_input: - pcm_server_names - 0 - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo compute_port_0: type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port properties: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/scalingInstances/oneComputeTypeOnePortNodeConnectedOut/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/scalingInstances/oneComputeTypeOnePortNodeConnectedOut/out/MainServiceTemplate.yaml index 1f6dafb872..289e675679 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/scalingInstances/oneComputeTypeOnePortNodeConnectedOut/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/scalingInstances/oneComputeTypeOnePortNodeConnectedOut/out/MainServiceTemplate.yaml @@ -119,18 +119,10 @@ topology_template: capability: tosca.capabilities.Node node: packet_mirror_network relationship: tosca.relationships.DependsOn - - dependency_server_pd_02_pd_server: - capability: tosca.capabilities.Node - node: packet_mirror_network - relationship: tosca.relationships.DependsOn - link_pd_server_pd01_port: capability: tosca.capabilities.network.Linkable node: packet_mirror_network relationship: tosca.relationships.network.LinksTo - - dependency_server_pd_01_pd_server: - capability: tosca.capabilities.Node - node: packet_mirror_network - relationship: tosca.relationships.DependsOn - local_storage_pd_server: capability: tosca.capabilities.Attachment node: pd01_volume diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeNodeConnectedOut/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeNodeConnectedOut/out/MainServiceTemplate.yaml index 81e04e2615..7588e0236b 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeNodeConnectedOut/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeNodeConnectedOut/out/MainServiceTemplate.yaml @@ -143,10 +143,6 @@ topology_template: capability: tosca.capabilities.Node node: packet_mirror_network relationship: tosca.relationships.DependsOn - - dependency_server_pd_01_pd_server: - capability: tosca.capabilities.Node - node: packet_mirror_network - relationship: tosca.relationships.DependsOn - link_pd_server_pd01_port: capability: tosca.capabilities.network.Linkable node: packet_mirror_network diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithSamePortTypeNodeConnectedOut/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithSamePortTypeNodeConnectedOut/out/MainServiceTemplate.yaml index 210b537179..4fd079f393 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithSamePortTypeNodeConnectedOut/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithSamePortTypeNodeConnectedOut/out/MainServiceTemplate.yaml @@ -154,10 +154,6 @@ topology_template: capability: tosca.capabilities.Node node: packet_mirror_network relationship: tosca.relationships.DependsOn - - dependency_server_pd_01_pd_server: - capability: tosca.capabilities.Node - node: packet_mirror_network - relationship: tosca.relationships.DependsOn - link_pd_server_pd01_port_0: capability: tosca.capabilities.network.Linkable node: packet_mirror_network diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwodiffporttypesandnested/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwodiffporttypesandnested/out/MainServiceTemplate.yaml index b9c5bc8be0..cfbf2f9765 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwodiffporttypesandnested/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwodiffporttypesandnested/out/MainServiceTemplate.yaml @@ -450,33 +450,6 @@ topology_template: port_pcm_port_0_mac_requirements: mac_count_required: is_required: false - requirements: - - dependency_pcm_port_1: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_1: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_server_pcm: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - local_storage_server_pcm: - capability: tosca.capabilities.Attachment - node: tosca.nodes.BlockStorage - relationship: tosca.relationships.AttachesTo - - dependency_pcm_port_0: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn - - link_pcm_port_0: - capability: tosca.capabilities.network.Linkable - relationship: tosca.relationships.network.LinksTo - - dependency_network: - capability: tosca.capabilities.Node - node: tosca.nodes.Root - relationship: tosca.relationships.DependsOn abstract_pd_server: type: org.openecomp.resource.abstract.nodes.pd_server directives: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/threeDiffComputesWithAllConnectivities/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/threeDiffComputesWithAllConnectivities/out/MainServiceTemplate.yaml index abe0e1701a..18c825350f 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/threeDiffComputesWithAllConnectivities/out/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/threeDiffComputesWithAllConnectivities/out/MainServiceTemplate.yaml @@ -245,10 +245,6 @@ topology_template: capability: tosca.capabilities.Node node: packet_mirror_network relationship: tosca.relationships.DependsOn - - dependency_server_pd_01_pd_server: - capability: tosca.capabilities.Node - node: packet_mirror_network - relationship: tosca.relationships.DependsOn abstract_ps_server: type: org.openecomp.resource.abstract.nodes.ps_server directives: @@ -298,10 +294,6 @@ topology_template: capability: tosca.capabilities.Node node: packet_mirror_network relationship: tosca.relationships.DependsOn - - dependency_server_ps_01_ps_server: - capability: tosca.capabilities.Node - node: packet_mirror_network - relationship: tosca.relationships.DependsOn abstract_oam_server: type: org.openecomp.resource.abstract.nodes.oam_server directives: @@ -350,10 +342,6 @@ topology_template: capability: tosca.capabilities.Node node: packet_mirror_network relationship: tosca.relationships.DependsOn - - dependency_server_oam_01_oam_server: - capability: tosca.capabilities.Node - node: packet_mirror_network - relationship: tosca.relationships.DependsOn network_policy_server_ps: type: org.openecomp.resource.vfc.rules.nodes.heat.network.contrail.NetworkRules properties: diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoOutParamDuplicatePortType/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoOutParamDuplicatePortType/out/GlobalSubstitutionTypesServiceTemplate.yaml index b994e51e02..92ed531b87 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoOutParamDuplicatePortType/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoOutParamDuplicatePortType/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -794,3 +794,222 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.FSB1: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_FSB1_Internal_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB1_Internal_subnetpoolid: + type: string + required: true + status: SUPPORTED + compute_FSB1_metadata: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_FSB2_Internal2_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal1_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal2_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB2_Internal2_network_role: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal1_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB2_Internal1_network_role: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB1_Internal_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal1_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal1_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB1_Internal_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB1_Internal_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB_OAM_network_role: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_network_role: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal1_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB2_Internal2_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal2_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB_OAM_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal2_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB_OAM_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + compute_FSB1_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_FSB_OAM_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal2_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB2_Internal2_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal1_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal2_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal1_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal1_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB_OAM_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_FSB2_Internal2_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal1_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB_OAM_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + compute_FSB1_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoPorts/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoPorts/out/GlobalSubstitutionTypesServiceTemplate.yaml index 78f448ce6f..b6cc642eb5 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoPorts/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoPorts/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -295,4 +295,37 @@ node_types: 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 + - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.FSB1: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + compute_FSB1_metadata: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + compute_FSB1_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + compute_FSB1_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + vm_flavor_name: + type: string + required: true + status: SUPPORTED diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithIndex/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithIndex/out/GlobalSubstitutionTypesServiceTemplate.yaml index 30616940a7..4d5301facd 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithIndex/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithIndex/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -670,3 +670,176 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.FSB1: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_FSB1_Internal_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB1_Internal_subnetpoolid: + type: string + required: true + status: SUPPORTED + compute_FSB1_metadata: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_FSB2_Internal_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_network_role: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB1_Internal_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB_OAM_network_role: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_network_role: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + compute_FSB1_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_FSB_OAM_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB2_Internal_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB1_Internal_order: + type: integer + required: true + status: SUPPORTED + port_FSB_OAM_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_FSB2_Internal_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB_OAM_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + compute_FSB1_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB2_Internal_network_role_tag: + type: string + required: true + status: SUPPORTED diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/consolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/consolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml index 83ade4a8b1..2cc31a0997 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/consolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/consolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -571,3 +571,155 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.FSB1: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_FSB1_Internal_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB1_Internal_subnetpoolid: + type: string + required: true + status: SUPPORTED + compute_FSB1_metadata: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_FSB2_Internal_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal_network_role: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB1_Internal_network_role: + type: string + required: true + status: SUPPORTED + compute_FSB1_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_FSB2_Internal_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB2_Internal_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB1_Internal_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + compute_FSB1_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB2_Internal_network_role_tag: + type: string + required: true + status: SUPPORTED + attributes: + FSB1_FSB2_Internal_tenant_id: + type: string + status: SUPPORTED + FSB1_FSB1_Internal_network_id: + type: string + status: SUPPORTED + FSB1_user_data_format: + type: string + status: SUPPORTED + FSB1_accessIPv6: + type: string + status: SUPPORTED + FSB1_addresses: + type: map + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.novaServer.network.AddressInfo + FSB1_FSB2_Internal_network_id: + type: string + status: SUPPORTED + FSB1_FSB1_Internal_status: + type: string + status: SUPPORTED + FSB1_FSB1_Internal_device_owner: + type: string + status: SUPPORTED diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml index a42219e96f..e10d530671 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -694,3 +694,200 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.FSB1: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_FSB1_Internal_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB1_Internal_subnetpoolid: + type: string + required: true + status: SUPPORTED + compute_FSB1_metadata: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_FSB2_Internal_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_network_role: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB1_Internal_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB_OAM_network_role: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_network_role: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + compute_FSB1_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_FSB_OAM_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB2_Internal_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB1_Internal_order: + type: integer + required: true + status: SUPPORTED + port_FSB_OAM_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_FSB2_Internal_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB_OAM_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + compute_FSB1_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB2_Internal_network_role_tag: + type: string + required: true + status: SUPPORTED + attributes: + FSB1_FSB_OAM_status: + type: string + status: SUPPORTED + FSB1_FSB2_Internal_tenant_id: + type: string + status: SUPPORTED + FSB1_FSB1_Internal_network_id: + type: string + status: SUPPORTED + FSB1_accessIPv6: + type: string + status: SUPPORTED + FSB1_addresses: + type: map + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.novaServer.network.AddressInfo + FSB1_FSB2_Internal_network_id: + type: string + status: SUPPORTED + FSB1_FSB1_Internal_device_owner: + type: string + status: SUPPORTED diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/consolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/consolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml index 7c1d5352a9..d16a04dbb1 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/consolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/consolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -565,3 +565,149 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.FSB1: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_FSB1_Internal_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB1_Internal_subnetpoolid: + type: string + required: true + status: SUPPORTED + compute_FSB1_metadata: + type: list + required: true + status: SUPPORTED + entry_schema: + type: json + port_FSB2_Internal_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_order: + type: integer + required: true + status: SUPPORTED + compute_FSB1_availability_zone: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_FSB2_Internal_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB2_Internal_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal_network_role: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB1_Internal_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_order: + type: integer + required: true + status: SUPPORTED + port_FSB1_Internal_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB2_Internal_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + compute_FSB1_name: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB1_Internal_network_role: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal_network_role_tag: + type: string + required: true + status: SUPPORTED + attributes: + FSB1_FSB2_Internal_tenant_id: + type: string + status: SUPPORTED + FSB1_FSB1_Internal_network_id: + type: string + status: SUPPORTED + FSB1_user_data_format: + type: string + status: SUPPORTED + FSB1_accessIPv6: + type: string + status: SUPPORTED + FSB1_addresses: + type: map + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.novaServer.network.AddressInfo + FSB1_FSB2_Internal_network_id: + type: string + status: SUPPORTED + FSB1_FSB1_Internal_status: + type: string + status: SUPPORTED + FSB1_FSB1_Internal_device_owner: + type: string + status: SUPPORTED diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml index d2ea7e94b4..e57d35a6b8 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -676,3 +676,182 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.FSB1: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + port_FSB1_Internal_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB1_Internal_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + vm_flavor_name: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_network_role: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_ip_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.IpRequirements + port_FSB1_Internal_network_role_tag: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_vlan_requirements: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.network.VlanRequirements + port_FSB2_Internal_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB1_Internal_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB_OAM_network_role: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_network_role: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_subnetpoolid: + type: string + required: true + status: SUPPORTED + port_FSB_OAM_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB1_Internal_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + index_value: + type: integer + description: Index value of this substitution service template runtime instance + required: false + default: 0 + status: SUPPORTED + constraints: + - greater_or_equal: 0 + port_FSB_OAM_order: + type: integer + required: true + status: SUPPORTED + port_FSB2_Internal_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB2_Internal_mac_address: + type: string + required: true + status: SUPPORTED + port_FSB2_Internal_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB1_Internal_order: + type: integer + required: true + status: SUPPORTED + port_FSB_OAM_fixed_ips: + type: list + required: true + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.neutron.port.FixedIps + port_FSB2_Internal_network: + type: list + required: true + status: SUPPORTED + entry_schema: + type: string + port_FSB1_Internal_mac_requirements: + type: org.openecomp.datatypes.network.MacRequirements + required: true + status: SUPPORTED + port_FSB_OAM_exCP_naming: + type: org.openecomp.datatypes.Naming + required: true + status: SUPPORTED + port_FSB2_Internal_network_role_tag: + type: string + required: true + status: SUPPORTED + attributes: + FSB1_FSB_OAM_status: + type: string + status: SUPPORTED + FSB1_FSB2_Internal_tenant_id: + type: string + status: SUPPORTED + FSB1_FSB1_Internal_network_id: + type: string + status: SUPPORTED + FSB1_accessIPv6: + type: string + status: SUPPORTED + FSB1_addresses: + type: map + status: SUPPORTED + entry_schema: + type: org.openecomp.datatypes.heat.novaServer.network.AddressInfo + FSB1_FSB2_Internal_network_id: + type: string + status: SUPPORTED + FSB1_FSB1_Internal_device_owner: + type: string + status: SUPPORTED diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/pattern4/oneNestedNode/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/pattern4/oneNestedNode/out/GlobalSubstitutionTypesServiceTemplate.yaml index a424a5d19b..7f16b2ff14 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/pattern4/oneNestedNode/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/pattern4/oneNestedNode/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -329,3 +329,297 @@ node_types: occurrences: - 1 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pcm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + availabilityzone_name: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + oam_net_gw: + type: string + description: CPS network gateway + required: true + status: SUPPORTED + pcm_image_name: + type: string + description: PCRF CM image name + required: true + status: SUPPORTED + cps_net_ips: + type: string + description: CPS network ip + required: true + status: SUPPORTED + security_group_name: + type: string + description: the name of security group + required: true + status: SUPPORTED + cps_net_ip: + type: string + description: CPS network ip + required: true + status: SUPPORTED + pcm_volumes: + type: string + description: CPS Cluman Cinder Volume + required: true + status: SUPPORTED + pcm_flavor_name: + type: string + description: flavor name of PCRF CM instance + required: true + status: SUPPORTED + pcm_vol: + type: string + description: CPS Cluman Cinder Volume + required: true + status: SUPPORTED + pcm_server_name: + type: string + description: PCRF CM server name + required: true + status: SUPPORTED + cps_net_name: + type: string + description: CPS network name + required: true + status: SUPPORTED + cps_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + oam_net_ip: + type: string + description: OAM network ip + required: true + status: SUPPORTED + oam_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + oam_net_name: + type: string + description: OAM network name + required: true + status: SUPPORTED + attributes: + server_pcm_id: + type: string + description: the pcm nova service id + status: SUPPORTED + requirements: + - link_pcm_port_1: + capability: tosca.capabilities.network.Linkable + node: tosca.nodes.Root + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - local_storage_server_pcm: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_1_server_pcm_005: + capability: tosca.capabilities.network.Linkable + node: tosca.nodes.Root + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - local_storage_server_pcm_server_pcm_005: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_0_server_pcm_005: + capability: tosca.capabilities.network.Linkable + node: tosca.nodes.Root + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - link_pcm_port_0: + capability: tosca.capabilities.network.Linkable + node: tosca.nodes.Root + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + endpoint_server_pcm: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + feature_network_server_pcm_005: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + host_server_pcm_server_pcm_005: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + binding_server_pcm_server_pcm_005: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + scalable_server_pcm_server_pcm_005: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + endpoint_server_pcm_server_pcm_005: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + attachment_network: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + binding_pcm_port_1_server_pcm_005: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + attachment_pcm_port_0_server_pcm_005: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + link_network_server_pcm_005: + type: tosca.capabilities.network.Linkable + occurrences: + - 1 + - UNBOUNDED + scalable_server_pcm: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + feature_server_pcm_server_pcm_005: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + feature_network: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + binding_pcm_port_0_server_pcm_005: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + feature_server_pcm_005: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + host_server_pcm: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + os_server_pcm_server_pcm_005: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + feature_pcm_port_0_server_pcm_005: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + attachment_network_server_pcm_005: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + binding_server_pcm: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + binding_pcm_port_0: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_pcm_port_1: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + link_network: + type: tosca.capabilities.network.Linkable + occurrences: + - 1 + - UNBOUNDED + os_server_pcm: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + feature_server_pcm: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + feature_pcm_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + feature_pcm_port_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + feature_pcm_port_1_server_pcm_005: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_0: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_1_server_pcm_005: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/pattern4/twoNestedWithOneCompute/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/pattern4/twoNestedWithOneCompute/out/GlobalSubstitutionTypesServiceTemplate.yaml index 752628d126..217eb69b16 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/pattern4/twoNestedWithOneCompute/out/GlobalSubstitutionTypesServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/pattern4/twoNestedWithOneCompute/out/GlobalSubstitutionTypesServiceTemplate.yaml @@ -275,6 +275,168 @@ node_types: occurrences: - 0 - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.pcm_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + availabilityzone_name: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + oam_net_gw: + type: string + description: CPS network gateway + required: true + status: SUPPORTED + pcm_image_name: + type: string + description: PCRF CM image name + required: true + status: SUPPORTED + security_group_name: + type: string + description: the name of security group + required: true + status: SUPPORTED + cps_net_ip: + type: string + description: CPS network ip + required: true + status: SUPPORTED + pcm_flavor_name: + type: string + description: flavor name of PCRF CM instance + required: true + status: SUPPORTED + pcm_vol: + type: string + description: CPS Cluman Cinder Volume + required: true + status: SUPPORTED + pcm_server_name: + type: string + description: PCRF CM server name + required: true + status: SUPPORTED + cps_net_name: + type: string + description: CPS network name + required: true + status: SUPPORTED + cps_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + oam_net_ip: + type: string + description: OAM network ip + required: true + status: SUPPORTED + oam_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + oam_net_name: + type: string + description: OAM network name + required: true + status: SUPPORTED + attributes: + server_pcm_id: + type: string + description: the pcm nova service id + status: SUPPORTED + requirements: + - link_pcm_port_1: + capability: tosca.capabilities.network.Linkable + node: tosca.nodes.Root + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - local_storage_server_pcm: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_0: + capability: tosca.capabilities.network.Linkable + node: tosca.nodes.Root + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + endpoint_server_pcm: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + os_server_pcm: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + host_server_pcm: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + feature_server_pcm: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + feature_pcm_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + scalable_server_pcm: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + feature_pcm_port_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + binding_server_pcm: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_0: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + binding_pcm_port_0: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_pcm_port_1: + 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.oam_server: derived_from: org.openecomp.resource.abstract.nodes.VFC properties: @@ -436,4 +598,166 @@ node_types: - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface occurrences: - 0 - - UNBOUNDED
\ No newline at end of file + - UNBOUNDED + org.openecomp.resource.vfc.nodes.heat.oam_server: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server + properties: + availabilityzone_name: + type: string + description: availabilityzone name + required: true + status: SUPPORTED + oam_net_gw: + type: string + description: CPS network gateway + required: true + status: SUPPORTED + oam_flavor_name: + type: string + description: flavor name of PCRF CM instance + required: true + status: SUPPORTED + security_group_name: + type: string + description: the name of security group + required: true + status: SUPPORTED + cps_net_ip: + type: string + description: CPS network ip + required: true + status: SUPPORTED + oam_server_name: + type: string + description: oam server name + required: true + status: SUPPORTED + pcm_vol: + type: string + description: CPS Cluman Cinder Volume + required: true + status: SUPPORTED + oam_image_name: + type: string + description: oam image name + required: true + status: SUPPORTED + cps_net_name: + type: string + description: CPS network name + required: true + status: SUPPORTED + cps_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + oam_net_ip: + type: string + description: OAM network ip + required: true + status: SUPPORTED + oam_net_mask: + type: string + description: CPS network mask + required: true + status: SUPPORTED + oam_net_name: + type: string + description: OAM network name + required: true + status: SUPPORTED + attributes: + server_oam_id: + type: string + description: the oam nova service id + status: SUPPORTED + requirements: + - local_storage_server_oam: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - link_pcm_port_1: + capability: tosca.capabilities.network.Linkable + node: tosca.nodes.Root + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - link_pcm_port_0: + capability: tosca.capabilities.network.Linkable + node: tosca.nodes.Root + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + host_server_oam: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + endpoint_server_oam: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + os_server_oam: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + feature_server_oam: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + feature_pcm_port_1: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + scalable_server_oam: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + feature_pcm_port_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + binding_server_oam: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_0: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_pcm_port_1: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + binding_pcm_port_0: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_pcm_port_1: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED |