summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib
diff options
context:
space:
mode:
authortalio <tali.orenbach@amdocs.com>2017-09-13 12:23:28 +0300
committertalio <tali.orenbach@amdocs.com>2017-09-13 13:21:55 +0300
commitf4f74690140299c1a1df3d10509e873b67cdd2c9 (patch)
tree81115ac2363fae17c8971d1b25f2847ef0121d79 /openecomp-be/lib
parenta86090754b89714596794a533631b798f45bb302 (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>
Diffstat (limited to 'openecomp-be/lib')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java162
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java189
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java1711
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/utils/ResourceWalker.java2
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java10
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeDiffImageName/out/GlobalSubstitutionTypesServiceTemplate.yaml81
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeGetAttrBetweenThem/out/GlobalSubstitutionTypesServiceTemplate.yaml81
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypePortsConnectedToDiffNetworks/out/GlobalSubstitutionTypesServiceTemplate.yaml81
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/twoNovaWithDiffProperties/out/GlobalSubstitutionTypesServiceTemplate.yaml99
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/connectivityBetweenPatterns/out/MainServiceTemplate.yaml22
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/MainServiceTemplate.yaml44
-rw-r--r--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.yaml2
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/oneAppearancePerPattern/out/MainServiceTemplate.yaml22
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/twoAppearancePerPatternWithConnectivities/out/MainServiceTemplate.yaml44
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml1056
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/MainServiceTemplate.yaml32
-rw-r--r--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.yaml2
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested1ServiceTemplate.yaml23
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested2ServiceTemplate.yaml55
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml913
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/out/nested2ServiceTemplate.yaml23
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsDiffVmTypePattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml2060
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsSameVmTypePattern1B/out/GlobalSubstitutionTypesServiceTemplate.yaml81
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/GlobalSubstitutionTypesServiceTemplate.yaml1090
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/MainServiceTemplate.yaml46
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/nested1ServiceTemplate.yaml23
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllNonNestedPatterns/out/GlobalSubstitutionTypesServiceTemplate.yaml342
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/MainServiceTemplate.yaml23
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedCatalogInstance/out/GlobalSubstitutionTypesServiceTemplate.yaml87
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedScalingInstance/out/GlobalSubstitutionTypesServiceTemplate.yaml87
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedSingleSubstitution1B/out/GlobalSubstitutionTypesServiceTemplate.yaml172
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameFileOneDiff/out/GlobalSubstitutionTypesServiceTemplate.yaml340
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameOneDiffWithConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml364
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/diffNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml46
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/MANIFEST.json36
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf.env406
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf.yaml2045
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf_volume.env19
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/base_cscf_volume.yaml105
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/nested_cscf.yaml183
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in/nested_tdcore.yaml213
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/out/MainServiceTemplate.yaml3166
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml504
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml173
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/out/GlobalSubstitutionTypesServiceTemplate.yaml172
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/out/nested3ServiceTemplate.yaml23
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesConnectedIn/out/GlobalSubstitutionTypesServiceTemplate.yaml1181
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesGetAttrIn/out/MainServiceTemplate.yaml260
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/out/GlobalSubstitutionTypesServiceTemplate.yaml1163
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/out/MainServiceTemplate.yaml69
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/out/GlobalSubstitutionTypesServiceTemplate.yaml638
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/out/MainServiceTemplate.yaml23
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneComputeDiffPortType/out/MainServiceTemplate.yaml23
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/out/GlobalSubstitutionTypesServiceTemplate.yaml134
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/out/MainServiceTemplate.yaml2
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoDiffComputeTypes/out/GlobalSubstitutionTypesServiceTemplate.yaml196
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml561
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/out/MainServiceTemplate.yaml69
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/out/GlobalSubstitutionTypesServiceTemplate.yaml561
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/out/MainServiceTemplate.yaml69
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/twoNestedNodeTemplatesWithSameComputeType/out/MainServiceTemplate.yaml46
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/scalingInstances/oneComputeTypeOnePortNodeConnectedOut/out/MainServiceTemplate.yaml8
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeNodeConnectedOut/out/MainServiceTemplate.yaml4
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computeWithSamePortTypeNodeConnectedOut/out/MainServiceTemplate.yaml4
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwodiffporttypesandnested/out/MainServiceTemplate.yaml27
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/threeDiffComputesWithAllConnectivities/out/MainServiceTemplate.yaml12
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoOutParamDuplicatePortType/out/GlobalSubstitutionTypesServiceTemplate.yaml219
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoPorts/out/GlobalSubstitutionTypesServiceTemplate.yaml35
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithIndex/out/GlobalSubstitutionTypesServiceTemplate.yaml173
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/consolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml152
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml197
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/consolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml146
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml179
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/pattern4/oneNestedNode/out/GlobalSubstitutionTypesServiceTemplate.yaml294
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/pattern4/twoNestedWithOneCompute/out/GlobalSubstitutionTypesServiceTemplate.yaml326
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