Port scaling not working properly 59/21659/5
authorvempo <vitaliy.emporopulo@amdocs.com>
Sun, 5 Nov 2017 15:14:25 +0000 (17:14 +0200)
committerVitaly Emporopulo <Vitaliy.Emporopulo@amdocs.com>
Sun, 5 Nov 2017 15:39:16 +0000 (15:39 +0000)
Made changes in evaluating port naming pattern.

Change-Id: If9a3fc9c3d50fa5c4da319d2ff7d5f8ce6ca8ffe
Issue-ID: SDC-573
Signed-off-by: vempo <vitaliy.emporopulo@amdocs.com>
78 files changed:
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionServiceTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifedCompositionDynamicPortsTest.java [deleted file]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionCatalogInstanceFullTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionDynamicPortsTest.java [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionMixPatternFullTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedPatternsFullTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionScalingInstancesFullTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionSingleSubstitutionFullTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/base_vIECCF.env [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/base_vIECCF.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/base_vIECCF_volume.env [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/base_vIECCF_volume.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/node_userdata_script.sh [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/Nested_appServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/Nested_ioxServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/Nested_pltServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/Nested_pd_server_main_1bServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/Nested_pd_server_main_1b_1ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/Nested_pd_server_nested2_1bServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/Nested_ps_server_main_1bServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/Nested_ps_server_main_1b_1ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/Nested_ps_server_nested2_1bServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested1ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested2ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/Nested_pd_server_1bServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/Nested_pd_server_1b_1ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/Nested_rd_server_1bServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/Nested_rd_server_1b_1ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/nested1ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllNonNestedPatterns/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllNonNestedPatterns/out/Nested_pd_server_1bServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllNonNestedPatterns/out/Nested_ps_server_1bServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllNonNestedPatterns/out/nested1ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/Nested_pd_server_1bServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/Nested_ps_server_1bServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/nested1ServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/in/hot-mog-0108-bs1271.env [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/in/hot-mog-0108-bs1271.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/out/Nested_pd_serverServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/in/hot-mog-0108-bs1271.env [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/in/hot-mog-0108-bs1271.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/out/Nested_pd_serverServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/in/MANIFEST.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/in/hot-mog-0108-bs1271.env [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/in/hot-mog-0108-bs1271.yml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/out/GlobalSubstitutionTypesServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/out/MainServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/out/Nested_pd_serverServiceTemplate.yaml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoOutParamDuplicatePortType/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoOutParamDuplicatePortType/out/SubstitutionServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithIndex/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithIndex/out/SubstitutionServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/noConsolidation/out/SubstitutionServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/noConsolidation/out/GlobalSubstitutionTypesServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/noConsolidation/out/SubstitutionServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/createAbstractSubstitute/oneComputeMultiplePortsDiffType/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/updNodesConnectedOut/noConsolidation/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/updNodesGetAttrIn/noConsolidation/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/updOutputGetAttrIn/noConsolidation/out/MainServiceTemplate.yaml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/unifiedComposition/updVolumes/noConsolidation/out/MainServiceTemplate.yaml

index c5a6735..a09d566 100644 (file)
@@ -1,16 +1,13 @@
 package org.openecomp.sdc.translator.services.heattotosca;
 
 import org.apache.commons.collections4.MapUtils;
-import org.apache.commons.lang3.math.NumberUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.openecomp.core.utilities.file.FileUtils;
 import org.openecomp.sdc.common.errors.CoreException;
-import org.openecomp.sdc.common.errors.ErrorCode;
 import org.openecomp.sdc.datatypes.configuration.ImplementationConfiguration;
 import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate;
 import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes;
 import org.openecomp.sdc.heat.datatypes.model.Resource;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
 import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate;
 import org.openecomp.sdc.tosca.datatypes.model.RequirementAssignment;
 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
@@ -47,7 +44,8 @@ import java.util.Objects;
  */
 public class ConsolidationDataUtil {
 
-  protected static Logger logger = (Logger) LoggerFactory.getLogger(ConsolidationDataUtil.class);
+  private static final String UNDERSCORE = "_";
+  private static final String DIGIT_REGEX = "\\d+";
 
   /**
    * Gets compute template consolidation data.
@@ -393,7 +391,7 @@ public class ConsolidationDataUtil {
         Resource targetResource =
             translateTo.getHeatOrchestrationTemplate().getResources().get(targetResourceId);
         NameExtractor nodeTypeNameExtractor =
-            translateTo.getContext().getNameExtractorImpl(targetResource.getType());
+            TranslationContext.getNameExtractorImpl(targetResource.getType());
         nodeType =
             nodeTypeNameExtractor.extractNodeTypeName(translateTo.getHeatOrchestrationTemplate()
                     .getResources().get(dependentNodeTemplateId),
@@ -438,10 +436,7 @@ public class ConsolidationDataUtil {
     Map<String, ImplementationConfiguration> supportedComputeResources = TranslationContext
         .getSupportedConsolidationComputeResources();
     if (supportedComputeResources.containsKey(resourceType)) {
-      if (supportedComputeResources.get(resourceType).isEnable()) {
-        return true;
-      }
-      return false;
+      return supportedComputeResources.get(resourceType).isEnable();
     }
     return false;
   }
@@ -457,10 +452,7 @@ public class ConsolidationDataUtil {
     Map<String, ImplementationConfiguration> supportedComputeResources = TranslationContext
         .getSupportedConsolidationComputeResources();
     if (supportedComputeResources.containsKey(resourceType)) {
-      if (supportedComputeResources.get(resourceType).isEnable()) {
-        return true;
-      }
-      return false;
+      return supportedComputeResources.get(resourceType).isEnable();
     }
     return false;
   }
@@ -478,10 +470,7 @@ public class ConsolidationDataUtil {
     Map<String, ImplementationConfiguration> supportedPortResources = TranslationContext
         .getSupportedConsolidationPortResources();
     if (supportedPortResources.containsKey(resourceType)) {
-      if (supportedPortResources.get(resourceType).isEnable()) {
-        return true;
-      }
-      return false;
+      return supportedPortResources.get(resourceType).isEnable();
     }
     return false;
   }
@@ -497,10 +486,7 @@ public class ConsolidationDataUtil {
     Map<String, ImplementationConfiguration> supportedPortResources = TranslationContext
         .getSupportedConsolidationPortResources();
     if (supportedPortResources.containsKey(resourceType)) {
-      if (supportedPortResources.get(resourceType).isEnable()) {
-        return true;
-      }
-      return false;
+      return supportedPortResources.get(resourceType).isEnable();
     }
     return false;
   }
@@ -540,26 +526,27 @@ public class ConsolidationDataUtil {
    * @return the port type
    */
   public static String getPortType(String portNodeTemplateId) {
-    String[] portSplitArr = portNodeTemplateId.split("(?<=\\D)(?=\\d)|(?<=\\d)(?=\\D)");
-    String finalValue = "";
-    if (NumberUtils.isNumber(portSplitArr[portSplitArr.length - 1])) {
-      for (String id : portSplitArr) {
-        finalValue = finalValue + id;
-      }
-      while (finalValue.length() > 0) {
-        if (Character.isLetter(finalValue.charAt(finalValue.length() - 1))) {
-          break;
-        }
-        finalValue = finalValue.substring(0, finalValue.length() - 1);
+
+    if (!StringUtils.isNotBlank(portNodeTemplateId)) {
+      return portNodeTemplateId;
+    }
+
+    String formattedName = portNodeTemplateId.replaceAll(DIGIT_REGEX + "$", "");
+
+    StringBuilder sb = new StringBuilder();
+    int count = 0;
+    for (String token : formattedName.split(UNDERSCORE)) {
+
+      if (StringUtils.isNotBlank(token)) {
+        count++;
       }
-    } else {
-      for (String id : portSplitArr) {
-        if (!NumberUtils.isNumber(id)) {
-          finalValue = finalValue + id;
-        }
+
+      if (count != 2 || !token.matches(DIGIT_REGEX)) {
+        sb.append(token).append(UNDERSCORE);
       }
     }
-    return finalValue;
+
+    return portNodeTemplateId.endsWith(UNDERSCORE) ? sb.toString() : sb.substring(0, sb.length() - 1);
   }
 
   /**
index 642d707..69db1b2 100644 (file)
@@ -31,19 +31,60 @@ import java.net.URL;
 import java.util.*;
 
 public class UnifiedCompositionServiceTest {
+  private static final String BASE_DIRECTORY = "/mock/services/heattotosca/unifiedComposition/";
   @InjectMocks
   @Spy
   UnifiedCompositionService unifiedCompositionService;
   @Spy
   TranslationContext context;
 
-  String inputServiceTemplatesPath;
-  String outputServiceTemplatesPath;
+  private static final String IN_PREFIX = "/in";
+  private static final String OUT_PREFIX = "/out";
+  private static final String FSB1_template = "FSB1_template";
+  private static final String FSB2_template = "FSB2_template";
+  private static final String FSB3_template = "FSB3_template";
+  private static final String FSB1_INTERNAL = "FSB1_Internal";
+  private static final String FSB2_INTERNAL = "FSB2_Internal";
+  private static final String FSB1_INTERNAL1 = "FSB1_Internal1";
+  private static final String FSB1_INTERNAL2 = "FSB1_Internal2";
+  private static final String FSB2_INTERNAL1 = "FSB2_Internal1";
+  private static final String FSB2_INTERNAL2 = "FSB2_Internal2";
+  private static final String PORT = "port";
+  private static final String PORT1 = "port1";
+  private static final String PORT2 = "port2";
+  private static final String FSB1_OAM = "FSB1_OAM";
+  private static final String ORG_OPENECOMP_RESOURCE_ABSTRACT_NODES_FSB1 = "org.openecomp.resource.abstract.nodes.FSB1";
+  private static final String ORG_OPENECOMP_RESOURCE_VFC_NODES_HEAT_FSB = "org.openecomp.resource.vfc.nodes.heat.FSB";
+  private static final String DEVICE_OWNER = "device_owner";
+  private static final String COMPLEX_OUTPUT1 = "complexOutput1";
+  private static final String COMPLEX_OUTPUT2 = "complexOutput2";
+  private static final String COMPLEX_OUTPUT3 = "complexOutput3";
+  private static final String USER_DATA_FORMAT = "user_data_format";
+  private static final String TENANT_ID = "tenant_id";
+  private static final String SIMPLE_OUTPUT1 = "simpleOutput1";
+  private static final String SIMPLE_OUTPUT2 = "simpleOutput2";
+  private static final String ADDRESSES = "addresses";
+  private static final String CMAUI_VOLUME1 = "cmaui_volume1";
+  private static final String CMAUI_VOLUME2 = "cmaui_volume2";
+  private static final String CMAUI_VOLUME3 = "cmaui_volume3";
+  private static final String ACCESS_IPv4 = "accessIPv4";
+  private static final String ACCESS_IPv6 = "accessIPv6";
+  private static final String FSB1 = "FSB1";
+  private static final String MYATTR = "myAttr";
+  private static final String VOLUME_TYPE = "volume_type";
+  private static final String SIZE = "size";
+  private static final String NETWORK_ID = "network_id";
+  private static final String JSA_NET1 = "jsa_net1";
+  private static final String STATUS = "status";
+  private static final String AVAILABILITY_ZONE = "availability_zone";
+  private static final String DEPENDENCY = "dependency";
+
   Map<String, ServiceTemplate> inputServiceTemplates;
   Map<String, ServiceTemplate> expectedOutserviceTemplates;
-  private static String mainSTName = "MainServiceTemplate.yaml";
-  private static String substitutionST = "SubstitutionServiceTemplate.yaml";
-  private static String globalSubstitutionST = "GlobalSubstitutionTypesServiceTemplate.yaml";
+
+  private static final String MAIN_SERVICE_TEMPLATE_YAML = "MainServiceTemplate.yaml";
+  private static final String GLOBAL_SUBSTITUTION_TYPES_SERVICE_TEMPLATE_YAML =
+          "GlobalSubstitutionTypesServiceTemplate.yaml";
 
   @Before
   public void setUp() {
@@ -58,18 +99,15 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void createSubstitutionStNoConsolidationData() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoOutParamDuplicatePortType/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoOutParamDuplicatePortType/out";
-
-    loadInputAndOutputData();
+    String path = BASE_DIRECTORY + "creSubstitutionServiceTemplate/NoOutParamDuplicatePortType";
+    loadInputAndOutputData(path);
     ServiceTemplate expectedServiceTemplate =
-        TestUtils.loadServiceTemplate(outputServiceTemplatesPath);
+        TestUtils.loadServiceTemplate(BASE_DIRECTORY +
+                "creSubstitutionServiceTemplate/NoOutParamDuplicatePortType" + OUT_PREFIX);
 
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList,
             context, "org.openecomp.resource.vfc.nodes.heat.FSB1", null);
     assertEquals(false, substitutionServiceTemplate.isPresent());
@@ -77,27 +115,22 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void createSubstitutionStNoOutputParamAndDuplicatePortType() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoOutParamDuplicatePortType/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoOutParamDuplicatePortType/out";
-
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB_OAM", "FSB1_OAM"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_OAM, FSB1_OAM));
 
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "creSubstitutionServiceTemplate/NoOutParamDuplicatePortType");
     UnifiedCompositionData unifiedCompositionData =
-        createCompositionData("FSB1_template", portTypeToIdList);
+        createCompositionData(FSB1_template, portTypeToIdList);
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     unifiedCompositionDataList.add(unifiedCompositionData);
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList,
-            context, "org.openecomp.resource.abstract.nodes.FSB1", null);
+            context, ORG_OPENECOMP_RESOURCE_ABSTRACT_NODES_FSB1, null);
     assertEquals(true, substitutionServiceTemplate.isPresent());
     substitutionServiceTemplate
         .ifPresent(
@@ -107,29 +140,23 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void createSubstitutionStWithOutputParamNoConsolidation() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate" +
-            "/WithOutputParameters/noConsolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/noConsolidation/out";
-
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB_OAM", "FSB1_OAM"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_OAM, FSB1_OAM));
 
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "creSubstitutionServiceTemplate/WithOutputParameters/noConsolidation");
     UnifiedCompositionData unifiedCompositionData =
-        createCompositionData("FSB1_template", portTypeToIdList);
+        createCompositionData(FSB1_template, portTypeToIdList);
     addGetAttrForCompute(unifiedCompositionData);
     addGetAttrForPort(unifiedCompositionData);
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     unifiedCompositionDataList.add(unifiedCompositionData);
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList,
-            context, "org.openecomp.resource.abstract.nodes.FSB1", null);
+            context, ORG_OPENECOMP_RESOURCE_ABSTRACT_NODES_FSB1, null);
     assertEquals(true, substitutionServiceTemplate.isPresent());
     substitutionServiceTemplate
         .ifPresent(
@@ -139,37 +166,32 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void createSubstitutionStWithOutputParamWithConsolidation() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/consolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithOutputParameters/consolidation/out";
-
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     List<Pair<String, String>> portTypeToIdList1 = new ArrayList<>();
-    portTypeToIdList1.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList1.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
 
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "creSubstitutionServiceTemplate/WithOutputParameters/consolidation");
     UnifiedCompositionData unifiedCompositionData1 =
-        createCompositionData("FSB1_template", portTypeToIdList1);
+        createCompositionData(FSB1_template, portTypeToIdList1);
     addGetAttrForCompute(unifiedCompositionData1);
     addGetAttrForPort(unifiedCompositionData1);
     unifiedCompositionDataList.add(unifiedCompositionData1);
 
     List<Pair<String, String>> portTypeToIdList2 = new ArrayList<>();
-    portTypeToIdList2.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal2"));
-    portTypeToIdList2.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal1"));
+    portTypeToIdList2.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL2));
+    portTypeToIdList2.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL1));
 
     UnifiedCompositionData unifiedCompositionData2 =
-        createCompositionData("FSB2_template", portTypeToIdList2);
+        createCompositionData(FSB2_template, portTypeToIdList2);
     addGetAttrForCompute2(unifiedCompositionData2);
     addGetAttrForPort2(unifiedCompositionData2);
     unifiedCompositionDataList.add(unifiedCompositionData2);
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList,
-            context, "org.openecomp.resource.abstract.nodes.FSB1", null);
+            context, ORG_OPENECOMP_RESOURCE_ABSTRACT_NODES_FSB1, null);
     assertEquals(true, substitutionServiceTemplate.isPresent());
     substitutionServiceTemplate
         .ifPresent(
@@ -179,24 +201,18 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void createSubstitutionStNoPorts() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoPorts/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/NoPorts/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "creSubstitutionServiceTemplate/NoPorts");
 
     UnifiedCompositionData unifiedCompositionData = new UnifiedCompositionData();
-    String computeNodeTemplateId = "FSB1_template";
     unifiedCompositionData.setComputeTemplateConsolidationData(
-        TestUtils.createComputeTemplateConsolidationData(computeNodeTemplateId, null, null));
+        TestUtils.createComputeTemplateConsolidationData(FSB1_template, null, null));
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     unifiedCompositionDataList.add(unifiedCompositionData);
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList,
-            context, "org.openecomp.resource.abstract.nodes.FSB1", null);
+            context, ORG_OPENECOMP_RESOURCE_ABSTRACT_NODES_FSB1, null);
     assertEquals(true, substitutionServiceTemplate.isPresent());
     substitutionServiceTemplate
         .ifPresent(
@@ -207,26 +223,21 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void createSubstitutionStWithIndex() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithIndex/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/WithIndex/out";
-
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB_OAM", "FSB1_OAM"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_OAM, FSB1_OAM));
 
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "creSubstitutionServiceTemplate/WithIndex");
     UnifiedCompositionData unifiedCompositionData =
-        createCompositionData("FSB1_template", portTypeToIdList);
+        createCompositionData(FSB1_template, portTypeToIdList);
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     unifiedCompositionDataList.add(unifiedCompositionData);
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList,
-            context,"org.openecomp.resource.abstract.nodes.FSB1", 2);
+            context,ORG_OPENECOMP_RESOURCE_ABSTRACT_NODES_FSB1, 2);
     assertEquals(true, substitutionServiceTemplate.isPresent());
     substitutionServiceTemplate
         .ifPresent(
@@ -237,33 +248,28 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void createAbstractSubstituteOneComputeMultiplePortsDifferentTypesTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/createAbstractSubstitute/oneComputeMultiplePortsDiffType/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/createAbstractSubstitute/oneComputeMultiplePortsDiffType/out";
+    loadInputAndOutputData(BASE_DIRECTORY + "createAbstractSubstitute/oneComputeMultiplePortsDiffType");
 
-    loadInputAndOutputData();
-
-    UnifiedCompositionData data = createComputeUnifiedCompositionData("FSB1_template");
+    UnifiedCompositionData data = createComputeUnifiedCompositionData(FSB1_template);
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB_OAM", "FSB1_OAM"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_OAM, FSB1_OAM));
     addPortDataToCompositionData(portTypeToIdList, data);
 
     List<UnifiedCompositionData> unifiedCompositionDataList = new LinkedList<>();
     unifiedCompositionDataList.add(data);
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList,
-            context, "org.openecomp.resource.vfc.nodes.heat.FSB", null);
+            context, ORG_OPENECOMP_RESOURCE_VFC_NODES_HEAT_FSB, null);
     assertEquals(true, substitutionServiceTemplate.isPresent());
     if (substitutionServiceTemplate.isPresent()) {
       String substitutionNodeTypeId =
-          unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(mainSTName),
+          unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
               unifiedCompositionDataList.get(0), null, context);
       String nodeTemplateId = unifiedCompositionService.createAbstractSubstituteNodeTemplate(
-          inputServiceTemplates.get(mainSTName), substitutionServiceTemplate.get(),
+          inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), substitutionServiceTemplate.get(),
           unifiedCompositionDataList, substitutionNodeTypeId,
           context, null);
       validateAbstractSubstitute();
@@ -273,33 +279,28 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void createAbstractSubstituteOneComputeMultiplePortsSameTypesTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/createAbstractSubstitute/oneComputeMultiplePortsSameType/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/createAbstractSubstitute/oneComputeMultiplePortsSameType/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "createAbstractSubstitute/oneComputeMultiplePortsSameType");
 
-    UnifiedCompositionData data = createComputeUnifiedCompositionData("FSB1_template");
+    UnifiedCompositionData data = createComputeUnifiedCompositionData(FSB1_template);
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal2"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL2));
     addPortDataToCompositionData(portTypeToIdList, data);
 
     List<UnifiedCompositionData> unifiedCompositionDataList = new LinkedList<>();
     unifiedCompositionDataList.add(data);
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList
-            , context, "org.openecomp.resource.vfc.nodes.heat.FSB", null);
+            , context, ORG_OPENECOMP_RESOURCE_VFC_NODES_HEAT_FSB, null);
 
     assertEquals(true, substitutionServiceTemplate.isPresent());
     if (substitutionServiceTemplate.isPresent()) {
       String substitutionNodeTypeId =
-          unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(mainSTName),
+          unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
               unifiedCompositionDataList.get(0), null, context);
       String nodeTemplateId = unifiedCompositionService.createAbstractSubstituteNodeTemplate(
-          inputServiceTemplates.get(mainSTName), substitutionServiceTemplate.get(),
+          inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), substitutionServiceTemplate.get(),
           unifiedCompositionDataList, substitutionNodeTypeId,
           context, null);
       validateAbstractSubstitute();
@@ -309,25 +310,20 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void createAbstractSubstituteTwoComputesMultiplePorts() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/createAbstractSubstitute/twoComputesMultiplePorts/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/createAbstractSubstitute/twoComputesMultiplePorts/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "createAbstractSubstitute/twoComputesMultiplePorts");
     List<UnifiedCompositionData> unifiedCompositionDataList =
         createAbstractSubstituteCompositionDataComputeAndPort();
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList
-            , context, "org.openecomp.resource.vfc.nodes.heat.FSB", null);
+            , context, ORG_OPENECOMP_RESOURCE_VFC_NODES_HEAT_FSB, null);
     assertEquals(true, substitutionServiceTemplate.isPresent());
     if (substitutionServiceTemplate.isPresent()) {
       String substitutionNodeTypeId =
-          unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(mainSTName),
+          unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
               unifiedCompositionDataList.get(0), null, context);
       String nodeTemplateId = unifiedCompositionService.createAbstractSubstituteNodeTemplate(
-          inputServiceTemplates.get(mainSTName), substitutionServiceTemplate.get(),
+          inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), substitutionServiceTemplate.get(),
           unifiedCompositionDataList, substitutionNodeTypeId,
           context, null);
       validateAbstractSubstitute();
@@ -337,30 +333,25 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void updNodesConnectedOutWithConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesConnectedOut/consolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesConnectedOut/consolidation/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "updNodesConnectedOut/consolidation");
     List<UnifiedCompositionData> unifiedCompositionDataList =
         createAbstractSubstituteCompositionDataComputeAndPort();
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList
-            , context, "org.openecomp.resource.vfc.nodes.heat.FSB", null);
+            , context, ORG_OPENECOMP_RESOURCE_VFC_NODES_HEAT_FSB, null);
     assertEquals(true, substitutionServiceTemplate.isPresent());
     if (substitutionServiceTemplate.isPresent()) {
       String substitutionNodeTypeId =
-          unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(mainSTName),
+          unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
               unifiedCompositionDataList.get(0), null, context);
       String nodeTemplateId = unifiedCompositionService.createAbstractSubstituteNodeTemplate(
-          inputServiceTemplates.get(mainSTName), substitutionServiceTemplate.get(),
+          inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), substitutionServiceTemplate.get(),
           unifiedCompositionDataList, substitutionNodeTypeId,
           context, null);
 
       unifiedCompositionService
-          .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+          .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
               unifiedCompositionDataList, context);
       validateAbstractSubstitute();
     }
@@ -368,46 +359,41 @@ public class UnifiedCompositionServiceTest {
 
   private void validateAbstractSubstitute() {
     YamlUtil yamlUtil = new YamlUtil();
-    assertEquals(yamlUtil.objectToYaml(expectedOutserviceTemplates.get(mainSTName)), yamlUtil
-        .objectToYaml(inputServiceTemplates.get(mainSTName)));
+    assertEquals(yamlUtil.objectToYaml(expectedOutserviceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML)), yamlUtil
+        .objectToYaml(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML)));
   }
 
 
   @Test
   public void updNodesConnectedOutNoConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesConnectedOut/noConsolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesConnectedOut/noConsolidation/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "updNodesConnectedOut/noConsolidation");
 
-    UnifiedCompositionData data = createComputeUnifiedCompositionData("FSB1_template");
+    UnifiedCompositionData data = createComputeUnifiedCompositionData(FSB1_template);
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB_OAM", "FSB1_OAM"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_OAM, FSB1_OAM));
     addPortDataToCompositionData(portTypeToIdList, data);
 
     List<UnifiedCompositionData> unifiedCompositionDataList = new LinkedList<>();
     unifiedCompositionDataList.add(data);
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList
-            , context, "org.openecomp.resource.vfc.nodes.heat.FSB", null);
+            , context, ORG_OPENECOMP_RESOURCE_VFC_NODES_HEAT_FSB, null);
     assertEquals(true, substitutionServiceTemplate.isPresent());
     if (substitutionServiceTemplate.isPresent()) {
       String substitutionNodeTypeId =
-          unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(mainSTName),
+          unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
               unifiedCompositionDataList.get(0), null, context);
       String nodeTemplateId = unifiedCompositionService.createAbstractSubstituteNodeTemplate(
-          inputServiceTemplates.get(mainSTName), substitutionServiceTemplate.get(),
+          inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), substitutionServiceTemplate.get(),
           unifiedCompositionDataList, substitutionNodeTypeId,
           context, null);
 
       unifiedCompositionService
-          .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+          .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
               unifiedCompositionDataList, context);
       validateAbstractSubstitute();
     }
@@ -416,12 +402,7 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void updNodesConnectedInNoConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesConnectedIn/noConsolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesConnectedIn/noConsolidation/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "updNodesConnectedIn/noConsolidation");
 
     UnifiedCompositionData data = createComputeUnifiedCompositionData("QRouter");
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
@@ -434,20 +415,20 @@ public class UnifiedCompositionServiceTest {
     unifiedCompositionDataList.add(data);
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList
             , context, "org.openecomp.resource.abstract.nodes.QRouter", null);
 
     String substitutionNodeTypeId =
-        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(mainSTName),
+        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList.get(0), null, context);
     String nodeTemplateId = unifiedCompositionService.createAbstractSubstituteNodeTemplate(
-        inputServiceTemplates.get(mainSTName), substitutionServiceTemplate.get(),
+        inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), substitutionServiceTemplate.get(),
         unifiedCompositionDataList, substitutionNodeTypeId,
         context, null);
 
     unifiedCompositionService
-        .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+        .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
     validateAbstractSubstitute();
   }
@@ -455,31 +436,26 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void updNodesConnectedInWithConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesConnectedIn/consolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesConnectedIn/consolidation/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "updNodesConnectedIn/consolidation");
 
     List<UnifiedCompositionData> unifiedCompositionDataList =
         createAbstractSubstituteCompositionDataComputeAndPort();
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList
             , context, "org.openecomp.resource.abstract.nodes.FSB", null);
 
     String substitutionNodeTypeId =
-        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(mainSTName),
+        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList.get(0), null, context);
     String nodeTemplateId = unifiedCompositionService.createAbstractSubstituteNodeTemplate(
-        inputServiceTemplates.get(mainSTName), substitutionServiceTemplate.get(),
+        inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), substitutionServiceTemplate.get(),
         unifiedCompositionDataList, substitutionNodeTypeId,
         context, null);
 
     unifiedCompositionService
-        .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+        .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
     validateAbstractSubstitute();
   }
@@ -487,38 +463,33 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void updVolumesNoConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updVolumes/noConsolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updVolumes/noConsolidation/out";
+    loadInputAndOutputData(BASE_DIRECTORY + "updVolumes/noConsolidation");
 
-    loadInputAndOutputData();
-
-    UnifiedCompositionData data = createComputeUnifiedCompositionData("FSB1_template");
+    UnifiedCompositionData data = createComputeUnifiedCompositionData(FSB1_template);
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB_OAM", "FSB1_OAM"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_OAM, FSB1_OAM));
     addPortDataToCompositionData(portTypeToIdList, data);
 
     List<UnifiedCompositionData> unifiedCompositionDataList = new LinkedList<>();
     unifiedCompositionDataList.add(data);
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList
-            , context, "org.openecomp.resource.vfc.nodes.heat.FSB", null);
+            , context, ORG_OPENECOMP_RESOURCE_VFC_NODES_HEAT_FSB, null);
 
     String substitutionNodeTypeId =
-        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(mainSTName),
+        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList.get(0), null, context);
     String nodeTemplateId = unifiedCompositionService.createAbstractSubstituteNodeTemplate(
-        inputServiceTemplates.get(mainSTName), substitutionServiceTemplate.get(),
+        inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), substitutionServiceTemplate.get(),
         unifiedCompositionDataList, substitutionNodeTypeId,
         context, null);
 
     unifiedCompositionService
-        .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+        .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
     validateAbstractSubstitute();
   }
@@ -526,29 +497,24 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void updVolumesWithConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updVolumes/consolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updVolumes/consolidation/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "updVolumes/consolidation");
     List<UnifiedCompositionData> unifiedCompositionDataList =
         createAbstractSubstituteCompositionDataComputeAndPort();
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList
-            , context, "org.openecomp.resource.vfc.nodes.heat.FSB", null);
+            , context, ORG_OPENECOMP_RESOURCE_VFC_NODES_HEAT_FSB, null);
 
     String substitutionNodeTypeId =
-        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(mainSTName),
+        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList.get(0), null, context);
     String nodeTemplateId = unifiedCompositionService.createAbstractSubstituteNodeTemplate(
-        inputServiceTemplates.get(mainSTName), substitutionServiceTemplate.get(),
+        inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), substitutionServiceTemplate.get(),
         unifiedCompositionDataList, substitutionNodeTypeId,
         context, null);
 
     unifiedCompositionService
-        .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+        .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
     validateAbstractSubstitute();
   }
@@ -556,42 +522,36 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void updGroupsNoConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updGroupsConnectivity/noConsolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updGroupsConnectivity/noConsolidation/out";
-
-    loadInputAndOutputData();
-
+    loadInputAndOutputData(BASE_DIRECTORY + "updGroupsConnectivity/noConsolidation");
     UnifiedCompositionData data = createComputeUnifiedCompositionData("server_smp1");
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("port", "port1"));
-    portTypeToIdList.add(new ImmutablePair<>("port", "port2"));
+    portTypeToIdList.add(new ImmutablePair<>(PORT, PORT1));
+    portTypeToIdList.add(new ImmutablePair<>(PORT, PORT2));
     addPortDataToCompositionData(portTypeToIdList, data);
 
     //Add groups
     List<String> computeGroupIdList =
-        TestUtils.getGroupsForNode(inputServiceTemplates.get(mainSTName), "server_smp1");
+        TestUtils.getGroupsForNode(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), "server_smp1");
     data.getComputeTemplateConsolidationData().setGroupIds(computeGroupIdList);
 
     List<UnifiedCompositionData> unifiedCompositionDataList = new LinkedList<>();
     unifiedCompositionDataList.add(data);
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList
             , context, "org.openecomp.resource.abstract.nodes.smp", null);
 
     String substitutionNodeTypeId =
-        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(mainSTName),
+        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList.get(0), null, context);
     String nodeTemplateId = unifiedCompositionService.createAbstractSubstituteNodeTemplate(
-        inputServiceTemplates.get(mainSTName), substitutionServiceTemplate.get(),
+        inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), substitutionServiceTemplate.get(),
         unifiedCompositionDataList, substitutionNodeTypeId,
         context, null);
 
     unifiedCompositionService
-        .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+        .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
     validateAbstractSubstitute();
   }
@@ -599,122 +559,102 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void updGroupsWithConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updGroupsConnectivity/consolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updGroupsConnectivity/consolidation/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "updGroupsConnectivity/consolidation");
 
     List<UnifiedCompositionData> unifiedCompositionDataList =
         createAbstractSubstituteCompositionDataComputeAndPort();
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList
-            , context, "org.openecomp.resource.vfc.nodes.heat.FSB", null);
+            , context, ORG_OPENECOMP_RESOURCE_VFC_NODES_HEAT_FSB, null);
 
     String substitutionNodeTypeId =
-        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(mainSTName),
+        unifiedCompositionService.getSubstitutionNodeTypeId(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList.get(0), null, context);
     String nodeTemplateId = unifiedCompositionService.createAbstractSubstituteNodeTemplate(
-        inputServiceTemplates.get(mainSTName), substitutionServiceTemplate.get(),
+        inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), substitutionServiceTemplate.get(),
         unifiedCompositionDataList, substitutionNodeTypeId,
         context, null);
 
     unifiedCompositionService
-        .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+        .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
     validateAbstractSubstitute();
   }
 
   @Test
   public void updOutParamGetAttrInNoConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updOutputGetAttrIn/noConsolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updOutputGetAttrIn/noConsolidation/out";
-
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB_OAM", "FSB1_OAM"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_OAM, FSB1_OAM));
 
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "updOutputGetAttrIn/noConsolidation");
     UnifiedCompositionData unifiedCompositionData =
-        createCompositionData("FSB1_template", portTypeToIdList);
+        createCompositionData(FSB1_template, portTypeToIdList);
     addOutputGetAttrInForComputeNoConsolidation(unifiedCompositionData);
     addOutputGetAttrInForPortNoConsolidation(unifiedCompositionData);
 
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     unifiedCompositionDataList.add(unifiedCompositionData);
     Mockito.doNothing().when(unifiedCompositionService).updNodesConnectedOutConnectivity
-        (inputServiceTemplates.get(mainSTName), unifiedCompositionDataList, context);
-    Mockito.doReturn("FSB1").when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
+        (inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), unifiedCompositionDataList, context);
+    Mockito.doReturn(FSB1).when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
         anyString());
     unifiedCompositionService
-        .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+        .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
 
-    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(mainSTName));
+    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
   @Test
   public void updOutParamGetAttrInWithConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updOutputGetAttrIn/consolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updOutputGetAttrIn/consolidation/out";
-
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     List<Pair<String, String>> portTypeToIdList1 = new ArrayList<>();
-    portTypeToIdList1.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList1.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
 
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "updOutputGetAttrIn/consolidation");
     UnifiedCompositionData unifiedCompositionData1 =
-        createCompositionData("FSB1_template", portTypeToIdList1);
+        createCompositionData(FSB1_template, portTypeToIdList1);
     addOutputGetAttrInForCompute1WithConsolidation(unifiedCompositionData1);
     addOutputGetAttrInForPortWithConsolidation1(unifiedCompositionData1);
     unifiedCompositionDataList.add(unifiedCompositionData1);
 
     List<Pair<String, String>> portTypeToIdList2 = new ArrayList<>();
-    portTypeToIdList2.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal2"));
-    portTypeToIdList2.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal1"));
+    portTypeToIdList2.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL2));
+    portTypeToIdList2.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL1));
 
     UnifiedCompositionData unifiedCompositionData2 =
-        createCompositionData("FSB2_template", portTypeToIdList2);
+        createCompositionData(FSB2_template, portTypeToIdList2);
     unifiedCompositionDataList.add(unifiedCompositionData2);
     addOutputGetAttrInForCompute2WithConsolidation(unifiedCompositionData2);
     addOutputGetAttrInForPortWithConsolidation2(unifiedCompositionData2);
 
     Mockito.doNothing().when(unifiedCompositionService).updNodesConnectedOutConnectivity
-        (inputServiceTemplates.get(mainSTName), unifiedCompositionDataList, context);
-    Mockito.doReturn("FSB1").when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
+        (inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), unifiedCompositionDataList, context);
+    Mockito.doReturn(FSB1).when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
         anyString());
 
     unifiedCompositionService
-        .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+        .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
 
-    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(mainSTName));
+    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
   @Test
   public void updNodeGetAttrInNoConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesGetAttrIn/noConsolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesGetAttrIn/noConsolidation/out";
-
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB_OAM", "FSB1_OAM"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_OAM, FSB1_OAM));
 
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "updNodesGetAttrIn/noConsolidation");
     UnifiedCompositionData unifiedCompositionData =
-        createCompositionData("FSB1_template", portTypeToIdList);
+        createCompositionData(FSB1_template, portTypeToIdList);
     addGetAttrForCompute(unifiedCompositionData);
     addGetAttrForPort(unifiedCompositionData);
     addGetAttrForPortInnerUC(unifiedCompositionData);
@@ -722,87 +662,78 @@ public class UnifiedCompositionServiceTest {
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     unifiedCompositionDataList.add(unifiedCompositionData);
     Mockito.doNothing().when(unifiedCompositionService).updNodesConnectedOutConnectivity
-        (inputServiceTemplates.get(mainSTName), unifiedCompositionDataList, context);
-    Mockito.doReturn("FSB1").when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
+        (inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), unifiedCompositionDataList, context);
+    Mockito.doReturn(FSB1).when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
         anyString());
     unifiedCompositionService
-        .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+        .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
 
-    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(mainSTName));
+    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
   @Test
   public void updNodeGetAttrInWithConsolidationTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesGetAttrIn/consolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/updNodesGetAttrIn/consolidation/out";
-
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     List<Pair<String, String>> portTypeToIdList1 = new ArrayList<>();
-    portTypeToIdList1.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList1.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
 
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "updNodesGetAttrIn/consolidation");
     UnifiedCompositionData unifiedCompositionData1 =
-        createCompositionData("FSB1_template", portTypeToIdList1);
+        createCompositionData(FSB1_template, portTypeToIdList1);
     addGetAttrForCompute(unifiedCompositionData1);
     addGetAttrForPort(unifiedCompositionData1);
     unifiedCompositionDataList.add(unifiedCompositionData1);
 
     List<Pair<String, String>> portTypeToIdList2 = new ArrayList<>();
-    portTypeToIdList2.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal2"));
-    portTypeToIdList2.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal1"));
+    portTypeToIdList2.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL2));
+    portTypeToIdList2.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL1));
 
     UnifiedCompositionData unifiedCompositionData2 =
-        createCompositionData("FSB2_template", portTypeToIdList2);
+        createCompositionData(FSB2_template, portTypeToIdList2);
     addGetAttrForCompute2(unifiedCompositionData2);
     addGetAttrForPort2(unifiedCompositionData2);
     unifiedCompositionDataList.add(unifiedCompositionData2);
 
 
     Mockito.doNothing().when(unifiedCompositionService).updNodesConnectedOutConnectivity
-        (inputServiceTemplates.get(mainSTName), unifiedCompositionDataList, context);
-    Mockito.doReturn("FSB1").when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
+        (inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), unifiedCompositionDataList, context);
+    Mockito.doReturn(FSB1).when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
         anyString());
 
     unifiedCompositionService
-        .updateCompositionConnectivity(inputServiceTemplates.get(mainSTName),
+        .updateCompositionConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
 
-    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(mainSTName));
+    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
 
   @Test
   public void updNodesGetAttrFromInnerNodesTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/noConsolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/noConsolidation/out";
-
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB_OAM", "FSB1_OAM"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_OAM, FSB1_OAM));
 
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY +
+            "creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/noConsolidation");
     UnifiedCompositionData unifiedCompositionData =
-        createCompositionData("FSB1_template", portTypeToIdList);
+        createCompositionData(FSB1_template, portTypeToIdList);
     addGetAttrForCompute(unifiedCompositionData);
     addGetAttrForPort(unifiedCompositionData);
     addGetAttrForPortInnerUC(unifiedCompositionData);
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     unifiedCompositionDataList.add(unifiedCompositionData);
 
-    Mockito.doReturn("FSB1").when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
+    Mockito.doReturn(FSB1).when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
         anyString());
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList,
-            context, "org.openecomp.resource.abstract.nodes.FSB1", null);
+            context, ORG_OPENECOMP_RESOURCE_ABSTRACT_NODES_FSB1, null);
     assertEquals(true, substitutionServiceTemplate.isPresent());
     substitutionServiceTemplate
         .ifPresent(
@@ -813,37 +744,33 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void updNodesGetAttrFromConsolidationNodesTest() throws Exception {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/consolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/consolidation/out";
-
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     List<Pair<String, String>> portTypeToIdList1 = new ArrayList<>();
-    portTypeToIdList1.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList1.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
 
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY +
+            "creSubstitutionServiceTemplate/updNodesGetAttrInFromInnerNodes/consolidation");
     UnifiedCompositionData unifiedCompositionData1 =
-        createCompositionData("FSB1_template", portTypeToIdList1);
+        createCompositionData(FSB1_template, portTypeToIdList1);
     addGetAttrForCompute(unifiedCompositionData1);
     addGetAttrForPort(unifiedCompositionData1);
     unifiedCompositionDataList.add(unifiedCompositionData1);
 
     List<Pair<String, String>> portTypeToIdList2 = new ArrayList<>();
-    portTypeToIdList2.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal2"));
-    portTypeToIdList2.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal1"));
+    portTypeToIdList2.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL2));
+    portTypeToIdList2.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL1));
 
     UnifiedCompositionData unifiedCompositionData2 =
-        createCompositionData("FSB2_template", portTypeToIdList2);
+        createCompositionData(FSB2_template, portTypeToIdList2);
     addGetAttrForCompute2(unifiedCompositionData2);
     addGetAttrForPort2(unifiedCompositionData2);
     unifiedCompositionDataList.add(unifiedCompositionData2);
 
     Optional<ServiceTemplate> substitutionServiceTemplate = unifiedCompositionService
-        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(mainSTName),
+        .createUnifiedSubstitutionServiceTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList,
-            context, "org.openecomp.resource.abstract.nodes.FSB1", null);
+            context, ORG_OPENECOMP_RESOURCE_ABSTRACT_NODES_FSB1, null);
     assertEquals(true, substitutionServiceTemplate.isPresent());
     substitutionServiceTemplate
         .ifPresent(
@@ -853,19 +780,14 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void cleanMainServiceTemplateTestNoConsolidation() throws IOException {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/cleanMainSt/noConsolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/cleanMainSt/noConsolidation/out";
-
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB_OAM", "FSB1_OAM"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
+    portTypeToIdList.add(new ImmutablePair<>("FSB_OAM", FSB1_OAM));
 
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "cleanMainSt/noConsolidation");
     UnifiedCompositionData unifiedCompositionData =
-        createCompositionData("FSB1_template", portTypeToIdList);
+        createCompositionData(FSB1_template, portTypeToIdList);
     addGetAttrForCompute(unifiedCompositionData);
     addGetAttrForPort(unifiedCompositionData);
 
@@ -873,168 +795,148 @@ public class UnifiedCompositionServiceTest {
     unifiedCompositionDataList.add(unifiedCompositionData);
 
     NodeTemplate abstractNodeTemplate = getMockNode(
-        "/mock/services/heattotosca/unifiedComposition/cleanMainSt/mockAbstractNodeTemplate.yaml");
-    inputServiceTemplates.get(mainSTName).getTopology_template().getNode_templates()
-        .put("FSB1", abstractNodeTemplate);
+            BASE_DIRECTORY + "cleanMainSt/mockAbstractNodeTemplate.yaml");
+    inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML).getTopology_template().getNode_templates()
+        .put(FSB1, abstractNodeTemplate);
 
-    Mockito.doReturn("FSB1").when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
+    Mockito.doReturn(FSB1).when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
         anyString());
 
     unifiedCompositionService.
-        cleanUnifiedCompositionEntities(inputServiceTemplates.get(mainSTName),
+        cleanUnifiedCompositionEntities(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
 
-    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(mainSTName));
+    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
   @Test
   public void cleanMainServiceTemplateTestWithConsolidation() throws IOException {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/cleanMainSt/consolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/cleanMainSt/consolidation/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "cleanMainSt/consolidation");
 
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     List<Pair<String, String>> portTypeToIdList1 = new ArrayList<>();
-    portTypeToIdList1.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList1.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
 
     UnifiedCompositionData unifiedCompositionData1 =
-        createCompositionData("FSB1_template", portTypeToIdList1);
+        createCompositionData(FSB1_template, portTypeToIdList1);
     addOutputGetAttrInForCompute1WithConsolidation(unifiedCompositionData1);
     addOutputGetAttrInForPortWithConsolidation1(unifiedCompositionData1);
     unifiedCompositionDataList.add(unifiedCompositionData1);
 
     List<Pair<String, String>> portTypeToIdList2 = new ArrayList<>();
-    portTypeToIdList2.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal2"));
-    portTypeToIdList2.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal1"));
+    portTypeToIdList2.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL2));
+    portTypeToIdList2.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL1));
 
     UnifiedCompositionData unifiedCompositionData2 =
-        createCompositionData("FSB2_template", portTypeToIdList2);
+        createCompositionData(FSB2_template, portTypeToIdList2);
     addOutputGetAttrInForCompute2WithConsolidation(unifiedCompositionData2);
     addOutputGetAttrInForPortWithConsolidation2(unifiedCompositionData2);
     unifiedCompositionDataList.add(unifiedCompositionData2);
 
     NodeTemplate abstractNodeTemplate = getMockNode(
-        "/mock/services/heattotosca/unifiedComposition/cleanMainSt/mockAbstractNodeTemplate.yaml");
-    inputServiceTemplates.get(mainSTName).getTopology_template().getNode_templates()
-        .put("FSB1", abstractNodeTemplate);
+            BASE_DIRECTORY + "cleanMainSt/mockAbstractNodeTemplate.yaml");
+    inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML).getTopology_template().getNode_templates()
+        .put(FSB1, abstractNodeTemplate);
 
-    Mockito.doReturn("FSB1").when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
+    Mockito.doReturn(FSB1).when(context).getUnifiedAbstractNodeTemplateId(anyObject(),
         anyString());
 
     unifiedCompositionService.
-        cleanUnifiedCompositionEntities(inputServiceTemplates.get(mainSTName),
+        cleanUnifiedCompositionEntities(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             unifiedCompositionDataList, context);
 
-    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(mainSTName));
+    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
   @Test
   public void updateNewAbstractNodeTemplateNoConsolidation() throws IOException {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/fixNewAbstractNodeTemplate/noConsolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/fixNewAbstractNodeTemplate/noConsolidation/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "fixNewAbstractNodeTemplate/noConsolidation");
 
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal2"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL2));
 
     NodeTemplate cleanedComputeNodeTemplate =
         getMockNode(
-            "/mock/services/heattotosca/unifiedComposition/fixNewAbstractNodeTemplate/mockComputeNodeTemplate.yaml");
+                BASE_DIRECTORY + "fixNewAbstractNodeTemplate/mockComputeNodeTemplate.yaml");
 
 
     context.setConsolidationData(
-        createConsolidationData(Arrays.asList("FSB1_template"), portTypeToIdList));
-    context.addCleanedNodeTemplate(mainSTName, "FSB1_template",
+        createConsolidationData(Collections.singletonList(FSB1_template), portTypeToIdList));
+    context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, FSB1_template,
         UnifiedCompositionEntity.Compute, cleanedComputeNodeTemplate);
-    context.addCleanedNodeTemplate(mainSTName, "FSB1_Internal1",
+    context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, FSB1_INTERNAL1,
         UnifiedCompositionEntity.Port, cleanedComputeNodeTemplate);
-    context.addCleanedNodeTemplate(mainSTName, "FSB1_Internal2",
+    context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, FSB1_INTERNAL2,
         UnifiedCompositionEntity.Port, cleanedComputeNodeTemplate);
 
-    setUnifiedCompositionData(Arrays.asList("FSB1_template", "FSB1_Internal1", "FSB1_Internal2"));
+    setUnifiedCompositionData(Arrays.asList(FSB1_template, FSB1_INTERNAL1, FSB1_INTERNAL2));
 
     unifiedCompositionService
-        .updateUnifiedAbstractNodesConnectivity(inputServiceTemplates.get(mainSTName), context);
+        .updateUnifiedAbstractNodesConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), context);
 
-    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(mainSTName));
+    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
   @Test
   public void updateNewAbstractNodeTemplateWithConsolidation() throws IOException {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/fixNewAbstractNodeTemplate/consolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/fixNewAbstractNodeTemplate/consolidation/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "fixNewAbstractNodeTemplate/consolidation");
 
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal1"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL1));
 
     NodeTemplate cleanedComputeNodeTemplate =
         getMockNode(
-            "/mock/services/heattotosca/unifiedComposition/fixNewAbstractNodeTemplate/mockComputeNodeTemplate.yaml");
+                BASE_DIRECTORY + "fixNewAbstractNodeTemplate/mockComputeNodeTemplate.yaml");
 
 
     context.setConsolidationData(
         createConsolidationData(Arrays.asList("FSB1_template_1", "FSB1_template_2"),
             portTypeToIdList));
-    context.addCleanedNodeTemplate(mainSTName, "FSB1_template_1",
+    context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, "FSB1_template_1",
         UnifiedCompositionEntity.Compute, cleanedComputeNodeTemplate);
-    context.addCleanedNodeTemplate(mainSTName, "FSB1_template_2",
+    context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, "FSB1_template_2",
         UnifiedCompositionEntity.Compute, cleanedComputeNodeTemplate);
-    context.addCleanedNodeTemplate(mainSTName, "FSB1_Internal1",
+    context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, FSB1_INTERNAL1,
         UnifiedCompositionEntity.Port, cleanedComputeNodeTemplate);
-    context.addCleanedNodeTemplate(mainSTName, "FSB2_Internal1",
+    context.addCleanedNodeTemplate(MAIN_SERVICE_TEMPLATE_YAML, FSB2_INTERNAL1,
         UnifiedCompositionEntity.Port, cleanedComputeNodeTemplate);
 
     setUnifiedCompositionData(
-        Arrays.asList("FSB1_template_1", "FSB1_template_2", "FSB1_Internal1", "FSB2_Internal1"));
+        Arrays.asList("FSB1_template_1", "FSB1_template_2", FSB1_INTERNAL1, FSB2_INTERNAL1));
 
     unifiedCompositionService
-        .updateUnifiedAbstractNodesConnectivity(inputServiceTemplates.get(mainSTName), context);
+        .updateUnifiedAbstractNodesConnectivity(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), context);
 
-    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(mainSTName));
+    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
   @Ignore
   public void testThreeNovaOfSameTypePreConditionFalse() throws IOException {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern1b/noConsolidation/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern1b/noConsolidation/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "pattern1b/noConsolidation");
 
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
     List<Pair<String, String>> portTypeToIdList1 = new ArrayList<>();
-    portTypeToIdList1.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal1"));
-    portTypeToIdList1.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL1));
+    portTypeToIdList1.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
 
     UnifiedCompositionData unifiedCompositionData1 =
-        createCompositionData("FSB1_template", portTypeToIdList1);
+        createCompositionData(FSB1_template, portTypeToIdList1);
     addOutputGetAttrInForCompute1WithConsolidation(unifiedCompositionData1);
     addOutputGetAttrInForPortWithConsolidation1(unifiedCompositionData1);
     unifiedCompositionDataList.add(unifiedCompositionData1);
 
     UnifiedCompositionData unifiedCompositionData2 =
-        createCompositionData("FSB2_template", portTypeToIdList1);
+        createCompositionData(FSB2_template, portTypeToIdList1);
     addOutputGetAttrInForCompute1WithConsolidation(unifiedCompositionData2);
     addOutputGetAttrInForPortWithConsolidation1(unifiedCompositionData2);
     unifiedCompositionDataList.add(unifiedCompositionData2);
 
     portTypeToIdList1.remove(1);
     UnifiedCompositionData unifiedCompositionData3 =
-        createCompositionData("FSB3_template", portTypeToIdList1);
+        createCompositionData(FSB3_template, portTypeToIdList1);
     addOutputGetAttrInForCompute1WithConsolidation(unifiedCompositionData3);
     addOutputGetAttrInForPortWithConsolidation1(unifiedCompositionData3);
     unifiedCompositionDataList.add(unifiedCompositionData3);
@@ -1042,24 +944,19 @@ public class UnifiedCompositionServiceTest {
     UnifiedCompositionSingleSubstitution unifiedCompositionSingleSubstitution =
         new UnifiedCompositionSingleSubstitution();
     unifiedCompositionSingleSubstitution
-        .createUnifiedComposition(inputServiceTemplates.get(mainSTName), null,
+        .createUnifiedComposition(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), null,
             unifiedCompositionDataList, context);
 
-    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(mainSTName));
+    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
   @Test
   public void testUnifiedNestedCompositionOneComputeInNested() throws IOException {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern4/oneNestedNode/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern4/oneNestedNode/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "pattern4/oneNestedNode");
 
     ConsolidationData consolidationData = new ConsolidationData();
     String nestedFileName = "nested-pcm_v0.1ServiceTemplate.yaml";
-    TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
+    TestUtils.updateNestedConsolidationData(MAIN_SERVICE_TEMPLATE_YAML, Collections.singletonList("server_pcm_001"),
         consolidationData);
 
     TestUtils.initComputeNodeTypeInConsolidationData(nestedFileName,
@@ -1070,14 +967,14 @@ public class UnifiedCompositionServiceTest {
     context.setConsolidationData(consolidationData);
     context.getTranslatedServiceTemplates()
         .put(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME,
-            inputServiceTemplates.get(globalSubstitutionST));
+            inputServiceTemplates.get(GLOBAL_SUBSTITUTION_TYPES_SERVICE_TEMPLATE_YAML));
     context.getTranslatedServiceTemplates()
         .put(nestedFileName, inputServiceTemplates.get(nestedFileName));
     context.getTranslatedServiceTemplates()
-        .put(mainSTName, inputServiceTemplates.get(mainSTName));
+        .put(MAIN_SERVICE_TEMPLATE_YAML, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
 
     UnifiedCompositionData unifiedComposition = createUnifiedCompositionOnlyNested("server_pcm_001");
-    unifiedCompositionService.handleUnifiedNestedDefinition(inputServiceTemplates.get(mainSTName),
+    unifiedCompositionService.handleUnifiedNestedDefinition(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
         inputServiceTemplates.get(nestedFileName), unifiedComposition, context);
 
     checkSTResults(expectedOutserviceTemplates, nestedFileName,
@@ -1088,18 +985,13 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void testTwoNestedWithOneCompute() throws IOException {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern4/twoNestedWithOneCompute/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern4/twoNestedWithOneCompute/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "pattern4/twoNestedWithOneCompute");
 
     ConsolidationData consolidationData = new ConsolidationData();
     String nestedFileName1 = "nested-pcm_v0.1ServiceTemplate.yaml";
     String nestedFileName2 = "nested-oam_v0.1ServiceTemplate.yaml";
 
-    TestUtils.updateNestedConsolidationData(mainSTName,
+    TestUtils.updateNestedConsolidationData(MAIN_SERVICE_TEMPLATE_YAML,
         Arrays.asList("server_pcm_001", "server_oam_001"), consolidationData);
 
     TestUtils.initComputeNodeTypeInConsolidationData(nestedFileName1,
@@ -1114,20 +1006,20 @@ public class UnifiedCompositionServiceTest {
     context.setConsolidationData(consolidationData);
     context.getTranslatedServiceTemplates()
         .put(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME,
-            inputServiceTemplates.get(globalSubstitutionST));
+            inputServiceTemplates.get(GLOBAL_SUBSTITUTION_TYPES_SERVICE_TEMPLATE_YAML));
     context.getTranslatedServiceTemplates()
         .put(nestedFileName1, inputServiceTemplates.get(nestedFileName1));
     context.getTranslatedServiceTemplates()
         .put(nestedFileName2, inputServiceTemplates.get(nestedFileName2));
     context.getTranslatedServiceTemplates()
-        .put(mainSTName, inputServiceTemplates.get(mainSTName));
+        .put(MAIN_SERVICE_TEMPLATE_YAML, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
 
     UnifiedCompositionData unifiedComposition =
         createUnifiedCompositionOnlyNested("server_pcm_001");
-    unifiedCompositionService.handleUnifiedNestedDefinition(inputServiceTemplates.get(mainSTName),
+    unifiedCompositionService.handleUnifiedNestedDefinition(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
         inputServiceTemplates.get(nestedFileName1), unifiedComposition, context);
     unifiedComposition = createUnifiedCompositionOnlyNested("server_oam_001");
-    unifiedCompositionService.handleUnifiedNestedDefinition(inputServiceTemplates.get(mainSTName),
+    unifiedCompositionService.handleUnifiedNestedDefinition(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
         inputServiceTemplates.get(nestedFileName2), unifiedComposition, context);
 
     checkSTResults(expectedOutserviceTemplates, nestedFileName1,
@@ -1141,142 +1033,122 @@ public class UnifiedCompositionServiceTest {
 
   @Test
   public void testNestedCompositionNodesConnectedIn() throws IOException {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern4/nestedNodesConnectedIn/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern4/nestedNodesConnectedIn/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "pattern4/nestedNodesConnectedIn");
     ConsolidationData consolidationData = new ConsolidationData();
     String nestedFileName = "nested-pcm_v0.1ServiceTemplate.yaml";
-    TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
+    TestUtils.updateNestedConsolidationData(MAIN_SERVICE_TEMPLATE_YAML, Collections.singletonList("server_pcm_001"),
         consolidationData);
     context.getTranslatedServiceTemplates()
         .put(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME,
-            inputServiceTemplates.get(globalSubstitutionST));
+            inputServiceTemplates.get(GLOBAL_SUBSTITUTION_TYPES_SERVICE_TEMPLATE_YAML));
     context.getTranslatedServiceTemplates()
         .put(nestedFileName, inputServiceTemplates.get(nestedFileName));
     context.getTranslatedServiceTemplates()
-        .put(mainSTName, inputServiceTemplates.get(mainSTName));
-    context.addUnifiedNestedNodeTemplateId(mainSTName, "server_pcm_001", "abstract_pcm_server_0");
+        .put(MAIN_SERVICE_TEMPLATE_YAML, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
+    context.addUnifiedNestedNodeTemplateId(MAIN_SERVICE_TEMPLATE_YAML, "server_pcm_001", "abstract_pcm_server_0");
 
     Map<String, List<RequirementAssignmentData>> nodeConnectedInList =
-        TestUtils.getNodeConnectedInList("server_pcm_001", inputServiceTemplates.get(mainSTName),
-            "dependency");
+        TestUtils.getNodeConnectedInList("server_pcm_001", inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
+            DEPENDENCY);
     UnifiedCompositionData unifiedComposition =
         createUnifiedCompositionOnlyNested("server_pcm_001");
     unifiedComposition.getNestedTemplateConsolidationData()
         .setNodesConnectedIn(nodeConnectedInList);
 
     unifiedCompositionService.updNestedCompositionNodesConnectedInConnectivity
-        (inputServiceTemplates.get(mainSTName), unifiedComposition, context);
+        (inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), unifiedComposition, context);
     checkSTResults(expectedOutserviceTemplates, nestedFileName,
         context.getTranslatedServiceTemplates().get(nestedFileName),
         context.getTranslatedServiceTemplates()
             .get(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME), context
-            .getTranslatedServiceTemplates().get(mainSTName));
+            .getTranslatedServiceTemplates().get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
 
   @Test
   public void testNestedCompositionNodesGetAttrIn() throws IOException {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern4/nestedNodesGetAttrIn/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern4/nestedNodesGetAttrIn/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "pattern4/nestedNodesGetAttrIn");
     ConsolidationData consolidationData = new ConsolidationData();
     String nestedFileName = "nested-pcm_v0.1ServiceTemplate.yaml";
-    TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
+    TestUtils.updateNestedConsolidationData(MAIN_SERVICE_TEMPLATE_YAML, Collections.singletonList("server_pcm_001"),
         consolidationData);
     context.getTranslatedServiceTemplates()
         .put(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME,
-            inputServiceTemplates.get(globalSubstitutionST));
+            inputServiceTemplates.get(GLOBAL_SUBSTITUTION_TYPES_SERVICE_TEMPLATE_YAML));
     context.getTranslatedServiceTemplates()
         .put(nestedFileName, inputServiceTemplates.get(nestedFileName));
     context.getTranslatedServiceTemplates()
-        .put(mainSTName, inputServiceTemplates.get(mainSTName));
-    context.addUnifiedNestedNodeTemplateId(mainSTName, "server_pcm_001", "abstract_pcm_server_0");
+        .put(MAIN_SERVICE_TEMPLATE_YAML, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
+    context.addUnifiedNestedNodeTemplateId(MAIN_SERVICE_TEMPLATE_YAML, "server_pcm_001", "abstract_pcm_server_0");
 
     Map<String, List<RequirementAssignmentData>> nodeConnectedInList =
-        TestUtils.getNodeConnectedInList("server_pcm_001", inputServiceTemplates.get(mainSTName),
-            "dependency");
+        TestUtils.getNodeConnectedInList("server_pcm_001", inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
+            DEPENDENCY);
     UnifiedCompositionData unifiedComposition =
         createUnifiedCompositionOnlyNested("server_pcm_001");
     addGetAttInUnifiedCompositionData(unifiedComposition
-        .getNestedTemplateConsolidationData(), "tenant_id", "oam_net_gw", "packet_mirror_network");
+        .getNestedTemplateConsolidationData(), TENANT_ID, "oam_net_gw", "packet_mirror_network");
     addGetAttInUnifiedCompositionData(unifiedComposition
-        .getNestedTemplateConsolidationData(), "user_data_format", "oam_net_gw",
+        .getNestedTemplateConsolidationData(), USER_DATA_FORMAT, "oam_net_gw",
         "server_compute_get_attr_test");
     addGetAttInUnifiedCompositionData(unifiedComposition
         .getNestedTemplateConsolidationData(), "metadata", "server_pcm_id",
         "server_compute_get_attr_test");
     unifiedCompositionService.updNestedCompositionNodesGetAttrInConnectivity
-        (inputServiceTemplates.get(mainSTName), unifiedComposition, context);
+        (inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), unifiedComposition, context);
     checkSTResults(expectedOutserviceTemplates, nestedFileName,
         context.getTranslatedServiceTemplates().get(nestedFileName),
         context.getTranslatedServiceTemplates()
             .get(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME), context
-            .getTranslatedServiceTemplates().get(mainSTName));
+            .getTranslatedServiceTemplates().get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
   @Test
   public void testNestedCompositionOutputParamGetAttrIn() throws IOException {
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern4/nestedOutputParamGetAttrIn/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/pattern4/nestedOutputParamGetAttrIn/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "pattern4/nestedOutputParamGetAttrIn");
     ConsolidationData consolidationData = new ConsolidationData();
     String nestedFileName = "nested-pcm_v0.1ServiceTemplate.yaml";
-    TestUtils.updateNestedConsolidationData(mainSTName, Arrays.asList("server_pcm_001"),
+    TestUtils.updateNestedConsolidationData(MAIN_SERVICE_TEMPLATE_YAML, Collections.singletonList("server_pcm_001"),
         consolidationData);
     context.getTranslatedServiceTemplates()
         .put(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME,
-            inputServiceTemplates.get(globalSubstitutionST));
+            inputServiceTemplates.get(GLOBAL_SUBSTITUTION_TYPES_SERVICE_TEMPLATE_YAML));
     context.getTranslatedServiceTemplates()
         .put(nestedFileName, inputServiceTemplates.get(nestedFileName));
     context.getTranslatedServiceTemplates()
-        .put(mainSTName, inputServiceTemplates.get(mainSTName));
-    context.addUnifiedNestedNodeTemplateId(mainSTName, "server_pcm_001", "abstract_pcm_server_0");
+        .put(MAIN_SERVICE_TEMPLATE_YAML, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
+    context.addUnifiedNestedNodeTemplateId(MAIN_SERVICE_TEMPLATE_YAML, "server_pcm_001", "abstract_pcm_server_0");
 
     Map<String, List<RequirementAssignmentData>> nodeConnectedInList =
-        TestUtils.getNodeConnectedInList("server_pcm_001", inputServiceTemplates.get(mainSTName),
-            "dependency");
+        TestUtils.getNodeConnectedInList("server_pcm_001", inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
+            DEPENDENCY);
     UnifiedCompositionData unifiedComposition =
         createUnifiedCompositionOnlyNested("server_pcm_001");
     addOutputGetAttInUnifiedCompositionData(unifiedComposition
-        .getNestedTemplateConsolidationData(), "output_attr_1", "accessIPv4");
+        .getNestedTemplateConsolidationData(), "output_attr_1", ACCESS_IPv4);
     addOutputGetAttInUnifiedCompositionData(unifiedComposition
-            .getNestedTemplateConsolidationData(), "output_attr_2", "accessIPv6");
+            .getNestedTemplateConsolidationData(), "output_attr_2", ACCESS_IPv6);
     unifiedCompositionService.updNestedCompositionOutputParamGetAttrInConnectivity
-        (inputServiceTemplates.get(mainSTName), unifiedComposition, context);
+        (inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), unifiedComposition, context);
     checkSTResults(expectedOutserviceTemplates, nestedFileName,
         context.getTranslatedServiceTemplates().get(nestedFileName),
         context.getTranslatedServiceTemplates()
             .get(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME), context
-            .getTranslatedServiceTemplates().get(mainSTName));
+            .getTranslatedServiceTemplates().get(MAIN_SERVICE_TEMPLATE_YAML));
   }
 
   @Test
   public void testInputOutputParameterType() throws IOException{
-    inputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/inputoutputparamtype/in";
-    outputServiceTemplatesPath =
-        "/mock/services/heattotosca/unifiedComposition/inputoutputparamtype/out";
-
-    loadInputAndOutputData();
+    loadInputAndOutputData(BASE_DIRECTORY + "inputoutputparamtype");
     ConsolidationData consolidationData = new ConsolidationData();
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
     portTypeToIdList.add(new ImmutablePair<>("FSB1_Port", "FSB1_Port1"));
     portTypeToIdList.add(new ImmutablePair<>("VMI", "VMI1"));
 
-    UnifiedCompositionData unifiedCompositionData = createCompositionData("FSB1", portTypeToIdList);
+    UnifiedCompositionData unifiedCompositionData = createCompositionData(FSB1, portTypeToIdList);
 
     Map<String, NodeTemplate> nodeTemplates =
-        inputServiceTemplates.get(mainSTName).getTopology_template().getNode_templates();
+        inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML).getTopology_template().getNode_templates();
     for (Map.Entry<String, NodeTemplate> nodeTemplateEntry : nodeTemplates.entrySet() ) {
       String nodeTemplateId = nodeTemplateEntry.getKey();
       if (nodeTemplateId.equals("cmaui_volume_test_compute_properties")) {
@@ -1307,9 +1179,9 @@ public class UnifiedCompositionServiceTest {
     UnifiedCompositionSingleSubstitution unifiedCompositionSingleSubstitution =
         new UnifiedCompositionSingleSubstitution();
     unifiedCompositionSingleSubstitution
-        .createUnifiedComposition(inputServiceTemplates.get(mainSTName), null,
+        .createUnifiedComposition(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), null,
             unifiedCompositionDataList, context);
-    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(mainSTName));
+    checkSTResults(expectedOutserviceTemplates, null, null, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML));
     System.out.println();
 
   }
@@ -1327,14 +1199,14 @@ public class UnifiedCompositionServiceTest {
 
   private void setUnifiedCompositionData(List<String> nodeTemplateIds) {
     UnifiedSubstitutionData unifiedSubstitutionData =
-        context.getUnifiedSubstitutionData().get(mainSTName) == null ? new UnifiedSubstitutionData()
-            : context.getUnifiedSubstitutionData().get(mainSTName);
+        context.getUnifiedSubstitutionData().get(MAIN_SERVICE_TEMPLATE_YAML) == null ? new UnifiedSubstitutionData()
+            : context.getUnifiedSubstitutionData().get(MAIN_SERVICE_TEMPLATE_YAML);
     Map<String, String> substitutionAbstractNodeIds = new HashMap<>();
     for (String id : nodeTemplateIds) {
       substitutionAbstractNodeIds.put(id, "FSB2");
     }
 
-    substitutionAbstractNodeIds.put("", "FSB1");
+    substitutionAbstractNodeIds.put("", FSB1);
 
     unifiedSubstitutionData.setNodesRelatedAbstractNode(substitutionAbstractNodeIds);
   }
@@ -1345,18 +1217,19 @@ public class UnifiedCompositionServiceTest {
       ServiceTemplate gloablSubstitutionServiceTemplate, ServiceTemplate mainServiceTemplate) {
     YamlUtil yamlUtil = new YamlUtil();
     if (Objects.nonNull(substitutionServiceTemplate)) {
+      String substitutionST = "SubstitutionServiceTemplate.yaml";
       assertEquals("difference substitution service template: ",
           yamlUtil.objectToYaml(expectedOutserviceTemplates.get(substitutionST)),
           yamlUtil.objectToYaml(substitutionServiceTemplate));
     }
     if (Objects.nonNull(gloablSubstitutionServiceTemplate)) {
       assertEquals("difference global substitution service template: ",
-          yamlUtil.objectToYaml(expectedOutserviceTemplates.get(globalSubstitutionST)),
+          yamlUtil.objectToYaml(expectedOutserviceTemplates.get(GLOBAL_SUBSTITUTION_TYPES_SERVICE_TEMPLATE_YAML)),
           yamlUtil.objectToYaml(gloablSubstitutionServiceTemplate));
     }
     if (Objects.nonNull(mainServiceTemplate)) {
       assertEquals("difference main service template: ",
-          yamlUtil.objectToYaml(expectedOutserviceTemplates.get(mainSTName)),
+          yamlUtil.objectToYaml(expectedOutserviceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML)),
           yamlUtil.objectToYaml(mainServiceTemplate));
     }
   }
@@ -1377,12 +1250,12 @@ public class UnifiedCompositionServiceTest {
   }
 
 
-  private void loadInputAndOutputData() throws IOException {
+  private void loadInputAndOutputData(String path) throws IOException {
     inputServiceTemplates = new HashMap<>();
-    TestUtils.loadServiceTemplates(inputServiceTemplatesPath, new ToscaExtensionYamlUtil(),
+    TestUtils.loadServiceTemplates(path + IN_PREFIX, new ToscaExtensionYamlUtil(),
         inputServiceTemplates);
     expectedOutserviceTemplates = new HashMap<>();
-    TestUtils.loadServiceTemplates(outputServiceTemplatesPath, new ToscaExtensionYamlUtil(),
+    TestUtils.loadServiceTemplates(path + OUT_PREFIX, new ToscaExtensionYamlUtil(),
         expectedOutserviceTemplates);
   }
 
@@ -1412,22 +1285,22 @@ public class UnifiedCompositionServiceTest {
     String computeNodeTypeName = "org.openecomp.resource.vfc.nodes.heat.FSB2";
 
     TestUtils
-        .initComputeNodeTypeInConsolidationData(mainSTName, computeNodeTypeName, consolidationData);
-    TestUtils.initPortConsolidationData(mainSTName, consolidationData);
+        .initComputeNodeTypeInConsolidationData(MAIN_SERVICE_TEMPLATE_YAML, computeNodeTypeName, consolidationData);
+    TestUtils.initPortConsolidationData(MAIN_SERVICE_TEMPLATE_YAML, consolidationData);
 
     for (String computeId : computeNodeIds) {
       ComputeTemplateConsolidationData computeTemplateConsolidationData =
           new ComputeTemplateConsolidationData();
       TestUtils.updatePortsInComputeTemplateConsolidationData(portTypeToIdList,
           computeTemplateConsolidationData);
-      consolidationData.getComputeConsolidationData().getFileComputeConsolidationData(mainSTName)
+      consolidationData.getComputeConsolidationData().getFileComputeConsolidationData(MAIN_SERVICE_TEMPLATE_YAML)
           .getTypeComputeConsolidationData(computeNodeTypeName)
           .setComputeTemplateConsolidationData(computeId,
               computeTemplateConsolidationData);
     }
 
     for (Pair<String, String> portTypeToId : portTypeToIdList) {
-      consolidationData.getPortConsolidationData().getFilePortConsolidationData(mainSTName)
+      consolidationData.getPortConsolidationData().getFilePortConsolidationData(MAIN_SERVICE_TEMPLATE_YAML)
           .setPortTemplateConsolidationData(portTypeToId.getRight(),
               new PortTemplateConsolidationData());
     }
@@ -1440,7 +1313,7 @@ public class UnifiedCompositionServiceTest {
 
     UnifiedCompositionData unifiedCompositionData = new UnifiedCompositionData();
     NodeTemplate computeNodeTemplate =
-        DataModelUtil.getNodeTemplate(inputServiceTemplates.get(mainSTName), computeNodeTemplateId);
+        DataModelUtil.getNodeTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), computeNodeTemplateId);
     Optional<List<RequirementAssignmentData>> requirementAssignmentDataList =
         TestUtils.getRequirementAssignmentDataList(computeNodeTemplate, "local_storage");
     List<RequirementAssignmentData> requirementAssignmentList =
@@ -1455,7 +1328,7 @@ public class UnifiedCompositionServiceTest {
     if (portTypeToIdList != null) {
       for (Pair<String, String> port : portTypeToIdList) {
         NodeTemplate portNodeTemplate =
-            DataModelUtil.getNodeTemplate(inputServiceTemplates.get(mainSTName), port.getRight());
+            DataModelUtil.getNodeTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), port.getRight());
 
         Map<String, List<RequirementAssignmentData>> nodeConnectedOut =
             TestUtils.getNodeConnectedOutList(portNodeTemplate, "link");
@@ -1470,21 +1343,21 @@ public class UnifiedCompositionServiceTest {
 
   private List<UnifiedCompositionData> createAbstractSubstituteCompositionDataComputeAndPort() {
     List<UnifiedCompositionData> unifiedCompositionDataList = new ArrayList<>();
-    UnifiedCompositionData data1 = createComputeUnifiedCompositionData("FSB1_template");
-    UnifiedCompositionData data2 = createComputeUnifiedCompositionData("FSB2_template");
+    UnifiedCompositionData data1 = createComputeUnifiedCompositionData(FSB1_template);
+    UnifiedCompositionData data2 = createComputeUnifiedCompositionData(FSB2_template);
 
     List<Pair<String, String>> portTypeToIdList = new ArrayList<>();
-    ImmutablePair<String, String> portTypePair1 = new ImmutablePair<>("FSB1_Internal",
-        "FSB1_Internal1");
-    ImmutablePair<String, String> portTypePair2 = new ImmutablePair<>("FSB2_Internal",
-        "FSB2_Internal1");
+    ImmutablePair<String, String> portTypePair1 = new ImmutablePair<>(FSB1_INTERNAL,
+        FSB1_INTERNAL1);
+    ImmutablePair<String, String> portTypePair2 = new ImmutablePair<>(FSB2_INTERNAL,
+        FSB2_INTERNAL1);
     portTypeToIdList.add(portTypePair1);
     portTypeToIdList.add(portTypePair2);
     addPortDataToCompositionData(portTypeToIdList, data1);
     portTypeToIdList.remove(portTypePair1);
     portTypeToIdList.remove(portTypePair2);
-    portTypeToIdList.add(new ImmutablePair<>("FSB1_Internal", "FSB1_Internal2"));
-    portTypeToIdList.add(new ImmutablePair<>("FSB2_Internal", "FSB2_Internal2"));
+    portTypeToIdList.add(new ImmutablePair<>(FSB1_INTERNAL, FSB1_INTERNAL2));
+    portTypeToIdList.add(new ImmutablePair<>(FSB2_INTERNAL, FSB2_INTERNAL2));
     addPortDataToCompositionData(portTypeToIdList, data2);
 
     unifiedCompositionDataList.add(data1);
@@ -1495,7 +1368,7 @@ public class UnifiedCompositionServiceTest {
 
   private UnifiedCompositionData createComputeUnifiedCompositionData(String computeNodeTemplateId) {
     NodeTemplate computeNodeTemplate =
-        DataModelUtil.getNodeTemplate(inputServiceTemplates.get(mainSTName), computeNodeTemplateId);
+        DataModelUtil.getNodeTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), computeNodeTemplateId);
     Optional<List<RequirementAssignmentData>> requirementAssignmentDataList =
         TestUtils.getRequirementAssignmentDataList(computeNodeTemplate, "local_storage");
     Map<String, List<RequirementAssignmentData>> volume = null;
@@ -1504,15 +1377,15 @@ public class UnifiedCompositionServiceTest {
     }
     UnifiedCompositionData data = new UnifiedCompositionData();
     Map<String, List<RequirementAssignmentData>> computeNodeConnectedOut =
-        TestUtils.getNodeConnectedOutList(computeNodeTemplate, "dependency");
+        TestUtils.getNodeConnectedOutList(computeNodeTemplate, DEPENDENCY);
     Map<String, List<RequirementAssignmentData>> computeNodeConnectedIn =
         TestUtils
-            .getNodeConnectedInList(computeNodeTemplateId, inputServiceTemplates.get(mainSTName),
-                "dependency");
+            .getNodeConnectedInList(computeNodeTemplateId, inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
+                DEPENDENCY);
     ComputeTemplateConsolidationData computeTemplateConsolidationData = TestUtils
         .createComputeTemplateConsolidationData(computeNodeTemplateId, null, volume);
     List<String> computeNodeGroups =
-        TestUtils.getGroupsForNode(inputServiceTemplates.get(mainSTName),
+        TestUtils.getGroupsForNode(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
             computeNodeTemplateId);
     if (!computeNodeGroups.isEmpty()) {
       computeTemplateConsolidationData.setGroupIds(computeNodeGroups);
@@ -1530,7 +1403,7 @@ public class UnifiedCompositionServiceTest {
 
     for (Pair<String, String> port : portTypeToIdList) {
       NodeTemplate portNodeTemplate =
-          DataModelUtil.getNodeTemplate(inputServiceTemplates.get(mainSTName), port.getRight());
+          DataModelUtil.getNodeTemplate(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), port.getRight());
 
       Optional<List<RequirementAssignmentData>> bindingReqList =
           TestUtils.getRequirementAssignmentDataList(portNodeTemplate, "binding");
@@ -1551,13 +1424,13 @@ public class UnifiedCompositionServiceTest {
 
       //Add node connected in info to test data
       Map<String, List<RequirementAssignmentData>> portNodeConnectedIn =
-          TestUtils.getNodeConnectedInList(port.getRight(), inputServiceTemplates.get(mainSTName),
-              "port");
+          TestUtils.getNodeConnectedInList(port.getRight(), inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML),
+              PORT);
       portTemplateConsolidationData.setNodesConnectedIn(portNodeConnectedIn);
 
       //Add group infromation for ports
       List<String> portGroups =
-          TestUtils.getGroupsForNode(inputServiceTemplates.get(mainSTName), port.getRight());
+          TestUtils.getGroupsForNode(inputServiceTemplates.get(MAIN_SERVICE_TEMPLATE_YAML), port.getRight());
       portTemplateConsolidationData.setGroupIds(portGroups);
       data.addPortTemplateConsolidationData(portTemplateConsolidationData);
 
@@ -1580,21 +1453,21 @@ public class UnifiedCompositionServiceTest {
   private void addGetAttrForPort(UnifiedCompositionData unifiedCompositionData) {
     for (PortTemplateConsolidationData portTemplateConsolidationData : unifiedCompositionData
         .getPortTemplateConsolidationDataList()) {
-      if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB1_Internal1")) {
+      if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB1_INTERNAL1)) {
         addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "network_name",
-            "network_id", "jsa_net1");
-        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "size",
-            "device_owner", "cmaui_volume1");
-      } else if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB2_Internal2")) {
-        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "tenant_id",
-            "network_id", "jsa_net1");
+            NETWORK_ID, JSA_NET1);
+        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, SIZE,
+            DEVICE_OWNER, CMAUI_VOLUME1);
+      } else if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB2_INTERNAL2)) {
+        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, TENANT_ID,
+            NETWORK_ID, JSA_NET1);
         addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "qos_policy",
-            "network_id", "jsa_net1");
-        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "volume_type",
-            "tenant_id", "cmaui_volume1");
-      } else if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB1_OAM")) {
-        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "size",
-            "status", "cmaui_volume1");
+            NETWORK_ID, JSA_NET1);
+        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, VOLUME_TYPE,
+            TENANT_ID, CMAUI_VOLUME1);
+      } else if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB1_OAM)) {
+        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, SIZE,
+            STATUS, CMAUI_VOLUME1);
       }
     }
   }
@@ -1602,14 +1475,14 @@ public class UnifiedCompositionServiceTest {
   private void addGetAttrForPort2(UnifiedCompositionData unifiedCompositionData) {
     for (PortTemplateConsolidationData portTemplateConsolidationData : unifiedCompositionData
         .getPortTemplateConsolidationDataList()) {
-      if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB2_Internal1")) {
-        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "volume_type",
-            "tenant_id", "cmaui_volume3");
-      } else if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB1_Internal2")) {
-        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "size",
-            "device_owner", "cmaui_volume3");
-        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "size",
-            "status", "cmaui_volume1");
+      if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB2_INTERNAL1)) {
+        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, VOLUME_TYPE,
+            TENANT_ID, CMAUI_VOLUME3);
+      } else if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB1_INTERNAL2)) {
+        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, SIZE,
+            DEVICE_OWNER, CMAUI_VOLUME3);
+        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, SIZE,
+            STATUS, CMAUI_VOLUME1);
       }
     }
   }
@@ -1617,78 +1490,78 @@ public class UnifiedCompositionServiceTest {
   private void addGetAttrForPortInnerUC(UnifiedCompositionData unifiedCompositionData) {
     for (PortTemplateConsolidationData portTemplateConsolidationData : unifiedCompositionData
         .getPortTemplateConsolidationDataList()) {
-      if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB1_Internal1")) {
-        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "availability_zone",
-            "myAttr", "FSB1_template");
+      if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB1_INTERNAL1)) {
+        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, AVAILABILITY_ZONE,
+            MYATTR, FSB1_template);
         addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "metadata",
-            "myAttr", "FSB1_template");
+            MYATTR, FSB1_template);
         addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "name",
-            "myAttr", "FSB1_template");
-        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, "availability_zone",
-            "tenant_id", "FSB1_template");
+            MYATTR, FSB1_template);
+        addGetAttInUnifiedCompositionData(portTemplateConsolidationData, AVAILABILITY_ZONE,
+            TENANT_ID, FSB1_template);
       }
     }
   }
 
   private void addGetAttrForCompute(UnifiedCompositionData unifiedCompositionData) {
     addGetAttInUnifiedCompositionData(unifiedCompositionData.getComputeTemplateConsolidationData(),
-        "dhcp_agent_ids", "addresses", "jsa_net1");
+        "dhcp_agent_ids", ADDRESSES, JSA_NET1);
     addGetAttInUnifiedCompositionData(unifiedCompositionData.getComputeTemplateConsolidationData(),
-        "volume_type", "addresses", "cmaui_volume1");
+        VOLUME_TYPE, ADDRESSES, CMAUI_VOLUME1);
     addGetAttInUnifiedCompositionData(unifiedCompositionData.getComputeTemplateConsolidationData(),
-        "size", "accessIPv6", "cmaui_volume2");
+        SIZE, ACCESS_IPv6, CMAUI_VOLUME2);
   }
 
   private void addGetAttrForCompute2(UnifiedCompositionData unifiedCompositionData) {
     addGetAttInUnifiedCompositionData(unifiedCompositionData.getComputeTemplateConsolidationData(),
-        "volume_type", "addresses", "cmaui_volume3");
+        VOLUME_TYPE, ADDRESSES, CMAUI_VOLUME3);
     addGetAttInUnifiedCompositionData(unifiedCompositionData.getComputeTemplateConsolidationData(),
-        "size", "user_data_format", "cmaui_volume3");
+        SIZE, USER_DATA_FORMAT, CMAUI_VOLUME3);
   }
 
   private void addOutputGetAttrInForComputeNoConsolidation(
       UnifiedCompositionData unifiedCompositionData) {
     addOutputGetAttInUnifiedCompositionData(unifiedCompositionData
-        .getComputeTemplateConsolidationData(), "simpleOutput1", "accessIPv4");
+        .getComputeTemplateConsolidationData(), SIMPLE_OUTPUT1, ACCESS_IPv4);
     addOutputGetAttInUnifiedCompositionData(unifiedCompositionData
-        .getComputeTemplateConsolidationData(), "simpleOutput2", "addresses");
+        .getComputeTemplateConsolidationData(), SIMPLE_OUTPUT2, ADDRESSES);
     addOutputGetAttInUnifiedCompositionData(unifiedCompositionData
-        .getComputeTemplateConsolidationData(), "complexOutput1", "addresses");
+        .getComputeTemplateConsolidationData(), COMPLEX_OUTPUT1, ADDRESSES);
     addOutputGetAttInUnifiedCompositionData(unifiedCompositionData
-        .getComputeTemplateConsolidationData(), "complexOutput3", "accessIPv6");
+        .getComputeTemplateConsolidationData(), COMPLEX_OUTPUT3, ACCESS_IPv6);
 
   }
 
   private void addOutputGetAttrInForCompute1WithConsolidation(
       UnifiedCompositionData unifiedCompositionData) {
     addOutputGetAttInUnifiedCompositionData(unifiedCompositionData
-        .getComputeTemplateConsolidationData(), "simpleOutput1", "accessIPv4");
+        .getComputeTemplateConsolidationData(), SIMPLE_OUTPUT1, ACCESS_IPv4);
     addOutputGetAttInUnifiedCompositionData(unifiedCompositionData
-        .getComputeTemplateConsolidationData(), "complexOutput1", "addresses");
+        .getComputeTemplateConsolidationData(), COMPLEX_OUTPUT1, ADDRESSES);
 
   }
 
   private void addOutputGetAttrInForCompute2WithConsolidation(
       UnifiedCompositionData unifiedCompositionData) {
     addOutputGetAttInUnifiedCompositionData(unifiedCompositionData
-        .getComputeTemplateConsolidationData(), "simpleOutput2", "addresses");
+        .getComputeTemplateConsolidationData(), SIMPLE_OUTPUT2, ADDRESSES);
   }
 
   private void addOutputGetAttrInForPortNoConsolidation(
       UnifiedCompositionData unifiedCompositionData) {
     for (PortTemplateConsolidationData portTemplateConsolidationData : unifiedCompositionData
         .getPortTemplateConsolidationDataList()) {
-      if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB1_Internal1")) {
-        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, "complexOutput2",
-            "device_owner");
-        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, "complexOutput3",
-            "device_owner");
-      } else if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB2_Internal2")) {
-        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, "complexOutput1",
-            "tenant_id");
-      } else if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB1_OAM")) {
-        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, "complexOutput2",
-            "user_data_format");
+      if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB1_INTERNAL1)) {
+        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, COMPLEX_OUTPUT2,
+            DEVICE_OWNER);
+        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, COMPLEX_OUTPUT3,
+            DEVICE_OWNER);
+      } else if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB2_INTERNAL2)) {
+        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, COMPLEX_OUTPUT1,
+            TENANT_ID);
+      } else if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB1_OAM)) {
+        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, COMPLEX_OUTPUT2,
+            USER_DATA_FORMAT);
       }
     }
   }
@@ -1697,11 +1570,11 @@ public class UnifiedCompositionServiceTest {
       UnifiedCompositionData unifiedCompositionData) {
     for (PortTemplateConsolidationData portTemplateConsolidationData : unifiedCompositionData
         .getPortTemplateConsolidationDataList()) {
-      if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB2_Internal2")) {
-        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, "complexOutput1",
-            "tenant_id");
-      } else if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB1_Internal1")) {
-        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, "complexOutput3",
+      if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB2_INTERNAL2)) {
+        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, COMPLEX_OUTPUT1,
+            TENANT_ID);
+      } else if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB1_INTERNAL1)) {
+        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, COMPLEX_OUTPUT3,
             "admin_state_up");
       }
     }
@@ -1711,12 +1584,12 @@ public class UnifiedCompositionServiceTest {
       UnifiedCompositionData unifiedCompositionData) {
     for (PortTemplateConsolidationData portTemplateConsolidationData : unifiedCompositionData
         .getPortTemplateConsolidationDataList()) {
-      if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB2_Internal1")) {
-        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, "complexOutput2",
-            "user_data_format");
-      } else if (portTemplateConsolidationData.getNodeTemplateId().equals("FSB1_Internal2")) {
-        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, "complexOutput2",
-            "device_owner");
+      if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB2_INTERNAL1)) {
+        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, COMPLEX_OUTPUT2,
+            USER_DATA_FORMAT);
+      } else if (portTemplateConsolidationData.getNodeTemplateId().equals(FSB1_INTERNAL2)) {
+        addOutputGetAttInUnifiedCompositionData(portTemplateConsolidationData, COMPLEX_OUTPUT2,
+            DEVICE_OWNER);
       }
     }
   }
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/UnifedCompositionDynamicPortsTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifedCompositionDynamicPortsTest.java
deleted file mode 100644 (file)
index 58f1749..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest;
-
-import java.io.IOException;
-
-public class UnifedCompositionDynamicPortsTest extends BaseFullTranslationTest {
-  private static final String baseDirectory = "/mock/services/heattotosca/fulltest/dynamicPorts";
-  @Override
-  @Before
-  public void setUp() throws IOException {
-    // do not delete this function. it prevents the superclass setup from running
-  }
-
-  @Test
-  public void testDynamicPortWithDependsOn() throws IOException {
-    testTranslationWithInit(
-        baseDirectory + "/dynamicPortsWithDependsOn/in",
-        baseDirectory + "/dynamicPortsWithDependsOn/out"
-    );
-  }
-
-  @Test
-  public void testDependsOnFromNovaToNestedPort() throws IOException {
-    testTranslationWithInit(
-        baseDirectory + "/dependsOnFromNovaToNestedPort/in",
-        baseDirectory + "/dependsOnFromNovaToNestedPort/out"
-    );
-  }
-
-  @Test
-  public void testDependsOnFromPortToNested() throws IOException {
-    testTranslationWithInit(
-        baseDirectory + "/dependsOnFromPortToNested/in",
-        baseDirectory + "/dependsOnFromPortToNested/out"
-    );
-  }
-
-  @Test
-  public void testDependsOnFromVfcToNested() throws IOException {
-    testTranslationWithInit(
-        baseDirectory + "/dependsOnFromVfcToNested/in",
-        baseDirectory + "/dependsOnFromVfcToNested/out"
-    );
-  }
-
-  @Test
-  public void testDependsOnFromNestedToNested() throws IOException {
-    testTranslationWithInit(
-        baseDirectory + "/dependsOnFromNestedToNested/in",
-        baseDirectory + "/dependsOnFromNestedToNested/out"
-    );
-  }
-}
index 7036e23..9064dc4 100644 (file)
@@ -1,6 +1,5 @@
 package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest;
 
-import org.junit.Before;
 import org.junit.Test;
 import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest;
 
@@ -8,56 +7,30 @@ import java.io.IOException;
 
 public class UnifiedCompositionCatalogInstanceFullTest extends BaseFullTranslationTest {
 
-  @Override
-  @Before
-  public void setUp() throws IOException {
-    // do not delete this function. it prevents the superclass setup from running
-  }
+    private static final String BASE_DIRECTORY = "/mock/services/heattotosca/fulltest/catalogInstances/";
 
-  @Test
+    @Test
   public void testThreeNovaSameTypeDiffGetAttrFromSameEntitiesTypes() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeGetAttrBetweenThem/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeGetAttrBetweenThem/out";
-
-    testTranslationWithUnifiedCondition();
+      testTranslationWithInit(BASE_DIRECTORY + "threeComputesSameTypeGetAttrBetweenThem");
   }
 
   @Test
   public void testThreeNovaSameTypePortsConnectedToDiffNetworks() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypePortsConnectedToDiffNetworks/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypePortsConnectedToDiffNetworks/out";
+      testTranslationWithInit(BASE_DIRECTORY + "threeComputesSameTypePortsConnectedToDiffNetworks");
+  }
 
-    testTranslationWithUnifiedCondition();
+  @Test
+  public void testComputeWithTwoSamePortTypesWithDiffPropVal() throws IOException {
+      testTranslationWithInit(BASE_DIRECTORY + "computewithtwosameporttypes");
   }
 
   @Test
   public void testThreeNovaSameTypeDiffImageName() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeDiffImageName/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/catalogInstances/threeComputesSameTypeDiffImageName/out";
-
-    testTranslationWithUnifiedCondition();
+      testTranslationWithInit(BASE_DIRECTORY + "threeComputesSameTypeDiffImageName");
   }
 
   @Test
   public void testTwoNovaWithDiffProperties() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/catalogInstances/twoNovaWithDiffProperties/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/catalogInstances/twoNovaWithDiffProperties/out";
-
-    testTranslationWithUnifiedCondition();
-  }
-
-
-
-  private void testTranslationWithUnifiedCondition() throws IOException {
-      initTranslatorAndTranslate();
-      testTranslation();
+      testTranslationWithInit(BASE_DIRECTORY + "twoNovaWithDiffProperties");
   }
 }
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/UnifiedCompositionDynamicPortsTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionDynamicPortsTest.java
new file mode 100644 (file)
index 0000000..d908a3d
--- /dev/null
@@ -0,0 +1,36 @@
+package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest;
+
+import org.junit.Test;
+import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest;
+
+import java.io.IOException;
+
+public class UnifiedCompositionDynamicPortsTest extends BaseFullTranslationTest {
+
+  private static final String BASE_DIRECTORY = "/mock/services/heattotosca/fulltest/dynamicPorts/";
+
+  @Test
+  public void testDynamicPortWithDependsOn() throws IOException {
+    testTranslationWithInit(BASE_DIRECTORY + "dynamicPortsWithDependsOn");
+  }
+
+  @Test
+  public void testDependsOnFromNovaToNestedPort() throws IOException {
+    testTranslationWithInit(BASE_DIRECTORY + "dependsOnFromNovaToNestedPort");
+  }
+
+  @Test
+  public void testDependsOnFromPortToNested() throws IOException {
+    testTranslationWithInit(BASE_DIRECTORY + "dependsOnFromPortToNested");
+  }
+
+  @Test
+  public void testDependsOnFromVfcToNested() throws IOException {
+    testTranslationWithInit(BASE_DIRECTORY + "dependsOnFromVfcToNested");
+  }
+
+  @Test
+  public void testDependsOnFromNestedToNested() throws IOException {
+    testTranslationWithInit(BASE_DIRECTORY + "dependsOnFromNestedToNested");
+  }
+}
index 9399b91..d256753 100644 (file)
@@ -1,59 +1,34 @@
 package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest;
 
-import org.junit.Assert;
-import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 import org.openecomp.sdc.common.errors.CoreException;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
 import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest;
 
 import java.io.IOException;
 
 public class UnifiedCompositionMixPatternFullTest extends BaseFullTranslationTest {
 
-  private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName());
-
-  @Override
-  @Before
-  public void setUp() throws IOException {
-    // do not delete this function. it prevents the superclass setup from running
-  }
+  private static final String BASE_DIRECTORY = "/mock/services/heattotosca/fulltest/mixPatterns/";
 
   @Rule
   public ExpectedException exception = ExpectedException.none();
 
   @Test
   public void testMixPatterns() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/mixPatterns/oneAppearancePerPattern/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/mixPatterns/oneAppearancePerPattern/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneAppearancePerPattern");
   }
 
   @Test
   public void testMixPatternsWithConnectivityBetweenPatterns() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/mixPatterns/connectivityBetweenPatterns/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/mixPatterns/connectivityBetweenPatterns/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "connectivityBetweenPatterns");
   }
 
   @Test
   public void testMixPatternsWithConnectivityAndMoreThanOneOccurenceForEachPattern()
       throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/mixPatterns/twoAppearancePerPatternWithConnectivities/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/mixPatterns/twoAppearancePerPatternWithConnectivities/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "twoAppearancePerPatternWithConnectivities");
   }
 
   @Test
@@ -62,19 +37,12 @@ public class UnifiedCompositionMixPatternFullTest extends BaseFullTranslationTes
     exception.expectMessage("Resource with id lb_0_int_oam_int_0_port occurs more " +
         "than once in different addOn files");
 
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/mixPatterns/duplicateResourceIdsInDiffAddOnFiles/in";
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "duplicateResourceIdsInDiffAddOnFiles");
   }
 
   @Test
   public void testMixPatternsWithDependencyConnectivity() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "dependencyConnectivity");
   }
 
 }
index c9ef843..eeaf758 100644 (file)
@@ -1,6 +1,5 @@
 package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest;
 
-import org.junit.Before;
 import org.junit.Test;
 import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest;
 
@@ -8,84 +7,45 @@ import java.io.IOException;
 
 public class UnifiedCompositionNestedPatternsFullTest extends BaseFullTranslationTest {
 
-    @Override
-    @Before
-    public void setUp() throws IOException {
-        // do not delete this function. it prevents the superclass setup from running
-    }
+    private static final String BASE_DIRECTORY = "/mock/services/heattotosca/fulltest/nestedOtherScenarios/";
 
     @Test
     public void testNestedWithOneLevelMultipleComputesSingleSubstitution() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedSingleSubstitution1B/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedSingleSubstitution1B/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "oneLevel/nestedSingleSubstitution1B");
     }
 
     @Test
     public void testNestedWithOneLevelMultipleComputesScalingInstance() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedScalingInstance/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedScalingInstance/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "oneLevel/nestedScalingInstance");
     }
 
     @Test
     public void testNestedWithOneLevelMultipleComputesCatalogInstance() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedCatalogInstance/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedCatalogInstance/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "oneLevel/nestedCatalogInstance");
     }
 
     @Test
     public void testNestedWithOneLevelAllNonNestedPatterns() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllNonNestedPatterns/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllNonNestedPatterns/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "oneLevel/nestedAllNonNestedPatterns");
     }
 
     @Test
     public void testNestedWithOneLevelNoCompute() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedNoCompute/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedNoCompute/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "oneLevel/nestedNoCompute");
     }
 
     @Test
     public void testNestedWithOneLevelOtherPatternsNoComputeWithConnectivity() throws IOException {
         //One nested resource with no Compute, one nested resource having all non nested patterns
         // with connectivity between themo
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "oneLevel/nestedAllPatternsConnectivity");
     }
 
     @Test
     public void testNestedWithOneLevelTwoSameFileOneOtherAllPattern1B() throws IOException {
         // Heat file with 3 nested resources, while 2 point to the same nested heat file, and all
         // nested heat file including pattern 1B.
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameFileOneDiff/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameFileOneDiff/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "oneLevel/nestedTwoSameFileOneDiff");
     }
 
     @Test
@@ -93,12 +53,7 @@ public class UnifiedCompositionNestedPatternsFullTest extends BaseFullTranslatio
         IOException {
         // Heat file with 3 nested resources, while 2 point to the same nested heat file, and all
         // nested heat file including pattern 1B. +  conectivity between all nested resources
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameOneDiffWithConnectivity/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedTwoSameOneDiffWithConnectivity/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "oneLevel/nestedTwoSameOneDiffWithConnectivity");
     }
 
     //**************** NESTED MULTI-LEVEL TESTS ******************************
@@ -110,12 +65,7 @@ public class UnifiedCompositionNestedPatternsFullTest extends BaseFullTranslatio
         // nested levels, network which will be connected from port in ALL nested level.
         //nested heat level 1 - 1 nested resource  + pattern 1B
         //nested heat level 2 - 1 nested resource  + pattern 1B
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/portSecurityGroupNetPattern1B/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "multiLevel/portSecurityGroupNetPattern1B");
     }
 
     @Test
@@ -133,42 +83,22 @@ public class UnifiedCompositionNestedPatternsFullTest extends BaseFullTranslatio
         connectivity between them all
         */
 
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "multiLevel/allPatternsDependsOnConnectivity");
     }
 
     @Test
     public void testThreeNestedLevelsDiffVmTypePattern1B() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsDiffVmTypePattern1B/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsDiffVmTypePattern1B/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "multiLevel/threeNestedLevelsDiffVmTypePattern1B");
     }
 
     @Test
     public void testThreeNestedLevelsSameVmTypePattern1B() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsSameVmTypePattern1B/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/threeNestedLevelsSameVmTypePattern1B/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "multiLevel/threeNestedLevelsSameVmTypePattern1B");
     }
 
     @Test
     public void testTwoNestedLevelsWithAllPatternsAndConnectionsBetweenThem() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities");
     }
 
 }
index a0ef039..e270765 100644 (file)
@@ -1,6 +1,5 @@
 package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest;
 
-import org.junit.Before;
 import org.junit.Test;
 import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest;
 
@@ -8,72 +7,38 @@ import java.io.IOException;
 
 public class UnifiedCompositionNestedSingleComputeFullTest extends BaseFullTranslationTest {
 
-    @Override
-    @Before
-    public void setUp() throws IOException {
-        // do not delete this function. it prevents the superclass setup from running
-    }
+    private static final String BASE_DIRECTORY = "/mock/services/heattotosca/fulltest/nestedSingleCompute/";
 
     @Test
     public void testNestedWithOneCompute() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneCompute/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "nestedWithOneCompute");
     }
 
     @Test
     public void testNestedWithOneComputeSamePortType() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneComputeDiffPortType/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithOneComputeDiffPortType/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "nestedWithOneComputeDiffPortType");
     }
 
     @Test
     public void testOneNestedWithTwoComputesOfSameType() throws IOException {
         //Not pattern 4 (Complex VFC)
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoComputesOfSameType/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "nestedWithTwoComputesOfSameType");
     }
 
     @Test
     public void testOneNestedWithTwoDiffComputeTypes() throws IOException {
         //Not pattern 4 (Complex VFC)
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoDiffComputeTypes/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedWithTwoDiffComputeTypes/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "nestedWithTwoDiffComputeTypes");
     }
 
     @Test
     public void testTwoNestedNodeTemplatesOfSameType() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/twoNestedNodeTemplatesWithSameComputeType/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/twoNestedNodeTemplatesWithSameComputeType/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "twoNestedNodeTemplatesWithSameComputeType");
     }
 
     @Test
     public void testTwoDiffNestedFilesWithSameComputeType() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/diffNestedFilesWithSameComputeType/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/diffNestedFilesWithSameComputeType/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "diffNestedFilesWithSameComputeType");
     }
 
     @Test
@@ -88,12 +53,7 @@ public class UnifiedCompositionNestedSingleComputeFullTest extends BaseFullTrans
          f. Security Rule to Port nested connection
          g. Security Rule to Port nested shared connection
          */
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesConnectedIn/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesConnectedIn/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "nestedNodesConnectedIn");
     }
 
     @Test
@@ -108,12 +68,7 @@ public class UnifiedCompositionNestedSingleComputeFullTest extends BaseFullTrans
           f. Get attribute in a non-consolidation entity resource from a nested compute resource
           g. Get attribute in a non-consolidation entity resource from a non-nested compute resource
          */
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesGetAttrIn/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedNodesGetAttrIn/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "nestedNodesGetAttrIn");
     }
 
     @Test
@@ -126,62 +81,32 @@ public class UnifiedCompositionNestedSingleComputeFullTest extends BaseFullTrans
           d. From a non-nested consolidation entity resource
           e. From a regular non-consolidation entity resource
          */
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedOutputParamGetAttrIn/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "nestedOutputParamGetAttrIn");
     }
 
     @Test
     public void testMultiLevelNestedComposition() throws IOException {
         //Not pattern 4 (Multi level Complex VFC)
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/nestedMultiLevels/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "nestedMultiLevels");
     }
 
     @Test
     public void testThreeNestedSameTypeTwoPointingToSameNestedFile() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedSameTypeTwoPointingOnSameNestedFile/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "threeNestedSameTypeTwoPointingOnSameNestedFile");
     }
 
     @Test
     public void testThreeNestedSameTypePointingToDiffFiles() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/threeNestedPointingToThreeDiffNestedFilesSameComputeType/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "threeNestedPointingToThreeDiffNestedFilesSameComputeType");
     }
 
     @Test
     public void testMultipleReferencesToSameNestedFilesWithSameComputeType() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "multipleReferencesToSameNestedFilesWithSameComputeType");
     }
 
     @Test
     public void testDuplicateReq() throws IOException {
-        inputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/in";
-        outputFilesPath =
-            "/mock/services/heattotosca/fulltest/nestedSingleCompute/duplicateReqs/out";
-
-        testTranslationWithInit();
+        testTranslationWithInit(BASE_DIRECTORY + "duplicateReqs");
     }
 }
index ddff4ee..74eacd9 100644 (file)
@@ -1,90 +1,50 @@
 package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest;
 
-import org.junit.Before;
 import org.junit.Test;
 import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest;
 
-
 import java.io.IOException;
 
 public class UnifiedCompositionScalingInstancesFullTest extends BaseFullTranslationTest {
 
-  @Override
-  @Before
-  public void setUp() throws IOException {
-    // do not delete this function. it prevents the superclass setup from running
-  }
+  private static final String BASE_DIRECTORY = "/mock/services/heattotosca/fulltest/scalingInstances/";
 
   @Test
   public void testComputesSameTypeWithOnePortEach() throws IOException {
     //1. Scenario #1 - Compute type 1 – 2 nova, each one with 1 port
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances/oneComputeTypeOnePort/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances/oneComputeTypeOnePort/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeTypeOnePort");
   }
 
   @Test
   public void testComputesTypesTwoComputesEachWithOnePort() throws IOException {
     //2. Scenario #2 - 2 compute types, each type has 2 computes with one port per compute
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances/twoComputeTypesOnePort/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances/twoComputeTypesOnePort/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "twoComputeTypesOnePort");
   }
 
   @Test
   public void testComputesTypesTwoComputesEachWithOnePortWithGetAttr() throws IOException {
     //3.       Scenario #2 + between the 2 nova which has diff types there is getAttr
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances/twoComputeTypesOnePortWithGetAttr/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances/twoComputeTypesOnePortWithGetAttr/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "twoComputeTypesOnePortWithGetAttr");
   }
 
   @Test
   public void testComputesSameTypeWithOnePortOneGroupEach() throws IOException {
     //4.       Scenario #1 + group – NovaServerGroup, connected to both nova
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances/oneComputeTypeOnePortOneGroup/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances/oneComputeTypeOnePortOneGroup/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeTypeOnePortOneGroup");
   }
 
   @Test
   public void testComputesSameTypeWithOnePortEachAndNodesConnectedIn() throws IOException {
     //5.       Scenario #1 + node connected In – security Rule point to both port + “resource” with
     // dependency (depends_on) to both computes
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortNodeConnectedIn/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortNodeConnectedIn/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeTypeOnePortNodeConnectedIn");
   }
 
   @Test
   public void testComputesSameTypeWithOnePortEachAndNodesConnectedOut() throws IOException {
     //6.       Scenario#1  + node connected Out – both port connected to same network + each compute
     // connected to same volume
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortNodeConnectedOut/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortNodeConnectedOut/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeTypeOnePortNodeConnectedOut");
   }
 
   @Test
@@ -95,15 +55,7 @@ public class UnifiedCompositionScalingInstancesFullTest extends BaseFullTranslat
         b.     Property with getAttr from Compute2
         c.     Property with getAttr from port
     */
-
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortGetAttrIn/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortGetAttrIn/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeTypeOnePortGetAttrIn");
   }
 
   @Test
@@ -114,15 +66,7 @@ public class UnifiedCompositionScalingInstancesFullTest extends BaseFullTranslat
         b.     Compute2 with property2, that include getAttr from network
         c.     Port with property, that include getAttr from network
     */
-
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortGetAttrOut/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortGetAttrOut/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeTypeOnePortGetAttrOut");
   }
 
 
@@ -134,15 +78,7 @@ public class UnifiedCompositionScalingInstancesFullTest extends BaseFullTranslat
         b.     Output param with getAttr from Compute2
         c.     Output param with getAttr from Port
     */
-
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortOutputParamGetAttrIn/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortOutputParamGetAttrIn/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeTypeOnePortOutputParamGetAttrIn");
   }
 
   @Test
@@ -155,15 +91,7 @@ public class UnifiedCompositionScalingInstancesFullTest extends BaseFullTranslat
         c.     Port1 with property, that include getAttr from compute1
         d.     Port2 with property, that include getAttr from compute2
     */
-
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortGetAttrOutComputePort/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/scalingInstances" +
-            "/oneComputeTypeOnePortGetAttrOutComputePort/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeTypeOnePortGetAttrOutComputePort");
   }
 
 }
index 1332814..4319990 100644 (file)
@@ -1,6 +1,5 @@
 package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest;
 
-import org.junit.Before;
 import org.junit.Test;
 import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest;
 
@@ -8,110 +7,71 @@ import java.io.IOException;
 
 public class UnifiedCompositionSingleSubstitutionFullTest extends BaseFullTranslationTest {
 
-  @Override
-  @Before
-  public void setUp() throws IOException {
-    // do not delete this function. it prevents the superclass setup from running
-  }
+  private static final String BASE_DIRECTORY = "/mock/services/heattotosca/fulltest/singleSubstitution/";
 
   @Test
   public void testComputeWithTwoDifferentPortTypes() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortType/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortType/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "computeWithDiffPortType");
   }
 
   @Test
   public void testComputeWithTwoSamePortTypes() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes/out";
+    testTranslationWithInit(BASE_DIRECTORY + "computewithtwosameporttypes");
+  }
 
-    testTranslationWithInit();
+  @Test
+  public void testComputeWithTwoSamePortTypes2() throws IOException {
+    testTranslationWithInit(BASE_DIRECTORY + "computewithtwosameporttypes2");
   }
 
   @Test
-  public void testComputeWithTwoDifferentPortTypesAndNested() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwodiffporttypesandnested/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwodiffporttypesandnested/out";
+  public void testComputeWithTwoSamePortTypes3() throws IOException {
+    testTranslationWithInit(BASE_DIRECTORY + "computewithtwosameporttypes3");
+  }
 
-    testTranslationWithInit();
+  @Test
+  public void testComputeWithTwoSamePortTypes4() throws IOException {
+    testTranslationWithInit(BASE_DIRECTORY + "computewithtwosameporttypes4");
   }
 
   @Test
-  public void testComputeWithTwoDifferentPortAndServerGroup() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeAndServerGroup/out";
+  public void testComputeWithTwoDifferentPortTypesAndNested() throws IOException {
+    testTranslationWithInit(BASE_DIRECTORY + "computewithtwodiffporttypesandnested");
+  }
 
-    testTranslationWithInit();
+  @Test
+  public void testComputeWithTwoDifferentPortAndServerGroup() throws IOException {
+    testTranslationWithInit(BASE_DIRECTORY + "computeWithDiffPortTypeAndServerGroup");
   }
 
   @Test
   public void testComputeWithTwoPortsDiffTypeAndNodeConnectedIn() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeNodeConnectedIn/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeNodeConnectedIn/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "computeWithDiffPortTypeNodeConnectedIn");
   }
 
   @Test
   public void testComputeWithTwoPortsSameTypeAndNodeConnectedIn() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithSamePortTypeNodeConnectedIn/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithSamePortTypeNodeConnectedIn/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "computeWithSamePortTypeNodeConnectedIn");
   }
 
   @Test
   public void testComputeWithTwoPortsDiffTypeAndNodeConnectedOut() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeNodeConnectedOut/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithDiffPortTypeNodeConnectedOut/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "computeWithDiffPortTypeNodeConnectedOut");
   }
 
   @Test
   public void testComputeWithTwoPortsSameTypeAndNodeConnectedOut() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithSamePortTypeNodeConnectedOut/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/computeWithSamePortTypeNodeConnectedOut/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "computeWithSamePortTypeNodeConnectedOut");
   }
 
   @Test
   public void testComputeWithTwoDifferentPortTypesAndOutParamGetAttIn() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/diffPortTypeAndOutParamGetAttrIn/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/diffPortTypeAndOutParamGetAttrIn/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "diffPortTypeAndOutParamGetAttrIn");
   }
 
   @Test
   public void testComputeWithTwoSamePortTypesAndOutParamGetAttIn() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/samePortTypeAndOutParamGetAttrIn/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/samePortTypeAndOutParamGetAttrIn/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "samePortTypeAndOutParamGetAttrIn");
   }
 
 //  @Test
@@ -126,112 +86,56 @@ public class UnifiedCompositionSingleSubstitutionFullTest extends BaseFullTransl
 
   @Test
   public void testTwoSetsOfSingle() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/twoSetsOfSingle/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/twoSetsOfSingle/out";
-
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "twoSetsOfSingle");
   }
 
   @Test
   public void testTwoSetsOfSingleWithGetAttrBetweenThem() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/twoComputesWithGetAttrBetweenThem/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/twoComputesWithGetAttrBetweenThem/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "twoComputesWithGetAttrBetweenThem");
   }
 
   @Test
   public void testOneComputeTwoDiffPortsAndGetAttrIn() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/oneComputeDiffPortTypesAndGetAttIn/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/oneComputeDiffPortTypesAndGetAttIn/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeDiffPortTypesAndGetAttIn");
   }
 
   @Test
   public void testOneComputeTwoSimilarPortsAndGetAttrIn() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/oneComputeSamePortsAndGetAttrIn/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/oneComputeSamePortsAndGetAttrIn/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeSamePortsAndGetAttrIn");
   }
 
   @Test
   public void testOneComputeTwoDiffPortsAndGetAttrOut() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/oneComputeDiffPortTypesAndGetAttOut/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/oneComputeDiffPortTypesAndGetAttOut/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeDiffPortTypesAndGetAttOut");
   }
 
   @Test
   public void testOneComputeTwoSimilarPortsAndGetAttrOut() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/oneComputeSamePortTypesAndGetAttOut/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/oneComputeSamePortTypesAndGetAttOut/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "oneComputeSamePortTypesAndGetAttOut");
   }
 
   @Test
   public void testThreeNovaSameTypeNoConsolidation() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/threeSameComputesNoConsolidation/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/threeSameComputesNoConsolidation/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "threeSameComputesNoConsolidation");
   }
 
   @Test
   public void testThreeNovaDiffTypeWithPorts() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/threeDiffComputesWithPorts/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/threeDiffComputesWithPorts/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "threeDiffComputesWithPorts");
   }
 
   @Test
   public void testThreeNovaDiffTypeWithAllConnectivities() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/threeDiffComputesWithAllConnectivities/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/threeDiffComputesWithAllConnectivities/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "threeDiffComputesWithAllConnectivities");
   }
 
   @Test
   public void testThreeNovaSameTypeWithGetAttrOutFromPort() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/threeNovaSameTypeWithGetAttrFromPort/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/threeNovaSameTypeWithGetAttrFromPort/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "threeNovaSameTypeWithGetAttrFromPort");
   }
 
   @Test
   public void testInputOutputParameterTypes() throws IOException {
-    inputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/inputOutputParamType/in";
-    outputFilesPath =
-        "/mock/services/heattotosca/fulltest/singleSubstitution/inputOutputParamType/out";
-
-    testTranslationWithInit();
+    testTranslationWithInit(BASE_DIRECTORY + "inputOutputParamType");
   }
 }
index d35b7dc..59dea8a 100644 (file)
 
 package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation;
 
-import static org.junit.Assert.assertEquals;
-
 import org.apache.commons.collections4.MapUtils;
 import org.junit.Assert;
-import org.junit.Before;
 import org.openecomp.core.translator.api.HeatToToscaTranslator;
 import org.openecomp.core.translator.datatypes.TranslatorOutput;
 import org.openecomp.core.translator.factory.HeatToToscaTranslatorFactory;
@@ -42,7 +39,6 @@ import org.openecomp.sdc.logging.types.LoggerTragetServiceName;
 import org.openecomp.sdc.tosca.services.ToscaFileOutputService;
 import org.openecomp.sdc.tosca.services.impl.ToscaFileOutputServiceCsarImpl;
 import org.openecomp.sdc.translator.TestUtils;
-import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
 
 import java.io.BufferedInputStream;
 import java.io.File;
@@ -58,47 +54,29 @@ import java.util.Set;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipInputStream;
 
+import static org.junit.Assert.assertEquals;
 
-public class BaseFullTranslationTest {
-
-  protected String inputFilesPath;
-  protected String outputFilesPath;
-  protected TranslationContext translationContext;
-
-  private String zipFilename = "VSP.zip";
-  private HeatToToscaTranslator heatToToscaTranslator;
-  private File translatedZipFile;
-
-  private Map<String, byte[]> expectedResultMap = new HashMap<>();
-  private Set<String> expectedResultFileNameSet = new HashSet<>();
-
-  @Before
-  public void setUp() throws IOException {
-    initTranslatorAndTranslate();
-  }
 
-  protected void testTranslationWithInit (String inputFilesPath,
-                                          String outputFilesPath) throws IOException {
-    this.inputFilesPath = inputFilesPath;
-    this.outputFilesPath = outputFilesPath;
+public class BaseFullTranslationTest {
 
-    testTranslationWithInit();
-  }
+  public static final String IN_POSTFIX = "/in";
+  public static final String OUT_POSTFIX = "/out";
 
-  protected void testTranslationWithInit() throws IOException {
-      initTranslatorAndTranslate();
-      testTranslation();
+  protected void testTranslationWithInit(String path) throws IOException {
+    File translatedZipFile = initTranslatorAndTranslate(path);
+    testTranslation(path, translatedZipFile);
   }
 
-  protected void initTranslatorAndTranslate() throws IOException {
-    heatToToscaTranslator = HeatToToscaTranslatorFactory.getInstance().createInterface();
-    translatedZipFile = translateZipFile();
+  protected File initTranslatorAndTranslate(String path) throws IOException {
+    HeatToToscaTranslator heatToToscaTranslator = HeatToToscaTranslatorFactory.getInstance().createInterface();
+    return translateZipFile(path, heatToToscaTranslator);
   }
 
-  protected void testTranslation() throws IOException {
+  protected void testTranslation(String basePath, File translatedZipFile) throws IOException {
 
-    URL url = BaseFullTranslationTest.class.getResource(outputFilesPath);
-    expectedResultFileNameSet = new HashSet<>();
+    URL url = BaseFullTranslationTest.class.getResource(basePath + OUT_POSTFIX);
+    Set<String> expectedResultFileNameSet = new HashSet<>();
+    Map<String, byte[]> expectedResultMap = new HashMap<>();
 
     String path = url.getPath();
     File pathFile = new File(path);
@@ -137,8 +115,8 @@ public class BaseFullTranslationTest {
     assertEquals(0, expectedResultFileNameSet.size());
   }
 
-  private File translateZipFile() throws IOException {
-    URL inputFilesUrl = this.getClass().getResource(inputFilesPath);
+  private File translateZipFile(String basePath, HeatToToscaTranslator heatToToscaTranslator) throws IOException {
+    URL inputFilesUrl = this.getClass().getResource(basePath + IN_POSTFIX);
     String path = inputFilesUrl.getPath();
     TestUtils.addFilesToTranslator(heatToToscaTranslator, path);
     TranslatorOutput translatorOutput = heatToToscaTranslator.translate();
@@ -153,7 +131,8 @@ public class BaseFullTranslationTest {
           "Error in validation " + getErrorAsString(translatorOutput.getErrorMessages()))
           .withId("Validation Error").withCategory(ErrorCategory.APPLICATION).build());
     }
-    File file = new File(path + "/" + zipFilename);
+
+    File file = new File(path + "/VSP.zip");
     file.createNewFile();
 
     try (FileOutputStream fos = new FileOutputStream(file)) {
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..f7d6298
--- /dev/null
@@ -0,0 +1,32 @@
+{
+  "name": "test_import_1510",
+  "description": "string",
+  "version": "8.1",
+  "data": [
+    {
+      "isBase": true,
+      "file": "base_vIECCF.yml",
+      "type": "HEAT",
+      "data": [
+        {
+          "file": "base_vIECCF.env",
+          "type": "HEAT_ENV"
+        },
+        {
+          "file": "base_vIECCF_volume.yml",
+          "type": "HEAT_VOL",
+          "data": [
+            {
+              "file": "base_vIECCF_volume.env",
+              "type": "HEAT_ENV"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "file": "node_userdata_script.sh",
+      "type": "OTHER"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/base_vIECCF.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/base_vIECCF.env
new file mode 100644 (file)
index 0000000..522ccca
--- /dev/null
@@ -0,0 +1,140 @@
+## Note: Nokia VM ENV file for vCCF
+## Copyright: Nokia 2016
+## Name: "base_vIECCF.env"
+## Date: 20 Dec 2016
+## Juno Version
+## Version History
+##     12/20/2016 
+##         - Initial version for IECCF R30.3.3
+##     01/06/2017
+##         - Updated vCCF package to address removal of shared volume for IO VMs
+##     01/19/2017
+##         - Updated vCCF package to address ICE feedback reviewed on 1/13/2017
+##         - Updated to remove Nokia related values and match AT&T environment
+##     02/17/2017
+##         - Updated vCCF package from Nokia
+##     02/23/2017
+##         - Updated with values for ccfx0002v
+##     09/27/2017
+##         - Updated for mini instance in DPA2a - flavor change
+
+parameters:
+
+    plt_flavor_name: nd.c2r4d50
+    iox_flavor_name: nd.c2r4d50
+    app_flavor_name: nd.c2r4d50
+
+    plt_image_name: USP_IECF-PILOT_30.3.3-mcas4.4.6.qcow2
+    iox_image_name: USP_IECF-IO_30.3.3-mcas4.4.6.qcow2
+    app_image_name: USP_IECF-APP_30.3.3-mcas4.4.6.qcow2
+
+    ieccf_debug: no
+
+    internal_subnet_cidr: 169.30.12.0/24
+
+    plt_pair_uuid: 573f433e25ba8
+    iox_pair_uuid: 573f433e284b4
+
+# These must be empty for AT&T
+    openstack_cacert: ""
+    config_server_cacert: ""
+
+#    growth_mini_siteinfo_url_01: ""
+
+#
+# Instance specific parameters (using DPA3 info)
+#    vnf_id: 0002
+#    vf_module_id: 0001
+#    vnf_name: ccfx0002v
+#    vf_module_name: module_1
+#
+#    plt_names: 
+#    - ccfx0002vm001
+#    - ccfx0002vm002
+#    iox_names:
+#    - ccfx0002vm003
+#    - ccfx0002vm004
+#    app_names:
+#    - ccfx0002vm005
+#    - ccfx0002vm006
+#    - ccfx0002vm007
+#    - ccfx0002vm008
+#    - ccfx0002vm009
+#    - ccfx0002vm010
+#    - ccfx0002vm011
+# 
+#    ignore_siteinfo_audit: no
+#
+#    availability_zone_0: DPA3_D2_AZ1
+#    availability_zone_1: DPA3_D2_AZ2
+#
+#    plt_security_groups:
+#    - ieccf
+#    iox_security_groups:
+#    - ieccf
+#    app_security_groups:
+#    - ieccf
+#    oam_security_groups:
+#    - ieccf
+#    data_security_groups:
+#    - ieccf
+#
+#    oam_net_id: 491c7cef-a3f4-4990-883e-b0af397466d0
+#    data_net_id: be99b10d-483a-41ba-b6e8-99a8e7fd2fd7
+#    io_net_id: 491c7cef-a3f4-4990-883e-b0af397466d0
+#    internal_net_id: 20cdc5a5-750b-41d4-9760-397551758039
+
+#    siteinfo_url: http://135.144.3.36/imsadmin/ccfx0002v/siteinfo
+#    ieccf_config_url: http://135.144.3.36/imsadmin/ccfx0002v/cfg.tar
+
+#    name_server_1: 2001:1890:1001:2424::1
+#    name_server_2: 2001:1890:1001:2224::1
+#    domain: la1il.uvp.itn.att.net
+#
+#    plt_oam_ips:
+#    - 135.144.3.80
+#    - 135.144.3.82
+#    iox_oam_ips:
+#    - 135.144.3.83
+#    - 135.144.3.85
+#    app_oam_ips:
+#    - 135.144.3.86
+#    - 135.144.3.87
+#    - 135.144.3.88
+#    - 135.144.3.89
+#    - 135.144.3.90
+#    - 135.144.3.91
+#    - 135.144.3.92
+#
+#    plt_data_v6_ips:
+#    - 2001:1890:1001:2B32::29:B
+#    - 2001:1890:1001:2B32::29:D
+#    iox_data_v6_ips:
+#    - 2001:1890:1001:2B32::29:1
+#    - 2001:1890:1001:2B32::29:3
+#    app_data_v6_ips:
+#    - 2001:1890:1001:2B32::29:4
+#    - 2001:1890:1001:2B32::29:5
+#    - 2001:1890:1001:2B32::29:6
+#    - 2001:1890:1001:2B32::29:7
+#    - 2001:1890:1001:2B32::29:8
+#    - 2001:1890:1001:2B32::29:9
+#    - 2001:1890:1001:2B32::29:A
+#
+#
+#    plt_oam_floating_ip: 135.144.3.81
+#    iox_oam_floating_ip: 135.144.3.84
+#
+#    plt_data_floating_v6_ip: 2001:1890:1001:2B32::29:C
+#    iox_data_floating_v6_ip: 2001:1890:1001:2B32::29:2
+#
+#    app_volume_0: 2aea2481-9ffe-4612-8912-bf47999c03e5
+#    app_volume_1: eb40dadc-c1cb-4bb6-90a5-d3eaef672476
+#    app_volume_2: 540dc734-b1cb-4a4d-936d-bd1b4a5d42e8
+#    app_volume_3: f71471f8-00bd-4c35-a92d-4eee12fcc059
+#    app_volume_4: 48aa9e8a-90db-4e8e-9f60-38319825f3ec
+#    app_volume_5: 396d7e57-3103-4934-a324-57b24409eba2
+#    app_volume_6: 61d8a9a5-eceb-44c7-b5d7-da6dec02b8ed
+#    plt_volume_0: 4a04e40f-3e5e-4629-a8e1-799ff0ce75ea
+#    plt_volume_1: 2070242e-d428-4210-a8b8-0c63d9ca00b9
+#    plt_volume_shared_0: 415ec62c-65aa-4fc1-8d55-6cfadf3f4e24
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/base_vIECCF.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/base_vIECCF.yml
new file mode 100644 (file)
index 0000000..1e5d74c
--- /dev/null
@@ -0,0 +1,1604 @@
+heat_template_version: '2014-10-16'
+description: ''
+
+## Note: Nokia VM HOT file for vCCF
+## Copyright: Nokia 2016
+## Name: "base_vIECCF.yml"
+## Date: 20 Dec 2016
+## Juno Version
+## Version History
+##     12/20/2016 
+##         - Initial version for IECCF R30.3.3
+##     01/06/2017
+##         - Updated vCCF package to address removal of shared volume for IO VMs
+##     01/19/2017
+##         - Updated vCCF package to address ICE feedback reviewed on 1/13/2017
+##         - Updated to remove Nokia related values and match AT&T environment
+##         - Updated vm_role to match vm_type used in the resource naming convention
+##     02/17/2017
+##         - Updated vCCF package from Nokia
+##     06/23/2017
+##         - Updated vCCF package from Nokia to add output parameter for OAM IP address
+##     08/21/2017
+##         - Updated to replace ':' in port resource names with '_'
+##     09/20/2017
+##         - Updated to revert port resource names back to original with embedded ':'
+##         - Updated to replace ':' in port name property with '_'
+##     09/27/2017
+##         - Updated for mini instance in DPA2a - VM reduction
+
+parameters:
+    vnf_id:
+        type: string
+        description: Unique ID for this VF instance
+    vf_module_id:
+        type: string
+        description: Unique ID for this VF Module instance
+    vnf_name:
+        type: string
+        description: Unique name for this VF instance
+    vf_module_name:
+        type: string
+        description: Unique name for this VF Module instance
+
+    plt_names:
+        type: comma_delimited_list
+        description: VM names for plt VMs
+    iox_names:
+        type: comma_delimited_list
+        description: VM names for iox VMs
+    app_names:
+        type: comma_delimited_list
+        description: VM names for app VMs
+
+    openstack_cacert: # Is this needed, and why?
+        type: string
+        label: 'OpenStack CA Certificate'
+        description: 'CA Certificate to use for OpenStack client calls.'
+    config_server_cacert:
+        type: string
+        label: 'configure server CA Certificate'
+        description: 'CA Certificate for download from siteinfo url and config url.'
+        
+#    _template_version_:
+#        type: string
+#        hidden: 'True'
+    ignore_siteinfo_audit:
+        type: string
+        label: 'Siteinfo Audit Ignore Flag'
+        description: 'Set to true if siteinfo audit failure should not prevent system installation'
+
+    availability_zone_0:
+        type: string
+        description: First availability zone ID or Name
+    availability_zone_1:
+        type: string
+        description: Second availability zone ID or Name
+
+    plt_image_name:
+        type: string
+        description: Pilot image
+        
+    plt_flavor_name:
+        type: string
+        description: Pilot flavor
+        
+    plt_security_groups:
+        type: comma_delimited_list
+        description: Pilot security group
+        
+        
+    iox_image_name:
+        type: string
+        description: IO image
+        
+    iox_flavor_name:
+        type: string
+        description: IO flavor
+        
+    iox_security_groups:
+        type: comma_delimited_list
+        description: IO security group
+        
+    app_image_name:
+        type: string
+        description: App image
+        
+    app_flavor_name:
+        type: string
+        description: App flavor
+        
+    app_security_groups:
+        type: comma_delimited_list
+        description: App security group
+        
+    oam_security_groups:
+        type: comma_delimited_list
+        description: OAM security group
+        
+    data_security_groups:
+        type: comma_delimited_list
+        description: DATA security group
+
+    oam_net_id:
+        type: string
+        description: 'OAM network'
+        
+    data_net_id:
+        type: string
+        description: 'DATA network'
+#    io_net_id:
+#        type: string
+#        label: 'IO network'
+
+    siteinfo_url:
+        type: string
+        description: 'siteinfo url'
+    ieccf_config_url:
+        type: string
+        description: 'IECCF configuration package URL'
+    ieccf_debug:
+        type: string
+        description: 'IECCF debug flag'
+#    growth_mini_siteinfo_url_01:
+#        type: string
+#        label: 'IECCF app node growth mini siteinfo URL'
+
+    name_server_1:
+        type: string
+        description: 'IP address of name server 1'
+    name_server_2:
+        type: string
+        description: 'IP address of name server 2'
+    domain:
+        type: string
+        description: What is this domain? 
+
+    plt_oam_ips:
+        type: comma_delimited_list
+        description: Fixed IPv4 assignments for plt VMs on the OAM network
+    iox_oam_ips:
+        type: comma_delimited_list
+        description: Fixed IPv4 assignments for iox VMs on the OAM network
+    app_oam_ips:
+        type: comma_delimited_list
+        description: Fixed IPv4 assignments for app VMs on the OAM network
+
+    plt_data_v6_ips:
+        type: comma_delimited_list
+        description: Fixed IPv6 assignments for plt VMs on the DATA network
+    iox_data_v6_ips:
+        type: comma_delimited_list
+        description: Fixed IPv6 assignments for iox VMs on the DATA network
+    app_data_v6_ips:
+        type: comma_delimited_list
+        description: Fixed IPv6 assignments for app VMs on the DATA network
+
+    plt_oam_floating_ip:
+        type: string
+        description: Floating IPv4 for plt VMs on the OAM network
+    iox_oam_floating_ip:
+        type: string
+        description: Floating IPv4 for iox VMs on the OAM network
+
+    plt_data_floating_v6_ip:
+        type: string
+        description: Floating IPv6 for plt VMs on the DATA network
+    iox_data_floating_v6_ip:
+        type: string
+        description: Floating IPv6 for iox VMs on the DATA network
+
+    internal_subnet_cidr:
+        type: string
+        description: IP subnet for internal network
+
+    plt_pair_uuid:
+        type: string
+        description: UUID for plt VM pair
+    iox_pair_uuid:
+        type: string
+        description: UUID for iox VM pair
+
+    plt_volume_shared_id_0:
+        type: string
+        description: ServiceData2 volume for plt VMs
+
+    plt_volume_id_0:
+        type: string
+        description: ServiceData1 volume for first plt VM
+
+    plt_volume_id_1:
+        type: string
+        description: ServiceData1 volume for second plt VM
+
+    app_volume_id_0:
+        type: string
+        description: ServiceData1 volume for first app VM
+
+    app_volume_id_1:
+        type: string
+        description: ServiceData1 volume for second app VM
+
+    app_volume_id_2:
+        type: string
+        description: ServiceData1 volume for third app VM
+                     
+resources:
+
+    internal_net_0:
+        type: OS::Neutron::Net
+        properties:
+            name:
+                str_replace:
+                    template: $prefix-internal_net_0
+                    params:
+                        $prefix: { get_param: vnf_name }
+            
+    internal_0_subnet_0:
+        type: OS::Neutron::Subnet
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-internal_0_subnet_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            cidr: {get_param: internal_subnet_cidr}
+            network: {get_resource: internal_net_0 }
+            enable_dhcp: 'True'
+            gateway_ip: ''
+
+    app_server_group:
+        type: OS::Nova::ServerGroup
+        properties:
+            name:
+                str_replace:
+                  params:
+                      $vnf_name: {get_param: vnf_name}
+                  template: $vnf_name-app_server_group
+            policies:
+                - anti-affinity
+
+    'node:m001:server':
+        type: OS::Nova::Server
+        properties:
+            name: { get_param: [plt_names, 0]}
+            availability_zone:
+                get_param: availability_zone_0
+            image:
+                get_param: plt_image_name
+            flavor:
+                get_param: plt_flavor_name
+            image_update_policy: REBUILD
+            config_drive: 'True'
+            block_device_mapping:
+                -
+                    delete_on_termination: 'false'
+                    device_name: vdb
+                    volume_id:
+                        get_param: plt_volume_id_0
+            networks:
+                -
+                    port:
+                        get_resource: plt_internal_0_port_0
+                -
+                    port:
+                        get_resource: plt_oam_0_port_0
+                -
+                    port:
+                        get_resource: plt_data_0_port_0
+            user_data_format: RAW
+            user_data:
+                str_replace:
+                    template:
+                        get_file: node_userdata_script.sh
+#                        get_param: _node_userdata_script_
+                    params:
+                        __heat_stack_name__:
+                            get_param: 'OS::stack_name'
+                        __node_siteinfo_url__: { get_param: siteinfo_url }
+                        __ieccf_config_url__: { get_param: ieccf_config_url }
+                        __ieccf_debug__: { get_param: ieccf_debug }
+                        __activepilot_ip__:
+                            get_attr:
+                                - 'network:system:vip:m001:m002'
+#                                - 'network_system_vip_m001_m002'
+                                - fixed_ips
+                                - 0
+                                - ip_address
+                        __host_key__:
+                            get_attr:
+                                - 'sysinfo:host_key'
+                                - value
+                        __pilot__: A
+                        __script_url__: ''
+                        __script_args__: ''
+                        __os_cacert__:
+                            get_param: openstack_cacert
+#                            get_file: openstack_cacert.crt
+                        __cs_cacert__:
+                            get_param: config_server_cacert
+#                            get_file: config_server_cacert.crt
+                        __post_exec__: ''
+                        __ignore_siteinfo_audit__:
+                            get_param: ignore_siteinfo_audit
+                        __nameserver1__: {get_param: name_server_1}
+                        __nameserver2__: {get_param: name_server_2}
+                        __domain__: { get_param: domain }
+                        __shared_volid1__:
+#                            get_resource: 'node:m001:m002:shared_vol1'
+                            get_param: plt_volume_shared_id_0
+
+            metadata:
+                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}
+                vm_role: plt
+        metadata:
+            mcas_id: m001
+            networks:
+                -
+                    get_attr:
+                        - plt_internal_0_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - plt_oam_0_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - plt_data_0_port_0
+                        - network_id
+            mcas_mate_id: m002
+            pair_uuid: {get_param: plt_pair_uuid}
+            shared_vol1: {get_param: plt_volume_shared_id_0}
+    plt_internal_0_port_0:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-plt_internal_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: {get_resource: internal_net_0 }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address: {get_param: internal_subnet_cidr}
+            security_groups:
+                get_param: plt_security_groups
+        metadata:
+            os_net: {get_resource: internal_net_0 }
+
+    plt_internal_0_port_1:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-plt_internal_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: {get_resource: internal_net_0 }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address: {get_param: internal_subnet_cidr}
+            security_groups:
+                get_param: plt_security_groups
+        metadata:
+            os_net: {get_resource: internal_net_0 }
+            
+    plt_oam_0_port_0:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-plt_oam_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: oam_net_id }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address:
+                        get_attr:
+                            - 'network:oam:vip:m001:m002'
+#                            - 'network_oam_vip_m001_m002'
+                            - fixed_ips
+                            - 0
+                            - ip_address
+            fixed_ips:
+                -
+                    ip_address: {get_param: [plt_oam_ips, 0]}
+            security_groups:
+#                get_param: plt_security_groups
+                get_param: oam_security_groups
+        metadata:
+            os_net: { get_param: oam_net_id }
+            ext_net: oam
+
+    plt_oam_0_port_1:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-plt_oam_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: oam_net_id }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address:
+                        get_attr:
+                            - 'network:oam:vip:m001:m002'
+#                            - 'network_oam_vip_m001_m002'
+                            - fixed_ips
+                            - 0
+                            - ip_address
+            fixed_ips:
+                -
+                    ip_address: {get_param: [plt_oam_ips, 0]}
+            security_groups:
+#                get_param: plt_security_groups
+                get_param: oam_security_groups
+        metadata:
+            os_net: { get_param: oam_net_id }
+            ext_net: oam
+
+    plt_data_0_port_0:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-plt_data_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: data_net_id }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address:
+                        get_attr:
+                            - 'network:data:vip:m001:m002'
+#                            - 'network_data_vip_m001_m002'
+                            - fixed_ips
+                            - 0
+                            - ip_address
+            fixed_ips:
+                -
+                    ip_address: {get_param: [plt_data_v6_ips, 0]}
+            security_groups:
+#                get_param: plt_security_groups
+                get_param: data_security_groups
+        metadata:
+            os_net: { get_param: data_net_id }
+            ext_net: data
+
+    plt_data_0_port_1:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-plt_data_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: data_net_id }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address:
+                        get_attr:
+                            - 'network:data:vip:m001:m002'
+#                            - 'network_data_vip_m001_m002'
+                            - fixed_ips
+                            - 0
+                            - ip_address
+            fixed_ips:
+                -
+                    ip_address: {get_param: [plt_data_v6_ips, 1]}
+            security_groups:
+#                get_param: plt_security_groups
+                get_param: data_security_groups
+        metadata:
+            os_net: { get_param: data_net_id }
+            ext_net: data
+
+    'node:m002:server':
+        type: OS::Nova::Server
+        properties:
+            name: { get_param: [plt_names, 1]}
+            availability_zone:
+                get_param: availability_zone_1
+            image:
+                get_param: plt_image_name
+            flavor:
+                get_param: plt_flavor_name
+            image_update_policy: REBUILD
+            config_drive: 'True'
+            block_device_mapping:
+                -
+                    delete_on_termination: 'false'
+                    device_name: vdb
+                    volume_id:
+                        get_param: plt_volume_id_1
+            networks:
+                -
+                    port:
+                        get_resource: plt_internal_0_port_1
+                -
+                    port:
+                        get_resource: plt_oam_0_port_1
+                -
+                    port:
+                        get_resource: plt_data_0_port_1
+            user_data_format: RAW
+            user_data:
+                str_replace:
+                    template:
+                        get_file: node_userdata_script.sh
+#                        get_param: _node_userdata_script_
+                    params:
+                        __heat_stack_name__:
+                            get_param: 'OS::stack_name'
+                        __node_siteinfo_url__: { get_param: siteinfo_url }
+                        __ieccf_config_url__: { get_param: ieccf_config_url }
+                        __ieccf_debug__: { get_param: ieccf_debug }
+                        __activepilot_ip__:
+                            get_attr:
+                                - 'network:system:vip:m001:m002'
+#                                - 'network_system_vip_m001_m002'
+                                - fixed_ips
+                                - 0
+                                - ip_address
+                        __host_key__:
+                            get_attr:
+                                - 'sysinfo:host_key'
+                                - value
+                        __pilot__: B
+                        __script_url__: ''
+                        __script_args__: ''
+                        __os_cacert__:
+                            get_param: openstack_cacert
+#                            get_file: openstack_cacert.crt
+                        __cs_cacert__:
+                            get_param: config_server_cacert
+#                            get_file: config_server_cacert.crt
+                        __post_exec__: ''
+                        __ignore_siteinfo_audit__:
+                            get_param: ignore_siteinfo_audit
+                        __nameserver1__: {get_param: name_server_1}
+                        __nameserver2__: {get_param: name_server_2}
+                        __domain__: {get_param: domain}
+                        __shared_volid1__:
+#                            get_resource: 'node:m001:m002:shared_vol1'
+                            get_param: plt_volume_shared_id_0
+
+            metadata:
+                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}
+                vm_role: plt
+        metadata:
+            mcas_id: m002
+            networks:
+                -
+                    get_attr:
+                        - plt_internal_1_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - plt_oam_1_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - plt_data_1_port_0
+                        - network_id
+            mcas_mate_id: m001
+            pair_uuid: {get_param: plt_pair_uuid}
+            shared_vol1: {get_param: plt_volume_shared_id_0}
+
+    'network:system:vip:m001:m002':
+#    'network_system_vip_m001_m002':
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+#                    template: '$vnf_name-network:system:vip:m001:m002'
+                    template: '$vnf_name-network_system_vip_m001_m002'
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: {get_resource: internal_net_0 }
+
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address: {get_param: internal_subnet_cidr }
+            security_groups:
+                get_param: plt_security_groups
+        metadata:
+            os_net: {get_resource: internal_net_0 }
+
+            pair_uuid: {get_param: plt_pair_uuid}
+    'network:oam:vip:m001:m002':
+#    'network_oam_vip_m001_m002':
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+#                    template: '$vnf_name-network:oam:vip:m001:m002'
+                    template: '$vnf_name-network_oam_vip_m001_m002'
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: oam_net_id }
+            replacement_policy: AUTO
+            fixed_ips:
+                -
+                    ip_address: {get_param: plt_oam_floating_ip}
+            security_groups:
+#                get_param: plt_security_groups
+                get_param: oam_security_groups
+        metadata:
+            os_net: { get_param: oam_net_id }
+            ext_net: oam
+            pair_uuid: {get_param: plt_pair_uuid}
+    'network:data:vip:m001:m002':
+#    'network_data_vip_m001_m002':
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+#                    template: '$vnf_name-network:data:vip:m001:m002'
+                    template: '$vnf_name-network_data_vip_m001_m002'
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: data_net_id }
+            replacement_policy: AUTO
+            fixed_ips:
+                -
+                    ip_address: {get_param: plt_data_floating_v6_ip}
+            security_groups:
+#                get_param: plt_security_groups
+                get_param: data_security_groups
+        metadata:
+            os_net: { get_param: data_net_id }
+            ext_net: data
+            pair_uuid: {get_param: plt_pair_uuid}
+
+    'node:m003:server':
+        type: OS::Nova::Server
+        properties:
+            name: { get_param: [iox_names, 0]}
+            availability_zone:
+                get_param: availability_zone_0
+            image:
+                get_param: iox_image_name
+            flavor:
+                get_param: iox_flavor_name
+            image_update_policy: REBUILD
+            config_drive: 'True'
+            networks:
+                -
+                    port:
+                        get_resource: iox_internal_0_port_0
+                -
+                    port:
+                        get_resource: iox_oam_0_port_0
+                -
+                    port:
+                        get_resource: iox_data_0_port_0
+            user_data_format: RAW
+            user_data:
+                str_replace:
+                    template:
+                        get_file: node_userdata_script.sh
+#                        get_param: _node_userdata_script_
+                    params:
+                        __heat_stack_name__:
+                            get_param: 'OS::stack_name'
+                        __node_siteinfo_url__: { get_param: siteinfo_url }
+                        __ieccf_config_url__: { get_param: ieccf_config_url }
+                        __ieccf_debug__: { get_param: ieccf_debug }
+                        __activepilot_ip__:
+                            get_attr:
+                                - 'network:system:vip:m001:m002'
+#                                - 'network_system_vip_m001_m002'
+                                - fixed_ips
+                                - 0
+                                - ip_address
+                        __host_key__:
+                            get_attr:
+                                - 'sysinfo:host_key'
+                                - value
+                        __pilot__: ''
+                        __script_url__: ''
+                        __script_args__: ''
+                        __os_cacert__: ''
+                        __cs_cacert__: ''
+                        __post_exec__: ''
+                        __ignore_siteinfo_audit__:
+                            get_param: ignore_siteinfo_audit
+                        __nameserver1__: {get_param: name_server_1}
+                        __nameserver2__: {get_param: name_server_2}
+                        __domain__: {get_param: domain}
+#                        __shared_volid1__:
+#                            get_resource: 'node:m003:m004:shared_vol1'
+#                            get_param: iox_volume_shared_0
+
+            metadata:
+                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}
+                vm_role: iox
+        metadata:
+            mcas_id: m003
+            networks:
+                -
+                    get_attr:
+                        - iox_internal_0_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - iox_oam_0_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - iox_data_0_port_0
+                        - network_id
+            mcas_mate_id: m004
+            pair_uuid: {get_param: iox_pair_uuid}
+#            shared_vol1: {get_param: iox_volume_shared_0}
+    iox_internal_0_port_0:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-iox_internal_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: {get_resource: internal_net_0 }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address: {get_param: internal_subnet_cidr}
+            security_groups:
+                get_param: iox_security_groups
+        metadata:
+            os_net: {get_resource: internal_net_0 }
+
+    iox_oam_0_port_0:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-iox_oam_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: oam_net_id }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address:
+                        get_attr:
+                            - 'network:io:vip:m004:m003'
+#                            - 'network_io_vip_m004_m003'
+                            - fixed_ips
+                            - 0
+                            - ip_address
+            fixed_ips:
+                -
+                    ip_address: {get_param: [iox_oam_ips, 0]}
+            security_groups:
+#                get_param: iox_security_groups
+                get_param: oam_security_groups
+        metadata:
+            os_net: { get_param: oam_net_id }
+            ext_net: io
+    iox_data_0_port_0:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-iox_data_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: data_net_id }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address:
+                        get_attr:
+                            - 'network:data:vip:m004:m003'
+#                            - 'network_data_vip_m001_m002'
+                            - fixed_ips
+                            - 0
+                            - ip_address
+            fixed_ips:
+                -
+                    ip_address: {get_param: [iox_data_v6_ips, 0]}
+            security_groups:
+#                get_param: iox_security_groups
+                get_param: data_security_groups
+        metadata:
+            os_net: { get_param: data_net_id }
+            ext_net: data
+    'node:m004:server':
+        type: OS::Nova::Server
+        properties:
+            name: { get_param: [iox_names, 1]}
+            availability_zone:
+                get_param: availability_zone_1
+            image:
+                get_param: iox_image_name
+            flavor:
+                get_param: iox_flavor_name
+            image_update_policy: REBUILD
+            config_drive: 'True'
+            networks:
+                -
+                    port:
+                        get_resource: iox_internal_0_port_1
+                -
+                    port:
+                        get_resource: iox_oam_0_port_1
+                -
+                    port:
+                        get_resource: iox_data_0_port_1
+            user_data_format: RAW
+            user_data:
+                str_replace:
+                    template:
+                        get_file: node_userdata_script.sh
+#                        get_param: _node_userdata_script_
+                    params:
+                        __heat_stack_name__:
+                            get_param: 'OS::stack_name'
+                        __node_siteinfo_url__: { get_param: siteinfo_url }
+                        __ieccf_config_url__: { get_param: ieccf_config_url }
+                        __ieccf_debug__: { get_param: ieccf_debug }
+                        __activepilot_ip__:
+                            get_attr:
+                                - 'network:system:vip:m001:m002'
+#                                - 'network_system_vip_m001_m002'
+                                - fixed_ips
+                                - 0
+                                - ip_address
+                        __host_key__:
+                            get_attr:
+                                - 'sysinfo:host_key'
+                                - value
+                        __pilot__: ''
+                        __script_url__: ''
+                        __script_args__: ''
+                        __os_cacert__: ''
+                        __cs_cacert__: ''
+                        __post_exec__: ''
+                        __ignore_siteinfo_audit__:
+                            get_param: ignore_siteinfo_audit
+                        __nameserver1__: {get_param: name_server_1}
+                        __nameserver2__: {get_param: name_server_2}
+                        __domain__: {get_param: domain}
+#                        __shared_volid1__:
+#                            get_resource: 'node:m003:m004:shared_vol1'
+#                            get_param: iox_volume_shared_0
+
+            metadata:
+                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}
+                vm_role: iox
+        metadata:
+            mcas_id: m004
+            networks:
+                -
+                    get_attr:
+                        - iox_internal_1_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - iox_oam_1_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - iox_data_1_port_0
+                        - network_id
+            mcas_mate_id: m003
+            pair_uuid: {get_param: iox_pair_uuid}
+#            shared_vol1: {get_param: iox_volume_shared_0}
+    iox_internal_0_port_1:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-iox_internal_1_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: {get_resource: internal_net_0 }
+
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address: {get_param: internal_subnet_cidr}
+            security_groups:
+                get_param: iox_security_groups
+        metadata:
+            os_net: {get_resource: internal_net_0 }
+    iox_oam_0_port_1:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-iox_oam_1_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: oam_net_id }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address:
+                        get_attr:
+                            - 'network:io:vip:m004:m003'
+#                            - 'network_io_vip_m004_m003'
+                            - fixed_ips
+                            - 0
+                            - ip_address
+            fixed_ips:
+                -
+                    ip_address: {get_param: [iox_oam_ips, 1]}
+            security_groups:
+#                get_param: iox_security_groups
+                get_param: oam_security_groups
+        metadata:
+            os_net: { get_param: oam_net_id }
+            ext_net: io
+    iox_data_0_port_1:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-iox_data_1_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: data_net_id }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address:
+                        get_attr:
+                            - 'network:data:vip:m004:m003'
+#                            - 'network_data_vip_m001_m002'
+                            - fixed_ips
+                            - 0
+                            - ip_address
+            fixed_ips:
+                -
+                    ip_address: {get_param: [iox_data_v6_ips, 1]}
+            security_groups:
+#                get_param: iox_security_groups
+                get_param: data_security_groups
+        metadata:
+            os_net: { get_param: data_net_id }
+            ext_net: data
+    'network:io:vip:m004:m003':
+#    'network_io_vip_m004_m003':
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+#                    template: '$vnf_name-network:io:vip:m004:m003'
+                    template: '$vnf_name-network_io_vip_m004_m003'
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: oam_net_id }
+            replacement_policy: AUTO
+            fixed_ips:
+                -
+                    ip_address: {get_param: iox_oam_floating_ip}
+            security_groups:
+#                get_param: iox_security_groups
+                get_param: oam_security_groups
+        metadata:
+            os_net: { get_param: oam_net_id }
+            ext_net: io
+            pair_uuid: {get_param: iox_pair_uuid}
+    'network:data:vip:m004:m003':
+#    'network_data_vip_m004_m003':
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+#                    template: '$vnf_name-network:data:vip:m004:m003'
+                    template: '$vnf_name-network_data_vip_m004_m003'
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: data_net_id }
+            replacement_policy: AUTO
+            fixed_ips:
+                -
+                    ip_address: {get_param: iox_data_floating_v6_ip}
+            security_groups:
+#                get_param: iox_security_groups
+                get_param: data_security_groups
+        metadata:
+            os_net: { get_param: data_net_id }
+            ext_net: data
+            pair_uuid: {get_param: iox_pair_uuid}
+
+    'node:m005:server':
+        type: OS::Nova::Server
+        properties:
+            name: { get_param: [app_names, 0]}
+            availability_zone:
+                get_param: availability_zone_0
+            image:
+                get_param: app_image_name
+            flavor:
+                get_param: app_flavor_name
+            image_update_policy: REBUILD
+            config_drive: 'True'
+            block_device_mapping:
+                -
+                    delete_on_termination: 'false'
+                    device_name: vdb
+                    volume_id:
+                        get_param: app_volume_id_0
+            networks:
+                -
+                    port:
+                        get_resource: app_internal_0_port_0
+                -
+                    port:
+                        get_resource: app_oam_0_port_0
+                -
+                    port:
+                        get_resource: app_data_0_port_0
+            user_data_format: RAW
+            user_data:
+                str_replace:
+                    template:
+                        get_file: node_userdata_script.sh
+#                        get_param: _node_userdata_script_
+                    params:
+                        __heat_stack_name__:
+                            get_param: 'OS::stack_name'
+                        __node_siteinfo_url__: { get_param: siteinfo_url }
+                        __ieccf_config_url__: { get_param: ieccf_config_url }
+                        __ieccf_debug__: { get_param: ieccf_debug }
+                        __activepilot_ip__:
+                            get_attr:
+                                - 'network:system:vip:m001:m002'
+#                                - 'network_system_vip_m001_m002'
+                                - fixed_ips
+                                - 0
+                                - ip_address
+                        __host_key__:
+                            get_attr:
+                                - 'sysinfo:host_key'
+                                - value
+                        __pilot__: ''
+                        __script_url__: ''
+                        __script_args__: ''
+                        __os_cacert__: ''
+                        __cs_cacert__: ''
+                        __post_exec__: ''
+                        __ignore_siteinfo_audit__:
+                            get_param: ignore_siteinfo_audit
+                        __nameserver1__: {get_param: name_server_1}
+                        __nameserver2__: {get_param: name_server_2}
+                        __domain__: {get_param: domain}
+            scheduler_hints: 
+                group: {get_resource: app_server_group}
+
+            metadata:
+                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}
+                vm_role: app
+        metadata:
+            mcas_id: m005
+            networks:
+                -
+                    get_attr:
+                        - app_internal_0_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - app_oam_0_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - app_data_0_port_0
+                        - network_id
+    app_internal_0_port_0:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-app_internal_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: {get_resource: internal_net_0 }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address: {get_param: internal_subnet_cidr}
+            security_groups:
+                get_param: app_security_groups
+        metadata:
+            os_net: {get_resource: internal_net_0 }
+
+    app_oam_0_port_0:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-app_oam_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: oam_net_id }
+            replacement_policy: AUTO
+            fixed_ips:
+                -
+                    ip_address: {get_param: [app_oam_ips, 0]}
+                    
+            security_groups:
+#                get_param: app_security_groups
+                get_param: oam_security_groups
+        metadata:
+            os_net: { get_param: oam_net_id }
+            ext_net: oam    
+    
+    app_data_0_port_0:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-app_data_0_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: data_net_id }
+            replacement_policy: AUTO
+            fixed_ips:
+                -
+                    ip_address: {get_param: [app_data_v6_ips, 0]}
+            security_groups:
+#                get_param: app_security_groups
+                get_param: data_security_groups
+        metadata:
+            os_net: { get_param: data_net_id }
+            ext_net: data
+
+    'node:m006:server':
+        type: OS::Nova::Server
+        properties:
+            name: { get_param: [app_names, 1]}
+            availability_zone:
+                get_param: availability_zone_1
+            image:
+                get_param: app_image_name
+            flavor:
+                get_param: app_flavor_name
+            image_update_policy: REBUILD
+            config_drive: 'True'
+            block_device_mapping:
+                -
+                    delete_on_termination: 'false'
+                    device_name: vdb
+                    volume_id:
+                        get_param: app_volume_id_1
+            networks:
+                -
+                    port:
+                        get_resource: app_internal_0_port_1
+                -
+                    port:
+                        get_resource: app_oam_0_port_1
+                -
+                    port:
+                        get_resource: app_data_0_port_1
+            user_data_format: RAW
+            user_data:
+                str_replace:
+                    template:
+                        get_file: node_userdata_script.sh
+#                        get_param: _node_userdata_script_
+                    params:
+                        __heat_stack_name__:
+                            get_param: 'OS::stack_name'
+                        __node_siteinfo_url__: { get_param: siteinfo_url }
+                        __ieccf_config_url__: { get_param: ieccf_config_url }
+                        __ieccf_debug__: { get_param: ieccf_debug }
+                        __activepilot_ip__:
+                            get_attr:
+                                - 'network:system:vip:m001:m002'
+#                                - 'network_system_vip_m001_m002'
+                                - fixed_ips
+                                - 0
+                                - ip_address
+                        __host_key__:
+                            get_attr:
+                                - 'sysinfo:host_key'
+                                - value
+                        __pilot__: ''
+                        __script_url__: ''
+                        __script_args__: ''
+                        __os_cacert__: ''
+                        __cs_cacert__: ''
+                        __post_exec__: ''
+                        __ignore_siteinfo_audit__:
+                            get_param: ignore_siteinfo_audit
+                        __nameserver1__: {get_param: name_server_1}
+                        __nameserver2__: {get_param: name_server_2}
+                        __domain__: {get_param: domain}
+            scheduler_hints: 
+                group: {get_resource: app_server_group}
+
+
+            metadata:
+                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}
+                vm_role: app
+        metadata:
+            mcas_id: m006
+            networks:
+                -
+                    get_attr:
+                        - app_internal_1_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - app_oam_1_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - app_data_1_port_0
+                        - network_id
+    app_internal_0_port_1:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-app_internal_1_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: {get_resource: internal_net_0 }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address: {get_param: internal_subnet_cidr}
+            security_groups:
+                get_param: app_security_groups
+        metadata:
+            os_net: {get_resource: internal_net_0 }
+
+    app_oam_0_port_1:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-app_oam_1_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: oam_net_id }
+            replacement_policy: AUTO
+            fixed_ips:
+                -
+                    ip_address: {get_param: [app_oam_ips, 1]}
+                    
+            security_groups:
+#                get_param: app_security_groups
+                get_param: oam_security_groups
+        metadata:
+            os_net: { get_param: oam_net_id }
+            ext_net: oam    
+
+    app_data_0_port_1:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-app_data_1_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: data_net_id }
+            replacement_policy: AUTO
+            fixed_ips:
+                -
+                    ip_address: {get_param: [app_data_v6_ips, 1]}
+            security_groups:
+#                get_param: app_security_groups
+                get_param: data_security_groups
+        metadata:
+            os_net: { get_param: data_net_id }
+            ext_net: data
+
+    'node:m007:server':
+        type: OS::Nova::Server
+        properties:
+            name: { get_param: [app_names, 2]}
+            availability_zone:
+                get_param: availability_zone_0
+            image:
+                get_param: app_image_name
+            flavor:
+                get_param: app_flavor_name
+            image_update_policy: REBUILD
+            config_drive: 'True'
+            block_device_mapping:
+                -
+                    delete_on_termination: 'false'
+                    device_name: vdb
+                    volume_id:
+                        get_param: app_volume_id_2
+            networks:
+                -
+                    port:
+                        get_resource: app_internal_0_port_2
+                -
+                    port:
+                        get_resource: app_oam_0_port_2
+                -
+                    port:
+                        get_resource: app_data_0_port_2
+            user_data_format: RAW
+            user_data:
+                str_replace:
+                    template:
+                        get_file: node_userdata_script.sh
+#                        get_param: _node_userdata_script_
+                    params:
+                        __heat_stack_name__:
+                            get_param: 'OS::stack_name'
+                        __node_siteinfo_url__: { get_param: siteinfo_url }
+                        __ieccf_config_url__: { get_param: ieccf_config_url }
+                        __ieccf_debug__: { get_param: ieccf_debug }
+                        __activepilot_ip__:
+                            get_attr:
+                                - 'network:system:vip:m001:m002'
+#                                - 'network_system_vip_m001_m002'
+                                - fixed_ips
+                                - 0
+                                - ip_address
+                        __host_key__:
+                            get_attr:
+                                - 'sysinfo:host_key'
+                                - value
+                        __pilot__: ''
+                        __script_url__: ''
+                        __script_args__: ''
+                        __os_cacert__: ''
+                        __cs_cacert__: ''
+                        __post_exec__: ''
+                        __ignore_siteinfo_audit__:
+                            get_param: ignore_siteinfo_audit
+                        __nameserver1__: {get_param: name_server_1}
+                        __nameserver2__: {get_param: name_server_2}
+                        __domain__: {get_param: domain}
+            scheduler_hints: 
+                group: {get_resource: app_server_group}
+
+            metadata:
+                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}
+                vm_role: app
+        metadata:
+            mcas_id: m007
+            networks:
+                -
+                    get_attr:
+                        - app_internal_2_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - app_oam_2_port_0
+                        - network_id
+                -
+                    get_attr:
+                        - app_data_2_port_0
+                        - network_id
+    app_internal_0_port_2:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-app_internal_2_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: {get_resource: internal_net_0 }
+            replacement_policy: AUTO
+            allowed_address_pairs:
+                -
+                    ip_address: {get_param: internal_subnet_cidr}
+            security_groups:
+                get_param: app_security_groups
+        metadata:
+            os_net: {get_resource: internal_net_0 }
+
+    app_oam_0_port_2:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-app_oam_2_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: oam_net_id }
+            replacement_policy: AUTO
+            fixed_ips:
+                -
+                    ip_address: {get_param: [app_oam_ips, 2]}
+                    
+            security_groups:
+#                get_param: app_security_groups
+                get_param: oam_security_groups
+        metadata:
+            os_net: { get_param: oam_net_id }
+            ext_net: oam    
+
+    app_data_0_port_2:
+        type: OS::Neutron::Port
+        properties:
+            name:
+                str_replace:
+                    template: $vnf_name-app_data_2_port_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+            network: { get_param: data_net_id }
+            replacement_policy: AUTO
+            fixed_ips:
+                -
+                    ip_address: {get_param: [app_data_v6_ips, 2]}
+            security_groups:
+#                get_param: app_security_groups
+                get_param: data_security_groups
+        metadata:
+            os_net: { get_param: data_net_id }
+            ext_net: data
+
+
+    'sysinfo:input_store':  # What is the purpose of this?
+        type: 'OS::Heat::RandomString'
+        metadata:
+            parameters:
+                vnf_name:
+                    get_param: vnf_name
+                __os_cacert__:
+                    get_param: openstack_cacert
+#                    get_file: openstack_cacert.crt
+                __cs_cacert__:
+                    get_param: config_server_cacert
+#                    get_file: config_server_cacert.crt
+                ignore_siteinfo_audit:
+                    get_param: ignore_siteinfo_audit
+                m001_avail_zone:
+                    get_param: availability_zone_0
+                m001_image:
+                    get_param: plt_image_name
+                m001_flavor:
+                    get_param: plt_flavor_name
+                m001_security_groups:
+                    get_param: plt_security_groups
+                m002_avail_zone:
+                    get_param: availability_zone_1
+                m002_image:
+                    get_param: plt_image_name
+                m002_flavor:
+                    get_param: plt_flavor_name
+                m002_security_groups:
+                    get_param: plt_security_groups
+                m003_avail_zone:
+                    get_param: availability_zone_0
+                m003_image:
+                    get_param: iox_image_name
+                m003_flavor:
+                    get_param: iox_flavor_name
+                m003_security_groups:
+                    get_param: iox_security_groups
+                m004_avail_zone:
+                    get_param: availability_zone_1
+                m004_image:
+                    get_param: iox_image_name
+                m004_flavor:
+                    get_param: iox_flavor_name
+                m004_security_groups:
+                    get_param: iox_security_groups
+                m005_avail_zone:
+                    get_param: availability_zone_0
+                m005_image:
+                    get_param: app_image_name
+                m005_flavor:
+                    get_param: app_flavor_name
+                m005_security_groups:
+                    get_param: app_security_groups
+                m006_avail_zone:
+                    get_param: availability_zone_1
+                m006_image:
+                    get_param: app_image_name
+                m006_flavor:
+                    get_param: app_flavor_name
+                m006_security_groups:
+                    get_param: app_security_groups
+                m007_avail_zone:
+                    get_param: availability_zone_0
+                m007_image:
+                    get_param: app_image_name
+                m007_flavor:
+                    get_param: app_flavor_name
+                m007_security_groups:
+                    get_param: app_security_groups
+                m008_avail_zone:
+                    get_param: availability_zone_1
+                m008_image:
+                    get_param: app_image_name
+                m008_flavor:
+                    get_param: app_flavor_name
+                m008_security_groups:
+                    get_param: app_security_groups
+                m009_avail_zone:
+                    get_param: availability_zone_0
+                m009_image:
+                    get_param: app_image_name
+                m009_flavor:
+                    get_param: app_flavor_name
+                m009_security_groups:
+                    get_param: app_security_groups
+                m010_avail_zone:
+                    get_param: availability_zone_1
+                m010_image:
+                    get_param: app_image_name
+                m010_flavor:
+                    get_param: app_flavor_name
+                m010_security_groups:
+                    get_param: app_security_groups
+                m011_avail_zone:
+                    get_param: availability_zone_0
+                m011_image:
+                    get_param: app_image_name
+                m011_flavor:
+                    get_param: app_flavor_name
+                m011_security_groups:
+                    get_param: app_security_groups
+    'sysinfo:host_key':
+        type: 'OS::Heat::RandomString'
+        properties:
+            length: 255
+
+outputs:
+    oam_management_v4_address:
+        value: {get_param: plt_oam_floating_ip}
\ 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/computewithtwosameporttypes/in/base_vIECCF_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/base_vIECCF_volume.env
new file mode 100644 (file)
index 0000000..e8d6513
--- /dev/null
@@ -0,0 +1,33 @@
+## Note: Nokia Volume ENV file for vCCF
+## Copyright: Nokia 2016
+## Name: "base_vIECCF_volume.env"
+## Date: 20 Dec 2016
+## Juno Version
+## Version History
+##     12/20/2016 
+##         - Initial version for IECCF R30.3.3
+##     01/06/2017
+##         - Updated vCCF package to address removal of shared volume for IO VMs
+##     01/19/2017
+##         - Updated vCCF package to address ICE feedback reviewed on 1/13/2017
+##         - Updated to remove Nokia related values and match AT&T environment
+##     02/17/2017
+##         - Updated vCCF package from Nokia
+##     02/23/2017
+##         - Updated with values for ccfx0002v
+##     07/05/2017
+##         - Modified servicedata1/2 and app volume sizes to include space for eccfdata and incoming4cdrsch
+##     09/27/2017
+##         - Updated for mini instance in DPA2a - vol size change
+
+parameters:
+
+    plt_servicedata1_volume_size_0: 70
+    plt_servicedata2_volume_size_0: 150
+
+    app_volume_size_0: 130
+
+#
+# Instance specific parameters (using DPA3 info)
+#
+#    vnf_name: ccfx0002v
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/base_vIECCF_volume.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/base_vIECCF_volume.yml
new file mode 100644 (file)
index 0000000..073b102
--- /dev/null
@@ -0,0 +1,139 @@
+heat_template_version: 2014-10-16
+
+description: Volume creation template for vCCF
+
+## Note: Nokia Volume HOT file for vCCF
+## Copyright: Nokia 2016
+## Name: "base_vIECCF_volume.yml"
+## Date: 20 Dec 2016
+## Juno Version
+## Version History
+##     12/20/2016 
+##         - Initial version for IECCF R30.3.3
+##     01/06/2017
+##         - Updated vCCF package to address removal of shared volume for IO VMs
+##     01/19/2017
+##         - Updated vCCF package to address ICE feedback reviewed on 1/13/2017
+##         - Updated to remove Nokia related values and match AT&T environment
+##     02/17/2017
+##         - Updated vCCF package from Nokia
+##     09/27/2017
+##         - Updated for mini instance in DPA2a - vol reduction to match number of VMs
+
+parameters:
+    vnf_name:
+        type: string
+        description: Unique name for this VF instance
+        
+    plt_servicedata1_volume_size_0:
+        type: number
+        description: Size of Service Data 1 Volume for plt VMs
+        constraints:
+          - range: { min: 1, max: 9999 }
+            description: "Must be between 1 and 9999 GB"
+            
+    plt_servicedata2_volume_size_0:
+        type: number
+        description: Size of Service Data 2 Volume for plt VMs
+        constraints:
+          - range: { min: 1, max: 9999 }
+            description: "Must be between 1 and 9999 GB"
+            
+    app_volume_size_0: 
+        type: number
+        description: Size of Service Data 1 Volume for app VMs
+        constraints:
+          - range: { min: 1, max: 9999 }
+            description: "Must be between 1 and 9999 GB"
+
+resources:
+    plt_volume_shared_0:
+        type: OS::Cinder::Volume
+        properties:
+            size: { get_param: plt_servicedata2_volume_size_0 }
+            name: 
+                str_replace:
+                    template: $vnf_name-plt_volume_shared_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+
+    plt_volume_0:
+        type: OS::Cinder::Volume
+        properties:
+            size: { get_param: plt_servicedata1_volume_size_0 }
+            name: 
+                str_replace:
+                    template: $vnf_name-plt_volume_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+
+    plt_volume_1:
+        type: OS::Cinder::Volume
+        properties:
+            size: { get_param: plt_servicedata1_volume_size_0 }
+            name: 
+                str_replace:
+                    template: $vnf_name-plt_volume_1
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+
+    app_volume_0:
+        type: OS::Cinder::Volume
+        properties:
+            size: { get_param: app_volume_size_0 }
+            name: 
+                str_replace:
+                    template: $vnf_name-app_volume_0
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+
+    app_volume_1:
+        type: OS::Cinder::Volume
+        properties:
+            size: { get_param: app_volume_size_0 }
+            name: 
+                str_replace:
+                    template: $vnf_name-app_volume_1
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+
+    app_volume_2:
+        type: OS::Cinder::Volume
+        properties:
+            size: { get_param: app_volume_size_0 }
+            name: 
+                str_replace:
+                    template: $vnf_name-app_volume_2
+                    params:
+                        $vnf_name:
+                            get_param: vnf_name
+
+outputs:
+    plt_volume_shared_id_0:
+        description: ServiceData2 volume for plt VMs
+        value: {get_resource: plt_volume_shared_0}
+
+    plt_volume_id_0:
+        description: ServiceData1 volume for first plt VM
+        value: {get_resource: plt_volume_0}
+
+    plt_volume_id_1:
+        description: ServiceData1 volume for second plt VM
+        value: {get_resource: plt_volume_1}
+
+    app_volume_id_0:
+        description: ServiceData1 volume for first app VM
+        value: {get_resource: app_volume_0}
+
+    app_volume_id_1:
+        description: ServiceData1 volume for second app VM
+        value: {get_resource: app_volume_1}
+
+    app_volume_id_2:
+        description: ServiceData1 volume for third app VM
+        value: {get_resource: app_volume_2}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/node_userdata_script.sh b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/in/node_userdata_script.sh
new file mode 100644 (file)
index 0000000..637c7ac
--- /dev/null
@@ -0,0 +1,152 @@
+#!/bin/sh
+
+# Save cs_cacert file
+cs_cacert="__cs_cacert__"
+[[ -n $cs_cacert ]] && {
+    echo "$cs_cacert" > /etc/ieccf/conf/cs_cacert
+    chmod 400 /etc/ieccf/conf/cs_cacert
+}
+      
+typeset -l ENABLE_DEBUG="__ieccf_debug__"
+[[ "$ENABLE_DEBUG" == "t" || "$ENABLE_DEBUG" == "y" ]] && export DEBUG=YES
+
+# Store ieccf config url in /etc/ieccf/conf/ieccf_config_url
+ic_url="__ieccf_config_url__"
+[[ -n $ic_url ]] && echo "$ic_url" > /etc/ieccf/conf/ieccf_config_url
+
+mkdir -p /etc/psp
+
+#
+# Common code for all nodes
+#
+
+# store VMID in /etc/psp/vmid
+cat /var/lib/cloud/data/instance-id > /etc/psp/vmid 2>/dev/null
+
+# Store siteinfo url in /etc/psp/siteinfo_url
+stack_name="__heat_stack_name__"
+[[ -n $stack_name ]] && echo "$stack_name" > /etc/psp/heat_stack_name
+
+# Store siteinfo url in /etc/psp/siteinfo_url
+si_url="__node_siteinfo_url__"
+[[ -n $si_url ]] && echo "$si_url" > /etc/psp/siteinfo_url
+
+# Store ActivePilot IP in /etc/psp/ActivePilot
+activepilot_ip=__activepilot_ip__
+[[ -n $activepilot_ip ]] && echo $activepilot_ip > /etc/psp/ActivePilot
+
+# Inject an ActivePilot route
+echo "$(</etc/psp/ActivePilot) dev eth0" > /etc/sysconfig/network-scripts/route-cloud0
+/etc/sysconfig/network-scripts/ifup-routes cloud0
+
+# Store host security key in /etc/psp/host_key
+host_key="__host_key__"
+[[ -n $host_key ]] && {
+echo "$host_key" > /etc/psp/host_key
+chmod 400 /etc/psp/host_key
+}
+
+# Store shared volume ID in /etc/psp/shared_volid1
+shared_volid1="__shared_volid1__"
+[[ $shared_volid1 != __*__  ]] && {
+echo "$shared_volid1" > /etc/psp/shared_volid1
+chmod 400 /etc/psp/shared_volid1
+}
+
+#
+# Pilot code
+#
+
+typeset -u pilot="__pilot__"
+[[ -n $pilot ]] || exit 0
+
+# Set I_am file
+rm -f /root/.I_am_[AB]
+touch /root/.I_am_$pilot
+
+# Allow SSH via Password
+sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
+sed -i 's/^PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
+service sshd restart
+
+# Pass ignore_audit through template
+typeset -u ignore_audit="__ignore_siteinfo_audit__"
+case $ignore_audit in
+    1|T|TRUE|ON|Y|YES) touch /root/ignore_audit;;
+esac
+    
+# Save os_cacert file
+os_cacert="__os_cacert__"
+[[ -n $os_cacert ]] && {
+    echo "$os_cacert" > /etc/psp/os_cacert
+    chmod 400 /etc/psp/os_cacert
+}
+
+# Update resolv.conf based on passed nameserver and domain
+nameserver1="__nameserver1__"
+nameserver2="__nameserver2__"
+domain="__domain__"
+[[ -n $nameserver1 ]] && {
+  # Need to modify the ifup-dhcp script so that ifup LSN doesn't append
+  # unwanted entries to resolv.conf
+  # This is necessary to support releases where udhcpc client is still used for internal
+  sed -i '/RESOLV_CONF=/a RESOLV_CONF="/tmp/resolv.overridden"' /etc/sysconfig/network-scripts/ifup-dhcp
+  
+  # Kill off any running DHCP clients as they may re-write resolv.conf
+  pkill -f /sbin/dhclient
+  
+  > /etc/resolv.conf
+  echo "; set by MCAS userdata script DHCP override" >> /etc/resolv.conf
+  [[ -n $domain ]] && echo search $domain >> /etc/resolv.conf
+  echo nameserver $nameserver1 >> /etc/resolv.conf
+  [[ -n $nameserver2 ]] && echo nameserver $nameserver2 >> /etc/resolv.conf
+  
+  # Need to set PEERDNS in network for RHEL6 dhclient support as
+  # dhclient-script doesn't read ifcfg files correctly
+  grep -qs PEERDNS=no /etc/sysconfig/network || echo PEERDNS=no >> /etc/sysconfig/network
+  
+  
+  # Update ifcfg files to prevent DHCP client resolv.conf changes
+  for f in /etc/sysconfig/network-scripts/ifcfg-cloud*; do
+    ifup ${f##ifcfg-} &
+  done
+}
+      
+# Localize exists, kick that off and exit
+if [[ -f /opt/config/bin/Localize ]]; then
+    rm -f /install/fresh.install
+    typeset -A args=([A]=install)
+    /opt/config/bin/Localize ${args[$pilot]} &
+else
+    # No Localize, Staging install, just setup and autoinstall
+    # will kick off newinstall1
+    mkdir -p /install
+    touch /install/fresh.install
+fi
+
+script_url="__script_url__"
+script_args="__script_args__"
+
+if [[ -n $script_url ]]; then
+tmp_script=/tmp/pilot${pilot}_startup
+# Delete any pre-existing script, we don't want to execute an old, leftover script
+rm -f $tmp_script
+while true; do
+    curl --connect-timeout 5 -o $tmp_script -gf $script_url 2>> ${tmp_script}.curl.out
+    [[ -f $tmp_script ]] && break
+    # Break for a detected SU/CPR in progress
+    [[ -f /root/.SU_inprog ]] && echo "SU detected" && exit 0
+    [[ -f /root/.CPR_inprog ]] && echo "CPR detected" && exit 0
+    echo "Download of $script_url failed, and no SU/CPR detected.  Waiting to try again."
+    sleep 3
+done
+
+chmod +x $tmp_script
+$tmp_script $script_args > ${tmp_script}.out; rc=$?
+(( rc == 0 )) || exit $rc
+fi
+
+post_exec="__post_exec__"
+eval $post_exec &
+
+exit 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/catalogInstances/computewithtwosameporttypes/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..f48028d
--- /dev/null
@@ -0,0 +1,2272 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.plt:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_plt_oam_0_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_plt_oam_0_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_plt_internal_0_port_allowed_address_pairs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      port_plt_oam_0_port_security_groups:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      compute_plt_config_drive:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+      port_plt_data_0_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_plt_internal_0_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_plt_data_0_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_plt_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_oam_0_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_internal_0_port_security_groups:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_plt_internal_0_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_plt_oam_0_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_plt_data_0_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_plt_data_0_port_allowed_address_pairs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      port_plt_internal_0_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_plt_data_0_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_plt_internal_0_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_plt_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_plt_data_0_port_security_groups:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_plt_internal_0_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_plt_data_0_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_plt_data_0_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_plt_data_0_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_plt_internal_0_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_plt_internal_0_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_plt_oam_0_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_plt_oam_0_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_plt_internal_0_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_oam_0_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      compute_plt_image_update_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_oam_0_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_plt_oam_0_port_allowed_address_pairs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      port_plt_data_0_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_data_0_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_plt_internal_0_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_plt_user_data_format:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_internal_0_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_data_0_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_data_0_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_plt_internal_0_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_plt_oam_0_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_oam_0_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_data_0_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_oam_0_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      compute_plt_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_plt_oam_0_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+    requirements:
+    - dependency_plt_plt_internal_0_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_plt_plt_internal_0_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_plt_plt_data_0_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_plt_plt_data_0_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_plt:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_plt:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_plt_plt_oam_0_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_plt_plt_oam_0_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      network.outgoing.bytes.rate_plt_plt_oam_0_port:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.openecomp.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_plt:
+        type: org.openecomp.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_plt:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.openecomp.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_plt:
+        type: org.openecomp.capabilities.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_plt_plt_internal_0_port:
+        type: org.openecomp.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_plt:
+        type: org.openecomp.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_plt:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.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_plt:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_plt:
+        type: org.openecomp.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_plt_plt_oam_0_port:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.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_plt_plt_data_0_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_plt:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_plt:
+        type: org.openecomp.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_plt:
+        type: org.openecomp.capabilities.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_plt_plt_internal_0_port:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.openecomp.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_plt_plt_oam_0_port:
+        type: org.openecomp.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_plt_plt_internal_0_port:
+        type: org.openecomp.capabilities.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_plt_plt_internal_0_port:
+        type: org.openecomp.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_plt_plt_oam_0_port:
+        type: org.openecomp.capabilities.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_plt_plt_oam_0_port:
+        type: org.openecomp.capabilities.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_plt_plt_data_0_port:
+        type: org.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_plt_plt_internal_0_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_plt:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_plt_plt_oam_0_port:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.openecomp.capabilities.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_plt_plt_data_0_port:
+        type: org.openecomp.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_plt_plt_internal_0_port:
+        type: org.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_plt_plt_internal_0_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      feature_plt_plt_internal_0_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      instance_plt:
+        type: org.openecomp.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_plt:
+        type: org.openecomp.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_plt:
+        type: org.openecomp.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_plt:
+        type: org.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_plt:
+        type: org.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_plt_plt_oam_0_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      memory.usage_plt:
+        type: org.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_plt_plt_oam_0_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_plt_plt_oam_0_port:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.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_plt_plt_data_0_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.requests_plt:
+        type: org.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_plt:
+        type: org.openecomp.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_plt_plt_internal_0_port:
+        type: org.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_plt:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_plt_plt_oam_0_port:
+        type: org.openecomp.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_plt_plt_data_0_port:
+        type: org.openecomp.capabilities.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_plt_plt_data_0_port:
+        type: org.openecomp.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_plt:
+        type: org.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_plt_plt_oam_0_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_plt_plt_internal_0_port:
+        type: org.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_plt:
+        type: org.openecomp.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_plt:
+        type: org.openecomp.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_plt_plt_data_0_port:
+        type: org.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_plt:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.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_plt_plt_data_0_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_plt_plt_data_0_port:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.openecomp.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_plt_plt_data_0_port:
+        type: org.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_plt:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_plt_plt_internal_0_port:
+        type: org.openecomp.capabilities.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_plt_plt_data_0_port:
+        type: org.openecomp.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_plt:
+        type: org.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_plt:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_plt:
+        type: org.openecomp.capabilities.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_plt:
+        type: org.openecomp.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_plt:
+        type: org.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.app:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_app_data_0_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      compute_app_scheduler_hints:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_app_internal_0_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_app_data_0_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_app_oam_0_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_app_oam_0_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_app_data_0_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_app_oam_0_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_app_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_app_config_drive:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+      port_app_oam_0_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_app_data_0_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_app_data_0_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_app_oam_0_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_app_data_0_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_app_data_0_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_app_internal_0_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_app_oam_0_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_app_metadata:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_app_data_0_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_app_internal_0_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_app_internal_0_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_app_internal_0_port_allowed_address_pairs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      port_app_data_0_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_app_oam_0_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_app_internal_0_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_app_internal_0_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_app_data_0_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_app_oam_0_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_app_oam_0_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_app_internal_0_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_app_data_0_port_security_groups:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_app_oam_0_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_app_internal_0_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_app_internal_0_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_app_internal_0_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_app_data_0_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_app_oam_0_port_security_groups:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_app_internal_0_port_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_app_oam_0_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_app_data_0_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_app_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_app_oam_0_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_app_internal_0_port_security_groups:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      compute_app_image_update_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_app_user_data_format:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - dependency_app:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_app:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_app_app_internal_0_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_app_app_internal_0_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_app_app_oam_0_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_app_app_oam_0_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_app_app_data_0_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_app_app_data_0_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      disk.device.write.requests_app:
+        type: org.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_app_app_oam_0_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.capacity_app:
+        type: org.openecomp.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_app:
+        type: org.openecomp.capabilities.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_app:
+        type: org.openecomp.capabilities.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_app_app_oam_0_port:
+        type: org.openecomp.capabilities.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_app_app_data_0_port:
+        type: org.openecomp.capabilities.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_app_app_oam_0_port:
+        type: org.openecomp.capabilities.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_app_app_internal_0_port:
+        type: org.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_app:
+        type: org.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_app:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_app:
+        type: org.openecomp.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_app:
+        type: org.openecomp.capabilities.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_app:
+        type: org.openecomp.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_app:
+        type: org.openecomp.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_app_app_oam_0_port:
+        type: org.openecomp.capabilities.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_app:
+        type: org.openecomp.capabilities.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_app:
+        type: org.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_app_app_data_0_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.requests.rate_app:
+        type: org.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_app:
+        type: org.openecomp.capabilities.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_app:
+        type: org.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_app_app_internal_0_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_app:
+        type: org.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_app:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_app_app_data_0_port:
+        type: org.openecomp.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_app:
+        type: org.openecomp.capabilities.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_app:
+        type: org.openecomp.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_app:
+        type: org.openecomp.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_app:
+        type: org.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_app:
+        type: org.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_app_app_oam_0_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_app:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_app_app_internal_0_port:
+        type: org.openecomp.capabilities.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_app_app_oam_0_port:
+        type: org.openecomp.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_app_app_internal_0_port:
+        type: org.openecomp.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_app_app_oam_0_port:
+        type: org.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_app:
+        type: org.openecomp.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_app:
+        type: org.openecomp.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_app_app_oam_0_port:
+        type: org.openecomp.capabilities.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_app_app_data_0_port:
+        type: org.openecomp.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_app:
+        type: org.openecomp.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_app:
+        type: org.openecomp.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_app_app_internal_0_port:
+        type: org.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_app_app_data_0_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.bytes.rate_app_app_oam_0_port:
+        type: org.openecomp.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_app_app_internal_0_port:
+        type: org.openecomp.capabilities.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_app_app_internal_0_port:
+        type: org.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_app:
+        type: org.openecomp.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_app_app_oam_0_port:
+        type: org.openecomp.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_app_app_data_0_port:
+        type: org.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_app:
+        type: org.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_app_app_data_0_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_app:
+        type: org.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_app:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes_app:
+        type: org.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_app:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_app_app_data_0_port:
+        type: org.openecomp.capabilities.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_app:
+        type: org.openecomp.capabilities.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_app:
+        type: org.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_app:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.bytes.rate_app:
+        type: org.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_app_app_oam_0_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.usage_app:
+        type: org.openecomp.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_app_app_data_0_port:
+        type: org.openecomp.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_app_app_data_0_port:
+        type: org.openecomp.capabilities.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_app_app_internal_0_port:
+        type: org.openecomp.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_app:
+        type: org.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_app_app_internal_0_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      instance_app:
+        type: org.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_app_app_internal_0_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_app_app_data_0_port:
+        type: org.openecomp.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_app_app_internal_0_port:
+        type: org.openecomp.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_app:
+        type: org.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.iox:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_iox_data_0_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_iox_oam_0_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_iox_internal_0_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_iox_data_0_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_iox_data_0_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_iox_data_0_port_allowed_address_pairs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      port_iox_internal_0_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_iox_oam_0_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_iox_oam_0_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_iox_oam_0_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_iox_user_data_format:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_iox_data_0_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_iox_internal_0_port_allowed_address_pairs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      compute_iox_config_drive:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: boolean
+      port_iox_internal_0_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_iox_oam_0_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_iox_data_0_port_security_groups:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_iox_internal_0_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      compute_iox_image_update_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_iox_oam_0_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_iox_oam_0_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_iox_internal_0_port_security_groups:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_iox_oam_0_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_iox_data_0_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_iox_internal_0_port_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_iox_oam_0_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_iox_data_0_port_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      compute_iox_name:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_iox_data_0_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_iox_internal_0_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_iox_internal_0_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_iox_data_0_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_iox_data_0_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_iox_oam_0_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_iox_internal_0_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_iox_data_0_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_iox_data_0_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      compute_iox_metadata:
+        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_iox_internal_0_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_iox_oam_0_port_allowed_address_pairs:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.network.AddressPair
+      port_iox_internal_0_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_iox_availability_zone:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_iox_oam_0_port_security_groups:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: json
+      port_iox_oam_0_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_iox_oam_0_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_iox_internal_0_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_iox_data_0_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+    requirements:
+    - dependency_iox_iox_data_0_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_iox_iox_data_0_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_iox:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_iox:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_iox_iox_oam_0_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_iox_iox_oam_0_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_iox_iox_internal_0_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_iox_iox_internal_0_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      cpu.delta_iox:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.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_iox:
+        type: org.openecomp.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_iox_iox_data_0_port:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.openecomp.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_iox:
+        type: org.openecomp.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_iox:
+        type: org.openecomp.capabilities.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_iox_iox_oam_0_port:
+        type: org.openecomp.capabilities.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_iox_iox_internal_0_port:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.openecomp.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_iox:
+        type: org.openecomp.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_iox:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.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_iox_iox_data_0_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.root.size_iox:
+        type: org.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_iox:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.openecomp.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_iox_iox_data_0_port:
+        type: org.openecomp.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_iox:
+        type: org.openecomp.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_iox_iox_oam_0_port:
+        type: org.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_iox_iox_data_0_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_iox_iox_oam_0_port:
+        type: org.openecomp.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_iox:
+        type: org.openecomp.capabilities.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_iox_iox_data_0_port:
+        type: org.openecomp.capabilities.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_iox_iox_internal_0_port:
+        type: org.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_iox:
+        type: org.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_iox_iox_oam_0_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      network.incoming.bytes_iox_iox_data_0_port:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.openecomp.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_iox:
+        type: org.openecomp.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_iox_iox_internal_0_port:
+        type: org.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_iox:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      binding_iox_iox_internal_0_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.requests_iox:
+        type: org.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_iox:
+        type: org.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_iox_iox_internal_0_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes_iox_iox_internal_0_port:
+        type: org.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_iox:
+        type: org.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_iox_iox_oam_0_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_iox:
+        type: org.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_iox:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_iox:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      memory.resident_iox:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.openecomp.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_iox_iox_internal_0_port:
+        type: org.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_iox_iox_data_0_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      network.outgoing.bytes.rate_iox_iox_oam_0_port:
+        type: org.openecomp.capabilities.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_iox_iox_internal_0_port:
+        type: org.openecomp.capabilities.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_iox_iox_oam_0_port:
+        type: org.openecomp.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_iox:
+        type: org.openecomp.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_iox_iox_oam_0_port:
+        type: org.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_iox:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_iox:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      host_iox:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_iox:
+        type: org.openecomp.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_iox:
+        type: org.openecomp.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_iox:
+        type: org.openecomp.capabilities.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_iox_iox_oam_0_port:
+        type: org.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_iox:
+        type: org.openecomp.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_iox:
+        type: org.openecomp.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_iox_iox_data_0_port:
+        type: org.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_iox_iox_oam_0_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_iox_iox_internal_0_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets_iox_iox_internal_0_port:
+        type: org.openecomp.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_iox_iox_oam_0_port:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.openecomp.capabilities.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_iox_iox_data_0_port:
+        type: org.openecomp.capabilities.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_iox_iox_data_0_port:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.openecomp.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_iox_iox_internal_0_port:
+        type: org.openecomp.capabilities.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_iox:
+        type: org.openecomp.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_iox_iox_data_0_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+        occurrences:
+        - 1
+        - UNBOUNDED
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..22ad213
--- /dev/null
@@ -0,0 +1,1542 @@
+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:
+    app_volume_size_0:
+      hidden: false
+      immutable: false
+      type: float
+      description: Size of Service Data 1 Volume for app VMs
+      default: 130
+      constraints:
+      - in_range:
+        - 1
+        - 9999
+    plt_data_floating_v6_ip:
+      hidden: false
+      immutable: false
+      type: string
+      description: Floating IPv6 for plt VMs on the DATA network
+    iox_data_floating_v6_ip:
+      hidden: false
+      immutable: false
+      type: string
+      description: Floating IPv6 for iox VMs on the DATA network
+    plt_data_v6_ips:
+      hidden: false
+      immutable: false
+      type: list
+      description: Fixed IPv6 assignments for plt VMs on the DATA network
+      entry_schema:
+        type: string
+    iox_data_v6_ips:
+      hidden: false
+      immutable: false
+      type: list
+      description: Fixed IPv6 assignments for iox VMs on the DATA network
+      entry_schema:
+        type: string
+    plt_volume_shared_id_0:
+      hidden: false
+      immutable: false
+      type: string
+      description: ServiceData2 volume for plt VMs
+    plt_oam_ips:
+      hidden: false
+      immutable: false
+      type: list
+      description: Fixed IPv4 assignments for plt VMs on the OAM network
+      entry_schema:
+        type: string
+    openstack_cacert:
+      label: OpenStack CA Certificate
+      hidden: false
+      immutable: false
+      type: string
+      description: CA Certificate to use for OpenStack client calls.
+      default: ''
+    siteinfo_url:
+      hidden: false
+      immutable: false
+      type: string
+      description: siteinfo url
+    plt_pair_uuid:
+      hidden: false
+      immutable: false
+      type: string
+      description: UUID for plt VM pair
+      default: 573f433e25ba8
+    app_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: VM names for app VMs
+      entry_schema:
+        type: string
+    iox_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: VM names for iox VMs
+      entry_schema:
+        type: string
+    plt_servicedata2_volume_size_0:
+      hidden: false
+      immutable: false
+      type: float
+      description: Size of Service Data 2 Volume for plt VMs
+      default: 150
+      constraints:
+      - in_range:
+        - 1
+        - 9999
+    app_volume_id_0:
+      hidden: false
+      immutable: false
+      type: string
+      description: ServiceData1 volume for first app VM
+    plt_servicedata1_volume_size_0:
+      hidden: false
+      immutable: false
+      type: float
+      description: Size of Service Data 1 Volume for plt VMs
+      default: 70
+      constraints:
+      - in_range:
+        - 1
+        - 9999
+    internal_subnet_cidr:
+      hidden: false
+      immutable: false
+      type: string
+      description: IP subnet for internal network
+      default: 169.30.12.0/24
+    app_volume_id_1:
+      hidden: false
+      immutable: false
+      type: string
+      description: ServiceData1 volume for second app VM
+    domain:
+      hidden: false
+      immutable: false
+      type: string
+      description: What is this domain?
+    app_volume_id_2:
+      hidden: false
+      immutable: false
+      type: string
+      description: ServiceData1 volume for third app VM
+    plt_image_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: Pilot image
+      default: USP_IECF-PILOT_30.3.3-mcas4.4.6.qcow2
+    app_image_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: App image
+      default: USP_IECF-APP_30.3.3-mcas4.4.6.qcow2
+    plt_oam_floating_ip:
+      hidden: false
+      immutable: false
+      type: string
+      description: Floating IPv4 for plt VMs on the OAM network
+    plt_flavor_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: Pilot flavor
+      default: nd.c2r4d50
+    vf_module_id:
+      hidden: false
+      immutable: false
+      type: string
+      description: Unique ID for this VF Module instance
+    iox_flavor_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: IO flavor
+      default: nd.c2r4d50
+    app_security_groups:
+      hidden: false
+      immutable: false
+      type: list
+      description: App security group
+      entry_schema:
+        type: string
+    vnf_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: Unique name for this VF instance
+    config_server_cacert:
+      label: configure server CA Certificate
+      hidden: false
+      immutable: false
+      type: string
+      description: CA Certificate for download from siteinfo url and config url.
+      default: ''
+    vf_module_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: Unique name for this VF Module instance
+    oam_security_groups:
+      hidden: false
+      immutable: false
+      type: list
+      description: OAM security group
+      entry_schema:
+        type: string
+    iox_oam_ips:
+      hidden: false
+      immutable: false
+      type: list
+      description: Fixed IPv4 assignments for iox VMs on the OAM network
+      entry_schema:
+        type: string
+    vnf_id:
+      hidden: false
+      immutable: false
+      type: string
+      description: Unique ID for this VF instance
+    iox_image_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: IO image
+      default: USP_IECF-IO_30.3.3-mcas4.4.6.qcow2
+    availability_zone_0:
+      hidden: false
+      immutable: false
+      type: string
+      description: First availability zone ID or Name
+    ignore_siteinfo_audit:
+      label: Siteinfo Audit Ignore Flag
+      hidden: false
+      immutable: false
+      type: string
+      description: Set to true if siteinfo audit failure should not prevent system installation
+    availability_zone_1:
+      hidden: false
+      immutable: false
+      type: string
+      description: Second availability zone ID or Name
+    data_net_id:
+      hidden: false
+      immutable: false
+      type: string
+      description: DATA network
+    plt_names:
+      hidden: false
+      immutable: false
+      type: list
+      description: VM names for plt VMs
+      entry_schema:
+        type: string
+    plt_security_groups:
+      hidden: false
+      immutable: false
+      type: list
+      description: Pilot security group
+      entry_schema:
+        type: string
+    app_data_v6_ips:
+      hidden: false
+      immutable: false
+      type: list
+      description: Fixed IPv6 assignments for app VMs on the DATA network
+      entry_schema:
+        type: string
+    iox_security_groups:
+      hidden: false
+      immutable: false
+      type: list
+      description: IO security group
+      entry_schema:
+        type: string
+    ieccf_debug:
+      hidden: false
+      immutable: false
+      type: string
+      description: IECCF debug flag
+      default: false
+    name_server_2:
+      hidden: false
+      immutable: false
+      type: string
+      description: IP address of name server 2
+    app_oam_ips:
+      hidden: false
+      immutable: false
+      type: list
+      description: Fixed IPv4 assignments for app VMs on the OAM network
+      entry_schema:
+        type: string
+    app_flavor_name:
+      hidden: false
+      immutable: false
+      type: string
+      description: App flavor
+      default: nd.c2r4d50
+    name_server_1:
+      hidden: false
+      immutable: false
+      type: string
+      description: IP address of name server 1
+    oam_net_id:
+      hidden: false
+      immutable: false
+      type: string
+      description: OAM network
+    iox_oam_floating_ip:
+      hidden: false
+      immutable: false
+      type: string
+      description: Floating IPv4 for iox VMs on the OAM network
+    ieccf_config_url:
+      hidden: false
+      immutable: false
+      type: string
+      description: IECCF configuration package URL
+    iox_pair_uuid:
+      hidden: false
+      immutable: false
+      type: string
+      description: UUID for iox VM pair
+      default: 573f433e284b4
+    plt_volume_id_0:
+      hidden: false
+      immutable: false
+      type: string
+      description: ServiceData1 volume for first plt VM
+    plt_volume_id_1:
+      hidden: false
+      immutable: false
+      type: string
+      description: ServiceData1 volume for second plt VM
+    data_security_groups:
+      hidden: false
+      immutable: false
+      type: list
+      description: DATA security group
+      entry_schema:
+        type: string
+  node_templates:
+    network:data:vip:m001:m002:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        security_groups:
+          get_input: data_security_groups
+        fixed_ips:
+        - ip_address:
+            get_input: plt_data_floating_v6_ip
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        name:
+          str_replace:
+            template: $vnf_name-network_data_vip_m001_m002
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        network_role_tag: data
+        network:
+          get_input: data_net_id
+    network:data:vip:m004:m003:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        security_groups:
+          get_input: data_security_groups
+        fixed_ips:
+        - ip_address:
+            get_input: iox_data_floating_v6_ip
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        name:
+          str_replace:
+            template: $vnf_name-network_data_vip_m004_m003
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        network_role_tag: data
+        network:
+          get_input: data_net_id
+    plt_volume_shared_0:
+      type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+      properties:
+        size: '(get_input : plt_servicedata2_volume_size_0) * 1024'
+        name:
+          str_replace:
+            template: $vnf_name-plt_volume_shared_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+    network:oam:vip:m001:m002:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        security_groups:
+          get_input: oam_security_groups
+        fixed_ips:
+        - ip_address:
+            get_input: plt_oam_floating_ip
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        name:
+          str_replace:
+            template: $vnf_name-network_oam_vip_m001_m002
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        network_role_tag: oam
+        network:
+          get_input: oam_net_id
+    app_volume_1:
+      type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+      properties:
+        size: '(get_input : app_volume_size_0) * 1024'
+        name:
+          str_replace:
+            template: $vnf_name-app_volume_1
+            params:
+              $vnf_name:
+                get_input: vnf_name
+    app_volume_2:
+      type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+      properties:
+        size: '(get_input : app_volume_size_0) * 1024'
+        name:
+          str_replace:
+            template: $vnf_name-app_volume_2
+            params:
+              $vnf_name:
+                get_input: vnf_name
+    app_volume_0:
+      type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+      properties:
+        size: '(get_input : app_volume_size_0) * 1024'
+        name:
+          str_replace:
+            template: $vnf_name-app_volume_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+    plt_volume_1:
+      type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+      properties:
+        size: '(get_input : plt_servicedata1_volume_size_0) * 1024'
+        name:
+          str_replace:
+            template: $vnf_name-plt_volume_1
+            params:
+              $vnf_name:
+                get_input: vnf_name
+    plt_volume_0:
+      type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+      properties:
+        size: '(get_input : plt_servicedata1_volume_size_0) * 1024'
+        name:
+          str_replace:
+            template: $vnf_name-plt_volume_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+    abstract_iox_0:
+      type: org.openecomp.resource.abstract.nodes.iox
+      directives:
+      - substitutable
+      properties:
+        port_iox_data_0_port_ip_requirements:
+        - ip_version: 6
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_iox_internal_0_port_network:
+        - internal_net_0
+        port_iox_data_0_port_name:
+        - str_replace:
+            template: $vnf_name-iox_data_1_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        vm_flavor_name:
+          get_input: iox_flavor_name
+        port_iox_data_0_port_allowed_address_pairs:
+        - ip_address:
+            get_attribute:
+            - network:data:vip:m004:m003
+            - fixed_ips
+            - 0
+            - ip_address
+        port_iox_internal_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: true
+        vm_image_name:
+          get_input: iox_image_name
+        port_iox_oam_0_port_name:
+        - str_replace:
+            template: $vnf_name-iox_oam_1_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_iox_oam_0_port_network_role_tag: oam
+        compute_iox_user_data_format:
+        - RAW
+        port_iox_data_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - iox_data_v6_ips
+            - 1
+        port_iox_internal_0_port_allowed_address_pairs:
+        - ip_address:
+            get_input: internal_subnet_cidr
+        compute_iox_config_drive:
+        - true
+        port_iox_oam_0_port_replacement_policy:
+        - AUTO
+        port_iox_data_0_port_security_groups:
+        - get_input: data_security_groups
+        compute_iox_image_update_policy:
+        - REBUILD
+        port_iox_oam_0_port_network:
+        - get_input: oam_net_id
+        port_iox_internal_0_port_security_groups:
+        - get_input: iox_security_groups
+        port_iox_internal_0_port_name:
+        - str_replace:
+            template: $vnf_name-iox_internal_1_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_iox_oam_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - iox_oam_ips
+            - 1
+        compute_iox_name:
+        - get_input:
+          - iox_names
+          - 1
+        port_iox_data_0_port_network:
+        - get_input: data_net_id
+        port_iox_internal_0_port_replacement_policy:
+        - AUTO
+        port_iox_internal_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_iox_data_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_iox_data_0_port_replacement_policy:
+        - AUTO
+        compute_iox_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vm_role: iox
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+          vf_module_name:
+            get_input: vf_module_name
+        port_iox_oam_0_port_allowed_address_pairs:
+        - ip_address:
+            get_attribute:
+            - network:io:vip:m004:m003
+            - fixed_ips
+            - 0
+            - ip_address
+        compute_iox_availability_zone:
+        - get_input: availability_zone_1
+        port_iox_oam_0_port_security_groups:
+        - get_input: oam_security_groups
+        port_iox_oam_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_iox_oam_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_iox_data_0_port_network_role_tag: data
+        service_template_filter:
+          substitute_service_template: Nested_ioxServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_iox_iox_internal_0_port:
+          capability: tosca.capabilities.network.Linkable
+          node: internal_net_0
+          relationship: tosca.relationships.network.LinksTo
+    abstract_app_0:
+      type: org.openecomp.resource.abstract.nodes.app
+      directives:
+      - substitutable
+      properties:
+        port_app_data_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        compute_app_scheduler_hints:
+        - group: app_server_group_group
+        port_app_internal_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: true
+        port_app_oam_0_port_replacement_policy:
+        - AUTO
+        port_app_oam_0_port_network:
+        - get_input: oam_net_id
+        vm_flavor_name:
+          get_input: app_flavor_name
+        port_app_data_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - app_data_v6_ips
+            - 2
+        vm_image_name:
+          get_input: app_image_name
+        port_app_oam_0_port_name:
+        - str_replace:
+            template: $vnf_name-app_oam_2_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        compute_app_availability_zone:
+        - get_input: availability_zone_0
+        compute_app_config_drive:
+        - true
+        port_app_oam_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_app_data_0_port_network:
+        - get_input: data_net_id
+        port_app_data_0_port_network_role_tag: data
+        port_app_oam_0_port_network_role_tag: oam
+        compute_app_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vm_role: app
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+          vf_module_name:
+            get_input: vf_module_name
+        port_app_data_0_port_ip_requirements:
+        - ip_version: 6
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_app_internal_0_port_allowed_address_pairs:
+        - ip_address:
+            get_input: internal_subnet_cidr
+        port_app_data_0_port_name:
+        - str_replace:
+            template: $vnf_name-app_data_2_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_app_oam_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_app_internal_0_port_network:
+        - internal_net_0
+        port_app_data_0_port_security_groups:
+        - get_input: data_security_groups
+        port_app_internal_0_port_replacement_policy:
+        - AUTO
+        port_app_internal_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_app_oam_0_port_security_groups:
+        - get_input: oam_security_groups
+        port_app_internal_0_port_name:
+        - str_replace:
+            template: $vnf_name-app_internal_2_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_app_oam_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - app_oam_ips
+            - 2
+        port_app_data_0_port_replacement_policy:
+        - AUTO
+        compute_app_name:
+        - get_input:
+          - app_names
+          - 2
+        port_app_internal_0_port_security_groups:
+        - get_input: app_security_groups
+        compute_app_image_update_policy:
+        - REBUILD
+        compute_app_user_data_format:
+        - RAW
+        service_template_filter:
+          substitute_service_template: Nested_appServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_app_app_internal_0_port:
+          capability: tosca.capabilities.network.Linkable
+          node: internal_net_0
+          relationship: tosca.relationships.network.LinksTo
+    network:system:vip:m001:m002:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: true
+        security_groups:
+          get_input: plt_security_groups
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        allowed_address_pairs:
+        - ip_address:
+            get_input: internal_subnet_cidr
+        name:
+          str_replace:
+            template: $vnf_name-network_system_vip_m001_m002
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        network: internal_net_0
+      requirements:
+      - link:
+          capability: tosca.capabilities.network.Linkable
+          node: internal_net_0
+          relationship: tosca.relationships.network.LinksTo
+    abstract_iox_1:
+      type: org.openecomp.resource.abstract.nodes.iox
+      directives:
+      - substitutable
+      properties:
+        port_iox_data_0_port_ip_requirements:
+        - ip_version: 6
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_iox_internal_0_port_network:
+        - internal_net_0
+        port_iox_data_0_port_name:
+        - str_replace:
+            template: $vnf_name-iox_data_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        vm_flavor_name:
+          get_input: iox_flavor_name
+        port_iox_data_0_port_allowed_address_pairs:
+        - ip_address:
+            get_attribute:
+            - network:data:vip:m004:m003
+            - fixed_ips
+            - 0
+            - ip_address
+        port_iox_internal_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: true
+        vm_image_name:
+          get_input: iox_image_name
+        port_iox_oam_0_port_name:
+        - str_replace:
+            template: $vnf_name-iox_oam_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_iox_oam_0_port_network_role_tag: oam
+        compute_iox_user_data_format:
+        - RAW
+        port_iox_data_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - iox_data_v6_ips
+            - 0
+        port_iox_internal_0_port_allowed_address_pairs:
+        - ip_address:
+            get_input: internal_subnet_cidr
+        compute_iox_config_drive:
+        - true
+        port_iox_oam_0_port_replacement_policy:
+        - AUTO
+        port_iox_data_0_port_security_groups:
+        - get_input: data_security_groups
+        compute_iox_image_update_policy:
+        - REBUILD
+        port_iox_oam_0_port_network:
+        - get_input: oam_net_id
+        port_iox_internal_0_port_security_groups:
+        - get_input: iox_security_groups
+        port_iox_internal_0_port_name:
+        - str_replace:
+            template: $vnf_name-iox_internal_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_iox_oam_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - iox_oam_ips
+            - 0
+        compute_iox_name:
+        - get_input:
+          - iox_names
+          - 0
+        port_iox_data_0_port_network:
+        - get_input: data_net_id
+        port_iox_internal_0_port_replacement_policy:
+        - AUTO
+        port_iox_internal_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_iox_data_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_iox_data_0_port_replacement_policy:
+        - AUTO
+        compute_iox_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vm_role: iox
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+          vf_module_name:
+            get_input: vf_module_name
+        port_iox_oam_0_port_allowed_address_pairs:
+        - ip_address:
+            get_attribute:
+            - network:io:vip:m004:m003
+            - fixed_ips
+            - 0
+            - ip_address
+        compute_iox_availability_zone:
+        - get_input: availability_zone_0
+        port_iox_oam_0_port_security_groups:
+        - get_input: oam_security_groups
+        port_iox_oam_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_iox_oam_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_iox_data_0_port_network_role_tag: data
+        service_template_filter:
+          substitute_service_template: Nested_ioxServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_iox_iox_internal_0_port:
+          capability: tosca.capabilities.network.Linkable
+          node: internal_net_0
+          relationship: tosca.relationships.network.LinksTo
+    abstract_app_2:
+      type: org.openecomp.resource.abstract.nodes.app
+      directives:
+      - substitutable
+      properties:
+        port_app_data_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        compute_app_scheduler_hints:
+        - group: app_server_group_group
+        port_app_internal_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: true
+        port_app_oam_0_port_replacement_policy:
+        - AUTO
+        port_app_oam_0_port_network:
+        - get_input: oam_net_id
+        vm_flavor_name:
+          get_input: app_flavor_name
+        port_app_data_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - app_data_v6_ips
+            - 1
+        vm_image_name:
+          get_input: app_image_name
+        port_app_oam_0_port_name:
+        - str_replace:
+            template: $vnf_name-app_oam_1_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        compute_app_availability_zone:
+        - get_input: availability_zone_1
+        compute_app_config_drive:
+        - true
+        port_app_oam_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_app_data_0_port_network:
+        - get_input: data_net_id
+        port_app_data_0_port_network_role_tag: data
+        port_app_oam_0_port_network_role_tag: oam
+        compute_app_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vm_role: app
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+          vf_module_name:
+            get_input: vf_module_name
+        port_app_data_0_port_ip_requirements:
+        - ip_version: 6
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_app_internal_0_port_allowed_address_pairs:
+        - ip_address:
+            get_input: internal_subnet_cidr
+        port_app_data_0_port_name:
+        - str_replace:
+            template: $vnf_name-app_data_1_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_app_oam_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_app_internal_0_port_network:
+        - internal_net_0
+        port_app_data_0_port_security_groups:
+        - get_input: data_security_groups
+        port_app_internal_0_port_replacement_policy:
+        - AUTO
+        port_app_internal_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_app_oam_0_port_security_groups:
+        - get_input: oam_security_groups
+        port_app_internal_0_port_name:
+        - str_replace:
+            template: $vnf_name-app_internal_1_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_app_oam_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - app_oam_ips
+            - 1
+        port_app_data_0_port_replacement_policy:
+        - AUTO
+        compute_app_name:
+        - get_input:
+          - app_names
+          - 1
+        port_app_internal_0_port_security_groups:
+        - get_input: app_security_groups
+        compute_app_image_update_policy:
+        - REBUILD
+        compute_app_user_data_format:
+        - RAW
+        service_template_filter:
+          substitute_service_template: Nested_appServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_app_app_internal_0_port:
+          capability: tosca.capabilities.network.Linkable
+          node: internal_net_0
+          relationship: tosca.relationships.network.LinksTo
+    abstract_app_1:
+      type: org.openecomp.resource.abstract.nodes.app
+      directives:
+      - substitutable
+      properties:
+        port_app_data_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        compute_app_scheduler_hints:
+        - group: app_server_group_group
+        port_app_internal_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: true
+        port_app_oam_0_port_replacement_policy:
+        - AUTO
+        port_app_oam_0_port_network:
+        - get_input: oam_net_id
+        vm_flavor_name:
+          get_input: app_flavor_name
+        port_app_data_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - app_data_v6_ips
+            - 0
+        vm_image_name:
+          get_input: app_image_name
+        port_app_oam_0_port_name:
+        - str_replace:
+            template: $vnf_name-app_oam_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        compute_app_availability_zone:
+        - get_input: availability_zone_0
+        compute_app_config_drive:
+        - true
+        port_app_oam_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_app_data_0_port_network:
+        - get_input: data_net_id
+        port_app_data_0_port_network_role_tag: data
+        port_app_oam_0_port_network_role_tag: oam
+        compute_app_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vm_role: app
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+          vf_module_name:
+            get_input: vf_module_name
+        port_app_data_0_port_ip_requirements:
+        - ip_version: 6
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_app_internal_0_port_allowed_address_pairs:
+        - ip_address:
+            get_input: internal_subnet_cidr
+        port_app_data_0_port_name:
+        - str_replace:
+            template: $vnf_name-app_data_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_app_oam_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_app_internal_0_port_network:
+        - internal_net_0
+        port_app_data_0_port_security_groups:
+        - get_input: data_security_groups
+        port_app_internal_0_port_replacement_policy:
+        - AUTO
+        port_app_internal_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_app_oam_0_port_security_groups:
+        - get_input: oam_security_groups
+        port_app_internal_0_port_name:
+        - str_replace:
+            template: $vnf_name-app_internal_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_app_oam_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - app_oam_ips
+            - 0
+        port_app_data_0_port_replacement_policy:
+        - AUTO
+        compute_app_name:
+        - get_input:
+          - app_names
+          - 0
+        port_app_internal_0_port_security_groups:
+        - get_input: app_security_groups
+        compute_app_image_update_policy:
+        - REBUILD
+        compute_app_user_data_format:
+        - RAW
+        service_template_filter:
+          substitute_service_template: Nested_appServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_app_app_internal_0_port:
+          capability: tosca.capabilities.network.Linkable
+          node: internal_net_0
+          relationship: tosca.relationships.network.LinksTo
+    internal_net_0:
+      type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
+      properties:
+        dhcp_enabled: 'True'
+        network_name:
+          str_replace:
+            template: $prefix-internal_net_0
+            params:
+              $prefix:
+                get_input: vnf_name
+        subnets:
+          internal_0_subnet_0:
+            enable_dhcp: 'True'
+            name:
+              str_replace:
+                template: $vnf_name-internal_0_subnet_0
+                params:
+                  $vnf_name:
+                    get_input: vnf_name
+            cidr:
+              get_input: internal_subnet_cidr
+            gateway_ip: ''
+    abstract_plt_1:
+      type: org.openecomp.resource.abstract.nodes.plt
+      directives:
+      - substitutable
+      properties:
+        port_plt_internal_0_port_allowed_address_pairs:
+        - ip_address:
+            get_input: internal_subnet_cidr
+        port_plt_oam_0_port_security_groups:
+        - get_input: oam_security_groups
+        compute_plt_config_drive:
+        - true
+        vm_flavor_name:
+          get_input: plt_flavor_name
+        port_plt_data_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - plt_data_v6_ips
+            - 1
+        vm_image_name:
+          get_input: plt_image_name
+        compute_plt_availability_zone:
+        - get_input: availability_zone_1
+        port_plt_oam_0_port_name:
+        - str_replace:
+            template: $vnf_name-plt_oam_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_plt_internal_0_port_security_groups:
+        - get_input: plt_security_groups
+        port_plt_oam_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_plt_data_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_plt_data_0_port_allowed_address_pairs:
+        - ip_address:
+            get_attribute:
+            - network:data:vip:m001:m002
+            - fixed_ips
+            - 0
+            - ip_address
+        port_plt_data_0_port_ip_requirements:
+        - ip_version: 6
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_plt_internal_0_port_network:
+        - internal_net_0
+        compute_plt_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vm_role: plt
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+          vf_module_name:
+            get_input: vf_module_name
+        port_plt_data_0_port_security_groups:
+        - get_input: data_security_groups
+        port_plt_internal_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_plt_data_0_port_network_role_tag: data
+        port_plt_internal_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: true
+        port_plt_oam_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - plt_oam_ips
+            - 0
+        port_plt_oam_0_port_network_role_tag: oam
+        port_plt_internal_0_port_name:
+        - str_replace:
+            template: $vnf_name-plt_internal_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        compute_plt_image_update_policy:
+        - REBUILD
+        port_plt_oam_0_port_allowed_address_pairs:
+        - ip_address:
+            get_attribute:
+            - network:oam:vip:m001:m002
+            - fixed_ips
+            - 0
+            - ip_address
+        port_plt_data_0_port_name:
+        - str_replace:
+            template: $vnf_name-plt_data_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        compute_plt_user_data_format:
+        - RAW
+        port_plt_internal_0_port_replacement_policy:
+        - AUTO
+        port_plt_data_0_port_network:
+        - get_input: data_net_id
+        port_plt_oam_0_port_network:
+        - get_input: oam_net_id
+        port_plt_oam_0_port_replacement_policy:
+        - AUTO
+        port_plt_data_0_port_replacement_policy:
+        - AUTO
+        port_plt_oam_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        compute_plt_name:
+        - get_input:
+          - plt_names
+          - 1
+        service_template_filter:
+          substitute_service_template: Nested_pltServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_plt_plt_internal_0_port:
+          capability: tosca.capabilities.network.Linkable
+          node: internal_net_0
+          relationship: tosca.relationships.network.LinksTo
+    abstract_plt_0:
+      type: org.openecomp.resource.abstract.nodes.plt
+      directives:
+      - substitutable
+      properties:
+        port_plt_internal_0_port_allowed_address_pairs:
+        - ip_address:
+            get_input: internal_subnet_cidr
+        port_plt_oam_0_port_security_groups:
+        - get_input: oam_security_groups
+        compute_plt_config_drive:
+        - true
+        vm_flavor_name:
+          get_input: plt_flavor_name
+        port_plt_data_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - plt_data_v6_ips
+            - 0
+        vm_image_name:
+          get_input: plt_image_name
+        compute_plt_availability_zone:
+        - get_input: availability_zone_0
+        port_plt_oam_0_port_name:
+        - str_replace:
+            template: $vnf_name-plt_oam_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        port_plt_internal_0_port_security_groups:
+        - get_input: plt_security_groups
+        port_plt_oam_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_plt_data_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_plt_data_0_port_allowed_address_pairs:
+        - ip_address:
+            get_attribute:
+            - network:data:vip:m001:m002
+            - fixed_ips
+            - 0
+            - ip_address
+        port_plt_data_0_port_ip_requirements:
+        - ip_version: 6
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_plt_internal_0_port_network:
+        - internal_net_0
+        compute_plt_metadata:
+        - vf_module_id:
+            get_input: vf_module_id
+          vm_role: plt
+          vnf_id:
+            get_input: vnf_id
+          vnf_name:
+            get_input: vnf_name
+          vf_module_name:
+            get_input: vf_module_name
+        port_plt_data_0_port_security_groups:
+        - get_input: data_security_groups
+        port_plt_internal_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_plt_data_0_port_network_role_tag: data
+        port_plt_internal_0_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: true
+        port_plt_oam_0_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - plt_oam_ips
+            - 0
+        port_plt_oam_0_port_network_role_tag: oam
+        port_plt_internal_0_port_name:
+        - str_replace:
+            template: $vnf_name-plt_internal_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        compute_plt_image_update_policy:
+        - REBUILD
+        port_plt_oam_0_port_allowed_address_pairs:
+        - ip_address:
+            get_attribute:
+            - network:oam:vip:m001:m002
+            - fixed_ips
+            - 0
+            - ip_address
+        port_plt_data_0_port_name:
+        - str_replace:
+            template: $vnf_name-plt_data_0_port_0
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        compute_plt_user_data_format:
+        - RAW
+        port_plt_internal_0_port_replacement_policy:
+        - AUTO
+        port_plt_data_0_port_network:
+        - get_input: data_net_id
+        port_plt_oam_0_port_network:
+        - get_input: oam_net_id
+        port_plt_oam_0_port_replacement_policy:
+        - AUTO
+        port_plt_data_0_port_replacement_policy:
+        - AUTO
+        port_plt_oam_0_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        compute_plt_name:
+        - get_input:
+          - plt_names
+          - 0
+        service_template_filter:
+          substitute_service_template: Nested_pltServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+      requirements:
+      - link_plt_plt_internal_0_port:
+          capability: tosca.capabilities.network.Linkable
+          node: internal_net_0
+          relationship: tosca.relationships.network.LinksTo
+    network:io:vip:m004:m003:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy: AUTO
+        ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        security_groups:
+          get_input: oam_security_groups
+        fixed_ips:
+        - ip_address:
+            get_input: iox_oam_floating_ip
+        mac_requirements:
+          mac_count_required:
+            is_required: false
+        name:
+          str_replace:
+            template: $vnf_name-network_io_vip_m004_m003
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        network_role_tag: oam
+        network:
+          get_input: oam_net_id
+  groups:
+    base_vIECCF_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vIECCF.yml
+      members:
+      - network:data:vip:m001:m002
+      - network:data:vip:m004:m003
+      - network:oam:vip:m001:m002
+      - network:system:vip:m001:m002
+      - internal_net_0
+      - network:io:vip:m004:m003
+      - abstract_iox_0
+      - abstract_iox_1
+      - abstract_app_0
+      - abstract_app_1
+      - abstract_app_2
+      - abstract_plt_0
+      - abstract_plt_1
+    app_server_group_group:
+      type: tosca.groups.Root
+      members:
+      - abstract_app_0
+      - abstract_app_1
+      - abstract_app_2
+    base_vIECCF_volume_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/base_vIECCF_volume.yml
+        description: Volume creation template for vCCF
+      members:
+      - app_volume_1
+      - app_volume_2
+      - plt_volume_shared_0
+      - app_volume_0
+      - plt_volume_1
+      - plt_volume_0
+  outputs:
+    plt_volume_shared_id_0:
+      description: ServiceData2 volume for plt VMs
+      value: plt_volume_shared_0
+    oam_management_v4_address:
+      value:
+        get_input: plt_oam_floating_ip
+    app_volume_id_0:
+      description: ServiceData1 volume for first app VM
+      value: app_volume_0
+    app_volume_id_1:
+      description: ServiceData1 volume for second app VM
+      value: app_volume_1
+    app_volume_id_2:
+      description: ServiceData1 volume for third app VM
+      value: app_volume_2
+    plt_volume_id_0:
+      description: ServiceData1 volume for first plt VM
+      value: plt_volume_0
+    plt_volume_id_1:
+      description: ServiceData1 volume for second plt VM
+      value: plt_volume_1
+  policies:
+    app_server_group_policy:
+      type: org.openecomp.policies.placement.Antilocate
+      properties:
+        name:
+          str_replace:
+            template: $vnf_name-app_server_group
+            params:
+              $vnf_name:
+                get_input: vnf_name
+        container_type: host
+      targets:
+      - app_server_group_group
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/Nested_appServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/Nested_appServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..096c214
--- /dev/null
@@ -0,0 +1,632 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_app
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.app:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_app_data_0_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    compute_app_scheduler_hints:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_app_internal_0_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_app_data_0_port_network_role:
+      type: string
+      required: true
+    port_app_oam_0_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_app_oam_0_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    port_app_data_0_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    vm_image_name:
+      type: string
+      required: true
+    port_app_oam_0_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_app_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_app_config_drive:
+      type: list
+      required: true
+      entry_schema:
+        type: boolean
+    port_app_oam_0_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_app_data_0_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_app_data_0_port_network_role_tag:
+      type: string
+      required: true
+    port_app_oam_0_port_network_role_tag:
+      type: string
+      required: true
+    port_app_data_0_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_app_data_0_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_app_internal_0_port_network_role_tag:
+      type: string
+      required: true
+    port_app_oam_0_port_network_role:
+      type: string
+      required: true
+    compute_app_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_app_data_0_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_app_internal_0_port_network_role:
+      type: string
+      required: true
+    port_app_internal_0_port_subnetpoolid:
+      type: string
+      required: true
+    port_app_internal_0_port_allowed_address_pairs:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.network.AddressPair
+    port_app_data_0_port_subnetpoolid:
+      type: string
+      required: true
+    port_app_oam_0_port_subnetpoolid:
+      type: string
+      required: true
+    port_app_internal_0_port_order:
+      type: integer
+      required: true
+    port_app_internal_0_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_app_data_0_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_app_oam_0_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_app_oam_0_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_app_internal_0_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_app_data_0_port_security_groups:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_app_oam_0_port_order:
+      type: integer
+      required: true
+    port_app_internal_0_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_app_internal_0_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_app_internal_0_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_app_data_0_port_order:
+      type: integer
+      required: true
+    port_app_oam_0_port_security_groups:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_app_internal_0_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_app_oam_0_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_app_data_0_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_app_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_app_oam_0_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_app_internal_0_port_security_groups:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    compute_app_image_update_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_app_user_data_format:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+  node_templates:
+    app:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.app
+      properties:
+        availability_zone:
+          get_input:
+          - compute_app_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_app_metadata
+          - index_value
+        config_drive:
+          get_input:
+          - compute_app_config_drive
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_app_name
+          - index_value
+        image_update_policy:
+          get_input:
+          - compute_app_image_update_policy
+          - index_value
+        scheduler_hints:
+          get_input:
+          - compute_app_scheduler_hints
+          - index_value
+        user_data_format:
+          get_input:
+          - compute_app_user_data_format
+          - index_value
+    app_app_internal_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy:
+          get_input:
+          - port_app_internal_0_port_replacement_policy
+          - index_value
+        mac_requirements:
+          get_input: port_app_internal_0_port_mac_requirements
+        allowed_address_pairs:
+          get_input: port_app_internal_0_port_allowed_address_pairs
+        order:
+          get_input: port_app_internal_0_port_order
+        security_groups:
+          get_input:
+          - port_app_internal_0_port_security_groups
+          - index_value
+        exCP_naming:
+          get_input: port_app_internal_0_port_exCP_naming
+        vlan_requirements:
+          get_input: port_app_internal_0_port_vlan_requirements
+        ip_requirements:
+          get_input: port_app_internal_0_port_ip_requirements
+        network_role_tag:
+          get_input: port_app_internal_0_port_network_role_tag
+        network_role:
+          get_input: port_app_internal_0_port_network_role
+        subnetpoolid:
+          get_input: port_app_internal_0_port_subnetpoolid
+        name:
+          get_input:
+          - port_app_internal_0_port_name
+          - index_value
+        network:
+          get_input:
+          - port_app_internal_0_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: app
+          relationship: tosca.relationships.network.BindsTo
+    app_app_oam_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy:
+          get_input:
+          - port_app_oam_0_port_replacement_policy
+          - index_value
+        mac_requirements:
+          get_input: port_app_oam_0_port_mac_requirements
+        order:
+          get_input: port_app_oam_0_port_order
+        security_groups:
+          get_input:
+          - port_app_oam_0_port_security_groups
+          - index_value
+        exCP_naming:
+          get_input: port_app_oam_0_port_exCP_naming
+        vlan_requirements:
+          get_input: port_app_oam_0_port_vlan_requirements
+        ip_requirements:
+          get_input: port_app_oam_0_port_ip_requirements
+        network_role_tag:
+          get_input: port_app_oam_0_port_network_role_tag
+        network_role:
+          get_input: port_app_oam_0_port_network_role
+        subnetpoolid:
+          get_input: port_app_oam_0_port_subnetpoolid
+        fixed_ips:
+          get_input: port_app_oam_0_port_fixed_ips
+        name:
+          get_input:
+          - port_app_oam_0_port_name
+          - index_value
+        network:
+          get_input:
+          - port_app_oam_0_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: app
+          relationship: tosca.relationships.network.BindsTo
+    app_app_data_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy:
+          get_input:
+          - port_app_data_0_port_replacement_policy
+          - index_value
+        mac_requirements:
+          get_input: port_app_data_0_port_mac_requirements
+        order:
+          get_input: port_app_data_0_port_order
+        security_groups:
+          get_input:
+          - port_app_data_0_port_security_groups
+          - index_value
+        exCP_naming:
+          get_input: port_app_data_0_port_exCP_naming
+        vlan_requirements:
+          get_input: port_app_data_0_port_vlan_requirements
+        ip_requirements:
+          get_input: port_app_data_0_port_ip_requirements
+        network_role_tag:
+          get_input: port_app_data_0_port_network_role_tag
+        network_role:
+          get_input: port_app_data_0_port_network_role
+        subnetpoolid:
+          get_input: port_app_data_0_port_subnetpoolid
+        fixed_ips:
+          get_input: port_app_data_0_port_fixed_ips
+        name:
+          get_input:
+          - port_app_data_0_port_name
+          - index_value
+        network:
+          get_input:
+          - port_app_data_0_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: app
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.app
+    capabilities:
+      disk.device.write.requests_app:
+      - app
+      - disk.device.write.requests
+      feature_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - feature
+      disk.device.capacity_app:
+      - app
+      - disk.device.capacity
+      disk.root.size_app:
+      - app
+      - disk.root.size
+      disk.device.iops_app:
+      - app
+      - disk.device.iops
+      network.incoming.packets.rate_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - network.incoming.packets.rate
+      network.incoming.bytes.rate_app_app_data_0_port:
+      - app_app_data_0_port
+      - network.incoming.bytes.rate
+      network.incoming.bytes_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - network.incoming.bytes
+      network.incoming.packets.rate_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - network.incoming.packets.rate
+      cpu.delta_app:
+      - app
+      - cpu.delta
+      host_app:
+      - app
+      - host
+      disk.write.bytes.rate_app:
+      - app
+      - disk.write.bytes.rate
+      disk.write.requests.rate_app:
+      - app
+      - disk.write.requests.rate
+      disk.device.latency_app:
+      - app
+      - disk.device.latency
+      disk.ephemeral.size_app:
+      - app
+      - disk.ephemeral.size
+      network.outgoing.bytes_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - network.outgoing.bytes
+      disk.device.write.requests.rate_app:
+      - app
+      - disk.device.write.requests.rate
+      disk.device.read.bytes_app:
+      - app
+      - disk.device.read.bytes
+      binding_app_app_data_0_port:
+      - app_app_data_0_port
+      - binding
+      disk.device.read.requests.rate_app:
+      - app
+      - disk.device.read.requests.rate
+      vcpus_app:
+      - app
+      - vcpus
+      disk.device.read.requests_app:
+      - app
+      - disk.device.read.requests
+      feature_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - feature
+      cpu_util_app:
+      - app
+      - cpu_util
+      endpoint_app:
+      - app
+      - endpoint
+      network.incoming.packets.rate_app_app_data_0_port:
+      - app_app_data_0_port
+      - network.incoming.packets.rate
+      disk.iops_app:
+      - app
+      - disk.iops
+      disk.device.write.bytes_app:
+      - app
+      - disk.device.write.bytes
+      disk.read.bytes.rate_app:
+      - app
+      - disk.read.bytes.rate
+      disk.latency_app:
+      - app
+      - disk.latency
+      memory.usage_app:
+      - app
+      - memory.usage
+      attachment_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - attachment
+      os_app:
+      - app
+      - os
+      network.incoming.packets_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - network.incoming.packets
+      network.incoming.packets_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - network.incoming.packets
+      network.outgoing.bytes.rate_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - network.outgoing.bytes.rate
+      network.outgoing.bytes.rate_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - network.outgoing.bytes.rate
+      memory_app:
+      - app
+      - memory
+      disk.read.requests_app:
+      - app
+      - disk.read.requests
+      network.outpoing.packets_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - network.outpoing.packets
+      network.incoming.bytes_app_app_data_0_port:
+      - app_app_data_0_port
+      - network.incoming.bytes
+      disk.write.bytes_app:
+      - app
+      - disk.write.bytes
+      disk.allocation_app:
+      - app
+      - disk.allocation
+      network.outgoing.bytes_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - network.outgoing.bytes
+      attachment_app_app_data_0_port:
+      - app_app_data_0_port
+      - attachment
+      network.incoming.bytes.rate_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - network.incoming.bytes.rate
+      network.outgoing.packets.rate_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - network.outgoing.packets.rate
+      network.incoming.bytes.rate_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - network.incoming.bytes.rate
+      memory.resident_app:
+      - app
+      - memory.resident
+      network.outgoing.packets.rate_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - network.outgoing.packets.rate
+      network.outgoing.bytes.rate_app_app_data_0_port:
+      - app_app_data_0_port
+      - network.outgoing.bytes.rate
+      cpu_app:
+      - app
+      - cpu
+      feature_app_app_data_0_port:
+      - app_app_data_0_port
+      - feature
+      disk.usage_app:
+      - app
+      - disk.usage
+      feature_app:
+      - app
+      - feature
+      disk.read.bytes_app:
+      - app
+      - disk.read.bytes
+      scalable_app:
+      - app
+      - scalable
+      network.outgoing.packets.rate_app_app_data_0_port:
+      - app_app_data_0_port
+      - network.outgoing.packets.rate
+      disk.device.read.bytes.rate_app:
+      - app
+      - disk.device.read.bytes.rate
+      disk.device.allocation_app:
+      - app
+      - disk.device.allocation
+      binding_app:
+      - app
+      - binding
+      disk.device.write.bytes.rate_app:
+      - app
+      - disk.device.write.bytes.rate
+      binding_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - binding
+      disk.device.usage_app:
+      - app
+      - disk.device.usage
+      network.outpoing.packets_app_app_data_0_port:
+      - app_app_data_0_port
+      - network.outpoing.packets
+      network.outgoing.bytes_app_app_data_0_port:
+      - app_app_data_0_port
+      - network.outgoing.bytes
+      network.incoming.bytes_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - network.incoming.bytes
+      disk.write.requests_app:
+      - app
+      - disk.write.requests
+      binding_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - binding
+      instance_app:
+      - app
+      - instance
+      attachment_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - attachment
+      network.incoming.packets_app_app_data_0_port:
+      - app_app_data_0_port
+      - network.incoming.packets
+      network.outpoing.packets_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - network.outpoing.packets
+      disk.capacity_app:
+      - app
+      - disk.capacity
+    requirements:
+      link_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - link
+      dependency_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - dependency
+      dependency_app:
+      - app
+      - dependency
+      dependency_app_app_oam_0_port:
+      - app_app_oam_0_port
+      - dependency
+      local_storage_app:
+      - app
+      - local_storage
+      link_app_app_internal_0_port:
+      - app_app_internal_0_port
+      - link
+      link_app_app_data_0_port:
+      - app_app_data_0_port
+      - link
+      dependency_app_app_data_0_port:
+      - app_app_data_0_port
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/Nested_ioxServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/Nested_ioxServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..a157cf8
--- /dev/null
@@ -0,0 +1,637 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_iox
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.iox:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_iox_data_0_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_iox_oam_0_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_iox_internal_0_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_iox_data_0_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    port_iox_data_0_port_subnetpoolid:
+      type: string
+      required: true
+    port_iox_data_0_port_allowed_address_pairs:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.network.AddressPair
+    port_iox_internal_0_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    vm_image_name:
+      type: string
+      required: true
+    port_iox_oam_0_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_iox_oam_0_port_network_role_tag:
+      type: string
+      required: true
+    port_iox_oam_0_port_subnetpoolid:
+      type: string
+      required: true
+    compute_iox_user_data_format:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_iox_data_0_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_iox_internal_0_port_allowed_address_pairs:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.network.AddressPair
+    compute_iox_config_drive:
+      type: list
+      required: true
+      entry_schema:
+        type: boolean
+    port_iox_internal_0_port_order:
+      type: integer
+      required: true
+    port_iox_oam_0_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_iox_data_0_port_security_groups:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_iox_internal_0_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    compute_iox_image_update_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_iox_oam_0_port_order:
+      type: integer
+      required: true
+    port_iox_oam_0_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_iox_internal_0_port_security_groups:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_iox_oam_0_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_iox_data_0_port_order:
+      type: integer
+      required: true
+    port_iox_internal_0_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_iox_oam_0_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_iox_data_0_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    compute_iox_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_iox_data_0_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_iox_internal_0_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_iox_internal_0_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_iox_data_0_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_iox_data_0_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_iox_oam_0_port_network_role:
+      type: string
+      required: true
+    port_iox_internal_0_port_network_role:
+      type: string
+      required: true
+    port_iox_data_0_port_network_role:
+      type: string
+      required: true
+    port_iox_data_0_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_iox_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_iox_internal_0_port_network_role_tag:
+      type: string
+      required: true
+    port_iox_oam_0_port_allowed_address_pairs:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.network.AddressPair
+    port_iox_internal_0_port_subnetpoolid:
+      type: string
+      required: true
+    compute_iox_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_iox_oam_0_port_security_groups:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_iox_oam_0_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_iox_oam_0_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_iox_internal_0_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_iox_data_0_port_network_role_tag:
+      type: string
+      required: true
+  node_templates:
+    iox_iox_data_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy:
+          get_input:
+          - port_iox_data_0_port_replacement_policy
+          - index_value
+        mac_requirements:
+          get_input: port_iox_data_0_port_mac_requirements
+        allowed_address_pairs:
+          get_input: port_iox_data_0_port_allowed_address_pairs
+        order:
+          get_input: port_iox_data_0_port_order
+        security_groups:
+          get_input:
+          - port_iox_data_0_port_security_groups
+          - index_value
+        exCP_naming:
+          get_input: port_iox_data_0_port_exCP_naming
+        vlan_requirements:
+          get_input: port_iox_data_0_port_vlan_requirements
+        ip_requirements:
+          get_input: port_iox_data_0_port_ip_requirements
+        network_role_tag:
+          get_input: port_iox_data_0_port_network_role_tag
+        network_role:
+          get_input: port_iox_data_0_port_network_role
+        subnetpoolid:
+          get_input: port_iox_data_0_port_subnetpoolid
+        fixed_ips:
+          get_input: port_iox_data_0_port_fixed_ips
+        name:
+          get_input:
+          - port_iox_data_0_port_name
+          - index_value
+        network:
+          get_input:
+          - port_iox_data_0_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: iox
+          relationship: tosca.relationships.network.BindsTo
+    iox:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.iox
+      properties:
+        availability_zone:
+          get_input:
+          - compute_iox_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_iox_metadata
+          - index_value
+        config_drive:
+          get_input:
+          - compute_iox_config_drive
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_iox_name
+          - index_value
+        image_update_policy:
+          get_input:
+          - compute_iox_image_update_policy
+          - index_value
+        user_data_format:
+          get_input:
+          - compute_iox_user_data_format
+          - index_value
+    iox_iox_oam_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy:
+          get_input:
+          - port_iox_oam_0_port_replacement_policy
+          - index_value
+        mac_requirements:
+          get_input: port_iox_oam_0_port_mac_requirements
+        allowed_address_pairs:
+          get_input: port_iox_oam_0_port_allowed_address_pairs
+        order:
+          get_input: port_iox_oam_0_port_order
+        security_groups:
+          get_input:
+          - port_iox_oam_0_port_security_groups
+          - index_value
+        exCP_naming:
+          get_input: port_iox_oam_0_port_exCP_naming
+        vlan_requirements:
+          get_input: port_iox_oam_0_port_vlan_requirements
+        ip_requirements:
+          get_input: port_iox_oam_0_port_ip_requirements
+        network_role_tag:
+          get_input: port_iox_oam_0_port_network_role_tag
+        network_role:
+          get_input: port_iox_oam_0_port_network_role
+        subnetpoolid:
+          get_input: port_iox_oam_0_port_subnetpoolid
+        fixed_ips:
+          get_input: port_iox_oam_0_port_fixed_ips
+        name:
+          get_input:
+          - port_iox_oam_0_port_name
+          - index_value
+        network:
+          get_input:
+          - port_iox_oam_0_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: iox
+          relationship: tosca.relationships.network.BindsTo
+    iox_iox_internal_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy:
+          get_input:
+          - port_iox_internal_0_port_replacement_policy
+          - index_value
+        mac_requirements:
+          get_input: port_iox_internal_0_port_mac_requirements
+        allowed_address_pairs:
+          get_input: port_iox_internal_0_port_allowed_address_pairs
+        order:
+          get_input: port_iox_internal_0_port_order
+        security_groups:
+          get_input:
+          - port_iox_internal_0_port_security_groups
+          - index_value
+        exCP_naming:
+          get_input: port_iox_internal_0_port_exCP_naming
+        vlan_requirements:
+          get_input: port_iox_internal_0_port_vlan_requirements
+        ip_requirements:
+          get_input: port_iox_internal_0_port_ip_requirements
+        network_role_tag:
+          get_input: port_iox_internal_0_port_network_role_tag
+        network_role:
+          get_input: port_iox_internal_0_port_network_role
+        subnetpoolid:
+          get_input: port_iox_internal_0_port_subnetpoolid
+        name:
+          get_input:
+          - port_iox_internal_0_port_name
+          - index_value
+        network:
+          get_input:
+          - port_iox_internal_0_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: iox
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.iox
+    capabilities:
+      cpu.delta_iox:
+      - iox
+      - cpu.delta
+      disk.device.latency_iox:
+      - iox
+      - disk.device.latency
+      memory_iox:
+      - iox
+      - memory
+      network.outgoing.packets.rate_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - network.outgoing.packets.rate
+      disk.device.read.bytes_iox:
+      - iox
+      - disk.device.read.bytes
+      disk.read.requests_iox:
+      - iox
+      - disk.read.requests
+      disk.write.requests_iox:
+      - iox
+      - disk.write.requests
+      network.incoming.bytes_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - network.incoming.bytes
+      network.incoming.packets.rate_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - network.incoming.packets.rate
+      disk.device.read.requests.rate_iox:
+      - iox
+      - disk.device.read.requests.rate
+      disk.device.write.requests.rate_iox:
+      - iox
+      - disk.device.write.requests.rate
+      disk.capacity_iox:
+      - iox
+      - disk.capacity
+      disk.write.bytes_iox:
+      - iox
+      - disk.write.bytes
+      disk.device.write.requests_iox:
+      - iox
+      - disk.device.write.requests
+      disk.device.allocation_iox:
+      - iox
+      - disk.device.allocation
+      feature_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - feature
+      disk.root.size_iox:
+      - iox
+      - disk.root.size
+      vcpus_iox:
+      - iox
+      - vcpus
+      disk.device.iops_iox:
+      - iox
+      - disk.device.iops
+      network.outgoing.bytes.rate_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - network.outgoing.bytes.rate
+      disk.read.bytes.rate_iox:
+      - iox
+      - disk.read.bytes.rate
+      network.outgoing.bytes_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - network.outgoing.bytes
+      attachment_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - attachment
+      network.incoming.packets.rate_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - network.incoming.packets.rate
+      disk.latency_iox:
+      - iox
+      - disk.latency
+      network.incoming.packets.rate_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - network.incoming.packets.rate
+      network.incoming.bytes_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - network.incoming.bytes
+      cpu_util_iox:
+      - iox
+      - cpu_util
+      binding_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - binding
+      network.incoming.bytes_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - network.incoming.bytes
+      disk.device.capacity_iox:
+      - iox
+      - disk.device.capacity
+      disk.iops_iox:
+      - iox
+      - disk.iops
+      network.outpoing.packets_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - network.outpoing.packets
+      endpoint_iox:
+      - iox
+      - endpoint
+      binding_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - binding
+      disk.device.read.requests_iox:
+      - iox
+      - disk.device.read.requests
+      memory.usage_iox:
+      - iox
+      - memory.usage
+      attachment_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - attachment
+      network.outgoing.bytes_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - network.outgoing.bytes
+      cpu_iox:
+      - iox
+      - cpu
+      feature_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - feature
+      disk.usage_iox:
+      - iox
+      - disk.usage
+      scalable_iox:
+      - iox
+      - scalable
+      feature_iox:
+      - iox
+      - feature
+      memory.resident_iox:
+      - iox
+      - memory.resident
+      disk.device.write.bytes_iox:
+      - iox
+      - disk.device.write.bytes
+      network.outgoing.packets.rate_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - network.outgoing.packets.rate
+      binding_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - binding
+      network.outgoing.bytes.rate_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - network.outgoing.bytes.rate
+      network.incoming.bytes.rate_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - network.incoming.bytes.rate
+      network.incoming.bytes.rate_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - network.incoming.bytes.rate
+      disk.allocation_iox:
+      - iox
+      - disk.allocation
+      network.outgoing.packets.rate_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - network.outgoing.packets.rate
+      binding_iox:
+      - iox
+      - binding
+      os_iox:
+      - iox
+      - os
+      host_iox:
+      - iox
+      - host
+      disk.write.requests.rate_iox:
+      - iox
+      - disk.write.requests.rate
+      disk.write.bytes.rate_iox:
+      - iox
+      - disk.write.bytes.rate
+      disk.read.bytes_iox:
+      - iox
+      - disk.read.bytes
+      network.incoming.packets_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - network.incoming.packets
+      instance_iox:
+      - iox
+      - instance
+      disk.ephemeral.size_iox:
+      - iox
+      - disk.ephemeral.size
+      network.outpoing.packets_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - network.outpoing.packets
+      attachment_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - attachment
+      feature_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - feature
+      network.incoming.packets_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - network.incoming.packets
+      network.outpoing.packets_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - network.outpoing.packets
+      disk.device.read.bytes.rate_iox:
+      - iox
+      - disk.device.read.bytes.rate
+      network.incoming.bytes.rate_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - network.incoming.bytes.rate
+      network.incoming.packets_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - network.incoming.packets
+      disk.device.write.bytes.rate_iox:
+      - iox
+      - disk.device.write.bytes.rate
+      network.outgoing.bytes.rate_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - network.outgoing.bytes.rate
+      disk.device.usage_iox:
+      - iox
+      - disk.device.usage
+      network.outgoing.bytes_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - network.outgoing.bytes
+    requirements:
+      dependency_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - dependency
+      link_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - link
+      dependency_iox:
+      - iox
+      - dependency
+      dependency_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - dependency
+      link_iox_iox_data_0_port:
+      - iox_iox_data_0_port
+      - link
+      link_iox_iox_internal_0_port:
+      - iox_iox_internal_0_port
+      - link
+      local_storage_iox:
+      - iox
+      - local_storage
+      dependency_iox_iox_oam_0_port:
+      - iox_iox_oam_0_port
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/Nested_pltServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/catalogInstances/computewithtwosameporttypes/out/Nested_pltServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..c1ef9cb
--- /dev/null
@@ -0,0 +1,637 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_plt
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.plt:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_plt_oam_0_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_plt_oam_0_port_subnetpoolid:
+      type: string
+      required: true
+    port_plt_internal_0_port_allowed_address_pairs:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.network.AddressPair
+    port_plt_oam_0_port_security_groups:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    compute_plt_config_drive:
+      type: list
+      required: true
+      entry_schema:
+        type: boolean
+    port_plt_data_0_port_subnetpoolid:
+      type: string
+      required: true
+    vm_flavor_name:
+      type: string
+      required: true
+    port_plt_internal_0_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_plt_data_0_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    vm_image_name:
+      type: string
+      required: true
+    compute_plt_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_oam_0_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_internal_0_port_security_groups:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_plt_internal_0_port_network_role_tag:
+      type: string
+      required: true
+    port_plt_oam_0_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_plt_data_0_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_plt_data_0_port_allowed_address_pairs:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.network.AddressPair
+    port_plt_internal_0_port_subnetpoolid:
+      type: string
+      required: true
+    port_plt_data_0_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_plt_internal_0_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_plt_metadata:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_plt_data_0_port_security_groups:
+      type: list
+      required: true
+      entry_schema:
+        type: json
+    port_plt_internal_0_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_plt_data_0_port_order:
+      type: integer
+      required: true
+    port_plt_data_0_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_plt_data_0_port_network_role_tag:
+      type: string
+      required: true
+    port_plt_internal_0_port_order:
+      type: integer
+      required: true
+    port_plt_internal_0_port_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_plt_oam_0_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_plt_oam_0_port_network_role_tag:
+      type: string
+      required: true
+    port_plt_internal_0_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_oam_0_port_order:
+      type: integer
+      required: true
+    compute_plt_image_update_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_oam_0_port_network_role:
+      type: string
+      required: true
+    port_plt_oam_0_port_allowed_address_pairs:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.network.AddressPair
+    port_plt_data_0_port_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_data_0_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_plt_internal_0_port_network_role:
+      type: string
+      required: true
+    compute_plt_user_data_format:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_internal_0_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_data_0_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_data_0_port_network_role:
+      type: string
+      required: true
+    port_plt_internal_0_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_plt_oam_0_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_oam_0_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_data_0_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_oam_0_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    compute_plt_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_plt_oam_0_port_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+  node_templates:
+    plt_plt_internal_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy:
+          get_input:
+          - port_plt_internal_0_port_replacement_policy
+          - index_value
+        mac_requirements:
+          get_input: port_plt_internal_0_port_mac_requirements
+        allowed_address_pairs:
+          get_input: port_plt_internal_0_port_allowed_address_pairs
+        order:
+          get_input: port_plt_internal_0_port_order
+        security_groups:
+          get_input:
+          - port_plt_internal_0_port_security_groups
+          - index_value
+        exCP_naming:
+          get_input: port_plt_internal_0_port_exCP_naming
+        vlan_requirements:
+          get_input: port_plt_internal_0_port_vlan_requirements
+        ip_requirements:
+          get_input: port_plt_internal_0_port_ip_requirements
+        network_role_tag:
+          get_input: port_plt_internal_0_port_network_role_tag
+        network_role:
+          get_input: port_plt_internal_0_port_network_role
+        subnetpoolid:
+          get_input: port_plt_internal_0_port_subnetpoolid
+        name:
+          get_input:
+          - port_plt_internal_0_port_name
+          - index_value
+        network:
+          get_input:
+          - port_plt_internal_0_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: plt
+          relationship: tosca.relationships.network.BindsTo
+    plt_plt_data_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy:
+          get_input:
+          - port_plt_data_0_port_replacement_policy
+          - index_value
+        mac_requirements:
+          get_input: port_plt_data_0_port_mac_requirements
+        allowed_address_pairs:
+          get_input: port_plt_data_0_port_allowed_address_pairs
+        order:
+          get_input: port_plt_data_0_port_order
+        security_groups:
+          get_input:
+          - port_plt_data_0_port_security_groups
+          - index_value
+        exCP_naming:
+          get_input: port_plt_data_0_port_exCP_naming
+        vlan_requirements:
+          get_input: port_plt_data_0_port_vlan_requirements
+        ip_requirements:
+          get_input: port_plt_data_0_port_ip_requirements
+        network_role_tag:
+          get_input: port_plt_data_0_port_network_role_tag
+        network_role:
+          get_input: port_plt_data_0_port_network_role
+        subnetpoolid:
+          get_input: port_plt_data_0_port_subnetpoolid
+        fixed_ips:
+          get_input: port_plt_data_0_port_fixed_ips
+        name:
+          get_input:
+          - port_plt_data_0_port_name
+          - index_value
+        network:
+          get_input:
+          - port_plt_data_0_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: plt
+          relationship: tosca.relationships.network.BindsTo
+    plt:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.plt
+      properties:
+        availability_zone:
+          get_input:
+          - compute_plt_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        metadata:
+          get_input:
+          - compute_plt_metadata
+          - index_value
+        config_drive:
+          get_input:
+          - compute_plt_config_drive
+          - index_value
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_plt_name
+          - index_value
+        image_update_policy:
+          get_input:
+          - compute_plt_image_update_policy
+          - index_value
+        user_data_format:
+          get_input:
+          - compute_plt_user_data_format
+          - index_value
+    plt_plt_oam_0_port:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        replacement_policy:
+          get_input:
+          - port_plt_oam_0_port_replacement_policy
+          - index_value
+        mac_requirements:
+          get_input: port_plt_oam_0_port_mac_requirements
+        allowed_address_pairs:
+          get_input: port_plt_oam_0_port_allowed_address_pairs
+        order:
+          get_input: port_plt_oam_0_port_order
+        security_groups:
+          get_input:
+          - port_plt_oam_0_port_security_groups
+          - index_value
+        exCP_naming:
+          get_input: port_plt_oam_0_port_exCP_naming
+        vlan_requirements:
+          get_input: port_plt_oam_0_port_vlan_requirements
+        ip_requirements:
+          get_input: port_plt_oam_0_port_ip_requirements
+        network_role_tag:
+          get_input: port_plt_oam_0_port_network_role_tag
+        network_role:
+          get_input: port_plt_oam_0_port_network_role
+        subnetpoolid:
+          get_input: port_plt_oam_0_port_subnetpoolid
+        fixed_ips:
+          get_input: port_plt_oam_0_port_fixed_ips
+        name:
+          get_input:
+          - port_plt_oam_0_port_name
+          - index_value
+        network:
+          get_input:
+          - port_plt_oam_0_port_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: plt
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.plt
+    capabilities:
+      network.outgoing.bytes.rate_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - network.outgoing.bytes.rate
+      disk.device.usage_plt:
+      - plt
+      - disk.device.usage
+      disk.iops_plt:
+      - plt
+      - disk.iops
+      disk.read.bytes.rate_plt:
+      - plt
+      - disk.read.bytes.rate
+      disk.device.allocation_plt:
+      - plt
+      - disk.device.allocation
+      disk.device.write.bytes.rate_plt:
+      - plt
+      - disk.device.write.bytes.rate
+      disk.read.bytes_plt:
+      - plt
+      - disk.read.bytes
+      network.incoming.packets_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - network.incoming.packets
+      disk.capacity_plt:
+      - plt
+      - disk.capacity
+      disk.write.bytes_plt:
+      - plt
+      - disk.write.bytes
+      disk.device.read.bytes.rate_plt:
+      - plt
+      - disk.device.read.bytes.rate
+      endpoint_plt:
+      - plt
+      - endpoint
+      disk.read.requests_plt:
+      - plt
+      - disk.read.requests
+      network.outpoing.packets_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - network.outpoing.packets
+      disk.device.write.requests.rate_plt:
+      - plt
+      - disk.device.write.requests.rate
+      attachment_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - attachment
+      feature_plt:
+      - plt
+      - feature
+      cpu_plt:
+      - plt
+      - cpu
+      disk.write.requests_plt:
+      - plt
+      - disk.write.requests
+      network.incoming.packets.rate_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - network.incoming.packets.rate
+      disk.device.write.bytes_plt:
+      - plt
+      - disk.device.write.bytes
+      network.outgoing.bytes_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - network.outgoing.bytes
+      network.outpoing.packets_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - network.outpoing.packets
+      network.incoming.bytes_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - network.incoming.bytes
+      network.outgoing.packets.rate_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - network.outgoing.packets.rate
+      network.incoming.bytes_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - network.incoming.bytes
+      network.incoming.bytes_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - network.incoming.bytes
+      attachment_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - attachment
+      binding_plt:
+      - plt
+      - binding
+      network.incoming.bytes.rate_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - network.incoming.bytes.rate
+      disk.device.read.bytes_plt:
+      - plt
+      - disk.device.read.bytes
+      disk.device.latency_plt:
+      - plt
+      - disk.device.latency
+      network.incoming.packets.rate_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - network.incoming.packets.rate
+      network.outgoing.bytes_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - network.outgoing.bytes
+      binding_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - binding
+      feature_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - feature
+      instance_plt:
+      - plt
+      - instance
+      disk.latency_plt:
+      - plt
+      - disk.latency
+      disk.write.bytes.rate_plt:
+      - plt
+      - disk.write.bytes.rate
+      disk.ephemeral.size_plt:
+      - plt
+      - disk.ephemeral.size
+      cpu_util_plt:
+      - plt
+      - cpu_util
+      binding_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - binding
+      memory.usage_plt:
+      - plt
+      - memory.usage
+      attachment_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - attachment
+      network.incoming.packets_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - network.incoming.packets
+      disk.device.capacity_plt:
+      - plt
+      - disk.device.capacity
+      binding_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - binding
+      disk.device.read.requests_plt:
+      - plt
+      - disk.device.read.requests
+      memory.resident_plt:
+      - plt
+      - memory.resident
+      network.outgoing.packets.rate_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - network.outgoing.packets.rate
+      scalable_plt:
+      - plt
+      - scalable
+      network.incoming.packets.rate_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - network.incoming.packets.rate
+      network.outgoing.packets.rate_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - network.outgoing.packets.rate
+      network.incoming.bytes.rate_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - network.incoming.bytes.rate
+      disk.usage_plt:
+      - plt
+      - disk.usage
+      feature_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - feature
+      network.incoming.bytes.rate_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - network.incoming.bytes.rate
+      memory_plt:
+      - plt
+      - memory
+      disk.root.size_plt:
+      - plt
+      - disk.root.size
+      network.outgoing.bytes_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - network.outgoing.bytes
+      cpu.delta_plt:
+      - plt
+      - cpu.delta
+      disk.device.write.requests_plt:
+      - plt
+      - disk.device.write.requests
+      feature_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - feature
+      network.outgoing.bytes.rate_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - network.outgoing.bytes.rate
+      disk.device.read.requests.rate_plt:
+      - plt
+      - disk.device.read.requests.rate
+      network.outpoing.packets_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - network.outpoing.packets
+      os_plt:
+      - plt
+      - os
+      network.outgoing.bytes.rate_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - network.outgoing.bytes.rate
+      network.incoming.packets_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - network.incoming.packets
+      disk.allocation_plt:
+      - plt
+      - disk.allocation
+      host_plt:
+      - plt
+      - host
+      vcpus_plt:
+      - plt
+      - vcpus
+      disk.device.iops_plt:
+      - plt
+      - disk.device.iops
+      disk.write.requests.rate_plt:
+      - plt
+      - disk.write.requests.rate
+    requirements:
+      local_storage_plt:
+      - plt
+      - local_storage
+      link_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - link
+      dependency_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - dependency
+      dependency_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - dependency
+      link_plt_plt_data_0_port:
+      - plt_plt_data_0_port
+      - link
+      dependency_plt_plt_internal_0_port:
+      - plt_plt_internal_0_port
+      - dependency
+      link_plt_plt_oam_0_port:
+      - plt_plt_oam_0_port
+      - link
+      dependency_plt:
+      - plt
+      - dependency
index b41b4de..32fbdf0 100644 (file)
@@ -8,14 +8,14 @@ node_types:
   org.openecomp.resource.abstract.nodes.pd_server_nested2_1b:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     properties:
-      port_pd_server_nested_b_port_vlan_requirements:
+      port_pd_server_nested2_1b_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
+      port_pd_server_nested2_1b_port_order:
+        type: integer
         required: true
         status: SUPPORTED
       index_value:
@@ -26,21 +26,31 @@ node_types:
         status: SUPPORTED
         constraints:
         - greater_or_equal: 0
-      port_pd_server_nested_b_port_fixed_ips:
+      port_pd_server_nested2_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_server_nested2_1b_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:
+      port_pd_server_nested2_1b_port_network_role:
         type: string
         required: true
         status: SUPPORTED
+      port_pd_server_nested2_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
       vm_flavor_name:
         type: string
         required: true
         status: SUPPORTED
-      port_pd_server_nested_b_port_subnetpoolid:
+      port_pd_server_nested2_1b_port_subnetpoolid:
         type: string
         required: true
         status: SUPPORTED
@@ -56,54 +66,31 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_pd_server_nested_b_port_order:
-        type: integer
+      vm_image_name:
+        type: string
         required: true
         status: SUPPORTED
-      port_pd_server_nested_b_port_network:
+      port_pd_server_nested2_1b_port_ip_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: string
-      port_pd_server_nested_b_port_mac_requirements:
-        type: org.openecomp.datatypes.network.MacRequirements
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_nested2_1b_port_network_role_tag:
+        type: string
         required: true
         status: SUPPORTED
-      port_pd_server_nested_b_port_replacement_policy:
+      port_pd_server_nested2_1b_port_network:
         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
+      port_pd_server_nested2_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
     requirements:
-    - dependency_pd_server_nested2_1b_pd_server_nested_b_port:
-        capability: tosca.capabilities.Node
-        node: tosca.nodes.Root
-        relationship: tosca.relationships.DependsOn
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - link_pd_server_nested2_1b_pd_server_nested_b_port:
-        capability: tosca.capabilities.network.Linkable
-        relationship: tosca.relationships.network.LinksTo
-        occurrences:
-        - 1
-        - 1
     - dependency_pd_server_nested2_1b:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
@@ -118,32 +105,45 @@ node_types:
         occurrences:
         - 0
         - UNBOUNDED
+    - dependency_pd_server_nested2_1b_pd_server_nested2_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_nested2_1b_pd_server_nested2_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
     capabilities:
-      cpu_pd_server_nested2_1b:
+      network.outpoing.packets_pd_server_nested2_1b_pd_server_nested2_1b_port:
         type: org.openecomp.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_pd_server_nested2_1b:
+      cpu_pd_server_nested2_1b:
         type: org.openecomp.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_nested2_1b_pd_server_nested_b_port:
+      disk.ephemeral.size_pd_server_nested2_1b:
         type: org.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_pd_server_nested2_1b:
+      network.incoming.packets_pd_server_nested2_1b_pd_server_nested2_1b_port:
         type: org.openecomp.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_nested2_1b_pd_server_nested_b_port:
+      memory.usage_pd_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -172,15 +172,14 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_pd_server_nested2_1b_pd_server_nested_b_port:
+      disk.device.read.requests.rate_pd_server_nested2_1b:
         type: org.openecomp.capabilities.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_pd_server_nested2_1b:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      attachment_pd_server_nested2_1b_pd_server_nested2_1b_port:
+        type: tosca.capabilities.Attachment
         occurrences:
         - 1
         - UNBOUNDED
@@ -207,7 +206,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets_pd_server_nested2_1b_pd_server_nested_b_port:
+      network.outgoing.packets.rate_pd_server_nested2_1b_pd_server_nested2_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -219,6 +218,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outgoing.bytes_pd_server_nested2_1b_pd_server_nested2_1b_port:
+        type: org.openecomp.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_pd_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -260,17 +265,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_pd_server_nested2_1b_pd_server_nested_b_port:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.incoming.bytes.rate_pd_server_nested2_1b_pd_server_nested_b_port:
-        type: org.openecomp.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_pd_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -283,18 +277,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      binding_pd_server_nested2_1b_pd_server_nested_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
-      attachment_pd_server_nested2_1b_pd_server_nested_b_port:
-        type: tosca.capabilities.Attachment
-        occurrences:
-        - 1
-        - UNBOUNDED
       instance_pd_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -330,19 +312,26 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes_pd_server_nested2_1b_pd_server_nested_b_port:
+      cpu.delta_pd_server_nested2_1b:
         type: org.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_pd_server_nested2_1b:
+      binding_pd_server_nested2_1b_pd_server_nested2_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      vcpus_pd_server_nested2_1b:
         type: org.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_pd_server_nested2_1b:
+      network.incoming.bytes_pd_server_nested2_1b_pd_server_nested2_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -366,19 +355,19 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_pd_server_nested2_1b_pd_server_nested_b_port:
+      network.outgoing.bytes.rate_pd_server_nested2_1b_pd_server_nested2_1b_port:
         type: org.openecomp.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_pd_server_nested2_1b:
+      network.incoming.bytes.rate_pd_server_nested2_1b_pd_server_nested2_1b_port:
         type: org.openecomp.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_nested2_1b_pd_server_nested_b_port:
+      disk.allocation_pd_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -390,6 +379,17 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.incoming.packets.rate_pd_server_nested2_1b_pd_server_nested2_1b_port:
+        type: org.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_nested2_1b_pd_server_nested2_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
       memory.resident_pd_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -6830,11 +6830,19 @@ node_types:
   org.openecomp.resource.abstract.nodes.ps_server_main_1b_1:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     properties:
-      port_ps_server_main_b_port_network_role_tag:
-        type: string
+      port_ps_server_main_1b_port_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_ps_server_main_1b_port_ip_requirements:
+        type: list
         required: true
         status: SUPPORTED
-      port_ps_server_main_b_port_network_role:
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_ps_server_main_1b_port_subnetpoolid:
         type: string
         required: true
         status: SUPPORTED
@@ -6844,7 +6852,7 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_ps_server_main_b_port_exCP_naming:
+      port_ps_server_main_1b_port_exCP_naming:
         type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
@@ -6856,47 +6864,27 @@ node_types:
         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
+      port_ps_server_main_1b_port_network_role:
+        type: string
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: string
-      port_ps_server_main_b_port_order:
+      port_ps_server_main_1b_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
+      port_ps_server_main_1b_port_network_role_tag:
+        type: string
         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:
+      port_ps_server_main_1b_port_vlan_requirements:
         type: list
         required: true
         status: SUPPORTED
@@ -6908,19 +6896,31 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_ps_server_main_b_port_subnetpoolid:
-        type: string
+      port_ps_server_main_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_main_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_ps_server_main_1b_port_network:
+        type: list
         required: true
         status: SUPPORTED
+        entry_schema:
+          type: string
     requirements:
-    - dependency_ps_server_main_1b_ps_server_main_b_port:
+    - dependency_ps_server_main_1b_ps_server_main_1b_port:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_ps_server_main_1b_ps_server_main_b_port:
+    - link_ps_server_main_1b_ps_server_main_1b_port:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -6941,6 +6941,12 @@ node_types:
         - 0
         - UNBOUNDED
     capabilities:
+      network.incoming.bytes_ps_server_main_1b_ps_server_main_1b_port:
+        type: org.openecomp.capabilities.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_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -6959,9 +6965,8 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_ps_server_main_1b_ps_server_main_b_port:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      attachment_ps_server_main_1b_ps_server_main_1b_port:
+        type: tosca.capabilities.Attachment
         occurrences:
         - 1
         - UNBOUNDED
@@ -6977,7 +6982,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_ps_server_main_1b_ps_server_main_b_port:
+      network.outgoing.packets.rate_ps_server_main_1b_ps_server_main_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -6989,6 +6994,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      binding_ps_server_main_1b_ps_server_main_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
       disk.device.write.bytes.rate_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -7019,6 +7031,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outpoing.packets_ps_server_main_1b_ps_server_main_1b_port:
+        type: org.openecomp.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_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -7031,6 +7049,11 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      feature_ps_server_main_1b_ps_server_main_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
       disk.device.read.requests_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -7054,6 +7077,18 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outgoing.bytes_ps_server_main_1b_ps_server_main_1b_port:
+        type: org.openecomp.capabilities.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_ps_server_main_1b_ps_server_main_1b_port:
+        type: org.openecomp.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_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -7088,17 +7123,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets_ps_server_main_1b_ps_server_main_b_port:
-        type: org.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_ps_server_main_1b_ps_server_main_b_port:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
       disk.device.write.bytes_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -7117,31 +7141,26 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes.rate_ps_server_main_1b_ps_server_main_b_port:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      binding_ps_server_main_1b:
+        type: tosca.capabilities.network.Bindable
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes.rate_ps_server_main_1b_ps_server_main_b_port:
+      network.incoming.packets_ps_server_main_1b_ps_server_main_1b_port:
         type: org.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_ps_server_main_1b:
-        type: tosca.capabilities.network.Bindable
-        occurrences:
-        - 1
-        - UNBOUNDED
       disk.device.read.bytes.rate_ps_server_main_1b:
         type: org.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_ps_server_main_1b_ps_server_main_b_port:
-        type: tosca.capabilities.Attachment
+      network.outgoing.bytes.rate_ps_server_main_1b_ps_server_main_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
         - 1
         - UNBOUNDED
@@ -7152,25 +7171,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_ps_server_main_1b_ps_server_main_b_port:
-        type: org.openecomp.capabilities.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_ps_server_main_1b:
         type: org.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_ps_server_main_1b_ps_server_main_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
       disk.write.requests_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -7218,25 +7224,19 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.packets.rate_ps_server_main_1b_ps_server_main_b_port:
-        type: org.openecomp.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_ps_server_main_1b_ps_server_main_b_port:
+      memory_ps_server_main_1b:
         type: org.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_ps_server_main_1b:
+      disk.root.size_ps_server_main_1b:
         type: org.openecomp.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_ps_server_main_1b:
+      network.incoming.bytes.rate_ps_server_main_1b_ps_server_main_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -9633,10 +9633,6 @@ node_types:
   org.openecomp.resource.abstract.nodes.pd_server_main_1b:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     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
@@ -9645,8 +9641,8 @@ node_types:
         status: SUPPORTED
         constraints:
         - greater_or_equal: 0
-      port_pd_server_main_b_port_order:
-        type: integer
+      port_pd_server_main_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
       compute_pd_server_main_1b_availability_zone:
@@ -9655,66 +9651,70 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_pd_server_main_b_port_replacement_policy:
+      port_pd_server_main_1b_port_replacement_policy:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
           type: string
-      port_pd_server_main_b_port_subnetpoolid:
+      port_pd_server_main_1b_port_subnetpoolid:
         type: string
         required: true
         status: SUPPORTED
-      port_pd_server_main_b_port_network_role_tag:
-        type: string
+      port_pd_server_main_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
       vm_flavor_name:
         type: string
         required: true
         status: SUPPORTED
-      port_pd_server_main_b_port_fixed_ips:
-        type: list
+      vm_image_name:
+        type: string
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-      port_pd_server_main_b_port_vlan_requirements:
+      port_pd_server_main_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_pd_server_main_1b_name:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
-      port_pd_server_main_b_port_network_role:
-        type: string
+          type: string
+      port_pd_server_main_1b_port_network:
+        type: list
         required: true
         status: SUPPORTED
-      port_pd_server_main_b_port_ip_requirements:
+        entry_schema:
+          type: string
+      port_pd_server_main_1b_port_ip_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
           type: org.openecomp.datatypes.network.IpRequirements
-      vm_image_name:
+      port_pd_server_main_1b_port_network_role_tag:
         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:
+      port_pd_server_main_1b_port_vlan_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: string
-      port_pd_server_main_b_port_network:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd_server_main_1b_port_fixed_ips:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: string
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_main_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
     requirements:
     - dependency_pd_server_main_1b:
         capability: tosca.capabilities.Node
@@ -9730,14 +9730,14 @@ node_types:
         occurrences:
         - 0
         - UNBOUNDED
-    - dependency_pd_server_main_1b_pd_server_main_b_port:
+    - dependency_pd_server_main_1b_pd_server_main_1b_port:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_pd_server_main_1b_pd_server_main_b_port:
+    - link_pd_server_main_1b_pd_server_main_1b_port:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -9790,19 +9790,14 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_pd_server_main_1b_pd_server_main_b_port:
-        type: org.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_pd_server_main_1b:
         type: tosca.capabilities.Endpoint.Admin
         occurrences:
         - 1
         - UNBOUNDED
-      attachment_pd_server_main_1b_pd_server_main_b_port:
-        type: tosca.capabilities.Attachment
+      network.incoming.packets.rate_pd_server_main_1b_pd_server_main_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
         - 1
         - UNBOUNDED
@@ -9812,6 +9807,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      binding_pd_server_main_1b_pd_server_main_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
       host_pd_server_main_1b:
         type: tosca.capabilities.Container
         valid_source_types:
@@ -9819,25 +9821,18 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_pd_server_main_1b_pd_server_main_b_port:
+      cpu.delta_pd_server_main_1b:
         type: org.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_pd_server_main_1b:
+      network.incoming.packets_pd_server_main_1b_pd_server_main_1b_port:
         type: org.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_main_1b_pd_server_main_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
       disk.device.read.bytes_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -9850,7 +9845,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes_pd_server_main_1b_pd_server_main_b_port:
+      network.outgoing.packets.rate_pd_server_main_1b_pd_server_main_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -9868,12 +9863,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.packets.rate_pd_server_main_1b_pd_server_main_b_port:
-        type: org.openecomp.capabilities.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_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -9886,7 +9875,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_pd_server_main_1b_pd_server_main_b_port:
+      feature_pd_server_main_1b_pd_server_main_1b_port:
         type: tosca.capabilities.Node
         occurrences:
         - 1
@@ -9908,43 +9897,37 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.read.requests_pd_server_main_1b:
+      network.outgoing.bytes_pd_server_main_1b_pd_server_main_1b_port:
         type: org.openecomp.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_pd_server_main_1b:
-        type: org.openecomp.capabilities.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_pd_server_main_1b:
+      disk.read.requests_pd_server_main_1b:
         type: org.openecomp.capabilities.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_main_1b_pd_server_main_b_port:
+      disk.allocation_pd_server_main_1b:
         type: org.openecomp.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_pd_server_main_1b:
+      network.incoming.bytes.rate_pd_server_main_1b_pd_server_main_1b_port:
         type: org.openecomp.capabilities.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_main_1b_pd_server_main_b_port:
+      disk.device.usage_pd_server_main_1b:
         type: org.openecomp.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_main_1b_pd_server_main_b_port:
+      disk.write.requests.rate_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -9985,6 +9968,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_main_1b_pd_server_main_1b_port:
+        type: org.openecomp.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_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -9997,18 +9986,23 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.device.allocation_pd_server_main_1b:
+      network.incoming.bytes_pd_server_main_1b_pd_server_main_1b_port:
         type: org.openecomp.capabilities.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_main_1b_pd_server_main_b_port:
+      disk.device.allocation_pd_server_main_1b:
         type: org.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_main_1b_pd_server_main_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
       disk.iops_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10027,6 +10021,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outpoing.packets_pd_server_main_1b_pd_server_main_1b_port:
+        type: org.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_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10054,10 +10054,6 @@ node_types:
   org.openecomp.resource.abstract.nodes.pd_server_main_1b_1:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     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
@@ -10066,8 +10062,8 @@ node_types:
         status: SUPPORTED
         constraints:
         - greater_or_equal: 0
-      port_pd_server_main_b_port_order:
-        type: integer
+      port_pd_server_main_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
       compute_pd_server_main_1b_availability_zone:
@@ -10076,66 +10072,70 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_pd_server_main_b_port_replacement_policy:
+      port_pd_server_main_1b_port_replacement_policy:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
           type: string
-      port_pd_server_main_b_port_subnetpoolid:
+      port_pd_server_main_1b_port_subnetpoolid:
         type: string
         required: true
         status: SUPPORTED
-      port_pd_server_main_b_port_network_role_tag:
-        type: string
+      port_pd_server_main_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
       vm_flavor_name:
         type: string
         required: true
         status: SUPPORTED
-      port_pd_server_main_b_port_fixed_ips:
-        type: list
+      vm_image_name:
+        type: string
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-      port_pd_server_main_b_port_vlan_requirements:
+      port_pd_server_main_1b_port_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_pd_server_main_1b_name:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
-      port_pd_server_main_b_port_network_role:
-        type: string
+          type: string
+      port_pd_server_main_1b_port_network:
+        type: list
         required: true
         status: SUPPORTED
-      port_pd_server_main_b_port_ip_requirements:
+        entry_schema:
+          type: string
+      port_pd_server_main_1b_port_ip_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
           type: org.openecomp.datatypes.network.IpRequirements
-      vm_image_name:
+      port_pd_server_main_1b_port_network_role_tag:
         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:
+      port_pd_server_main_1b_port_vlan_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: string
-      port_pd_server_main_b_port_network:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd_server_main_1b_port_fixed_ips:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: string
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_main_1b_port_order:
+        type: integer
+        required: true
+        status: SUPPORTED
     requirements:
     - dependency_pd_server_main_1b:
         capability: tosca.capabilities.Node
@@ -10151,14 +10151,14 @@ node_types:
         occurrences:
         - 0
         - UNBOUNDED
-    - dependency_pd_server_main_1b_pd_server_main_b_port:
+    - dependency_pd_server_main_1b_pd_server_main_1b_port:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_pd_server_main_1b_pd_server_main_b_port:
+    - link_pd_server_main_1b_pd_server_main_1b_port:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -10211,19 +10211,14 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_pd_server_main_1b_pd_server_main_b_port:
-        type: org.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_pd_server_main_1b:
         type: tosca.capabilities.Endpoint.Admin
         occurrences:
         - 1
         - UNBOUNDED
-      attachment_pd_server_main_1b_pd_server_main_b_port:
-        type: tosca.capabilities.Attachment
+      network.incoming.packets.rate_pd_server_main_1b_pd_server_main_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
         - 1
         - UNBOUNDED
@@ -10233,6 +10228,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      binding_pd_server_main_1b_pd_server_main_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
       host_pd_server_main_1b:
         type: tosca.capabilities.Container
         valid_source_types:
@@ -10240,25 +10242,18 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_pd_server_main_1b_pd_server_main_b_port:
+      cpu.delta_pd_server_main_1b:
         type: org.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_pd_server_main_1b:
+      network.incoming.packets_pd_server_main_1b_pd_server_main_1b_port:
         type: org.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_main_1b_pd_server_main_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
       disk.device.read.bytes_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10271,7 +10266,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes_pd_server_main_1b_pd_server_main_b_port:
+      network.outgoing.packets.rate_pd_server_main_1b_pd_server_main_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -10289,12 +10284,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.packets.rate_pd_server_main_1b_pd_server_main_b_port:
-        type: org.openecomp.capabilities.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_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10307,7 +10296,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_pd_server_main_1b_pd_server_main_b_port:
+      feature_pd_server_main_1b_pd_server_main_1b_port:
         type: tosca.capabilities.Node
         occurrences:
         - 1
@@ -10329,43 +10318,37 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.read.requests_pd_server_main_1b:
-        type: org.openecomp.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_pd_server_main_1b:
+      network.outgoing.bytes_pd_server_main_1b_pd_server_main_1b_port:
         type: org.openecomp.capabilities.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_pd_server_main_1b:
+      disk.read.requests_pd_server_main_1b:
         type: org.openecomp.capabilities.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_main_1b_pd_server_main_b_port:
+      disk.allocation_pd_server_main_1b:
         type: org.openecomp.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_pd_server_main_1b:
+      network.incoming.bytes.rate_pd_server_main_1b_pd_server_main_1b_port:
         type: org.openecomp.capabilities.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_main_1b_pd_server_main_b_port:
+      disk.device.usage_pd_server_main_1b:
         type: org.openecomp.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_main_1b_pd_server_main_b_port:
+      disk.write.requests.rate_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -10406,6 +10389,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_main_1b_pd_server_main_1b_port:
+        type: org.openecomp.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_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10418,18 +10407,23 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.device.allocation_pd_server_main_1b:
+      network.incoming.bytes_pd_server_main_1b_pd_server_main_1b_port:
         type: org.openecomp.capabilities.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_main_1b_pd_server_main_b_port:
+      disk.device.allocation_pd_server_main_1b:
         type: org.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_main_1b_pd_server_main_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
       disk.iops_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10448,6 +10442,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outpoing.packets_pd_server_main_1b_pd_server_main_1b_port:
+        type: org.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_pd_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10538,11 +10538,19 @@ node_types:
   org.openecomp.resource.abstract.nodes.ps_server_main_1b:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     properties:
-      port_ps_server_main_b_port_network_role_tag:
-        type: string
+      port_ps_server_main_1b_port_fixed_ips:
+        type: list
         required: true
         status: SUPPORTED
-      port_ps_server_main_b_port_network_role:
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_ps_server_main_1b_port_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_ps_server_main_1b_port_subnetpoolid:
         type: string
         required: true
         status: SUPPORTED
@@ -10552,7 +10560,7 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_ps_server_main_b_port_exCP_naming:
+      port_ps_server_main_1b_port_exCP_naming:
         type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
@@ -10564,47 +10572,27 @@ node_types:
         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
+      port_ps_server_main_1b_port_network_role:
+        type: string
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: string
-      port_ps_server_main_b_port_order:
+      port_ps_server_main_1b_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
+      port_ps_server_main_1b_port_network_role_tag:
+        type: string
         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:
+      port_ps_server_main_1b_port_vlan_requirements:
         type: list
         required: true
         status: SUPPORTED
@@ -10616,19 +10604,31 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_ps_server_main_b_port_subnetpoolid:
-        type: string
+      port_ps_server_main_1b_port_replacement_policy:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_ps_server_main_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_ps_server_main_1b_port_network:
+        type: list
         required: true
         status: SUPPORTED
+        entry_schema:
+          type: string
     requirements:
-    - dependency_ps_server_main_1b_ps_server_main_b_port:
+    - dependency_ps_server_main_1b_ps_server_main_1b_port:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_ps_server_main_1b_ps_server_main_b_port:
+    - link_ps_server_main_1b_ps_server_main_1b_port:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -10649,6 +10649,12 @@ node_types:
         - 0
         - UNBOUNDED
     capabilities:
+      network.incoming.bytes_ps_server_main_1b_ps_server_main_1b_port:
+        type: org.openecomp.capabilities.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_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10667,9 +10673,8 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_ps_server_main_1b_ps_server_main_b_port:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      attachment_ps_server_main_1b_ps_server_main_1b_port:
+        type: tosca.capabilities.Attachment
         occurrences:
         - 1
         - UNBOUNDED
@@ -10685,7 +10690,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_ps_server_main_1b_ps_server_main_b_port:
+      network.outgoing.packets.rate_ps_server_main_1b_ps_server_main_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -10697,6 +10702,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      binding_ps_server_main_1b_ps_server_main_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
       disk.device.write.bytes.rate_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10727,6 +10739,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outpoing.packets_ps_server_main_1b_ps_server_main_1b_port:
+        type: org.openecomp.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_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10739,6 +10757,11 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      feature_ps_server_main_1b_ps_server_main_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
       disk.device.read.requests_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10762,6 +10785,18 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outgoing.bytes_ps_server_main_1b_ps_server_main_1b_port:
+        type: org.openecomp.capabilities.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_ps_server_main_1b_ps_server_main_1b_port:
+        type: org.openecomp.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_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10796,17 +10831,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets_ps_server_main_1b_ps_server_main_b_port:
-        type: org.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_ps_server_main_1b_ps_server_main_b_port:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
       disk.device.write.bytes_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10825,31 +10849,26 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes.rate_ps_server_main_1b_ps_server_main_b_port:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      binding_ps_server_main_1b:
+        type: tosca.capabilities.network.Bindable
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes.rate_ps_server_main_1b_ps_server_main_b_port:
+      network.incoming.packets_ps_server_main_1b_ps_server_main_1b_port:
         type: org.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_ps_server_main_1b:
-        type: tosca.capabilities.network.Bindable
-        occurrences:
-        - 1
-        - UNBOUNDED
       disk.device.read.bytes.rate_ps_server_main_1b:
         type: org.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_ps_server_main_1b_ps_server_main_b_port:
-        type: tosca.capabilities.Attachment
+      network.outgoing.bytes.rate_ps_server_main_1b_ps_server_main_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
         - 1
         - UNBOUNDED
@@ -10860,25 +10879,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_ps_server_main_1b_ps_server_main_b_port:
-        type: org.openecomp.capabilities.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_ps_server_main_1b:
         type: org.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_ps_server_main_1b_ps_server_main_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
       disk.write.requests_ps_server_main_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -10926,25 +10932,19 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.packets.rate_ps_server_main_1b_ps_server_main_b_port:
-        type: org.openecomp.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_ps_server_main_1b_ps_server_main_b_port:
+      memory_ps_server_main_1b:
         type: org.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_ps_server_main_1b:
+      disk.root.size_ps_server_main_1b:
         type: org.openecomp.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_ps_server_main_1b:
+      network.incoming.bytes.rate_ps_server_main_1b_ps_server_main_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -11380,24 +11380,20 @@ node_types:
   org.openecomp.resource.abstract.nodes.ps_server_nested2_1b:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     properties:
-      port_ps_server_nested_b_port_replacement_policy:
-        type: list
+      port_ps_server_nested2_1b_port_network_role_tag:
+        type: string
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: string
-      port_ps_server_nested_b_port_ip_requirements:
+      port_ps_server_nested2_1b_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
+      port_ps_server_nested2_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: string
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -11412,11 +11408,13 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_ps_server_nested_b_port_exCP_naming:
-        type: org.openecomp.datatypes.Naming
+      compute_ps_server_nested2_1b_availability_zone:
+        type: list
         required: true
         status: SUPPORTED
-      compute_ps_server_nested2_1b_availability_zone:
+        entry_schema:
+          type: string
+      port_ps_server_nested2_1b_port_replacement_policy:
         type: list
         required: true
         status: SUPPORTED
@@ -11426,56 +11424,45 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      port_ps_server_nested_b_port_fixed_ips:
+      port_ps_server_nested2_1b_port_network:
         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
+          type: string
+      port_ps_server_nested2_1b_port_vlan_requirements:
+        type: list
         required: true
         status: SUPPORTED
-      port_ps_server_nested_b_port_mac_requirements:
-        type: org.openecomp.datatypes.network.MacRequirements
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_ps_server_nested2_1b_port_network_role:
+        type: string
         required: true
         status: SUPPORTED
       vm_image_name:
         type: string
         required: true
         status: SUPPORTED
-      port_ps_server_nested_b_port_vlan_requirements:
-        type: list
+      port_ps_server_nested2_1b_port_order:
+        type: integer
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
-      port_ps_server_nested_b_port_network_role:
+      port_ps_server_nested2_1b_port_subnetpoolid:
         type: string
         required: true
         status: SUPPORTED
-      port_ps_server_nested_b_port_network_role_tag:
-        type: string
+      port_ps_server_nested2_1b_port_fixed_ips:
+        type: list
         required: true
         status: SUPPORTED
-      port_ps_server_nested_b_port_order:
-        type: integer
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_ps_server_nested2_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
     requirements:
-    - dependency_ps_server_nested2_1b_ps_server_nested_b_port:
-        capability: tosca.capabilities.Node
-        node: tosca.nodes.Root
-        relationship: tosca.relationships.DependsOn
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - link_ps_server_nested2_1b_ps_server_nested_b_port:
-        capability: tosca.capabilities.network.Linkable
-        relationship: tosca.relationships.network.LinksTo
-        occurrences:
-        - 1
-        - 1
     - dependency_ps_server_nested2_1b:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
@@ -11490,44 +11477,39 @@ node_types:
         occurrences:
         - 0
         - UNBOUNDED
-    capabilities:
-      disk.device.read.bytes.rate_ps_server_nested2_1b:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+    - dependency_ps_server_nested2_1b_ps_server_nested2_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
         occurrences:
-        - 1
+        - 0
         - UNBOUNDED
-      network.incoming.packets.rate_ps_server_nested2_1b_ps_server_nested_b_port:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+    - link_ps_server_nested2_1b_ps_server_nested2_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
         occurrences:
         - 1
-        - UNBOUNDED
-      disk.iops_ps_server_nested2_1b:
-        type: org.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_ps_server_nested2_1b:
+    capabilities:
+      disk.device.read.bytes.rate_ps_server_nested2_1b:
         type: org.openecomp.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_ps_server_nested2_1b_ps_server_nested_b_port:
+      disk.iops_ps_server_nested2_1b:
         type: org.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_ps_server_nested2_1b:
+      vcpus_ps_server_nested2_1b:
         type: org.openecomp.capabilities.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_ps_server_nested2_1b_ps_server_nested_b_port:
+      instance_ps_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -11557,25 +11539,25 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.device.allocation_ps_server_nested2_1b:
+      network.incoming.packets_ps_server_nested2_1b_ps_server_nested2_1b_port:
         type: org.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_ps_server_nested2_1b:
+      disk.device.allocation_ps_server_nested2_1b:
         type: org.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_ps_server_nested2_1b:
+      cpu.delta_ps_server_nested2_1b:
         type: org.openecomp.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_ps_server_nested2_1b_ps_server_nested_b_port:
+      memory.resident_ps_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -11618,6 +11600,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.incoming.bytes_ps_server_nested2_1b_ps_server_nested2_1b_port:
+        type: org.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_ps_server_nested2_1b:
         type: tosca.capabilities.Scalable
         occurrences:
@@ -11629,13 +11617,31 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outgoing.bytes.rate_ps_server_nested2_1b_ps_server_nested2_1b_port:
+        type: org.openecomp.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_ps_server_nested2_1b_ps_server_nested2_1b_port:
+        type: org.openecomp.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_ps_server_nested2_1b_ps_server_nested2_1b_port:
+        type: org.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_ps_server_nested2_1b:
         type: org.openecomp.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_ps_server_nested2_1b_ps_server_nested_b_port:
+      network.incoming.bytes.rate_ps_server_nested2_1b_ps_server_nested2_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -11647,24 +11653,23 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.write.requests_ps_server_nested2_1b:
+      network.outgoing.bytes_ps_server_nested2_1b_ps_server_nested2_1b_port:
         type: org.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_ps_server_nested2_1b:
+      disk.write.requests_ps_server_nested2_1b:
         type: org.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_ps_server_nested2_1b_ps_server_nested_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      memory_ps_server_nested2_1b:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
-        - 0
+        - 1
         - UNBOUNDED
       disk.device.read.requests.rate_ps_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
@@ -11678,12 +11683,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_ps_server_nested2_1b_ps_server_nested_b_port:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.incoming.bytes_ps_server_nested2_1b_ps_server_nested_b_port:
+      network.incoming.packets.rate_ps_server_nested2_1b_ps_server_nested2_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -11695,6 +11695,11 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      feature_ps_server_nested2_1b_ps_server_nested2_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
       disk.device.write.requests.rate_ps_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -11734,12 +11739,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes.rate_ps_server_nested2_1b_ps_server_nested_b_port:
-        type: org.openecomp.capabilities.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_ps_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -11752,11 +11751,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      attachment_ps_server_nested2_1b_ps_server_nested_b_port:
-        type: tosca.capabilities.Attachment
-        occurrences:
-        - 1
-        - UNBOUNDED
       os_ps_server_nested2_1b:
         type: tosca.capabilities.OperatingSystem
         occurrences:
@@ -11780,19 +11774,25 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.device.read.requests_ps_server_nested2_1b:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      binding_ps_server_nested2_1b_ps_server_nested2_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      attachment_ps_server_nested2_1b_ps_server_nested2_1b_port:
+        type: tosca.capabilities.Attachment
         occurrences:
         - 1
         - UNBOUNDED
-      disk.device.write.bytes.rate_ps_server_nested2_1b:
+      disk.device.read.requests_ps_server_nested2_1b:
         type: org.openecomp.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_ps_server_nested2_1b_ps_server_nested_b_port:
+      disk.device.write.bytes.rate_ps_server_nested2_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
index ed4dbd6..3e27a96 100644 (file)
@@ -105,32 +105,32 @@ topology_template:
       properties:
         compute_pd_server_main_1b_availability_zone:
         - get_input: availability_zone_0
-        port_pd_server_main_b_port_replacement_policy:
+        port_pd_server_main_1b_port_replacement_policy:
         - AUTO
+        port_pd_server_main_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
         vm_flavor_name:
           get_input: pd_server_main_1b_flavor
-        port_pd_server_main_b_port_fixed_ips:
-        - ip_address:
-            get_input:
-            - pd_server_main_1b_ips
-            - 0
-        port_pd_server_main_b_port_ip_requirements:
-        - ip_version: 4
-          ip_count_required:
-            is_required: true
-          floating_ip_count_required:
-            is_required: false
         vm_image_name:
           get_input: pd_server_main_1b_image
-        port_pd_server_main_b_port_mac_requirements:
-          mac_count_required:
-            is_required: false
         compute_pd_server_main_1b_name:
         - get_input:
           - pd_server_main_1b_names
           - 0
-        port_pd_server_main_b_port_network:
+        port_pd_server_main_1b_port_network:
         - get_input: jsa_name
+        port_pd_server_main_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_pd_server_main_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - pd_server_main_1b_ips
+            - 0
         service_template_filter:
           substitute_service_template: Nested_pd_server_main_1b_1ServiceTemplate.yaml
           count: 1
@@ -144,34 +144,34 @@ topology_template:
       directives:
       - substitutable
       properties:
-        compute_ps_server_main_1b_availability_zone:
-        - get_input: availability_zone_0
-        port_ps_server_main_b_port_replacement_policy:
-        - AUTO
-        port_ps_server_main_b_port_ip_requirements:
+        port_ps_server_main_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - ps_server_main_1b_ips
+            - 0
+        port_ps_server_main_1b_port_ip_requirements:
         - ip_version: 4
           ip_count_required:
             is_required: true
           floating_ip_count_required:
             is_required: false
+        compute_ps_server_main_1b_availability_zone:
+        - get_input: availability_zone_0
         vm_flavor_name:
           get_input: ps_server_main_1b_flavor
-        port_ps_server_main_b_port_network:
-        - get_input: jsa_name
-        port_ps_server_main_b_port_mac_requirements:
-          mac_count_required:
-            is_required: false
-        port_ps_server_main_b_port_fixed_ips:
-        - ip_address:
-            get_input:
-            - ps_server_main_1b_ips
-            - 0
         vm_image_name:
           get_input: ps_server_main_1b_image
         compute_ps_server_main_1b_name:
         - get_input:
           - ps_server_main_1b_names
           - 1
+        port_ps_server_main_1b_port_replacement_policy:
+        - AUTO
+        port_ps_server_main_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_ps_server_main_1b_port_network:
+        - get_input: jsa_name
         service_template_filter:
           substitute_service_template: Nested_ps_server_main_1b_1ServiceTemplate.yaml
           count: 1
index 697a9a1..b489bc4 100644 (file)
@@ -11,9 +11,6 @@ node_types:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
 topology_template:
   inputs:
-    port_pd_server_main_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -21,62 +18,65 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_pd_server_main_b_port_order:
-      type: integer
+    port_pd_server_main_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
       required: true
     compute_pd_server_main_1b_availability_zone:
       type: list
       required: true
       entry_schema:
         type: string
-    port_pd_server_main_b_port_replacement_policy:
+    port_pd_server_main_1b_port_replacement_policy:
       type: list
       required: true
       entry_schema:
         type: string
-    port_pd_server_main_b_port_subnetpoolid:
+    port_pd_server_main_1b_port_subnetpoolid:
       type: string
       required: true
-    port_pd_server_main_b_port_network_role_tag:
-      type: string
+    port_pd_server_main_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
       required: true
     vm_flavor_name:
       type: string
       required: true
-    port_pd_server_main_b_port_fixed_ips:
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_server_main_1b_port_network_role:
+      type: string
+      required: true
+    compute_pd_server_main_1b_name:
       type: list
       required: true
       entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-    port_pd_server_main_b_port_vlan_requirements:
+        type: string
+    port_pd_server_main_1b_port_network:
       type: list
       required: true
       entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    port_pd_server_main_b_port_network_role:
-      type: string
-      required: true
-    port_pd_server_main_b_port_ip_requirements:
+        type: string
+    port_pd_server_main_1b_port_ip_requirements:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.IpRequirements
-    vm_image_name:
+    port_pd_server_main_1b_port_network_role_tag:
       type: string
       required: true
-    port_pd_server_main_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    compute_pd_server_main_1b_name:
+    port_pd_server_main_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
-        type: string
-    port_pd_server_main_b_port_network:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd_server_main_1b_port_fixed_ips:
       type: list
       required: true
       entry_schema:
-        type: string
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_main_1b_port_order:
+      type: integer
+      required: true
   node_templates:
     pd_server_main_1b:
       type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_main_1b
@@ -93,34 +93,34 @@ topology_template:
           get_input:
           - compute_pd_server_main_1b_name
           - index_value
-    pd_server_main_1b_pd_server_main_b_port:
+    pd_server_main_1b_pd_server_main_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_pd_server_main_b_port_exCP_naming
+          get_input: port_pd_server_main_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_pd_server_main_b_port_replacement_policy
+          - port_pd_server_main_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_pd_server_main_b_port_vlan_requirements
+          get_input: port_pd_server_main_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_pd_server_main_b_port_ip_requirements
+          get_input: port_pd_server_main_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_pd_server_main_b_port_network_role_tag
+          get_input: port_pd_server_main_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_pd_server_main_b_port_mac_requirements
+          get_input: port_pd_server_main_1b_port_mac_requirements
         order:
-          get_input: port_pd_server_main_b_port_order
+          get_input: port_pd_server_main_1b_port_order
         network_role:
-          get_input: port_pd_server_main_b_port_network_role
+          get_input: port_pd_server_main_1b_port_network_role
         subnetpoolid:
-          get_input: port_pd_server_main_b_port_subnetpoolid
+          get_input: port_pd_server_main_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_pd_server_main_b_port_fixed_ips
+          get_input: port_pd_server_main_1b_port_fixed_ips
         network:
           get_input:
-          - port_pd_server_main_b_port_network
+          - port_pd_server_main_1b_port_network
           - index_value
       requirements:
       - binding:
@@ -154,56 +154,50 @@ topology_template:
       scalable_pd_server_main_1b:
       - pd_server_main_1b
       - scalable
-      network.incoming.packets.rate_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.incoming.packets.rate
       endpoint_pd_server_main_1b:
       - pd_server_main_1b
       - endpoint
-      attachment_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - attachment
+      network.incoming.packets.rate_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.incoming.packets.rate
       instance_pd_server_main_1b:
       - pd_server_main_1b
       - instance
+      binding_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - binding
       host_pd_server_main_1b:
       - pd_server_main_1b
       - host
-      network.outpoing.packets_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.outpoing.packets
       cpu.delta_pd_server_main_1b:
       - pd_server_main_1b
       - cpu.delta
-      binding_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - binding
+      network.incoming.packets_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.incoming.packets
       disk.device.read.bytes_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.read.bytes
       disk.device.read.bytes.rate_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.read.bytes.rate
-      network.outgoing.bytes_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.outgoing.bytes
+      network.outgoing.packets.rate_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.outgoing.packets.rate
       disk.device.iops_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.iops
       disk.device.write.requests.rate_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.write.requests.rate
-      network.outgoing.packets.rate_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.outgoing.packets.rate
       disk.device.write.bytes_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.write.bytes
       disk.device.latency_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.latency
-      feature_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
+      feature_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
       - feature
       binding_pd_server_main_1b:
       - pd_server_main_1b
@@ -214,27 +208,24 @@ topology_template:
       disk.ephemeral.size_pd_server_main_1b:
       - pd_server_main_1b
       - disk.ephemeral.size
+      network.outgoing.bytes_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.outgoing.bytes
       disk.read.requests_pd_server_main_1b:
       - pd_server_main_1b
       - disk.read.requests
       disk.allocation_pd_server_main_1b:
       - pd_server_main_1b
       - disk.allocation
+      network.incoming.bytes.rate_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.incoming.bytes.rate
       disk.device.usage_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.usage
-      network.incoming.bytes.rate_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.incoming.bytes.rate
       disk.write.requests.rate_pd_server_main_1b:
       - pd_server_main_1b
       - disk.write.requests.rate
-      network.incoming.bytes_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.incoming.bytes
-      network.outgoing.bytes.rate_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.outgoing.bytes.rate
       os_pd_server_main_1b:
       - pd_server_main_1b
       - os
@@ -253,18 +244,24 @@ topology_template:
       disk.latency_pd_server_main_1b:
       - pd_server_main_1b
       - disk.latency
+      network.outgoing.bytes.rate_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.outgoing.bytes.rate
       disk.read.bytes.rate_pd_server_main_1b:
       - pd_server_main_1b
       - disk.read.bytes.rate
       disk.device.read.requests_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.read.requests
+      network.incoming.bytes_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.incoming.bytes
       disk.device.allocation_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.allocation
-      network.incoming.packets_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.incoming.packets
+      attachment_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - attachment
       disk.iops_pd_server_main_1b:
       - pd_server_main_1b
       - disk.iops
@@ -274,6 +271,9 @@ topology_template:
       disk.write.requests_pd_server_main_1b:
       - pd_server_main_1b
       - disk.write.requests
+      network.outpoing.packets_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.outpoing.packets
       cpu_util_pd_server_main_1b:
       - pd_server_main_1b
       - cpu_util
@@ -287,15 +287,15 @@ topology_template:
       - pd_server_main_1b
       - disk.device.read.requests.rate
     requirements:
-      link_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
+      link_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
       - link
-      dependency_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - dependency
       dependency_pd_server_main_1b:
       - pd_server_main_1b
       - dependency
       local_storage_pd_server_main_1b:
       - pd_server_main_1b
       - local_storage
+      dependency_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - dependency
index 164b9ee..c1f087a 100644 (file)
@@ -11,9 +11,6 @@ node_types:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
 topology_template:
   inputs:
-    port_pd_server_main_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -21,62 +18,65 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_pd_server_main_b_port_order:
-      type: integer
+    port_pd_server_main_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
       required: true
     compute_pd_server_main_1b_availability_zone:
       type: list
       required: true
       entry_schema:
         type: string
-    port_pd_server_main_b_port_replacement_policy:
+    port_pd_server_main_1b_port_replacement_policy:
       type: list
       required: true
       entry_schema:
         type: string
-    port_pd_server_main_b_port_subnetpoolid:
+    port_pd_server_main_1b_port_subnetpoolid:
       type: string
       required: true
-    port_pd_server_main_b_port_network_role_tag:
-      type: string
+    port_pd_server_main_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
       required: true
     vm_flavor_name:
       type: string
       required: true
-    port_pd_server_main_b_port_fixed_ips:
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_server_main_1b_port_network_role:
+      type: string
+      required: true
+    compute_pd_server_main_1b_name:
       type: list
       required: true
       entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-    port_pd_server_main_b_port_vlan_requirements:
+        type: string
+    port_pd_server_main_1b_port_network:
       type: list
       required: true
       entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    port_pd_server_main_b_port_network_role:
-      type: string
-      required: true
-    port_pd_server_main_b_port_ip_requirements:
+        type: string
+    port_pd_server_main_1b_port_ip_requirements:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.IpRequirements
-    vm_image_name:
+    port_pd_server_main_1b_port_network_role_tag:
       type: string
       required: true
-    port_pd_server_main_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    compute_pd_server_main_1b_name:
+    port_pd_server_main_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
-        type: string
-    port_pd_server_main_b_port_network:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd_server_main_1b_port_fixed_ips:
       type: list
       required: true
       entry_schema:
-        type: string
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_main_1b_port_order:
+      type: integer
+      required: true
   node_templates:
     pd_server_main_1b:
       type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_main_1b
@@ -93,34 +93,34 @@ topology_template:
           get_input:
           - compute_pd_server_main_1b_name
           - index_value
-    pd_server_main_1b_pd_server_main_b_port:
+    pd_server_main_1b_pd_server_main_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_pd_server_main_b_port_exCP_naming
+          get_input: port_pd_server_main_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_pd_server_main_b_port_replacement_policy
+          - port_pd_server_main_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_pd_server_main_b_port_vlan_requirements
+          get_input: port_pd_server_main_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_pd_server_main_b_port_ip_requirements
+          get_input: port_pd_server_main_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_pd_server_main_b_port_network_role_tag
+          get_input: port_pd_server_main_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_pd_server_main_b_port_mac_requirements
+          get_input: port_pd_server_main_1b_port_mac_requirements
         order:
-          get_input: port_pd_server_main_b_port_order
+          get_input: port_pd_server_main_1b_port_order
         network_role:
-          get_input: port_pd_server_main_b_port_network_role
+          get_input: port_pd_server_main_1b_port_network_role
         subnetpoolid:
-          get_input: port_pd_server_main_b_port_subnetpoolid
+          get_input: port_pd_server_main_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_pd_server_main_b_port_fixed_ips
+          get_input: port_pd_server_main_1b_port_fixed_ips
         network:
           get_input:
-          - port_pd_server_main_b_port_network
+          - port_pd_server_main_1b_port_network
           - index_value
       requirements:
       - binding:
@@ -154,56 +154,50 @@ topology_template:
       scalable_pd_server_main_1b:
       - pd_server_main_1b
       - scalable
-      network.incoming.packets.rate_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.incoming.packets.rate
       endpoint_pd_server_main_1b:
       - pd_server_main_1b
       - endpoint
-      attachment_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - attachment
+      network.incoming.packets.rate_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.incoming.packets.rate
       instance_pd_server_main_1b:
       - pd_server_main_1b
       - instance
+      binding_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - binding
       host_pd_server_main_1b:
       - pd_server_main_1b
       - host
-      network.outpoing.packets_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.outpoing.packets
       cpu.delta_pd_server_main_1b:
       - pd_server_main_1b
       - cpu.delta
-      binding_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - binding
+      network.incoming.packets_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.incoming.packets
       disk.device.read.bytes_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.read.bytes
       disk.device.read.bytes.rate_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.read.bytes.rate
-      network.outgoing.bytes_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.outgoing.bytes
+      network.outgoing.packets.rate_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.outgoing.packets.rate
       disk.device.iops_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.iops
       disk.device.write.requests.rate_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.write.requests.rate
-      network.outgoing.packets.rate_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.outgoing.packets.rate
       disk.device.write.bytes_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.write.bytes
       disk.device.latency_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.latency
-      feature_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
+      feature_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
       - feature
       binding_pd_server_main_1b:
       - pd_server_main_1b
@@ -214,27 +208,24 @@ topology_template:
       disk.ephemeral.size_pd_server_main_1b:
       - pd_server_main_1b
       - disk.ephemeral.size
+      network.outgoing.bytes_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.outgoing.bytes
       disk.read.requests_pd_server_main_1b:
       - pd_server_main_1b
       - disk.read.requests
       disk.allocation_pd_server_main_1b:
       - pd_server_main_1b
       - disk.allocation
+      network.incoming.bytes.rate_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.incoming.bytes.rate
       disk.device.usage_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.usage
-      network.incoming.bytes.rate_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.incoming.bytes.rate
       disk.write.requests.rate_pd_server_main_1b:
       - pd_server_main_1b
       - disk.write.requests.rate
-      network.incoming.bytes_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.incoming.bytes
-      network.outgoing.bytes.rate_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.outgoing.bytes.rate
       os_pd_server_main_1b:
       - pd_server_main_1b
       - os
@@ -253,18 +244,24 @@ topology_template:
       disk.latency_pd_server_main_1b:
       - pd_server_main_1b
       - disk.latency
+      network.outgoing.bytes.rate_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.outgoing.bytes.rate
       disk.read.bytes.rate_pd_server_main_1b:
       - pd_server_main_1b
       - disk.read.bytes.rate
       disk.device.read.requests_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.read.requests
+      network.incoming.bytes_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.incoming.bytes
       disk.device.allocation_pd_server_main_1b:
       - pd_server_main_1b
       - disk.device.allocation
-      network.incoming.packets_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - network.incoming.packets
+      attachment_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - attachment
       disk.iops_pd_server_main_1b:
       - pd_server_main_1b
       - disk.iops
@@ -274,6 +271,9 @@ topology_template:
       disk.write.requests_pd_server_main_1b:
       - pd_server_main_1b
       - disk.write.requests
+      network.outpoing.packets_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - network.outpoing.packets
       cpu_util_pd_server_main_1b:
       - pd_server_main_1b
       - cpu_util
@@ -287,15 +287,15 @@ topology_template:
       - pd_server_main_1b
       - disk.device.read.requests.rate
     requirements:
-      link_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
+      link_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
       - link
-      dependency_pd_server_main_1b_pd_server_main_b_port:
-      - pd_server_main_1b_pd_server_main_b_port
-      - dependency
       dependency_pd_server_main_1b:
       - pd_server_main_1b
       - dependency
       local_storage_pd_server_main_1b:
       - pd_server_main_1b
       - local_storage
+      dependency_pd_server_main_1b_pd_server_main_1b_port:
+      - pd_server_main_1b_pd_server_main_1b_port
+      - dependency
index 13bd976..2c205eb 100644 (file)
@@ -11,13 +11,13 @@ node_types:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
 topology_template:
   inputs:
-    port_pd_server_nested_b_port_vlan_requirements:
+    port_pd_server_nested2_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.VlanRequirements
-    port_pd_server_nested_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
+    port_pd_server_nested2_1b_port_order:
+      type: integer
       required: true
     index_value:
       type: integer
@@ -26,18 +26,26 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_pd_server_nested_b_port_fixed_ips:
+    port_pd_server_nested2_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_server_nested2_1b_port_fixed_ips:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-    port_pd_server_nested_b_port_network_role_tag:
+    port_pd_server_nested2_1b_port_network_role:
       type: string
       required: true
+    port_pd_server_nested2_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
     vm_flavor_name:
       type: string
       required: true
-    port_pd_server_nested_b_port_subnetpoolid:
+    port_pd_server_nested2_1b_port_subnetpoolid:
       type: string
       required: true
     compute_pd_server_nested2_1b_availability_zone:
@@ -50,101 +58,93 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_pd_server_nested_b_port_order:
-      type: integer
+    vm_image_name:
+      type: string
       required: true
-    port_pd_server_nested_b_port_network:
+    port_pd_server_nested2_1b_port_ip_requirements:
       type: list
       required: true
       entry_schema:
-        type: string
-    port_pd_server_nested_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_nested2_1b_port_network_role_tag:
+      type: string
       required: true
-    port_pd_server_nested_b_port_replacement_policy:
+    port_pd_server_nested2_1b_port_network:
       type: list
       required: true
       entry_schema:
         type: string
-    vm_image_name:
-      type: string
-      required: true
-    port_pd_server_nested_b_port_network_role:
-      type: string
-      required: true
-    port_pd_server_nested_b_port_ip_requirements:
-      type: list
+    port_pd_server_nested2_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
   node_templates:
-    pd_server_nested2_1b_pd_server_nested_b_port:
+    pd_server_nested2_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_nested2_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_nested2_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_nested2_1b_name
+          - index_value
+    pd_server_nested2_1b_pd_server_nested2_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_pd_server_nested_b_port_exCP_naming
+          get_input: port_pd_server_nested2_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_pd_server_nested_b_port_replacement_policy
+          - port_pd_server_nested2_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_pd_server_nested_b_port_vlan_requirements
+          get_input: port_pd_server_nested2_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_pd_server_nested_b_port_ip_requirements
+          get_input: port_pd_server_nested2_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_pd_server_nested_b_port_network_role_tag
+          get_input: port_pd_server_nested2_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_pd_server_nested_b_port_mac_requirements
+          get_input: port_pd_server_nested2_1b_port_mac_requirements
         order:
-          get_input: port_pd_server_nested_b_port_order
+          get_input: port_pd_server_nested2_1b_port_order
         network_role:
-          get_input: port_pd_server_nested_b_port_network_role
+          get_input: port_pd_server_nested2_1b_port_network_role
         subnetpoolid:
-          get_input: port_pd_server_nested_b_port_subnetpoolid
+          get_input: port_pd_server_nested2_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_pd_server_nested_b_port_fixed_ips
+          get_input: port_pd_server_nested2_1b_port_fixed_ips
         network:
           get_input:
-          - port_pd_server_nested_b_port_network
+          - port_pd_server_nested2_1b_port_network
           - index_value
       requirements:
       - binding:
           capability: tosca.capabilities.network.Bindable
           node: pd_server_nested2_1b
           relationship: tosca.relationships.network.BindsTo
-    pd_server_nested2_1b:
-      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_nested2_1b
-      properties:
-        availability_zone:
-          get_input:
-          - compute_pd_server_nested2_1b_availability_zone
-          - index_value
-        flavor:
-          get_input: vm_flavor_name
-        image:
-          get_input: vm_image_name
-        name:
-          get_input:
-          - compute_pd_server_nested2_1b_name
-          - index_value
   substitution_mappings:
     node_type: org.openecomp.resource.abstract.nodes.pd_server_nested2_1b
     capabilities:
+      network.outpoing.packets_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - network.outpoing.packets
       cpu_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - cpu
       disk.ephemeral.size_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.ephemeral.size
-      network.outgoing.packets.rate_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - network.outgoing.packets.rate
+      network.incoming.packets_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - network.incoming.packets
       memory.usage_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - memory.usage
-      network.outgoing.bytes.rate_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - network.outgoing.bytes.rate
       disk.write.bytes.rate_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.write.bytes.rate
@@ -157,12 +157,12 @@ topology_template:
       endpoint_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - endpoint
-      network.incoming.packets.rate_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - network.incoming.packets.rate
       disk.device.read.requests.rate_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.device.read.requests.rate
+      attachment_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - attachment
       binding_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - binding
@@ -175,12 +175,15 @@ topology_template:
       disk.device.latency_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.device.latency
-      network.incoming.packets_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - network.incoming.packets
+      network.outgoing.packets.rate_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - network.outgoing.packets.rate
       disk.device.write.bytes.rate_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.device.write.bytes.rate
+      network.outgoing.bytes_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - network.outgoing.bytes
       disk.iops_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.iops
@@ -202,24 +205,12 @@ topology_template:
       disk.device.read.requests_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.device.read.requests
-      feature_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - feature
-      network.incoming.bytes.rate_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - network.incoming.bytes.rate
       disk.capacity_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.capacity
       disk.write.bytes_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.write.bytes
-      binding_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - binding
-      attachment_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - attachment
       instance_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - instance
@@ -238,15 +229,18 @@ topology_template:
       disk.read.bytes_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.read.bytes
-      network.outgoing.bytes_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - network.outgoing.bytes
       cpu.delta_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - cpu.delta
+      binding_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - binding
       vcpus_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - vcpus
+      network.incoming.bytes_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - network.incoming.bytes
       disk.latency_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.latency
@@ -256,18 +250,24 @@ topology_template:
       cpu_util_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - cpu_util
-      network.incoming.bytes_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - network.incoming.bytes
+      network.outgoing.bytes.rate_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - network.outgoing.bytes.rate
+      network.incoming.bytes.rate_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - network.incoming.bytes.rate
       disk.allocation_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.allocation
-      network.outpoing.packets_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - network.outpoing.packets
       disk.device.write.requests.rate_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - disk.device.write.requests.rate
+      network.incoming.packets.rate_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - network.incoming.packets.rate
+      feature_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - feature
       memory.resident_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - memory.resident
@@ -287,15 +287,15 @@ topology_template:
       - pd_server_nested2_1b
       - host
     requirements:
-      dependency_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - dependency
       local_storage_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - local_storage
-      link_pd_server_nested2_1b_pd_server_nested_b_port:
-      - pd_server_nested2_1b_pd_server_nested_b_port
-      - link
       dependency_pd_server_nested2_1b:
       - pd_server_nested2_1b
       - dependency
+      dependency_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - dependency
+      link_pd_server_nested2_1b_pd_server_nested2_1b_port:
+      - pd_server_nested2_1b_pd_server_nested2_1b_port
+      - link
index b6af3a6..c4c0dcc 100644 (file)
@@ -11,10 +11,17 @@ node_types:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
 topology_template:
   inputs:
-    port_ps_server_main_b_port_network_role_tag:
-      type: string
+    port_ps_server_main_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_ps_server_main_1b_port_ip_requirements:
+      type: list
       required: true
-    port_ps_server_main_b_port_network_role:
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_ps_server_main_1b_port_subnetpoolid:
       type: string
       required: true
     compute_ps_server_main_1b_availability_zone:
@@ -22,7 +29,7 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_ps_server_main_b_port_exCP_naming:
+    port_ps_server_main_1b_port_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
     index_value:
@@ -32,39 +39,22 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_ps_server_main_b_port_replacement_policy:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_ps_server_main_b_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
     vm_flavor_name:
       type: string
       required: true
-    port_ps_server_main_b_port_network:
-      type: list
+    port_ps_server_main_1b_port_network_role:
+      type: string
       required: true
-      entry_schema:
-        type: string
-    port_ps_server_main_b_port_order:
+    port_ps_server_main_1b_port_order:
       type: integer
       required: true
-    port_ps_server_main_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    port_ps_server_main_b_port_fixed_ips:
-      type: list
+    port_ps_server_main_1b_port_network_role_tag:
+      type: string
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     vm_image_name:
       type: string
       required: true
-    port_ps_server_main_b_port_vlan_requirements:
+    port_ps_server_main_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
@@ -74,38 +64,48 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_ps_server_main_b_port_subnetpoolid:
-      type: string
+    port_ps_server_main_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_main_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_ps_server_main_1b_port_network:
+      type: list
       required: true
+      entry_schema:
+        type: string
   node_templates:
-    ps_server_main_1b_ps_server_main_b_port:
+    ps_server_main_1b_ps_server_main_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_ps_server_main_b_port_exCP_naming
+          get_input: port_ps_server_main_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_ps_server_main_b_port_replacement_policy
+          - port_ps_server_main_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_ps_server_main_b_port_vlan_requirements
+          get_input: port_ps_server_main_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_ps_server_main_b_port_ip_requirements
+          get_input: port_ps_server_main_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_ps_server_main_b_port_network_role_tag
+          get_input: port_ps_server_main_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_ps_server_main_b_port_mac_requirements
+          get_input: port_ps_server_main_1b_port_mac_requirements
         order:
-          get_input: port_ps_server_main_b_port_order
+          get_input: port_ps_server_main_1b_port_order
         network_role:
-          get_input: port_ps_server_main_b_port_network_role
+          get_input: port_ps_server_main_1b_port_network_role
         subnetpoolid:
-          get_input: port_ps_server_main_b_port_subnetpoolid
+          get_input: port_ps_server_main_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_ps_server_main_b_port_fixed_ips
+          get_input: port_ps_server_main_1b_port_fixed_ips
         network:
           get_input:
-          - port_ps_server_main_b_port_network
+          - port_ps_server_main_1b_port_network
           - index_value
       requirements:
       - binding:
@@ -130,6 +130,9 @@ topology_template:
   substitution_mappings:
     node_type: org.openecomp.resource.abstract.nodes.ps_server_main_1b
     capabilities:
+      network.incoming.bytes_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.incoming.bytes
       disk.device.write.requests_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.write.requests
@@ -139,21 +142,24 @@ topology_template:
       disk.capacity_ps_server_main_1b:
       - ps_server_main_1b
       - disk.capacity
-      network.incoming.packets.rate_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.incoming.packets.rate
+      attachment_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - attachment
       disk.device.read.bytes_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.read.bytes
       vcpus_ps_server_main_1b:
       - ps_server_main_1b
       - vcpus
-      network.incoming.bytes_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.incoming.bytes
+      network.outgoing.packets.rate_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.outgoing.packets.rate
       cpu_util_ps_server_main_1b:
       - ps_server_main_1b
       - cpu_util
+      binding_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - binding
       disk.device.write.bytes.rate_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.write.bytes.rate
@@ -169,12 +175,18 @@ topology_template:
       instance_ps_server_main_1b:
       - ps_server_main_1b
       - instance
+      network.outpoing.packets_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.outpoing.packets
       disk.read.bytes.rate_ps_server_main_1b:
       - ps_server_main_1b
       - disk.read.bytes.rate
       disk.latency_ps_server_main_1b:
       - ps_server_main_1b
       - disk.latency
+      feature_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - feature
       disk.device.read.requests_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.read.requests
@@ -187,6 +199,12 @@ topology_template:
       scalable_ps_server_main_1b:
       - ps_server_main_1b
       - scalable
+      network.outgoing.bytes_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.outgoing.bytes
+      network.incoming.packets.rate_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.incoming.packets.rate
       disk.usage_ps_server_main_1b:
       - ps_server_main_1b
       - disk.usage
@@ -205,12 +223,6 @@ topology_template:
       disk.write.bytes_ps_server_main_1b:
       - ps_server_main_1b
       - disk.write.bytes
-      network.incoming.packets_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.incoming.packets
-      feature_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - feature
       disk.device.write.bytes_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.write.bytes
@@ -220,33 +232,24 @@ topology_template:
       disk.write.bytes.rate_ps_server_main_1b:
       - ps_server_main_1b
       - disk.write.bytes.rate
-      network.outgoing.bytes.rate_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.outgoing.bytes.rate
-      network.incoming.bytes.rate_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.incoming.bytes.rate
       binding_ps_server_main_1b:
       - ps_server_main_1b
       - binding
+      network.incoming.packets_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.incoming.packets
       disk.device.read.bytes.rate_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.read.bytes.rate
-      attachment_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - attachment
+      network.outgoing.bytes.rate_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.outgoing.bytes.rate
       host_ps_server_main_1b:
       - ps_server_main_1b
       - host
-      network.outpoing.packets_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.outpoing.packets
       disk.device.iops_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.iops
-      binding_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - binding
       disk.write.requests_ps_server_main_1b:
       - ps_server_main_1b
       - disk.write.requests
@@ -271,18 +274,15 @@ topology_template:
       disk.device.usage_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.usage
-      network.outgoing.packets.rate_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.outgoing.packets.rate
-      network.outgoing.bytes_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.outgoing.bytes
       memory_ps_server_main_1b:
       - ps_server_main_1b
       - memory
       disk.root.size_ps_server_main_1b:
       - ps_server_main_1b
       - disk.root.size
+      network.incoming.bytes.rate_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.incoming.bytes.rate
       disk.allocation_ps_server_main_1b:
       - ps_server_main_1b
       - disk.allocation
@@ -290,12 +290,12 @@ topology_template:
       dependency_ps_server_main_1b:
       - ps_server_main_1b
       - dependency
-      dependency_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
+      link_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - link
+      dependency_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
       - dependency
       local_storage_ps_server_main_1b:
       - ps_server_main_1b
       - local_storage
-      link_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - link
index e37760f..2aac373 100644 (file)
@@ -11,10 +11,17 @@ node_types:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
 topology_template:
   inputs:
-    port_ps_server_main_b_port_network_role_tag:
-      type: string
+    port_ps_server_main_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_ps_server_main_1b_port_ip_requirements:
+      type: list
       required: true
-    port_ps_server_main_b_port_network_role:
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_ps_server_main_1b_port_subnetpoolid:
       type: string
       required: true
     compute_ps_server_main_1b_availability_zone:
@@ -22,7 +29,7 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_ps_server_main_b_port_exCP_naming:
+    port_ps_server_main_1b_port_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
     index_value:
@@ -32,39 +39,22 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_ps_server_main_b_port_replacement_policy:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_ps_server_main_b_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
     vm_flavor_name:
       type: string
       required: true
-    port_ps_server_main_b_port_network:
-      type: list
+    port_ps_server_main_1b_port_network_role:
+      type: string
       required: true
-      entry_schema:
-        type: string
-    port_ps_server_main_b_port_order:
+    port_ps_server_main_1b_port_order:
       type: integer
       required: true
-    port_ps_server_main_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    port_ps_server_main_b_port_fixed_ips:
-      type: list
+    port_ps_server_main_1b_port_network_role_tag:
+      type: string
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     vm_image_name:
       type: string
       required: true
-    port_ps_server_main_b_port_vlan_requirements:
+    port_ps_server_main_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
@@ -74,38 +64,48 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_ps_server_main_b_port_subnetpoolid:
-      type: string
+    port_ps_server_main_1b_port_replacement_policy:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_ps_server_main_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_ps_server_main_1b_port_network:
+      type: list
       required: true
+      entry_schema:
+        type: string
   node_templates:
-    ps_server_main_1b_ps_server_main_b_port:
+    ps_server_main_1b_ps_server_main_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_ps_server_main_b_port_exCP_naming
+          get_input: port_ps_server_main_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_ps_server_main_b_port_replacement_policy
+          - port_ps_server_main_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_ps_server_main_b_port_vlan_requirements
+          get_input: port_ps_server_main_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_ps_server_main_b_port_ip_requirements
+          get_input: port_ps_server_main_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_ps_server_main_b_port_network_role_tag
+          get_input: port_ps_server_main_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_ps_server_main_b_port_mac_requirements
+          get_input: port_ps_server_main_1b_port_mac_requirements
         order:
-          get_input: port_ps_server_main_b_port_order
+          get_input: port_ps_server_main_1b_port_order
         network_role:
-          get_input: port_ps_server_main_b_port_network_role
+          get_input: port_ps_server_main_1b_port_network_role
         subnetpoolid:
-          get_input: port_ps_server_main_b_port_subnetpoolid
+          get_input: port_ps_server_main_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_ps_server_main_b_port_fixed_ips
+          get_input: port_ps_server_main_1b_port_fixed_ips
         network:
           get_input:
-          - port_ps_server_main_b_port_network
+          - port_ps_server_main_1b_port_network
           - index_value
       requirements:
       - binding:
@@ -130,6 +130,9 @@ topology_template:
   substitution_mappings:
     node_type: org.openecomp.resource.abstract.nodes.ps_server_main_1b_1
     capabilities:
+      network.incoming.bytes_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.incoming.bytes
       disk.device.write.requests_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.write.requests
@@ -139,21 +142,24 @@ topology_template:
       disk.capacity_ps_server_main_1b:
       - ps_server_main_1b
       - disk.capacity
-      network.incoming.packets.rate_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.incoming.packets.rate
+      attachment_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - attachment
       disk.device.read.bytes_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.read.bytes
       vcpus_ps_server_main_1b:
       - ps_server_main_1b
       - vcpus
-      network.incoming.bytes_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.incoming.bytes
+      network.outgoing.packets.rate_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.outgoing.packets.rate
       cpu_util_ps_server_main_1b:
       - ps_server_main_1b
       - cpu_util
+      binding_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - binding
       disk.device.write.bytes.rate_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.write.bytes.rate
@@ -169,12 +175,18 @@ topology_template:
       instance_ps_server_main_1b:
       - ps_server_main_1b
       - instance
+      network.outpoing.packets_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.outpoing.packets
       disk.read.bytes.rate_ps_server_main_1b:
       - ps_server_main_1b
       - disk.read.bytes.rate
       disk.latency_ps_server_main_1b:
       - ps_server_main_1b
       - disk.latency
+      feature_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - feature
       disk.device.read.requests_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.read.requests
@@ -187,6 +199,12 @@ topology_template:
       scalable_ps_server_main_1b:
       - ps_server_main_1b
       - scalable
+      network.outgoing.bytes_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.outgoing.bytes
+      network.incoming.packets.rate_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.incoming.packets.rate
       disk.usage_ps_server_main_1b:
       - ps_server_main_1b
       - disk.usage
@@ -205,12 +223,6 @@ topology_template:
       disk.write.bytes_ps_server_main_1b:
       - ps_server_main_1b
       - disk.write.bytes
-      network.incoming.packets_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.incoming.packets
-      feature_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - feature
       disk.device.write.bytes_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.write.bytes
@@ -220,33 +232,24 @@ topology_template:
       disk.write.bytes.rate_ps_server_main_1b:
       - ps_server_main_1b
       - disk.write.bytes.rate
-      network.outgoing.bytes.rate_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.outgoing.bytes.rate
-      network.incoming.bytes.rate_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.incoming.bytes.rate
       binding_ps_server_main_1b:
       - ps_server_main_1b
       - binding
+      network.incoming.packets_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.incoming.packets
       disk.device.read.bytes.rate_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.read.bytes.rate
-      attachment_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - attachment
+      network.outgoing.bytes.rate_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.outgoing.bytes.rate
       host_ps_server_main_1b:
       - ps_server_main_1b
       - host
-      network.outpoing.packets_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.outpoing.packets
       disk.device.iops_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.iops
-      binding_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - binding
       disk.write.requests_ps_server_main_1b:
       - ps_server_main_1b
       - disk.write.requests
@@ -271,18 +274,15 @@ topology_template:
       disk.device.usage_ps_server_main_1b:
       - ps_server_main_1b
       - disk.device.usage
-      network.outgoing.packets.rate_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.outgoing.packets.rate
-      network.outgoing.bytes_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - network.outgoing.bytes
       memory_ps_server_main_1b:
       - ps_server_main_1b
       - memory
       disk.root.size_ps_server_main_1b:
       - ps_server_main_1b
       - disk.root.size
+      network.incoming.bytes.rate_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - network.incoming.bytes.rate
       disk.allocation_ps_server_main_1b:
       - ps_server_main_1b
       - disk.allocation
@@ -290,12 +290,12 @@ topology_template:
       dependency_ps_server_main_1b:
       - ps_server_main_1b
       - dependency
-      dependency_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
+      link_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
+      - link
+      dependency_ps_server_main_1b_ps_server_main_1b_port:
+      - ps_server_main_1b_ps_server_main_1b_port
       - dependency
       local_storage_ps_server_main_1b:
       - ps_server_main_1b
       - local_storage
-      link_ps_server_main_1b_ps_server_main_b_port:
-      - ps_server_main_1b_ps_server_main_b_port
-      - link
index c39aa2d..b8fe67e 100644 (file)
@@ -11,21 +11,17 @@ node_types:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
 topology_template:
   inputs:
-    port_ps_server_nested_b_port_replacement_policy:
-      type: list
+    port_ps_server_nested2_1b_port_network_role_tag:
+      type: string
       required: true
-      entry_schema:
-        type: string
-    port_ps_server_nested_b_port_ip_requirements:
+    port_ps_server_nested2_1b_port_ip_requirements:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.IpRequirements
-    port_ps_server_nested_b_port_network:
-      type: list
+    port_ps_server_nested2_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
       required: true
-      entry_schema:
-        type: string
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -38,119 +34,114 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_ps_server_nested_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
     compute_ps_server_nested2_1b_availability_zone:
       type: list
       required: true
       entry_schema:
         type: string
-    vm_flavor_name:
-      type: string
-      required: true
-    port_ps_server_nested_b_port_fixed_ips:
+    port_ps_server_nested2_1b_port_replacement_policy:
       type: list
       required: true
       entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-    port_ps_server_nested_b_port_subnetpoolid:
+        type: string
+    vm_flavor_name:
       type: string
       required: true
-    port_ps_server_nested_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    vm_image_name:
-      type: string
+    port_ps_server_nested2_1b_port_network:
+      type: list
       required: true
-    port_ps_server_nested_b_port_vlan_requirements:
+      entry_schema:
+        type: string
+    port_ps_server_nested2_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.VlanRequirements
-    port_ps_server_nested_b_port_network_role:
+    port_ps_server_nested2_1b_port_network_role:
       type: string
       required: true
-    port_ps_server_nested_b_port_network_role_tag:
+    vm_image_name:
       type: string
       required: true
-    port_ps_server_nested_b_port_order:
+    port_ps_server_nested2_1b_port_order:
       type: integer
       required: true
+    port_ps_server_nested2_1b_port_subnetpoolid:
+      type: string
+      required: true
+    port_ps_server_nested2_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_ps_server_nested2_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
   node_templates:
-    ps_server_nested2_1b_ps_server_nested_b_port:
+    ps_server_nested2_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.ps_server_nested2_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_ps_server_nested2_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_ps_server_nested2_1b_name
+          - index_value
+    ps_server_nested2_1b_ps_server_nested2_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_ps_server_nested_b_port_exCP_naming
+          get_input: port_ps_server_nested2_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_ps_server_nested_b_port_replacement_policy
+          - port_ps_server_nested2_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_ps_server_nested_b_port_vlan_requirements
+          get_input: port_ps_server_nested2_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_ps_server_nested_b_port_ip_requirements
+          get_input: port_ps_server_nested2_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_ps_server_nested_b_port_network_role_tag
+          get_input: port_ps_server_nested2_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_ps_server_nested_b_port_mac_requirements
+          get_input: port_ps_server_nested2_1b_port_mac_requirements
         order:
-          get_input: port_ps_server_nested_b_port_order
+          get_input: port_ps_server_nested2_1b_port_order
         network_role:
-          get_input: port_ps_server_nested_b_port_network_role
+          get_input: port_ps_server_nested2_1b_port_network_role
         subnetpoolid:
-          get_input: port_ps_server_nested_b_port_subnetpoolid
+          get_input: port_ps_server_nested2_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_ps_server_nested_b_port_fixed_ips
+          get_input: port_ps_server_nested2_1b_port_fixed_ips
         network:
           get_input:
-          - port_ps_server_nested_b_port_network
+          - port_ps_server_nested2_1b_port_network
           - index_value
       requirements:
       - binding:
           capability: tosca.capabilities.network.Bindable
           node: ps_server_nested2_1b
           relationship: tosca.relationships.network.BindsTo
-    ps_server_nested2_1b:
-      type: org.openecomp.resource.vfc.compute.nodes.heat.ps_server_nested2_1b
-      properties:
-        availability_zone:
-          get_input:
-          - compute_ps_server_nested2_1b_availability_zone
-          - index_value
-        flavor:
-          get_input: vm_flavor_name
-        image:
-          get_input: vm_image_name
-        name:
-          get_input:
-          - compute_ps_server_nested2_1b_name
-          - index_value
   substitution_mappings:
     node_type: org.openecomp.resource.abstract.nodes.ps_server_nested2_1b
     capabilities:
       disk.device.read.bytes.rate_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.device.read.bytes.rate
-      network.incoming.packets.rate_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - network.incoming.packets.rate
       disk.iops_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.iops
       vcpus_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - vcpus
-      network.outgoing.packets.rate_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - network.outgoing.packets.rate
       instance_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - instance
-      network.incoming.packets_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - network.incoming.packets
       disk.usage_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.usage
@@ -163,6 +154,9 @@ topology_template:
       disk.read.bytes_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.read.bytes
+      network.incoming.packets_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - network.incoming.packets
       disk.device.allocation_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.device.allocation
@@ -172,9 +166,6 @@ topology_template:
       memory.resident_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - memory.resident
-      network.outpoing.packets_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - network.outpoing.packets
       disk.ephemeral.size_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.ephemeral.size
@@ -193,45 +184,57 @@ topology_template:
       disk.read.bytes.rate_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.read.bytes.rate
+      network.incoming.bytes_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - network.incoming.bytes
       scalable_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - scalable
       disk.write.requests.rate_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.write.requests.rate
+      network.outgoing.bytes.rate_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - network.outgoing.bytes.rate
+      network.outgoing.packets.rate_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - network.outgoing.packets.rate
+      network.outpoing.packets_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - network.outpoing.packets
       cpu_util_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - cpu_util
-      network.outgoing.bytes_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - network.outgoing.bytes
+      network.incoming.bytes.rate_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - network.incoming.bytes.rate
       disk.read.requests_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.read.requests
+      network.outgoing.bytes_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - network.outgoing.bytes
       disk.write.requests_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.write.requests
       memory_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - memory
-      binding_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - binding
       disk.device.read.requests.rate_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.device.read.requests.rate
       disk.device.latency_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.device.latency
-      feature_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - feature
-      network.incoming.bytes_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - network.incoming.bytes
+      network.incoming.packets.rate_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - network.incoming.packets.rate
       disk.latency_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.latency
+      feature_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - feature
       disk.device.write.requests.rate_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.device.write.requests.rate
@@ -253,18 +256,12 @@ topology_template:
       disk.root.size_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.root.size
-      network.incoming.bytes.rate_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - network.incoming.bytes.rate
       disk.device.write.requests_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.device.write.requests
       disk.device.iops_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.device.iops
-      attachment_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - attachment
       os_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - os
@@ -277,15 +274,18 @@ topology_template:
       cpu_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - cpu
+      binding_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - binding
+      attachment_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - attachment
       disk.device.read.requests_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.device.read.requests
       disk.device.write.bytes.rate_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - disk.device.write.bytes.rate
-      network.outgoing.bytes.rate_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - network.outgoing.bytes.rate
     requirements:
       local_storage_ps_server_nested2_1b:
       - ps_server_nested2_1b
@@ -293,9 +293,9 @@ topology_template:
       dependency_ps_server_nested2_1b:
       - ps_server_nested2_1b
       - dependency
-      link_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
-      - link
-      dependency_ps_server_nested2_1b_ps_server_nested_b_port:
-      - ps_server_nested2_1b_ps_server_nested_b_port
+      dependency_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
       - dependency
+      link_ps_server_nested2_1b_ps_server_nested2_1b_port:
+      - ps_server_nested2_1b_ps_server_nested2_1b_port
+      - link
index c411944..cc6778d 100644 (file)
@@ -135,34 +135,34 @@ topology_template:
       directives:
       - substitutable
       properties:
-        compute_ps_server_main_1b_availability_zone:
-        - get_input: availability_zone_0
-        port_ps_server_main_b_port_replacement_policy:
-        - AUTO
-        port_ps_server_main_b_port_ip_requirements:
+        port_ps_server_main_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - ps_server_main_1b_ips
+            - 0
+        port_ps_server_main_1b_port_ip_requirements:
         - ip_version: 4
           ip_count_required:
             is_required: true
           floating_ip_count_required:
             is_required: false
+        compute_ps_server_main_1b_availability_zone:
+        - get_input: availability_zone_0
         vm_flavor_name:
           get_input: ps_server_main_1b_flavor
-        port_ps_server_main_b_port_network:
-        - get_input: jsa_name
-        port_ps_server_main_b_port_mac_requirements:
-          mac_count_required:
-            is_required: false
-        port_ps_server_main_b_port_fixed_ips:
-        - ip_address:
-            get_input:
-            - ps_server_main_1b_ips
-            - 0
         vm_image_name:
           get_input: ps_server_main_1b_image
         compute_ps_server_main_1b_name:
         - get_input:
           - ps_server_main_1b_names
           - 1
+        port_ps_server_main_1b_port_replacement_policy:
+        - AUTO
+        port_ps_server_main_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_ps_server_main_1b_port_network:
+        - get_input: jsa_name
         service_template_filter:
           substitute_service_template: Nested_ps_server_main_1bServiceTemplate.yaml
           count: 1
@@ -224,32 +224,32 @@ topology_template:
       properties:
         compute_pd_server_main_1b_availability_zone:
         - get_input: availability_zone_0
-        port_pd_server_main_b_port_replacement_policy:
+        port_pd_server_main_1b_port_replacement_policy:
         - AUTO
+        port_pd_server_main_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
         vm_flavor_name:
           get_input: pd_server_main_1b_flavor
-        port_pd_server_main_b_port_fixed_ips:
-        - ip_address:
-            get_input:
-            - pd_server_main_1b_ips
-            - 0
-        port_pd_server_main_b_port_ip_requirements:
-        - ip_version: 4
-          ip_count_required:
-            is_required: true
-          floating_ip_count_required:
-            is_required: false
         vm_image_name:
           get_input: pd_server_main_1b_image
-        port_pd_server_main_b_port_mac_requirements:
-          mac_count_required:
-            is_required: false
         compute_pd_server_main_1b_name:
         - get_input:
           - pd_server_main_1b_names
           - 0
-        port_pd_server_main_b_port_network:
+        port_pd_server_main_1b_port_network:
         - get_input: jsa_name
+        port_pd_server_main_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
+            is_required: false
+        port_pd_server_main_1b_port_fixed_ips:
+        - ip_address:
+            get_input:
+            - pd_server_main_1b_ips
+            - 0
         service_template_filter:
           substitute_service_template: Nested_pd_server_main_1bServiceTemplate.yaml
           count: 1
@@ -468,7 +468,7 @@ topology_template:
       - binding_ps_server_main_1b
       network.outgoing.bytes.rate_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - network.outgoing.bytes.rate_pd_server_main_1b_pd_server_main_b_port
+      - network.outgoing.bytes.rate_pd_server_main_1b_pd_server_main_1b_port
       binding_cmaui_port_1:
       - abstract_cmaui_1c1_main
       - binding_cmaui_1c1_main_cmaui_port
@@ -660,10 +660,10 @@ topology_template:
       - disk.device.latency_server_pd_pattern4_test_nested_pattern_4_same_type_diff_file
       attachment_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - attachment_pd_server_main_1b_pd_server_main_b_port
+      - attachment_pd_server_main_1b_pd_server_main_1b_port
       feature_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - feature_ps_server_main_1b_ps_server_main_b_port
+      - feature_ps_server_main_1b_ps_server_main_1b_port
       disk.root.size_server_nested2_1c1_cmaui_1_test_nested2Level:
       - test_nested2Level
       - disk.root.size_server_nested2_1c1_cmaui_1
@@ -681,7 +681,7 @@ topology_template:
       - disk.device.read.requests_pd_server_main_1b
       network.incoming.bytes.rate_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - network.incoming.bytes.rate_ps_server_main_1b_ps_server_main_b_port
+      - network.incoming.bytes.rate_ps_server_main_1b_ps_server_main_1b_port
       disk.allocation_server_main_pd_1b:
       - abstract_pd_server_main_1b
       - disk.allocation_pd_server_main_1b
@@ -759,7 +759,7 @@ topology_template:
       - disk.device.write.bytes.rate_server_nested2_1c1_cmaui_1
       network.outpoing.packets_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - network.outpoing.packets_ps_server_main_1b_ps_server_main_b_port
+      - network.outpoing.packets_ps_server_main_1b_ps_server_main_1b_port
       feature_pd_server_pattern4_port_2_test_nested_pattern_4_main_1:
       - test_nested_pattern_4_main_1
       - feature_pd_server_pattern4_port_2
@@ -774,7 +774,7 @@ topology_template:
       - network.incoming.packets_pd_server_pattern4_port_1_test_nested_pattern_4_same_type_diff_file
       network.outgoing.bytes_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - network.outgoing.bytes_ps_server_main_1b_ps_server_main_b_port
+      - network.outgoing.bytes_ps_server_main_1b_ps_server_main_1b_port
       disk.ephemeral.size_server_main_pd_1b:
       - abstract_pd_server_main_1b
       - disk.ephemeral.size_pd_server_main_1b
@@ -942,7 +942,7 @@ topology_template:
       - scalable_server_nested2_pd_1b
       network.outgoing.packets.rate_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - network.outgoing.packets.rate_ps_server_main_1b_ps_server_main_b_port
+      - network.outgoing.packets.rate_ps_server_main_1b_ps_server_main_1b_port
       disk.device.write.bytes.rate_server_main_ps_1b:
       - abstract_ps_server_main_1b
       - disk.device.write.bytes.rate_ps_server_main_1b
@@ -999,7 +999,7 @@ topology_template:
       - binding_server_pd_pattern4_test_nested_pattern_4_nested2
       network.outgoing.bytes_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - network.outgoing.bytes_pd_server_main_1b_pd_server_main_b_port
+      - network.outgoing.bytes_pd_server_main_1b_pd_server_main_1b_port
       instance_server_main_ps_1b:
       - abstract_ps_server_main_1b
       - instance_ps_server_main_1b
@@ -1080,7 +1080,7 @@ topology_template:
       - disk.device.latency_server_pd_pattern4
       network.outgoing.packets.rate_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - network.outgoing.packets.rate_pd_server_main_1b_pd_server_main_b_port
+      - network.outgoing.packets.rate_pd_server_main_1b_pd_server_main_1b_port
       disk.ephemeral.size_server_pd_pattern4_test_nested_pattern_4_same_type_diff_file_test_nested2Level:
       - test_nested2Level
       - disk.ephemeral.size_server_pd_pattern4_test_nested_pattern_4_same_type_diff_file
@@ -1257,7 +1257,7 @@ topology_template:
       - disk.read.bytes.rate_server_nested2_ps_1b
       network.incoming.bytes_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - network.incoming.bytes_pd_server_main_1b_pd_server_main_b_port
+      - network.incoming.bytes_pd_server_main_1b_pd_server_main_1b_port
       endpoint_server_nested2_1c1_cmaui_1_test_nested2Level:
       - test_nested2Level
       - endpoint_server_nested2_1c1_cmaui_1
@@ -1416,7 +1416,7 @@ topology_template:
       - cpu_server_pd_pattern4_test_nested_pattern_4_nested2
       network.outpoing.packets_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - network.outpoing.packets_pd_server_main_1b_pd_server_main_b_port
+      - network.outpoing.packets_pd_server_main_1b_pd_server_main_1b_port
       network.outpoing.packets_pd_server_pattern4_port_2_test_nested_pattern_4_main_1:
       - test_nested_pattern_4_main_1
       - network.outpoing.packets_pd_server_pattern4_port_2
@@ -1497,7 +1497,7 @@ topology_template:
       - memory_server_nested2_1c1_cmaui_2
       attachment_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - attachment_ps_server_main_1b_ps_server_main_b_port
+      - attachment_ps_server_main_1b_ps_server_main_1b_port
       disk.write.bytes.rate_server_nested2_pd_1b_test_nested2Level:
       - test_nested2Level
       - disk.write.bytes.rate_server_nested2_pd_1b
@@ -1524,7 +1524,7 @@ topology_template:
       - feature_jsa_security_group1_test_resourceGroup
       network.outgoing.bytes.rate_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - network.outgoing.bytes.rate_ps_server_main_1b_ps_server_main_b_port
+      - network.outgoing.bytes.rate_ps_server_main_1b_ps_server_main_1b_port
       cpu_server_main_ps_1b:
       - abstract_ps_server_main_1b
       - cpu_ps_server_main_1b
@@ -1710,7 +1710,7 @@ topology_template:
       - network.outgoing.bytes_pd_server_pattern4_port_1
       feature_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - feature_pd_server_main_1b_pd_server_main_b_port
+      - feature_pd_server_main_1b_pd_server_main_1b_port
       disk.device.write.requests.rate_server_pd_pattern4_test_nested_pattern_4_main_1:
       - test_nested_pattern_4_main_1
       - disk.device.write.requests.rate_server_pd_pattern4
@@ -1755,7 +1755,7 @@ topology_template:
       - feature_server_nested2_1c1_cmaui_1
       network.incoming.packets.rate_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - network.incoming.packets.rate_pd_server_main_1b_pd_server_main_b_port
+      - network.incoming.packets.rate_pd_server_main_1b_pd_server_main_1b_port
       disk.allocation_server_pd_pattern4_test_nested_pattern_4_nested2_test_nested2Level:
       - test_nested2Level
       - disk.allocation_server_pd_pattern4_test_nested_pattern_4_nested2
@@ -1779,7 +1779,7 @@ topology_template:
       - disk.device.capacity_server_nested2_pd_1b
       network.incoming.bytes.rate_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - network.incoming.bytes.rate_pd_server_main_1b_pd_server_main_b_port
+      - network.incoming.bytes.rate_pd_server_main_1b_pd_server_main_1b_port
       disk.latency_server_pd_pattern4_test_nested_pattern_4_main_1:
       - test_nested_pattern_4_main_1
       - disk.latency_server_pd_pattern4
@@ -1830,13 +1830,13 @@ topology_template:
       - feature_pd_server_nested2_1b_port
       network.incoming.packets_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - network.incoming.packets_ps_server_main_1b_ps_server_main_b_port
+      - network.incoming.packets_ps_server_main_1b_ps_server_main_1b_port
       binding_cmaui_port_2_test_nested2Level:
       - test_nested2Level
       - binding_cmaui_port_2
       binding_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - binding_pd_server_main_1b_pd_server_main_b_port
+      - binding_pd_server_main_1b_pd_server_main_1b_port
       binding_server_main_1c1_cmaui_1:
       - abstract_cmaui_1c1_main
       - binding_cmaui_1c1_main
@@ -1872,7 +1872,7 @@ topology_template:
       - scalable_server_nested2_1c1_cmaui_2
       network.incoming.packets_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - network.incoming.packets_pd_server_main_1b_pd_server_main_b_port
+      - network.incoming.packets_pd_server_main_1b_pd_server_main_1b_port
       memory_server_nested2_pd_1b_test_nested2Level:
       - test_nested2Level
       - memory_server_nested2_pd_1b
@@ -1977,7 +1977,7 @@ topology_template:
       - disk.device.write.requests.rate_server_nested2_1c1_cmaui_2
       network.incoming.bytes_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - network.incoming.bytes_ps_server_main_1b_ps_server_main_b_port
+      - network.incoming.bytes_ps_server_main_1b_ps_server_main_1b_port
       scalable_server_nested2_1c1_cmaui_1_test_nested2Level:
       - test_nested2Level
       - scalable_server_nested2_1c1_cmaui_1
@@ -2049,7 +2049,7 @@ topology_template:
       - disk.device.write.bytes.rate_server_pd_pattern4
       network.incoming.packets.rate_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - network.incoming.packets.rate_ps_server_main_1b_ps_server_main_b_port
+      - network.incoming.packets.rate_ps_server_main_1b_ps_server_main_1b_port
       disk.device.latency_server_nested2_pd_1b_test_nested2Level:
       - test_nested2Level
       - disk.device.latency_server_nested2_pd_1b
@@ -2097,7 +2097,7 @@ topology_template:
       - network.incoming.packets_pd_server_pattern4_port_2
       binding_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - binding_ps_server_main_1b_ps_server_main_b_port
+      - binding_ps_server_main_1b_ps_server_main_1b_port
       feature_test_resourceGroup_test_nested2Level:
       - test_nested2Level
       - feature_test_resourceGroup
@@ -2134,7 +2134,7 @@ topology_template:
       - dependency_jsa_security_group2_test_resourceGroup
       dependency_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - dependency_pd_server_main_1b_pd_server_main_b_port
+      - dependency_pd_server_main_1b_pd_server_main_1b_port
       dependency_cmaui_port_2_test_nested2Level:
       - test_nested2Level
       - dependency_cmaui_port_2
@@ -2182,7 +2182,7 @@ topology_template:
       - local_storage_server_nested2_1c1_cmaui_2
       dependency_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - dependency_ps_server_main_1b_ps_server_main_b_port
+      - dependency_ps_server_main_1b_ps_server_main_1b_port
       dependency_pd_server_pattern4_port_2_test_nested_pattern_4_nested2_test_nested2Level:
       - test_nested2Level
       - dependency_pd_server_pattern4_port_2_test_nested_pattern_4_nested2
@@ -2233,7 +2233,7 @@ topology_template:
       - dependency_server_pd_pattern4_test_nested_pattern_4_nested2
       link_ps_server_main_1b_port:
       - abstract_ps_server_main_1b
-      - link_ps_server_main_1b_ps_server_main_b_port
+      - link_ps_server_main_1b_ps_server_main_1b_port
       dependency_pd_server_pattern4_port_1_test_nested_pattern_4_same_type_diff_file_test_nested2Level:
       - test_nested2Level
       - dependency_pd_server_pattern4_port_1_test_nested_pattern_4_same_type_diff_file
@@ -2242,7 +2242,7 @@ topology_template:
       - dependency_cmaui_port_1
       link_pd_server_main_1b_port:
       - abstract_pd_server_main_1b
-      - link_pd_server_main_1b_pd_server_main_b_port
+      - link_pd_server_main_1b_pd_server_main_1b_port
       local_storage_server_pd_pattern4_test_nested_pattern_4_main_1:
       - test_nested_pattern_4_main_1
       - local_storage_server_pd_pattern4
index 935ec13..c851f7f 100644 (file)
@@ -108,11 +108,16 @@ topology_template:
       directives:
       - substitutable
       properties:
-        port_pd_server_nested_b_port_fixed_ips:
+        port_pd_server_nested2_1b_port_replacement_policy:
+        - AUTO
+        port_pd_server_nested2_1b_port_fixed_ips:
         - ip_address:
             get_input:
             - pd_server_nested2_1b_ips
             - 0
+        port_pd_server_nested2_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
         vm_flavor_name:
           get_input: pd_server_nested2_1b_flavor
         compute_pd_server_nested2_1b_availability_zone:
@@ -121,21 +126,16 @@ topology_template:
         - get_input:
           - pd_server_nested2_1b_names
           - 0
-        port_pd_server_nested_b_port_network:
-        - get_input: jsa_name
-        port_pd_server_nested_b_port_mac_requirements:
-          mac_count_required:
-            is_required: false
-        port_pd_server_nested_b_port_replacement_policy:
-        - AUTO
         vm_image_name:
           get_input: pd_server_nested2_1b_image
-        port_pd_server_nested_b_port_ip_requirements:
+        port_pd_server_nested2_1b_port_ip_requirements:
         - ip_version: 4
           ip_count_required:
             is_required: true
           floating_ip_count_required:
             is_required: false
+        port_pd_server_nested2_1b_port_network:
+        - get_input: jsa_name
         service_template_filter:
           substitute_service_template: Nested_pd_server_nested2_1bServiceTemplate.yaml
           count: 1
@@ -212,34 +212,34 @@ topology_template:
       directives:
       - substitutable
       properties:
-        port_ps_server_nested_b_port_replacement_policy:
-        - AUTO
-        port_ps_server_nested_b_port_ip_requirements:
+        port_ps_server_nested2_1b_port_ip_requirements:
         - ip_version: 4
           ip_count_required:
             is_required: true
           floating_ip_count_required:
             is_required: false
-        port_ps_server_nested_b_port_network:
-        - get_input: jsa_name
         compute_ps_server_nested2_1b_name:
         - get_input:
           - ps_server_nested2_1b_names
           - 1
         compute_ps_server_nested2_1b_availability_zone:
         - get_input: availability_zone_0
+        port_ps_server_nested2_1b_port_replacement_policy:
+        - AUTO
         vm_flavor_name:
           get_input: ps_server_nested2_1b_flavor
-        port_ps_server_nested_b_port_fixed_ips:
+        port_ps_server_nested2_1b_port_network:
+        - get_input: jsa_name
+        vm_image_name:
+          get_input: ps_server_nested2_1b_image
+        port_ps_server_nested2_1b_port_fixed_ips:
         - ip_address:
             get_input:
             - ps_server_nested2_1b_ips
             - 0
-        port_ps_server_nested_b_port_mac_requirements:
+        port_ps_server_nested2_1b_port_mac_requirements:
           mac_count_required:
             is_required: false
-        vm_image_name:
-          get_input: ps_server_nested2_1b_image
         service_template_filter:
           substitute_service_template: Nested_ps_server_nested2_1bServiceTemplate.yaml
           count: 1
@@ -339,7 +339,7 @@ topology_template:
       - network.incoming.packets_pd_server_pattern4_port_2
       network.incoming.packets.rate_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - network.incoming.packets.rate_pd_server_nested2_1b_pd_server_nested_b_port
+      - network.incoming.packets.rate_pd_server_nested2_1b_pd_server_nested2_1b_port
       os_server_nested2_pd_1b:
       - abstract_pd_server_nested2_1b
       - os_pd_server_nested2_1b
@@ -384,13 +384,13 @@ topology_template:
       - disk.device.read.requests.rate_server_pd_pattern4
       network.outgoing.packets.rate_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - network.outgoing.packets.rate_ps_server_nested2_1b_ps_server_nested_b_port
+      - network.outgoing.packets.rate_ps_server_nested2_1b_ps_server_nested2_1b_port
       memory.resident_server_nested2_ps_1b:
       - abstract_ps_server_nested2_1b
       - memory.resident_ps_server_nested2_1b
       network.outpoing.packets_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - network.outpoing.packets_pd_server_nested2_1b_pd_server_nested_b_port
+      - network.outpoing.packets_pd_server_nested2_1b_pd_server_nested2_1b_port
       disk.device.read.bytes_server_nested2_1c1_cmaui_2:
       - abstract_cmaui_1c1_nested2
       - disk.device.read.bytes_cmaui_1c1_nested2
@@ -432,7 +432,7 @@ topology_template:
       - feature
       network.outgoing.bytes.rate_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - network.outgoing.bytes.rate_ps_server_nested2_1b_ps_server_nested_b_port
+      - network.outgoing.bytes.rate_ps_server_nested2_1b_ps_server_nested2_1b_port
       memory_server_pd_pattern4_test_nested_pattern_4_nested2:
       - test_nested_pattern_4_nested2
       - memory_server_pd_pattern4
@@ -444,7 +444,7 @@ topology_template:
       - disk.write.bytes.rate_cmaui_1c1_nested2
       attachment_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - attachment_ps_server_nested2_1b_ps_server_nested_b_port
+      - attachment_ps_server_nested2_1b_ps_server_nested2_1b_port
       binding_pd_server_pattern4_port_1_test_nested_pattern_4_same_type_diff_file:
       - test_nested_pattern_4_same_type_diff_file
       - binding_pd_server_pattern4_port_1
@@ -456,7 +456,7 @@ topology_template:
       - cpu_util_pd_server_nested2_1b
       network.incoming.packets_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - network.incoming.packets_pd_server_nested2_1b_pd_server_nested_b_port
+      - network.incoming.packets_pd_server_nested2_1b_pd_server_nested2_1b_port
       network.incoming.bytes.rate_pd_server_pattern4_port_1_test_nested_pattern_4_nested2:
       - test_nested_pattern_4_nested2
       - network.incoming.bytes.rate_pd_server_pattern4_port_1
@@ -522,7 +522,7 @@ topology_template:
       - disk.read.requests_ps_server_nested2_1b
       network.incoming.bytes_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - network.incoming.bytes_ps_server_nested2_1b_ps_server_nested_b_port
+      - network.incoming.bytes_ps_server_nested2_1b_ps_server_nested2_1b_port
       disk.device.read.requests_server_pd_pattern4_test_nested_pattern_4_same_type_diff_file:
       - test_nested_pattern_4_same_type_diff_file
       - disk.device.read.requests_server_pd_pattern4
@@ -684,7 +684,7 @@ topology_template:
       - endpoint_ps_server_nested2_1b
       network.incoming.bytes_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - network.incoming.bytes_pd_server_nested2_1b_pd_server_nested_b_port
+      - network.incoming.bytes_pd_server_nested2_1b_pd_server_nested2_1b_port
       vcpus_server_pd_pattern4_test_nested_pattern_4_same_type_diff_file:
       - test_nested_pattern_4_same_type_diff_file
       - vcpus_server_pd_pattern4
@@ -708,7 +708,7 @@ topology_template:
       - disk.usage_server_pd_pattern4
       network.outgoing.bytes_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - network.outgoing.bytes_ps_server_nested2_1b_ps_server_nested_b_port
+      - network.outgoing.bytes_ps_server_nested2_1b_ps_server_nested2_1b_port
       disk.write.requests_server_nested2_pd_1b:
       - abstract_pd_server_nested2_1b
       - disk.write.requests_pd_server_nested2_1b
@@ -729,7 +729,7 @@ topology_template:
       - disk.device.allocation_server_pd_pattern4
       feature_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - feature_pd_server_nested2_1b_pd_server_nested_b_port
+      - feature_pd_server_nested2_1b_pd_server_nested2_1b_port
       cpu_util_server_nested2_ps_1b:
       - abstract_ps_server_nested2_1b
       - cpu_util_ps_server_nested2_1b
@@ -765,10 +765,10 @@ topology_template:
       - os_cmaui_1c1_nested2
       network.incoming.bytes.rate_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - network.incoming.bytes.rate_pd_server_nested2_1b_pd_server_nested_b_port
+      - network.incoming.bytes.rate_pd_server_nested2_1b_pd_server_nested2_1b_port
       attachment_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - attachment_pd_server_nested2_1b_pd_server_nested_b_port
+      - attachment_pd_server_nested2_1b_pd_server_nested2_1b_port
       disk.allocation_server_pd_pattern4_test_nested_pattern_4_nested2:
       - test_nested_pattern_4_nested2
       - disk.allocation_server_pd_pattern4
@@ -786,7 +786,7 @@ topology_template:
       - memory.resident_pd_server_nested2_1b
       network.outgoing.packets.rate_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - network.outgoing.packets.rate_pd_server_nested2_1b_pd_server_nested_b_port
+      - network.outgoing.packets.rate_pd_server_nested2_1b_pd_server_nested2_1b_port
       disk.device.usage_server_nested2_1c1_cmaui_2:
       - abstract_cmaui_1c1_nested2
       - disk.device.usage_cmaui_1c1_nested2
@@ -801,7 +801,7 @@ topology_template:
       - disk.write.requests.rate_server_pd_pattern4
       network.outpoing.packets_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - network.outpoing.packets_ps_server_nested2_1b_ps_server_nested_b_port
+      - network.outpoing.packets_ps_server_nested2_1b_ps_server_nested2_1b_port
       feature_server_nested2_ps_1b:
       - abstract_ps_server_nested2_1b
       - feature_ps_server_nested2_1b
@@ -834,16 +834,16 @@ topology_template:
       - attachment_pd_server_pattern4_port_2
       network.outgoing.bytes.rate_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - network.outgoing.bytes.rate_pd_server_nested2_1b_pd_server_nested_b_port
+      - network.outgoing.bytes.rate_pd_server_nested2_1b_pd_server_nested2_1b_port
       network.incoming.packets.rate_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - network.incoming.packets.rate_ps_server_nested2_1b_ps_server_nested_b_port
+      - network.incoming.packets.rate_ps_server_nested2_1b_ps_server_nested2_1b_port
       disk.device.read.requests_server_nested2_1c1_cmaui_2:
       - abstract_cmaui_1c1_nested2
       - disk.device.read.requests_cmaui_1c1_nested2
       binding_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - binding_ps_server_nested2_1b_ps_server_nested_b_port
+      - binding_ps_server_nested2_1b_ps_server_nested2_1b_port
       host_server_pd_pattern4_test_nested_pattern_4_nested2:
       - test_nested_pattern_4_nested2
       - host_server_pd_pattern4
@@ -945,7 +945,7 @@ topology_template:
       - disk.device.write.requests.rate_ps_server_nested2_1b
       network.incoming.packets_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - network.incoming.packets_ps_server_nested2_1b_ps_server_nested_b_port
+      - network.incoming.packets_ps_server_nested2_1b_ps_server_nested2_1b_port
       binding_server_nested2_pd_1b:
       - abstract_pd_server_nested2_1b
       - binding_pd_server_nested2_1b
@@ -1224,7 +1224,7 @@ topology_template:
       - disk.iops_cmaui_1c1_nested2
       feature_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - feature_ps_server_nested2_1b_ps_server_nested_b_port
+      - feature_ps_server_nested2_1b_ps_server_nested2_1b_port
       disk.iops_server_nested2_1c1_cmaui_1:
       - abstract_cmaui_1c1_nested2
       - disk.iops_cmaui_1c1_nested2
@@ -1308,13 +1308,13 @@ topology_template:
       - disk.read.bytes.rate_pd_server_nested2_1b
       binding_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - binding_pd_server_nested2_1b_pd_server_nested_b_port
+      - binding_pd_server_nested2_1b_pd_server_nested2_1b_port
       disk.root.size_server_pd_pattern4_test_nested_pattern_4_nested2:
       - test_nested_pattern_4_nested2
       - disk.root.size_server_pd_pattern4
       network.incoming.bytes.rate_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - network.incoming.bytes.rate_ps_server_nested2_1b_ps_server_nested_b_port
+      - network.incoming.bytes.rate_ps_server_nested2_1b_ps_server_nested2_1b_port
       disk.device.read.bytes.rate_server_pd_pattern4_test_nested_pattern_4_same_type_diff_file:
       - test_nested_pattern_4_same_type_diff_file
       - disk.device.read.bytes.rate_server_pd_pattern4
@@ -1341,7 +1341,7 @@ topology_template:
       - network.outpoing.packets_pd_server_pattern4_port_1
       network.outgoing.bytes_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - network.outgoing.bytes_pd_server_nested2_1b_pd_server_nested_b_port
+      - network.outgoing.bytes_pd_server_nested2_1b_pd_server_nested2_1b_port
       disk.device.allocation_server_nested2_1c1_cmaui_1:
       - abstract_cmaui_1c1_nested2
       - disk.device.allocation_cmaui_1c1_nested2
@@ -1375,7 +1375,7 @@ topology_template:
       - dependency_pd_server_pattern4_port_2
       link_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - link_ps_server_nested2_1b_ps_server_nested_b_port
+      - link_ps_server_nested2_1b_ps_server_nested2_1b_port
       dependency_server_nested2_ps_1b:
       - abstract_ps_server_nested2_1b
       - dependency_ps_server_nested2_1b
@@ -1417,7 +1417,7 @@ topology_template:
       - dependency_cmaui_1c1_nested2_cmaui_port
       link_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - link_pd_server_nested2_1b_pd_server_nested_b_port
+      - link_pd_server_nested2_1b_pd_server_nested2_1b_port
       dependency_server_pd_pattern4_test_nested_pattern_4_nested2:
       - test_nested_pattern_4_nested2
       - dependency_server_pd_pattern4
@@ -1432,7 +1432,7 @@ topology_template:
       - local_storage_server_pd_pattern4
       dependency_pd_server_nested2_1b_port:
       - abstract_pd_server_nested2_1b
-      - dependency_pd_server_nested2_1b_pd_server_nested_b_port
+      - dependency_pd_server_nested2_1b_pd_server_nested2_1b_port
       port_jsa_security_group1_test_nested3Level:
       - test_nested3Level
       - port_jsa_security_group1
@@ -1441,7 +1441,7 @@ topology_template:
       - link_pd_server_pattern4_port_1
       dependency_ps_server_nested2_1b_port:
       - abstract_ps_server_nested2_1b
-      - dependency_ps_server_nested2_1b_ps_server_nested_b_port
+      - dependency_ps_server_nested2_1b_ps_server_nested2_1b_port
       dependency_pd_server_pattern4_port_2_test_nested_pattern_4_same_type_diff_file:
       - test_nested_pattern_4_same_type_diff_file
       - dependency_pd_server_pattern4_port_2
index 8ba567d..ae6c22e 100644 (file)
@@ -14,10 +14,6 @@ node_types:
         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
@@ -30,17 +26,13 @@ node_types:
         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:
+      port_pd_server_1b_port_vlan_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-      port_pd_server_b_port_subnetpoolid:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd_server_1b_port_network_role_tag:
         type: string
         required: true
         status: SUPPORTED
@@ -48,27 +40,27 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_ip_requirements:
+      port_pd_server_1b_port_replacement_policy:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-      port_pd_server_b_port_network:
-        type: list
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: string
-      port_pd_server_b_port_network_role_tag:
+      port_pd_server_1b_port_network_role:
         type: string
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_network_role:
-        type: string
+      port_pd_server_1b_port_fixed_ips:
+        type: list
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_replacement_policy:
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_1b_port_network:
         type: list
         required: true
         status: SUPPORTED
@@ -80,16 +72,24 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_pd_server_b_port_order:
+      port_pd_server_1b_port_order:
         type: integer
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_vlan_requirements:
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
     attributes:
       pd_server_1b_accessIPv4:
         type: string
@@ -109,14 +109,14 @@ node_types:
         occurrences:
         - 0
         - UNBOUNDED
-    - dependency_pd_server_1b_pd_server_b_port:
+    - dependency_pd_server_1b_pd_server_1b_port:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_pd_server_1b_pd_server_b_port:
+    - link_pd_server_1b_pd_server_1b_port:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -129,6 +129,11 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
       host_pd_server_1b:
         type: tosca.capabilities.Container
         valid_source_types:
@@ -142,37 +147,25 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_pd_server_1b_pd_server_b_port:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
       disk.allocation_pd_server_1b:
         type: org.openecomp.capabilities.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_1b_pd_server_b_port:
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.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_1b_pd_server_b_port:
+      cpu.delta_pd_server_1b:
         type: org.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_1b_pd_server_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
-      cpu.delta_pd_server_1b:
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -195,6 +188,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
       cpu_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -230,8 +230,9 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      attachment_pd_server_1b_pd_server_b_port:
-        type: tosca.capabilities.Attachment
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
         - 1
         - UNBOUNDED
@@ -265,25 +266,30 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
       disk.device.write.requests_pd_server_1b:
         type: org.openecomp.capabilities.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_1b_pd_server_b_port:
+      disk.latency_pd_server_1b:
         type: org.openecomp.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_pd_server_1b:
+      disk.ephemeral.size_pd_server_1b:
         type: org.openecomp.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_pd_server_1b:
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -318,12 +324,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_pd_server_1b_pd_server_b_port:
-        type: org.openecomp.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -347,6 +347,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -364,19 +370,19 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      memory.resident_pd_server_1b:
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.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_1b_pd_server_b_port:
+      memory.resident_pd_server_1b:
         type: org.openecomp.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_1b_pd_server_b_port:
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -400,7 +406,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_pd_server_1b_pd_server_b_port:
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -418,12 +424,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes_pd_server_1b_pd_server_b_port:
-        type: org.openecomp.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -1841,7 +1841,7 @@ node_types:
   org.openecomp.resource.abstract.nodes.pd_server_1b:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     properties:
-      port_ps_server_b_port_vlan_requirements:
+      port_ps_server_1b_port_vlan_requirements:
         type: list
         required: true
         status: SUPPORTED
@@ -1853,18 +1853,20 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_ps_server_b_port_ip_requirements:
-        type: list
+      port_ps_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-      port_ps_server_b_port_replacement_policy:
+      port_ps_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_fixed_ips:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: string
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -1873,50 +1875,48 @@ node_types:
         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
+      port_ps_server_1b_port_order:
+        type: integer
         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
+      port_ps_server_1b_port_network:
+        type: list
         required: true
         status: SUPPORTED
-      port_ps_server_b_port_subnetpoolid:
-        type: string
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
-      port_ps_server_b_port_order:
-        type: integer
+      port_ps_server_1b_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_ps_server_b_port_exCP_naming:
-        type: org.openecomp.datatypes.Naming
-        required: true
-        status: SUPPORTED
-      port_ps_server_b_port_network_role_tag:
+      port_ps_server_1b_port_network_role:
         type: string
         required: true
         status: SUPPORTED
-      port_ps_server_b_port_network:
+      port_ps_server_1b_port_replacement_policy:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
           type: string
+      port_ps_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
       compute_pd_server_1b_availability_zone:
         type: list
         required: true
@@ -1924,19 +1924,6 @@ node_types:
         entry_schema:
           type: string
     requirements:
-    - dependency_pd_server_1b_ps_server_b_port:
-        capability: tosca.capabilities.Node
-        node: tosca.nodes.Root
-        relationship: tosca.relationships.DependsOn
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - link_pd_server_1b_ps_server_b_port:
-        capability: tosca.capabilities.network.Linkable
-        relationship: tosca.relationships.network.LinksTo
-        occurrences:
-        - 1
-        - 1
     - dependency_pd_server_1b:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
@@ -1951,6 +1938,19 @@ node_types:
         occurrences:
         - 0
         - UNBOUNDED
+    - dependency_pd_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_1b_ps_server_1b_port:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
     capabilities:
       disk.device.read.bytes_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
@@ -1965,6 +1965,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outpoing.packets_pd_server_1b_ps_server_1b_port:
+        type: org.openecomp.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -1977,12 +1983,29 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.incoming.bytes.rate_pd_server_1b_ps_server_1b_port:
+        type: org.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_1b_ps_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
       cpu.delta_pd_server_1b:
         type: org.openecomp.capabilities.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_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -2000,7 +2023,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes.rate_pd_server_1b_ps_server_b_port:
+      network.outgoing.bytes.rate_pd_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -2012,13 +2035,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      binding_pd_server_1b_ps_server_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
       disk.write.bytes.rate_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -2042,19 +2058,19 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes_pd_server_1b_ps_server_b_port:
+      memory.usage_pd_server_1b:
         type: org.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_pd_server_1b:
+      memory_pd_server_1b:
         type: org.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_pd_server_1b:
+      network.outgoing.bytes_pd_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -2084,23 +2100,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_pd_server_1b_ps_server_b_port:
-        type: org.openecomp.capabilities.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_pd_server_1b:
         type: org.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_1b_ps_server_b_port:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
       disk.latency_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -2113,11 +2118,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.packets.rate_pd_server_1b_ps_server_b_port:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      binding_pd_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
         occurrences:
-        - 1
+        - 0
         - UNBOUNDED
       scalable_pd_server_1b:
         type: tosca.capabilities.Scalable
@@ -2148,18 +2154,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_pd_server_1b_ps_server_b_port:
-        type: org.openecomp.capabilities.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_1b_ps_server_b_port:
-        type: org.openecomp.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -2189,6 +2183,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outgoing.packets.rate_pd_server_1b_ps_server_1b_port:
+        type: org.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_1b:
         type: tosca.capabilities.network.Bindable
         occurrences:
@@ -2206,48 +2206,48 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_pd_server_1b_ps_server_b_port:
+      network.incoming.packets.rate_pd_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.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_pd_server_1b:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      attachment_pd_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Attachment
         occurrences:
         - 1
         - UNBOUNDED
-      disk.device.capacity_pd_server_1b:
+      network.incoming.bytes_pd_server_1b_ps_server_1b_port:
         type: org.openecomp.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_pd_server_1b:
+      disk.device.write.requests.rate_pd_server_1b:
         type: org.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_1b_ps_server_b_port:
-        type: tosca.capabilities.Attachment
+      disk.device.capacity_pd_server_1b:
+        type: org.openecomp.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_pd_server_1b:
+      disk.read.requests_pd_server_1b:
         type: org.openecomp.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_pd_server_1b:
+      disk.capacity_pd_server_1b:
         type: org.openecomp.capabilities.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_1b_ps_server_b_port:
+      disk.usage_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -5269,24 +5269,26 @@ node_types:
   org.openecomp.resource.abstract.nodes.rd_server_1b_1:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     properties:
-      port_ps_server_b_port_vlan_requirements:
+      port_ps_server_1b_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
+      port_ps_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-      port_ps_server_b_port_replacement_policy:
+      port_ps_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_fixed_ips:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: string
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -5301,65 +5303,63 @@ node_types:
         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
+      port_ps_server_1b_port_order:
+        type: integer
         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
+      port_ps_server_1b_port_network:
+        type: list
         required: true
         status: SUPPORTED
-      port_ps_server_b_port_subnetpoolid:
-        type: string
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
-      port_ps_server_b_port_order:
-        type: integer
+      port_ps_server_1b_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_ps_server_b_port_exCP_naming:
-        type: org.openecomp.datatypes.Naming
-        required: true
-        status: SUPPORTED
-      port_ps_server_b_port_network_role_tag:
+      port_ps_server_1b_port_network_role:
         type: string
         required: true
         status: SUPPORTED
-      compute_rd_server_1b_name:
+      port_ps_server_1b_port_replacement_policy:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
           type: string
-      port_ps_server_b_port_network:
+      compute_rd_server_1b_name:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
           type: string
+      port_ps_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
     requirements:
-    - dependency_rd_server_1b_ps_server_b_port:
+    - dependency_rd_server_1b_ps_server_1b_port:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_rd_server_1b_ps_server_b_port:
+    - link_rd_server_1b_ps_server_1b_port:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -5427,7 +5427,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.packets.rate_rd_server_1b_ps_server_b_port:
+      network.incoming.bytes_rd_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -5439,6 +5439,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      binding_rd_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
       disk.device.latency_rd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -5463,12 +5470,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_rd_server_1b_ps_server_b_port:
-        type: org.openecomp.capabilities.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_rd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -5480,8 +5481,9 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      attachment_rd_server_1b_ps_server_b_port:
-        type: tosca.capabilities.Attachment
+      network.outpoing.packets_rd_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
         - 1
         - UNBOUNDED
@@ -5497,18 +5499,23 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_rd_server_1b_ps_server_b_port:
+      disk.device.allocation_rd_server_1b:
         type: org.openecomp.capabilities.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_rd_server_1b:
+      network.incoming.packets_rd_server_1b_ps_server_1b_port:
         type: org.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_rd_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
       disk.device.read.requests_rd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -5527,19 +5534,19 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes_rd_server_1b_ps_server_b_port:
+      memory_rd_server_1b:
         type: org.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_rd_server_1b:
+      disk.write.bytes_rd_server_1b:
         type: org.openecomp.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_rd_server_1b:
+      network.outgoing.packets.rate_rd_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -5550,53 +5557,42 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.read.bytes_rd_server_1b:
+      network.incoming.packets.rate_rd_server_1b_ps_server_1b_port:
         type: org.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_rd_server_1b:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
-      memory.resident_rd_server_1b:
+      network.outgoing.bytes_rd_server_1b_ps_server_1b_port:
         type: org.openecomp.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_rd_server_1b:
+      disk.read.bytes_rd_server_1b:
         type: org.openecomp.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_rd_server_1b:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      feature_rd_server_1b:
+        type: tosca.capabilities.Node
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets_rd_server_1b_ps_server_b_port:
+      memory.resident_rd_server_1b:
         type: org.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_rd_server_1b_ps_server_b_port:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.outpoing.packets_rd_server_1b_ps_server_b_port:
+      disk.read.requests_rd_server_1b:
         type: org.openecomp.capabilities.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_rd_server_1b_ps_server_b_port:
+      disk.ephemeral.size_rd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -5632,6 +5628,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.incoming.bytes.rate_rd_server_1b_ps_server_1b_port:
+        type: org.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_rd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -5657,13 +5659,18 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes.rate_rd_server_1b_ps_server_b_port:
+      attachment_rd_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.iops_rd_server_1b:
         type: org.openecomp.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_rd_server_1b:
+      network.outgoing.bytes.rate_rd_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -5674,13 +5681,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      binding_rd_server_1b_ps_server_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
       memory.usage_rd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -5690,8 +5690,14 @@ node_types:
   org.openecomp.resource.abstract.nodes.rd_server_1b:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     properties:
-      port_rd_server_b_port_exCP_naming:
-        type: org.openecomp.datatypes.Naming
+      port_rd_server_1b_port_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_rd_server_1b_port_order:
+        type: integer
         required: true
         status: SUPPORTED
       index_value:
@@ -5712,37 +5718,29 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      port_rd_server_b_port_replacement_policy:
+      port_rd_server_1b_port_ip_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: string
-      port_rd_server_b_port_subnetpoolid:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_rd_server_1b_port_network_role_tag:
         type: string
         required: true
         status: SUPPORTED
-      port_rd_server_b_port_network:
-        type: list
+      port_rd_server_1b_port_network_role:
+        type: string
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: string
       vm_image_name:
         type: string
         required: true
         status: SUPPORTED
-      port_rd_server_b_port_order:
-        type: integer
-        required: true
-        status: SUPPORTED
-      port_rd_server_b_port_ip_requirements:
-        type: list
+      port_rd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-      port_rd_server_b_port_network_role:
+      port_rd_server_1b_port_subnetpoolid:
         type: string
         required: true
         status: SUPPORTED
@@ -5752,39 +5750,41 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_rd_server_b_port_fixed_ips:
+      port_rd_server_1b_port_fixed_ips:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
           type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-      port_rd_server_b_port_network_role_tag:
-        type: string
-        required: true
-        status: SUPPORTED
-      port_rd_server_b_port_mac_requirements:
-        type: org.openecomp.datatypes.network.MacRequirements
+      port_rd_server_1b_port_replacement_policy:
+        type: list
         required: true
         status: SUPPORTED
-      port_rd_server_b_port_vlan_requirements:
+        entry_schema:
+          type: string
+      port_rd_server_1b_port_vlan_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
           type: org.openecomp.datatypes.network.VlanRequirements
+      port_rd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
     attributes:
       rd_server_1b_accessIPv4:
         type: string
         status: SUPPORTED
     requirements:
-    - dependency_rd_server_1b_rd_server_b_port:
+    - dependency_rd_server_1b_rd_server_1b_port:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_rd_server_1b_rd_server_b_port:
+    - link_rd_server_1b_rd_server_1b_port:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -5805,13 +5805,15 @@ node_types:
         - 0
         - UNBOUNDED
     capabilities:
-      attachment_rd_server_1b_rd_server_b_port:
-        type: tosca.capabilities.Attachment
+      network.outgoing.bytes.rate_rd_server_1b_rd_server_1b_port:
+        type: org.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_rd_server_1b_rd_server_b_port:
-        type: tosca.capabilities.Node
+      network.incoming.packets_rd_server_1b_rd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
         - 1
         - UNBOUNDED
@@ -5839,24 +5841,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_rd_server_1b_rd_server_b_port:
-        type: org.openecomp.capabilities.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_rd_server_1b:
         type: org.openecomp.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_rd_server_1b_rd_server_b_port:
-        type: org.openecomp.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_rd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -5892,7 +5882,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes.rate_rd_server_1b_rd_server_b_port:
+      network.incoming.bytes_rd_server_1b_rd_server_1b_port:
+        type: org.openecomp.capabilities.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_rd_server_1b_rd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -5939,13 +5935,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      binding_rd_server_1b_rd_server_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
       disk.device.read.requests_rd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -5964,6 +5953,17 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.incoming.packets.rate_rd_server_1b_rd_server_1b_port:
+        type: org.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_rd_server_1b_rd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
       memory_rd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -5981,20 +5981,20 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.read.bytes_rd_server_1b:
+      network.outgoing.packets.rate_rd_server_1b_rd_server_1b_port:
         type: org.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_rd_server_1b:
-        type: tosca.capabilities.Node
+      disk.read.bytes_rd_server_1b:
+        type: org.openecomp.capabilities.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_rd_server_1b_rd_server_b_port:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      feature_rd_server_1b:
+        type: tosca.capabilities.Node
         occurrences:
         - 1
         - UNBOUNDED
@@ -6034,6 +6034,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      binding_rd_server_1b_rd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
       disk.device.iops_rd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -6065,50 +6072,43 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.packets.rate_rd_server_1b_rd_server_b_port:
+      disk.allocation_rd_server_1b:
         type: org.openecomp.capabilities.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_rd_server_1b_rd_server_b_port:
+      network.outpoing.packets_rd_server_1b_rd_server_1b_port:
         type: org.openecomp.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_rd_server_1b_rd_server_b_port:
+      disk.iops_rd_server_1b:
         type: org.openecomp.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_rd_server_1b:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      endpoint_rd_server_1b:
+        type: tosca.capabilities.Endpoint.Admin
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes_rd_server_1b_rd_server_b_port:
+      network.outgoing.bytes_rd_server_1b_rd_server_1b_port:
         type: org.openecomp.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_rd_server_1b:
+      memory.usage_rd_server_1b:
         type: org.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_rd_server_1b:
-        type: tosca.capabilities.Endpoint.Admin
-        occurrences:
-        - 1
-        - UNBOUNDED
-      memory.usage_rd_server_1b:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      feature_rd_server_1b_rd_server_1b_port:
+        type: tosca.capabilities.Node
         occurrences:
         - 1
         - UNBOUNDED
index e9b295a..581e296 100644 (file)
@@ -134,34 +134,34 @@ topology_template:
       directives:
       - substitutable
       properties:
-        port_ps_server_b_port_ip_requirements:
-        - ip_version: 4
-          ip_count_required:
-            is_required: true
-          floating_ip_count_required:
+        port_ps_server_1b_port_mac_requirements:
+          mac_count_required:
             is_required: false
-        port_ps_server_b_port_replacement_policy:
-        - AUTO
-        compute_rd_server_1b_availability_zone:
-        - get_input: availability_zone_0
-        port_ps_server_b_port_fixed_ips:
+        port_ps_server_1b_port_fixed_ips:
         - ip_address:
             get_input:
             - ps_server_1b_ips
             - 0
+        compute_rd_server_1b_availability_zone:
+        - get_input: availability_zone_0
         vm_flavor_name:
           get_input: rd_server_1b_flavor
-        port_ps_server_b_port_mac_requirements:
-          mac_count_required:
+        port_ps_server_1b_port_network:
+        - get_input: net
+        port_ps_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
             is_required: false
         vm_image_name:
           get_input: rd_server_1b_image
+        port_ps_server_1b_port_replacement_policy:
+        - AUTO
         compute_rd_server_1b_name:
         - get_input:
           - rd_server_1b_names
           - 1
-        port_ps_server_b_port_network:
-        - get_input: net
         service_template_filter:
           substitute_service_template: Nested_rd_server_1b_1ServiceTemplate.yaml
           count: 1
@@ -193,34 +193,34 @@ topology_template:
       directives:
       - substitutable
       properties:
+        port_rd_server_1b_port_network:
+        - get_input: net
         compute_rd_server_1b_availability_zone:
         - get_input: availability_zone_0
         vm_flavor_name:
           get_input: rd_server_1b_flavor
-        port_rd_server_b_port_replacement_policy:
-        - AUTO
-        port_rd_server_b_port_network:
-        - get_input: net
-        vm_image_name:
-          get_input: rd_server_1b_image
-        port_rd_server_b_port_ip_requirements:
+        port_rd_server_1b_port_ip_requirements:
         - ip_version: 4
           ip_count_required:
             is_required: true
           floating_ip_count_required:
             is_required: false
+        vm_image_name:
+          get_input: rd_server_1b_image
+        port_rd_server_1b_port_mac_requirements:
+          mac_count_required:
+            is_required: false
         compute_rd_server_1b_name:
         - get_input:
           - rd_server_1b_names
           - 0
-        port_rd_server_b_port_fixed_ips:
+        port_rd_server_1b_port_fixed_ips:
         - ip_address:
             get_input:
             - rd_server_1b_ips
             - 0
-        port_rd_server_b_port_mac_requirements:
-          mac_count_required:
-            is_required: false
+        port_rd_server_1b_port_replacement_policy:
+        - AUTO
         service_template_filter:
           substitute_service_template: Nested_rd_server_1bServiceTemplate.yaml
           count: 1
index 70c67e0..b3373b5 100644 (file)
@@ -11,7 +11,7 @@ node_types:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
 topology_template:
   inputs:
-    port_ps_server_b_port_vlan_requirements:
+    port_ps_server_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
@@ -21,16 +21,17 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_ps_server_b_port_ip_requirements:
-      type: list
+    port_ps_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_ps_server_b_port_replacement_policy:
+    port_ps_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    port_ps_server_1b_port_fixed_ips:
       type: list
       required: true
       entry_schema:
-        type: string
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -38,95 +39,94 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_ps_server_b_port_network_role:
-      type: string
-      required: true
-    port_ps_server_b_port_fixed_ips:
-      type: list
+    port_ps_server_1b_port_order:
+      type: integer
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     vm_flavor_name:
       type: string
       required: true
-    port_ps_server_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
+    port_ps_server_1b_port_network:
+      type: list
       required: true
-    port_ps_server_b_port_subnetpoolid:
-      type: string
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
       required: true
-    port_ps_server_b_port_order:
-      type: integer
+    port_ps_server_1b_port_ip_requirements:
+      type: list
       required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
     vm_image_name:
       type: string
       required: true
-    port_ps_server_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    port_ps_server_b_port_network_role_tag:
+    port_ps_server_1b_port_network_role:
       type: string
       required: true
-    port_ps_server_b_port_network:
+    port_ps_server_1b_port_replacement_policy:
       type: list
       required: true
       entry_schema:
         type: string
+    port_ps_server_1b_port_subnetpoolid:
+      type: string
+      required: true
     compute_pd_server_1b_availability_zone:
       type: list
       required: true
       entry_schema:
         type: string
   node_templates:
-    pd_server_1b_ps_server_b_port:
+    pd_server_1b:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_1b_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_1b_name
+          - index_value
+    pd_server_1b_ps_server_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_ps_server_b_port_exCP_naming
+          get_input: port_ps_server_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_ps_server_b_port_replacement_policy
+          - port_ps_server_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_ps_server_b_port_vlan_requirements
+          get_input: port_ps_server_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_ps_server_b_port_ip_requirements
+          get_input: port_ps_server_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_ps_server_b_port_network_role_tag
+          get_input: port_ps_server_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_ps_server_b_port_mac_requirements
+          get_input: port_ps_server_1b_port_mac_requirements
         order:
-          get_input: port_ps_server_b_port_order
+          get_input: port_ps_server_1b_port_order
         network_role:
-          get_input: port_ps_server_b_port_network_role
+          get_input: port_ps_server_1b_port_network_role
         subnetpoolid:
-          get_input: port_ps_server_b_port_subnetpoolid
+          get_input: port_ps_server_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_ps_server_b_port_fixed_ips
+          get_input: port_ps_server_1b_port_fixed_ips
         network:
           get_input:
-          - port_ps_server_b_port_network
+          - port_ps_server_1b_port_network
           - index_value
       requirements:
       - binding:
           capability: tosca.capabilities.network.Bindable
           node: pd_server_1b
           relationship: tosca.relationships.network.BindsTo
-    pd_server_1b:
-      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
-      properties:
-        availability_zone:
-          get_input:
-          - compute_pd_server_1b_availability_zone
-          - index_value
-        flavor:
-          get_input: vm_flavor_name
-        image:
-          get_input: vm_image_name
-        name:
-          get_input:
-          - compute_pd_server_1b_name
-          - index_value
   substitution_mappings:
     node_type: org.openecomp.resource.abstract.nodes.pd_server_1b
     capabilities:
@@ -136,15 +136,27 @@ topology_template:
       host_pd_server_1b:
       - pd_server_1b
       - host
+      network.outpoing.packets_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
+      - network.outpoing.packets
       disk.read.bytes.rate_pd_server_1b:
       - pd_server_1b
       - disk.read.bytes.rate
       disk.allocation_pd_server_1b:
       - pd_server_1b
       - disk.allocation
+      network.incoming.bytes.rate_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
+      - network.incoming.bytes.rate
+      feature_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
+      - feature
       cpu.delta_pd_server_1b:
       - pd_server_1b
       - cpu.delta
+      network.incoming.packets_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
+      - network.incoming.packets
       disk.device.read.requests_pd_server_1b:
       - pd_server_1b
       - disk.device.read.requests
@@ -154,15 +166,12 @@ topology_template:
       disk.device.iops_pd_server_1b:
       - pd_server_1b
       - disk.device.iops
-      network.outgoing.bytes.rate_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
+      network.outgoing.bytes.rate_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
       - network.outgoing.bytes.rate
       cpu_pd_server_1b:
       - pd_server_1b
       - cpu
-      binding_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
-      - binding
       disk.write.bytes.rate_pd_server_1b:
       - pd_server_1b
       - disk.write.bytes.rate
@@ -175,15 +184,15 @@ topology_template:
       disk.device.allocation_pd_server_1b:
       - pd_server_1b
       - disk.device.allocation
-      network.outgoing.bytes_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
-      - network.outgoing.bytes
       memory.usage_pd_server_1b:
       - pd_server_1b
       - memory.usage
       memory_pd_server_1b:
       - pd_server_1b
       - memory
+      network.outgoing.bytes_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
+      - network.outgoing.bytes
       disk.device.read.bytes.rate_pd_server_1b:
       - pd_server_1b
       - disk.device.read.bytes.rate
@@ -196,24 +205,18 @@ topology_template:
       disk.device.usage_pd_server_1b:
       - pd_server_1b
       - disk.device.usage
-      network.outpoing.packets_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
-      - network.outpoing.packets
       disk.device.write.requests_pd_server_1b:
       - pd_server_1b
       - disk.device.write.requests
-      feature_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
-      - feature
       disk.latency_pd_server_1b:
       - pd_server_1b
       - disk.latency
       disk.ephemeral.size_pd_server_1b:
       - pd_server_1b
       - disk.ephemeral.size
-      network.outgoing.packets.rate_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
-      - network.outgoing.packets.rate
+      binding_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
+      - binding
       scalable_pd_server_1b:
       - pd_server_1b
       - scalable
@@ -229,12 +232,6 @@ topology_template:
       disk.iops_pd_server_1b:
       - pd_server_1b
       - disk.iops
-      network.incoming.packets.rate_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
-      - network.incoming.packets.rate
-      network.incoming.packets_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
-      - network.incoming.packets
       disk.write.bytes_pd_server_1b:
       - pd_server_1b
       - disk.write.bytes
@@ -250,6 +247,9 @@ topology_template:
       instance_pd_server_1b:
       - pd_server_1b
       - instance
+      network.outgoing.packets.rate_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
+      - network.outgoing.packets.rate
       binding_pd_server_1b:
       - pd_server_1b
       - binding
@@ -259,8 +259,14 @@ topology_template:
       memory.resident_pd_server_1b:
       - pd_server_1b
       - memory.resident
-      network.incoming.bytes_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
+      network.incoming.packets.rate_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
+      - network.incoming.packets.rate
+      attachment_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
+      - attachment
+      network.incoming.bytes_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
       - network.incoming.bytes
       disk.device.write.requests.rate_pd_server_1b:
       - pd_server_1b
@@ -271,18 +277,12 @@ topology_template:
       disk.read.requests_pd_server_1b:
       - pd_server_1b
       - disk.read.requests
-      attachment_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
-      - attachment
       disk.capacity_pd_server_1b:
       - pd_server_1b
       - disk.capacity
       disk.usage_pd_server_1b:
       - pd_server_1b
       - disk.usage
-      network.incoming.bytes.rate_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
-      - network.incoming.bytes.rate
       disk.write.requests.rate_pd_server_1b:
       - pd_server_1b
       - disk.write.requests.rate
@@ -293,9 +293,9 @@ topology_template:
       local_storage_pd_server_1b:
       - pd_server_1b
       - local_storage
-      dependency_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
+      dependency_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
       - dependency
-      link_pd_server_1b_ps_server_b_port:
-      - pd_server_1b_ps_server_b_port
+      link_pd_server_1b_ps_server_1b_port:
+      - pd_server_1b_ps_server_1b_port
       - link
index 17108e5..0d2a6a0 100644 (file)
@@ -16,9 +16,6 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_pd_server_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -29,37 +26,34 @@ topology_template:
     vm_flavor_name:
       type: string
       required: true
-    port_pd_server_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    port_pd_server_b_port_fixed_ips:
+    port_pd_server_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-    port_pd_server_b_port_subnetpoolid:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd_server_1b_port_network_role_tag:
       type: string
       required: true
     vm_image_name:
       type: string
       required: true
-    port_pd_server_b_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd_server_b_port_network:
+    port_pd_server_1b_port_replacement_policy:
       type: list
       required: true
       entry_schema:
         type: string
-    port_pd_server_b_port_network_role_tag:
-      type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
       required: true
-    port_pd_server_b_port_network_role:
+    port_pd_server_1b_port_network_role:
       type: string
       required: true
-    port_pd_server_b_port_replacement_policy:
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_1b_port_network:
       type: list
       required: true
       entry_schema:
@@ -69,14 +63,20 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_pd_server_b_port_order:
+    port_pd_server_1b_port_order:
       type: integer
       required: true
-    port_pd_server_b_port_vlan_requirements:
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
       type: list
       required: true
       entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
   node_templates:
     pd_server_1b:
       type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
@@ -93,34 +93,34 @@ topology_template:
           get_input:
           - compute_pd_server_1b_name
           - index_value
-    pd_server_1b_pd_server_b_port:
+    pd_server_1b_pd_server_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_pd_server_b_port_exCP_naming
+          get_input: port_pd_server_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_pd_server_b_port_replacement_policy
+          - port_pd_server_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_pd_server_b_port_vlan_requirements
+          get_input: port_pd_server_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_pd_server_b_port_ip_requirements
+          get_input: port_pd_server_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_pd_server_b_port_network_role_tag
+          get_input: port_pd_server_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_pd_server_b_port_mac_requirements
+          get_input: port_pd_server_1b_port_mac_requirements
         order:
-          get_input: port_pd_server_b_port_order
+          get_input: port_pd_server_1b_port_order
         network_role:
-          get_input: port_pd_server_b_port_network_role
+          get_input: port_pd_server_1b_port_network_role
         subnetpoolid:
-          get_input: port_pd_server_b_port_subnetpoolid
+          get_input: port_pd_server_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_pd_server_b_port_fixed_ips
+          get_input: port_pd_server_1b_port_fixed_ips
         network:
           get_input:
-          - port_pd_server_b_port_network
+          - port_pd_server_1b_port_network
           - index_value
       requirements:
       - binding:
@@ -140,30 +140,27 @@ topology_template:
       disk.device.read.bytes_pd_server_1b:
       - pd_server_1b
       - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
       host_pd_server_1b:
       - pd_server_1b
       - host
       disk.read.bytes.rate_pd_server_1b:
       - pd_server_1b
       - disk.read.bytes.rate
-      feature_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - feature
       disk.allocation_pd_server_1b:
       - pd_server_1b
       - disk.allocation
-      network.incoming.bytes_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.incoming.bytes
-      network.outgoing.bytes.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outgoing.bytes.rate
-      binding_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - binding
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
       cpu.delta_pd_server_1b:
       - pd_server_1b
       - cpu.delta
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
       disk.device.read.requests_pd_server_1b:
       - pd_server_1b
       - disk.device.read.requests
@@ -173,6 +170,9 @@ topology_template:
       disk.device.iops_pd_server_1b:
       - pd_server_1b
       - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
       cpu_pd_server_1b:
       - pd_server_1b
       - cpu
@@ -191,9 +191,9 @@ topology_template:
       memory.usage_pd_server_1b:
       - pd_server_1b
       - memory.usage
-      attachment_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - attachment
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
       memory_pd_server_1b:
       - pd_server_1b
       - memory
@@ -209,18 +209,21 @@ topology_template:
       disk.device.usage_pd_server_1b:
       - pd_server_1b
       - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
       disk.device.write.requests_pd_server_1b:
       - pd_server_1b
       - disk.device.write.requests
-      network.incoming.bytes.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.incoming.bytes.rate
       disk.latency_pd_server_1b:
       - pd_server_1b
       - disk.latency
       disk.ephemeral.size_pd_server_1b:
       - pd_server_1b
       - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
       scalable_pd_server_1b:
       - pd_server_1b
       - scalable
@@ -236,9 +239,6 @@ topology_template:
       disk.iops_pd_server_1b:
       - pd_server_1b
       - disk.iops
-      network.incoming.packets.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.incoming.packets.rate
       disk.write.bytes_pd_server_1b:
       - pd_server_1b
       - disk.write.bytes
@@ -251,6 +251,9 @@ topology_template:
       vcpus_pd_server_1b:
       - pd_server_1b
       - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
       instance_pd_server_1b:
       - pd_server_1b
       - instance
@@ -260,15 +263,15 @@ topology_template:
       cpu_util_pd_server_1b:
       - pd_server_1b
       - cpu_util
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
       memory.resident_pd_server_1b:
       - pd_server_1b
       - memory.resident
-      network.incoming.packets_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
       - network.incoming.packets
-      network.outgoing.packets.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outgoing.packets.rate
       disk.device.write.requests.rate_pd_server_1b:
       - pd_server_1b
       - disk.device.write.requests.rate
@@ -278,18 +281,15 @@ topology_template:
       disk.read.requests_pd_server_1b:
       - pd_server_1b
       - disk.read.requests
-      network.outpoing.packets_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outpoing.packets
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
       disk.capacity_pd_server_1b:
       - pd_server_1b
       - disk.capacity
       disk.usage_pd_server_1b:
       - pd_server_1b
       - disk.usage
-      network.outgoing.bytes_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outgoing.bytes
       disk.write.requests.rate_pd_server_1b:
       - pd_server_1b
       - disk.write.requests.rate
@@ -300,9 +300,9 @@ topology_template:
       local_storage_pd_server_1b:
       - pd_server_1b
       - local_storage
-      link_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
       - link
-      dependency_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
       - dependency
index 4b16f1f..b94ff90 100644 (file)
@@ -11,8 +11,13 @@ node_types:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
 topology_template:
   inputs:
-    port_rd_server_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
+    port_rd_server_1b_port_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_rd_server_1b_port_order:
+      type: integer
       required: true
     index_value:
       type: integer
@@ -29,31 +34,24 @@ topology_template:
     vm_flavor_name:
       type: string
       required: true
-    port_rd_server_b_port_replacement_policy:
+    port_rd_server_1b_port_ip_requirements:
       type: list
       required: true
       entry_schema:
-        type: string
-    port_rd_server_b_port_subnetpoolid:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_rd_server_1b_port_network_role_tag:
       type: string
       required: true
-    port_rd_server_b_port_network:
-      type: list
+    port_rd_server_1b_port_network_role:
+      type: string
       required: true
-      entry_schema:
-        type: string
     vm_image_name:
       type: string
       required: true
-    port_rd_server_b_port_order:
-      type: integer
-      required: true
-    port_rd_server_b_port_ip_requirements:
-      type: list
+    port_rd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_rd_server_b_port_network_role:
+    port_rd_server_1b_port_subnetpoolid:
       type: string
       required: true
     compute_rd_server_1b_name:
@@ -61,51 +59,53 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_rd_server_b_port_fixed_ips:
+    port_rd_server_1b_port_fixed_ips:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-    port_rd_server_b_port_network_role_tag:
-      type: string
-      required: true
-    port_rd_server_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
+    port_rd_server_1b_port_replacement_policy:
+      type: list
       required: true
-    port_rd_server_b_port_vlan_requirements:
+      entry_schema:
+        type: string
+    port_rd_server_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.VlanRequirements
+    port_rd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
   node_templates:
-    rd_server_1b_rd_server_b_port:
+    rd_server_1b_rd_server_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_rd_server_b_port_exCP_naming
+          get_input: port_rd_server_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_rd_server_b_port_replacement_policy
+          - port_rd_server_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_rd_server_b_port_vlan_requirements
+          get_input: port_rd_server_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_rd_server_b_port_ip_requirements
+          get_input: port_rd_server_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_rd_server_b_port_network_role_tag
+          get_input: port_rd_server_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_rd_server_b_port_mac_requirements
+          get_input: port_rd_server_1b_port_mac_requirements
         order:
-          get_input: port_rd_server_b_port_order
+          get_input: port_rd_server_1b_port_order
         network_role:
-          get_input: port_rd_server_b_port_network_role
+          get_input: port_rd_server_1b_port_network_role
         subnetpoolid:
-          get_input: port_rd_server_b_port_subnetpoolid
+          get_input: port_rd_server_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_rd_server_b_port_fixed_ips
+          get_input: port_rd_server_1b_port_fixed_ips
         network:
           get_input:
-          - port_rd_server_b_port_network
+          - port_rd_server_1b_port_network
           - index_value
       requirements:
       - binding:
@@ -137,12 +137,12 @@ topology_template:
   substitution_mappings:
     node_type: org.openecomp.resource.abstract.nodes.rd_server_1b
     capabilities:
-      attachment_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
-      - attachment
-      feature_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
-      - feature
+      network.outgoing.bytes.rate_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
+      - network.outgoing.bytes.rate
+      network.incoming.packets_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
+      - network.incoming.packets
       disk.usage_rd_server_1b:
       - rd_server_1b
       - disk.usage
@@ -155,15 +155,9 @@ topology_template:
       disk.device.write.requests_rd_server_1b:
       - rd_server_1b
       - disk.device.write.requests
-      network.incoming.bytes_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
-      - network.incoming.bytes
       disk.device.write.bytes_rd_server_1b:
       - rd_server_1b
       - disk.device.write.bytes
-      network.outgoing.bytes.rate_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
-      - network.outgoing.bytes.rate
       disk.capacity_rd_server_1b:
       - rd_server_1b
       - disk.capacity
@@ -182,8 +176,11 @@ topology_template:
       disk.device.read.bytes.rate_rd_server_1b:
       - rd_server_1b
       - disk.device.read.bytes.rate
-      network.incoming.bytes.rate_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
+      network.incoming.bytes_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
+      - network.incoming.bytes
+      network.incoming.bytes.rate_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
       - network.incoming.bytes.rate
       disk.read.bytes.rate_rd_server_1b:
       - rd_server_1b
@@ -206,9 +203,6 @@ topology_template:
       disk.device.allocation_rd_server_1b:
       - rd_server_1b
       - disk.device.allocation
-      binding_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
-      - binding
       disk.device.read.requests_rd_server_1b:
       - rd_server_1b
       - disk.device.read.requests
@@ -218,6 +212,12 @@ topology_template:
       disk.write.bytes.rate_rd_server_1b:
       - rd_server_1b
       - disk.write.bytes.rate
+      network.incoming.packets.rate_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
+      - network.incoming.packets.rate
+      attachment_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
+      - attachment
       memory_rd_server_1b:
       - rd_server_1b
       - memory
@@ -227,15 +227,15 @@ topology_template:
       binding_rd_server_1b:
       - rd_server_1b
       - binding
+      network.outgoing.packets.rate_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
+      - network.outgoing.packets.rate
       disk.read.bytes_rd_server_1b:
       - rd_server_1b
       - disk.read.bytes
       feature_rd_server_1b:
       - rd_server_1b
       - feature
-      network.incoming.packets.rate_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
-      - network.incoming.packets.rate
       memory.resident_rd_server_1b:
       - rd_server_1b
       - memory.resident
@@ -254,6 +254,9 @@ topology_template:
       disk.device.write.bytes.rate_rd_server_1b:
       - rd_server_1b
       - disk.device.write.bytes.rate
+      binding_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
+      - binding
       disk.device.iops_rd_server_1b:
       - rd_server_1b
       - disk.device.iops
@@ -269,40 +272,37 @@ topology_template:
       disk.device.capacity_rd_server_1b:
       - rd_server_1b
       - disk.device.capacity
-      network.outgoing.packets.rate_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
-      - network.outgoing.packets.rate
-      network.incoming.packets_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
-      - network.incoming.packets
-      network.outpoing.packets_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
-      - network.outpoing.packets
       disk.allocation_rd_server_1b:
       - rd_server_1b
       - disk.allocation
-      network.outgoing.bytes_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
-      - network.outgoing.bytes
+      network.outpoing.packets_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
+      - network.outpoing.packets
       disk.iops_rd_server_1b:
       - rd_server_1b
       - disk.iops
       endpoint_rd_server_1b:
       - rd_server_1b
       - endpoint
+      network.outgoing.bytes_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
+      - network.outgoing.bytes
       memory.usage_rd_server_1b:
       - rd_server_1b
       - memory.usage
+      feature_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
+      - feature
     requirements:
+      dependency_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
+      - dependency
       dependency_rd_server_1b:
       - rd_server_1b
       - dependency
       local_storage_rd_server_1b:
       - rd_server_1b
       - local_storage
-      link_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
+      link_rd_server_1b_rd_server_1b_port:
+      - rd_server_1b_rd_server_1b_port
       - link
-      dependency_rd_server_1b_rd_server_b_port:
-      - rd_server_1b_rd_server_b_port
-      - dependency
index d5a219a..03f9528 100644 (file)
@@ -11,21 +11,22 @@ node_types:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
 topology_template:
   inputs:
-    port_ps_server_b_port_vlan_requirements:
+    port_ps_server_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.VlanRequirements
-    port_ps_server_b_port_ip_requirements:
-      type: list
+    port_ps_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_ps_server_b_port_replacement_policy:
+    port_ps_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    port_ps_server_1b_port_fixed_ips:
       type: list
       required: true
       entry_schema:
-        type: string
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -38,74 +39,73 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_ps_server_b_port_network_role:
-      type: string
-      required: true
-    port_ps_server_b_port_fixed_ips:
-      type: list
+    port_ps_server_1b_port_order:
+      type: integer
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     vm_flavor_name:
       type: string
       required: true
-    port_ps_server_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
+    port_ps_server_1b_port_network:
+      type: list
       required: true
-    port_ps_server_b_port_subnetpoolid:
-      type: string
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
       required: true
-    port_ps_server_b_port_order:
-      type: integer
+    port_ps_server_1b_port_ip_requirements:
+      type: list
       required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
     vm_image_name:
       type: string
       required: true
-    port_ps_server_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    port_ps_server_b_port_network_role_tag:
+    port_ps_server_1b_port_network_role:
       type: string
       required: true
-    compute_rd_server_1b_name:
+    port_ps_server_1b_port_replacement_policy:
       type: list
       required: true
       entry_schema:
         type: string
-    port_ps_server_b_port_network:
+    compute_rd_server_1b_name:
       type: list
       required: true
       entry_schema:
         type: string
+    port_ps_server_1b_port_subnetpoolid:
+      type: string
+      required: true
   node_templates:
-    rd_server_1b_ps_server_b_port:
+    rd_server_1b_ps_server_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_ps_server_b_port_exCP_naming
+          get_input: port_ps_server_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_ps_server_b_port_replacement_policy
+          - port_ps_server_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_ps_server_b_port_vlan_requirements
+          get_input: port_ps_server_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_ps_server_b_port_ip_requirements
+          get_input: port_ps_server_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_ps_server_b_port_network_role_tag
+          get_input: port_ps_server_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_ps_server_b_port_mac_requirements
+          get_input: port_ps_server_1b_port_mac_requirements
         order:
-          get_input: port_ps_server_b_port_order
+          get_input: port_ps_server_1b_port_order
         network_role:
-          get_input: port_ps_server_b_port_network_role
+          get_input: port_ps_server_1b_port_network_role
         subnetpoolid:
-          get_input: port_ps_server_b_port_subnetpoolid
+          get_input: port_ps_server_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_ps_server_b_port_fixed_ips
+          get_input: port_ps_server_1b_port_fixed_ips
         network:
           get_input:
-          - port_ps_server_b_port_network
+          - port_ps_server_1b_port_network
           - index_value
       requirements:
       - binding:
@@ -154,12 +154,15 @@ topology_template:
       scalable_rd_server_1b:
       - rd_server_1b
       - scalable
-      network.outgoing.packets.rate_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - network.outgoing.packets.rate
+      network.incoming.bytes_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - network.incoming.bytes
       disk.device.usage_rd_server_1b:
       - rd_server_1b
       - disk.device.usage
+      binding_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - binding
       disk.device.latency_rd_server_1b:
       - rd_server_1b
       - disk.device.latency
@@ -172,30 +175,30 @@ topology_template:
       disk.root.size_rd_server_1b:
       - rd_server_1b
       - disk.root.size
-      network.incoming.packets.rate_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - network.incoming.packets.rate
       disk.device.write.requests.rate_rd_server_1b:
       - rd_server_1b
       - disk.device.write.requests.rate
       os_rd_server_1b:
       - rd_server_1b
       - os
-      attachment_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - attachment
+      network.outpoing.packets_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - network.outpoing.packets
       disk.device.read.bytes_rd_server_1b:
       - rd_server_1b
       - disk.device.read.bytes
       disk.device.read.requests.rate_rd_server_1b:
       - rd_server_1b
       - disk.device.read.requests.rate
-      network.incoming.bytes_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - network.incoming.bytes
       disk.device.allocation_rd_server_1b:
       - rd_server_1b
       - disk.device.allocation
+      network.incoming.packets_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - network.incoming.packets
+      feature_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - feature
       disk.device.read.requests_rd_server_1b:
       - rd_server_1b
       - disk.device.read.requests
@@ -205,18 +208,24 @@ topology_template:
       disk.write.bytes.rate_rd_server_1b:
       - rd_server_1b
       - disk.write.bytes.rate
-      network.outgoing.bytes_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - network.outgoing.bytes
       memory_rd_server_1b:
       - rd_server_1b
       - memory
       disk.write.bytes_rd_server_1b:
       - rd_server_1b
       - disk.write.bytes
+      network.outgoing.packets.rate_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - network.outgoing.packets.rate
       binding_rd_server_1b:
       - rd_server_1b
       - binding
+      network.incoming.packets.rate_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - network.incoming.packets.rate
+      network.outgoing.bytes_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - network.outgoing.bytes
       disk.read.bytes_rd_server_1b:
       - rd_server_1b
       - disk.read.bytes
@@ -232,18 +241,6 @@ topology_template:
       disk.ephemeral.size_rd_server_1b:
       - rd_server_1b
       - disk.ephemeral.size
-      network.incoming.packets_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - network.incoming.packets
-      feature_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - feature
-      network.outpoing.packets_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - network.outpoing.packets
-      network.incoming.bytes.rate_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - network.incoming.bytes.rate
       disk.latency_rd_server_1b:
       - rd_server_1b
       - disk.latency
@@ -259,6 +256,9 @@ topology_template:
       cpu_rd_server_1b:
       - rd_server_1b
       - cpu
+      network.incoming.bytes.rate_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - network.incoming.bytes.rate
       cpu.delta_rd_server_1b:
       - rd_server_1b
       - cpu.delta
@@ -271,31 +271,31 @@ topology_template:
       disk.allocation_rd_server_1b:
       - rd_server_1b
       - disk.allocation
-      network.outgoing.bytes.rate_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - network.outgoing.bytes.rate
+      attachment_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - attachment
       disk.iops_rd_server_1b:
       - rd_server_1b
       - disk.iops
+      network.outgoing.bytes.rate_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - network.outgoing.bytes.rate
       endpoint_rd_server_1b:
       - rd_server_1b
       - endpoint
-      binding_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - binding
       memory.usage_rd_server_1b:
       - rd_server_1b
       - memory.usage
     requirements:
-      link_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
-      - link
       dependency_rd_server_1b:
       - rd_server_1b
       - dependency
       local_storage_rd_server_1b:
       - rd_server_1b
       - local_storage
-      dependency_rd_server_1b_ps_server_b_port:
-      - rd_server_1b_ps_server_b_port
+      dependency_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
       - dependency
+      link_rd_server_1b_ps_server_1b_port:
+      - rd_server_1b_ps_server_1b_port
+      - link
index 6edd5eb..19f9133 100644 (file)
@@ -135,28 +135,28 @@ topology_template:
           - 0
         vm_flavor_name:
           get_input: pd_server_1b_flavor
-        port_pd_server_b_port_mac_requirements:
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
           mac_count_required:
             is_required: false
-        port_pd_server_b_port_fixed_ips:
+        port_pd_server_1b_port_fixed_ips:
         - ip_address:
             get_input:
             - pd_server_1b_ips
             - 0
-        vm_image_name:
-          get_input: pd_server_1b_image
-        port_pd_server_b_port_ip_requirements:
+        port_pd_server_1b_port_network:
+        - get_input: net
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
         - ip_version: 4
           ip_count_required:
             is_required: true
           floating_ip_count_required:
             is_required: false
-        port_pd_server_b_port_network:
-        - get_input: net
-        port_pd_server_b_port_replacement_policy:
-        - AUTO
-        compute_pd_server_1b_availability_zone:
-        - get_input: availability_zone_0
         service_template_filter:
           substitute_service_template: Nested_pd_server_1b_1ServiceTemplate.yaml
           count: 1
@@ -251,28 +251,28 @@ topology_template:
         - get_input:
           - pd_server_1b_names
           - 1
-        port_ps_server_b_port_ip_requirements:
-        - ip_version: 4
-          ip_count_required:
-            is_required: true
-          floating_ip_count_required:
+        port_ps_server_1b_port_mac_requirements:
+          mac_count_required:
             is_required: false
-        port_ps_server_b_port_replacement_policy:
-        - AUTO
-        port_ps_server_b_port_fixed_ips:
+        port_ps_server_1b_port_fixed_ips:
         - ip_address:
             get_input:
             - ps_server_1b_ips
             - 0
         vm_flavor_name:
           get_input: pd_server_1b_flavor
-        port_ps_server_b_port_mac_requirements:
-          mac_count_required:
+        port_ps_server_1b_port_network:
+        - get_input: net
+        port_ps_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
             is_required: false
         vm_image_name:
           get_input: pd_server_1b_image
-        port_ps_server_b_port_network:
-        - get_input: net
+        port_ps_server_1b_port_replacement_policy:
+        - AUTO
         compute_pd_server_1b_availability_zone:
         - get_input: availability_zone_0
         service_template_filter:
@@ -465,7 +465,7 @@ topology_template:
       - disk.usage_oam_server_1c2
       network.incoming.bytes_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - network.incoming.bytes_pd_server_1b_pd_server_b_port
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
       feature_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - feature_cmaui_1c1
@@ -507,10 +507,10 @@ topology_template:
       - feature_server_pd
       network.incoming.packets_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - network.incoming.packets_pd_server_1b_pd_server_b_port
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
       attachment_ps_server_1b_port:
       - abstract_pd_server_1b
-      - attachment_pd_server_1b_ps_server_b_port
+      - attachment_pd_server_1b_ps_server_1b_port
       disk.device.write.requests.rate_server_1c2_oam_1:
       - abstract_oam_server_1c2_0
       - disk.device.write.requests.rate_oam_server_1c2
@@ -723,7 +723,7 @@ topology_template:
       - feature_cmaui_1c1_cmaui_port
       network.incoming.bytes.rate_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - network.incoming.bytes.rate_pd_server_1b_pd_server_b_port
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
       network.outgoing.bytes_oam_port_2:
       - abstract_oam_server_1c2_1
       - network.outgoing.bytes_oam_server_1c2_oam_port
@@ -798,7 +798,7 @@ topology_template:
       - host_pd_server_1b
       network.outgoing.packets.rate_ps_server_1b_port:
       - abstract_pd_server_1b
-      - network.outgoing.packets.rate_pd_server_1b_ps_server_b_port
+      - network.outgoing.packets.rate_pd_server_1b_ps_server_1b_port
       disk.root.size_server_1b_pd_1:
       - abstract_pd_server_1b_1
       - disk.root.size_pd_server_1b
@@ -816,19 +816,19 @@ topology_template:
       - disk.device.usage_cmaui_1c1
       network.incoming.bytes_ps_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.bytes_pd_server_1b_ps_server_b_port
+      - network.incoming.bytes_pd_server_1b_ps_server_1b_port
       host_server_1b_pd_2:
       - abstract_pd_server_1b
       - host_pd_server_1b
       attachment_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - attachment_pd_server_1b_pd_server_b_port
+      - attachment_pd_server_1b_pd_server_1b_port
       vcpus_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - vcpus_cmaui_1c1
       binding_ps_server_1b_port:
       - abstract_pd_server_1b
-      - binding_pd_server_1b_ps_server_b_port
+      - binding_pd_server_1b_ps_server_1b_port
       disk.device.latency_server_1c2_oam_2:
       - abstract_oam_server_1c2_1
       - disk.device.latency_oam_server_1c2
@@ -870,7 +870,7 @@ topology_template:
       - disk.write.requests_pd_server_1b
       binding_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - binding_pd_server_1b_pd_server_b_port
+      - binding_pd_server_1b_pd_server_1b_port
       disk.device.read.requests.rate_server_1b_pd_1:
       - abstract_pd_server_1b_1
       - disk.device.read.requests.rate_pd_server_1b
@@ -960,7 +960,7 @@ topology_template:
       - memory.usage_pd_server_1b
       network.outpoing.packets_ps_server_1b_port:
       - abstract_pd_server_1b
-      - network.outpoing.packets_pd_server_1b_ps_server_b_port
+      - network.outpoing.packets_pd_server_1b_ps_server_1b_port
       memory.usage_server_1c2_oam_1:
       - abstract_oam_server_1c2_0
       - memory.usage_oam_server_1c2
@@ -999,7 +999,7 @@ topology_template:
       - disk.device.write.requests_pd_server_1b
       network.incoming.bytes.rate_ps_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.bytes.rate_pd_server_1b_ps_server_b_port
+      - network.incoming.bytes.rate_pd_server_1b_ps_server_1b_port
       cpu_util_server_pd_nested1_pattern_4:
       - nested1_pattern_4
       - cpu_util_server_pd
@@ -1047,7 +1047,7 @@ topology_template:
       - binding_cmaui_1c1
       feature_ps_server_1b_port:
       - abstract_pd_server_1b
-      - feature_pd_server_1b_ps_server_b_port
+      - feature_pd_server_1b_ps_server_1b_port
       disk.device.iops_server_1c2_oam_2:
       - abstract_oam_server_1c2_1
       - disk.device.iops_oam_server_1c2
@@ -1074,7 +1074,7 @@ topology_template:
       - disk.device.read.bytes.rate_pd_server_1b
       network.outgoing.packets.rate_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - network.outgoing.packets.rate_pd_server_1b_pd_server_b_port
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
       disk.write.requests.rate_server_1b_pd_1:
       - abstract_pd_server_1b_1
       - disk.write.requests.rate_pd_server_1b
@@ -1170,7 +1170,7 @@ topology_template:
       - cpu_util_pd_server_1b
       network.outgoing.bytes.rate_ps_server_1b_port:
       - abstract_pd_server_1b
-      - network.outgoing.bytes.rate_pd_server_1b_ps_server_b_port
+      - network.outgoing.bytes.rate_pd_server_1b_ps_server_1b_port
       disk.write.requests_server_pd_nested1_pattern_4:
       - nested1_pattern_4
       - disk.write.requests_server_pd
@@ -1179,7 +1179,7 @@ topology_template:
       - feature_pd_server_1b
       network.incoming.packets.rate_ps_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.packets.rate_pd_server_1b_ps_server_b_port
+      - network.incoming.packets.rate_pd_server_1b_ps_server_1b_port
       disk.device.write.requests.rate_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - disk.device.write.requests.rate_cmaui_1c1
@@ -1242,7 +1242,7 @@ topology_template:
       - disk.iops_pd_server_1b
       network.outpoing.packets_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - network.outpoing.packets_pd_server_1b_pd_server_b_port
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
       disk.device.read.requests_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - disk.device.read.requests_cmaui_1c1
@@ -1266,7 +1266,7 @@ topology_template:
       - disk.device.allocation_oam_server_1c2
       network.outgoing.bytes_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - network.outgoing.bytes_pd_server_1b_pd_server_b_port
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
       disk.write.requests_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - disk.write.requests_cmaui_1c1
@@ -1422,13 +1422,13 @@ topology_template:
       - disk.device.read.requests.rate_cmaui_1c1
       network.incoming.packets_ps_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.packets_pd_server_1b_ps_server_b_port
+      - network.incoming.packets_pd_server_1b_ps_server_1b_port
       instance_server_pd_nested1_pattern_4:
       - nested1_pattern_4
       - instance_server_pd
       feature_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - feature_pd_server_1b_pd_server_b_port
+      - feature_pd_server_1b_pd_server_1b_port
       disk.latency_server_1c1_cmaui_1:
       - abstract_cmaui_1c1
       - disk.latency_cmaui_1c1
@@ -1467,7 +1467,7 @@ topology_template:
       - disk.write.bytes_cmaui_1c1
       network.outgoing.bytes.rate_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - network.outgoing.bytes.rate_pd_server_1b_pd_server_b_port
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
       disk.write.bytes_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - disk.write.bytes_cmaui_1c1
@@ -1485,7 +1485,7 @@ topology_template:
       - disk.device.latency_pd_server_1b
       network.incoming.packets.rate_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - network.incoming.packets.rate_pd_server_1b_pd_server_b_port
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
       feature_nested1_pattern_4:
       - nested1_pattern_4
       - feature
@@ -1542,7 +1542,7 @@ topology_template:
       - network.incoming.bytes.rate_cmaui_1c1_cmaui_port
       network.outgoing.bytes_ps_server_1b_port:
       - abstract_pd_server_1b
-      - network.outgoing.bytes_pd_server_1b_ps_server_b_port
+      - network.outgoing.bytes_pd_server_1b_ps_server_1b_port
       network.incoming.bytes.rate_cmaui_port_2:
       - abstract_cmaui_1c1
       - network.incoming.bytes.rate_cmaui_1c1_cmaui_port
@@ -1582,7 +1582,7 @@ topology_template:
     requirements:
       link_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - link_pd_server_1b_pd_server_b_port
+      - link_pd_server_1b_pd_server_1b_port
       dependency_oam_port_2:
       - abstract_oam_server_1c2_1
       - dependency_oam_server_1c2_oam_port
@@ -1597,10 +1597,10 @@ topology_template:
       - link_pd_server_port_2
       link_ps_server_1b_port:
       - abstract_pd_server_1b
-      - link_pd_server_1b_ps_server_b_port
+      - link_pd_server_1b_ps_server_1b_port
       dependency_ps_server_1b_port:
       - abstract_pd_server_1b
-      - dependency_pd_server_1b_ps_server_b_port
+      - dependency_pd_server_1b_ps_server_1b_port
       dependency_server_1c2_oam_1:
       - abstract_oam_server_1c2_0
       - dependency_oam_server_1c2
@@ -1648,7 +1648,7 @@ topology_template:
       - dependency_cmaui_1c1
       dependency_pd_server_1b_port:
       - abstract_pd_server_1b_1
-      - dependency_pd_server_1b_pd_server_b_port
+      - dependency_pd_server_1b_pd_server_1b_port
       dependency_packet_internal_network:
       - packet_internal_network
       - dependency
index ef3fc1a..9c1f678 100644 (file)
@@ -435,10 +435,6 @@ node_types:
         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
@@ -451,17 +447,13 @@ node_types:
         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:
+      port_pd_server_1b_port_vlan_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-      port_pd_server_b_port_subnetpoolid:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd_server_1b_port_network_role_tag:
         type: string
         required: true
         status: SUPPORTED
@@ -469,27 +461,27 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_ip_requirements:
+      port_pd_server_1b_port_replacement_policy:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-      port_pd_server_b_port_network:
-        type: list
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: string
-      port_pd_server_b_port_network_role_tag:
+      port_pd_server_1b_port_network_role:
         type: string
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_network_role:
-        type: string
+      port_pd_server_1b_port_fixed_ips:
+        type: list
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_replacement_policy:
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_1b_port_network:
         type: list
         required: true
         status: SUPPORTED
@@ -501,16 +493,24 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_pd_server_b_port_order:
+      port_pd_server_1b_port_order:
         type: integer
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_vlan_requirements:
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
     requirements:
     - dependency_pd_server_1b:
         capability: tosca.capabilities.Node
@@ -526,14 +526,14 @@ node_types:
         occurrences:
         - 0
         - UNBOUNDED
-    - dependency_pd_server_1b_pd_server_b_port:
+    - dependency_pd_server_1b_pd_server_1b_port:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_pd_server_1b_pd_server_b_port:
+    - link_pd_server_1b_pd_server_1b_port:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -546,6 +546,11 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
       host_pd_server_1b:
         type: tosca.capabilities.Container
         valid_source_types:
@@ -559,37 +564,25 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_pd_server_1b_pd_server_b_port:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
       disk.allocation_pd_server_1b:
         type: org.openecomp.capabilities.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_1b_pd_server_b_port:
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.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_1b_pd_server_b_port:
+      cpu.delta_pd_server_1b:
         type: org.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_1b_pd_server_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
-      cpu.delta_pd_server_1b:
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -612,6 +605,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
       cpu_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -647,8 +647,9 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      attachment_pd_server_1b_pd_server_b_port:
-        type: tosca.capabilities.Attachment
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
         - 1
         - UNBOUNDED
@@ -682,25 +683,30 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
       disk.device.write.requests_pd_server_1b:
         type: org.openecomp.capabilities.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_1b_pd_server_b_port:
+      disk.latency_pd_server_1b:
         type: org.openecomp.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_pd_server_1b:
+      disk.ephemeral.size_pd_server_1b:
         type: org.openecomp.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_pd_server_1b:
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -735,12 +741,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_pd_server_1b_pd_server_b_port:
-        type: org.openecomp.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -764,6 +764,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -781,19 +787,19 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      memory.resident_pd_server_1b:
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.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_1b_pd_server_b_port:
+      memory.resident_pd_server_1b:
         type: org.openecomp.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_1b_pd_server_b_port:
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -817,7 +823,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_pd_server_1b_pd_server_b_port:
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -835,12 +841,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes_pd_server_1b_pd_server_b_port:
-        type: org.openecomp.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -3003,24 +3003,26 @@ node_types:
   org.openecomp.resource.abstract.nodes.ps_server_1b:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     properties:
-      port_ps_server_b_port_vlan_requirements:
+      port_ps_server_1b_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
+      port_ps_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-      port_ps_server_b_port_replacement_policy:
+      port_ps_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_fixed_ips:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: string
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -3029,50 +3031,48 @@ node_types:
         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
+      port_ps_server_1b_port_order:
+        type: integer
         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
+      port_ps_server_1b_port_network:
+        type: list
         required: true
         status: SUPPORTED
-      port_ps_server_b_port_subnetpoolid:
-        type: string
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
-      port_ps_server_b_port_order:
-        type: integer
+      port_ps_server_1b_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_ps_server_b_port_exCP_naming:
-        type: org.openecomp.datatypes.Naming
-        required: true
-        status: SUPPORTED
-      port_ps_server_b_port_network_role_tag:
+      port_ps_server_1b_port_network_role:
         type: string
         required: true
         status: SUPPORTED
-      port_ps_server_b_port_network:
+      port_ps_server_1b_port_replacement_policy:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
           type: string
+      port_ps_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
       compute_ps_server_1b_availability_zone:
         type: list
         required: true
@@ -3100,14 +3100,14 @@ node_types:
         occurrences:
         - 0
         - UNBOUNDED
-    - dependency_ps_server_1b_ps_server_b_port:
+    - dependency_ps_server_1b_ps_server_1b_port:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_ps_server_1b_ps_server_b_port:
+    - link_ps_server_1b_ps_server_1b_port:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -3167,13 +3167,18 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.device.capacity_ps_server_1b:
+      attachment_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.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_ps_server_1b_ps_server_b_port:
+      disk.device.capacity_ps_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -3209,12 +3214,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes.rate_ps_server_1b_ps_server_b_port:
-        type: org.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_ps_server_1b:
         type: tosca.capabilities.Container
         valid_source_types:
@@ -3246,6 +3245,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.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_ps_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -3270,66 +3275,60 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_ps_server_1b_ps_server_b_port:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
       binding_ps_server_1b:
         type: tosca.capabilities.network.Bindable
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_ps_server_1b_ps_server_b_port:
+      memory.resident_ps_server_1b:
         type: org.openecomp.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_ps_server_1b_ps_server_b_port:
+      memory_ps_server_1b:
         type: org.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_ps_server_1b:
+      disk.write.bytes_ps_server_1b:
         type: org.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_ps_server_1b:
+      disk.device.write.bytes.rate_ps_server_1b:
         type: org.openecomp.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_ps_server_1b:
+      disk.read.bytes_ps_server_1b:
         type: org.openecomp.capabilities.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_ps_server_1b:
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
         type: org.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_ps_server_1b_ps_server_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
-        - 0
+        - 1
         - UNBOUNDED
-      disk.read.bytes_ps_server_1b:
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
         type: org.openecomp.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_ps_server_1b_ps_server_b_port:
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -3345,11 +3344,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      attachment_ps_server_1b_ps_server_b_port:
-        type: tosca.capabilities.Attachment
-        occurrences:
-        - 1
-        - UNBOUNDED
       disk.iops_ps_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -3368,13 +3362,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.packets.rate_ps_server_1b_ps_server_b_port:
-        type: org.openecomp.capabilities.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_ps_server_1b_ps_server_b_port:
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -3397,19 +3385,24 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      vcpus_ps_server_1b:
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
         type: org.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_ps_server_1b:
+      feature_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_ps_server_1b:
         type: org.openecomp.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_ps_server_1b_ps_server_b_port:
+      cpu.delta_ps_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -3421,6 +3414,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      binding_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
   org.openecomp.resource.abstract.nodes.cmaui_1c1:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     properties:
index 81488c7..1dbe52f 100644 (file)
@@ -16,9 +16,6 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_pd_server_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -29,37 +26,34 @@ topology_template:
     vm_flavor_name:
       type: string
       required: true
-    port_pd_server_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    port_pd_server_b_port_fixed_ips:
+    port_pd_server_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-    port_pd_server_b_port_subnetpoolid:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd_server_1b_port_network_role_tag:
       type: string
       required: true
     vm_image_name:
       type: string
       required: true
-    port_pd_server_b_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd_server_b_port_network:
+    port_pd_server_1b_port_replacement_policy:
       type: list
       required: true
       entry_schema:
         type: string
-    port_pd_server_b_port_network_role_tag:
-      type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
       required: true
-    port_pd_server_b_port_network_role:
+    port_pd_server_1b_port_network_role:
       type: string
       required: true
-    port_pd_server_b_port_replacement_policy:
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_1b_port_network:
       type: list
       required: true
       entry_schema:
@@ -69,14 +63,20 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_pd_server_b_port_order:
+    port_pd_server_1b_port_order:
       type: integer
       required: true
-    port_pd_server_b_port_vlan_requirements:
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
       type: list
       required: true
       entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
   node_templates:
     pd_server_1b:
       type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
@@ -93,34 +93,34 @@ topology_template:
           get_input:
           - compute_pd_server_1b_name
           - index_value
-    pd_server_1b_pd_server_b_port:
+    pd_server_1b_pd_server_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_pd_server_b_port_exCP_naming
+          get_input: port_pd_server_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_pd_server_b_port_replacement_policy
+          - port_pd_server_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_pd_server_b_port_vlan_requirements
+          get_input: port_pd_server_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_pd_server_b_port_ip_requirements
+          get_input: port_pd_server_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_pd_server_b_port_network_role_tag
+          get_input: port_pd_server_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_pd_server_b_port_mac_requirements
+          get_input: port_pd_server_1b_port_mac_requirements
         order:
-          get_input: port_pd_server_b_port_order
+          get_input: port_pd_server_1b_port_order
         network_role:
-          get_input: port_pd_server_b_port_network_role
+          get_input: port_pd_server_1b_port_network_role
         subnetpoolid:
-          get_input: port_pd_server_b_port_subnetpoolid
+          get_input: port_pd_server_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_pd_server_b_port_fixed_ips
+          get_input: port_pd_server_1b_port_fixed_ips
         network:
           get_input:
-          - port_pd_server_b_port_network
+          - port_pd_server_1b_port_network
           - index_value
       requirements:
       - binding:
@@ -133,30 +133,27 @@ topology_template:
       disk.device.read.bytes_pd_server_1b:
       - pd_server_1b
       - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
       host_pd_server_1b:
       - pd_server_1b
       - host
       disk.read.bytes.rate_pd_server_1b:
       - pd_server_1b
       - disk.read.bytes.rate
-      feature_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - feature
       disk.allocation_pd_server_1b:
       - pd_server_1b
       - disk.allocation
-      network.incoming.bytes_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.incoming.bytes
-      network.outgoing.bytes.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outgoing.bytes.rate
-      binding_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - binding
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
       cpu.delta_pd_server_1b:
       - pd_server_1b
       - cpu.delta
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
       disk.device.read.requests_pd_server_1b:
       - pd_server_1b
       - disk.device.read.requests
@@ -166,6 +163,9 @@ topology_template:
       disk.device.iops_pd_server_1b:
       - pd_server_1b
       - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
       cpu_pd_server_1b:
       - pd_server_1b
       - cpu
@@ -184,9 +184,9 @@ topology_template:
       memory.usage_pd_server_1b:
       - pd_server_1b
       - memory.usage
-      attachment_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - attachment
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
       memory_pd_server_1b:
       - pd_server_1b
       - memory
@@ -202,18 +202,21 @@ topology_template:
       disk.device.usage_pd_server_1b:
       - pd_server_1b
       - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
       disk.device.write.requests_pd_server_1b:
       - pd_server_1b
       - disk.device.write.requests
-      network.incoming.bytes.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.incoming.bytes.rate
       disk.latency_pd_server_1b:
       - pd_server_1b
       - disk.latency
       disk.ephemeral.size_pd_server_1b:
       - pd_server_1b
       - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
       scalable_pd_server_1b:
       - pd_server_1b
       - scalable
@@ -229,9 +232,6 @@ topology_template:
       disk.iops_pd_server_1b:
       - pd_server_1b
       - disk.iops
-      network.incoming.packets.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.incoming.packets.rate
       disk.write.bytes_pd_server_1b:
       - pd_server_1b
       - disk.write.bytes
@@ -244,6 +244,9 @@ topology_template:
       vcpus_pd_server_1b:
       - pd_server_1b
       - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
       instance_pd_server_1b:
       - pd_server_1b
       - instance
@@ -253,15 +256,15 @@ topology_template:
       cpu_util_pd_server_1b:
       - pd_server_1b
       - cpu_util
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
       memory.resident_pd_server_1b:
       - pd_server_1b
       - memory.resident
-      network.incoming.packets_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
       - network.incoming.packets
-      network.outgoing.packets.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outgoing.packets.rate
       disk.device.write.requests.rate_pd_server_1b:
       - pd_server_1b
       - disk.device.write.requests.rate
@@ -271,18 +274,15 @@ topology_template:
       disk.read.requests_pd_server_1b:
       - pd_server_1b
       - disk.read.requests
-      network.outpoing.packets_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outpoing.packets
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
       disk.capacity_pd_server_1b:
       - pd_server_1b
       - disk.capacity
       disk.usage_pd_server_1b:
       - pd_server_1b
       - disk.usage
-      network.outgoing.bytes_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outgoing.bytes
       disk.write.requests.rate_pd_server_1b:
       - pd_server_1b
       - disk.write.requests.rate
@@ -293,9 +293,9 @@ topology_template:
       local_storage_pd_server_1b:
       - pd_server_1b
       - local_storage
-      link_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
       - link
-      dependency_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
       - dependency
index 6d0f966..c97cb23 100644 (file)
@@ -11,21 +11,22 @@ node_types:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
 topology_template:
   inputs:
-    port_ps_server_b_port_vlan_requirements:
+    port_ps_server_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.VlanRequirements
-    port_ps_server_b_port_ip_requirements:
-      type: list
+    port_ps_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_ps_server_b_port_replacement_policy:
+    port_ps_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    port_ps_server_1b_port_fixed_ips:
       type: list
       required: true
       entry_schema:
-        type: string
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -33,40 +34,39 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_ps_server_b_port_network_role:
-      type: string
-      required: true
-    port_ps_server_b_port_fixed_ips:
-      type: list
+    port_ps_server_1b_port_order:
+      type: integer
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     vm_flavor_name:
       type: string
       required: true
-    port_ps_server_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
+    port_ps_server_1b_port_network:
+      type: list
       required: true
-    port_ps_server_b_port_subnetpoolid:
-      type: string
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
       required: true
-    port_ps_server_b_port_order:
-      type: integer
+    port_ps_server_1b_port_ip_requirements:
+      type: list
       required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
     vm_image_name:
       type: string
       required: true
-    port_ps_server_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    port_ps_server_b_port_network_role_tag:
+    port_ps_server_1b_port_network_role:
       type: string
       required: true
-    port_ps_server_b_port_network:
+    port_ps_server_1b_port_replacement_policy:
       type: list
       required: true
       entry_schema:
         type: string
+    port_ps_server_1b_port_subnetpoolid:
+      type: string
+      required: true
     compute_ps_server_1b_availability_zone:
       type: list
       required: true
@@ -93,34 +93,34 @@ topology_template:
           get_input:
           - compute_ps_server_1b_name
           - index_value
-    ps_server_1b_ps_server_b_port:
+    ps_server_1b_ps_server_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_ps_server_b_port_exCP_naming
+          get_input: port_ps_server_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_ps_server_b_port_replacement_policy
+          - port_ps_server_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_ps_server_b_port_vlan_requirements
+          get_input: port_ps_server_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_ps_server_b_port_ip_requirements
+          get_input: port_ps_server_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_ps_server_b_port_network_role_tag
+          get_input: port_ps_server_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_ps_server_b_port_mac_requirements
+          get_input: port_ps_server_1b_port_mac_requirements
         order:
-          get_input: port_ps_server_b_port_order
+          get_input: port_ps_server_1b_port_order
         network_role:
-          get_input: port_ps_server_b_port_network_role
+          get_input: port_ps_server_1b_port_network_role
         subnetpoolid:
-          get_input: port_ps_server_b_port_subnetpoolid
+          get_input: port_ps_server_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_ps_server_b_port_fixed_ips
+          get_input: port_ps_server_1b_port_fixed_ips
         network:
           get_input:
-          - port_ps_server_b_port_network
+          - port_ps_server_1b_port_network
           - index_value
       requirements:
       - binding:
@@ -157,12 +157,15 @@ topology_template:
       disk.device.iops_ps_server_1b:
       - ps_server_1b
       - disk.device.iops
+      attachment_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - attachment
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.packets.rate
       disk.device.capacity_ps_server_1b:
       - ps_server_1b
       - disk.device.capacity
-      network.incoming.packets.rate_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.incoming.packets.rate
       instance_ps_server_1b:
       - ps_server_1b
       - instance
@@ -178,9 +181,6 @@ topology_template:
       disk.device.read.requests_ps_server_1b:
       - ps_server_1b
       - disk.device.read.requests
-      network.incoming.bytes.rate_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.incoming.bytes.rate
       host_ps_server_1b:
       - ps_server_1b
       - host
@@ -196,6 +196,9 @@ topology_template:
       disk.capacity_ps_server_1b:
       - ps_server_1b
       - disk.capacity
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes
       disk.write.requests.rate_ps_server_1b:
       - ps_server_1b
       - disk.write.requests.rate
@@ -208,18 +211,9 @@ topology_template:
       disk.root.size_ps_server_1b:
       - ps_server_1b
       - disk.root.size
-      feature_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - feature
       binding_ps_server_1b:
       - ps_server_1b
       - binding
-      network.incoming.bytes_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.incoming.bytes
-      network.outgoing.bytes.rate_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.outgoing.bytes.rate
       memory.resident_ps_server_1b:
       - ps_server_1b
       - memory.resident
@@ -232,24 +226,27 @@ topology_template:
       disk.device.write.bytes.rate_ps_server_1b:
       - ps_server_1b
       - disk.device.write.bytes.rate
-      binding_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - binding
       disk.read.bytes_ps_server_1b:
       - ps_server_1b
       - disk.read.bytes
-      network.outgoing.bytes_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets.rate
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
       - network.outgoing.bytes
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes.rate
       feature_ps_server_1b:
       - ps_server_1b
       - feature
       os_ps_server_1b:
       - ps_server_1b
       - os
-      attachment_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - attachment
       disk.iops_ps_server_1b:
       - ps_server_1b
       - disk.iops
@@ -259,12 +256,9 @@ topology_template:
       disk.write.requests_ps_server_1b:
       - ps_server_1b
       - disk.write.requests
-      network.outgoing.packets.rate_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.outgoing.packets.rate
-      network.incoming.packets_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.incoming.packets
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outpoing.packets
       memory.usage_ps_server_1b:
       - ps_server_1b
       - memory.usage
@@ -274,27 +268,33 @@ topology_template:
       endpoint_ps_server_1b:
       - ps_server_1b
       - endpoint
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes.rate
+      feature_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - feature
       vcpus_ps_server_1b:
       - ps_server_1b
       - vcpus
       cpu.delta_ps_server_1b:
       - ps_server_1b
       - cpu.delta
-      network.outpoing.packets_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.outpoing.packets
       disk.ephemeral.size_ps_server_1b:
       - ps_server_1b
       - disk.ephemeral.size
+      binding_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - binding
     requirements:
       local_storage_ps_server_1b:
       - ps_server_1b
       - local_storage
-      dependency_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
+      dependency_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
       - dependency
-      link_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
+      link_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
       - link
       dependency_ps_server_1b:
       - ps_server_1b
index ae05dd4..e214d82 100644 (file)
@@ -185,28 +185,28 @@ topology_template:
           - 0
         vm_flavor_name:
           get_input: pd_server_1b_flavor
-        port_pd_server_b_port_mac_requirements:
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
           mac_count_required:
             is_required: false
-        port_pd_server_b_port_fixed_ips:
+        port_pd_server_1b_port_fixed_ips:
         - ip_address:
             get_input:
             - pd_server_1b_ips
             - 0
-        vm_image_name:
-          get_input: pd_server_1b_image
-        port_pd_server_b_port_ip_requirements:
+        port_pd_server_1b_port_network:
+        - get_input: net
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
         - ip_version: 4
           ip_count_required:
             is_required: true
           floating_ip_count_required:
             is_required: false
-        port_pd_server_b_port_network:
-        - get_input: net
-        port_pd_server_b_port_replacement_policy:
-        - AUTO
-        compute_pd_server_1b_availability_zone:
-        - get_input: availability_zone_0
         service_template_filter:
           substitute_service_template: Nested_pd_server_1bServiceTemplate.yaml
           count: 1
@@ -220,28 +220,28 @@ topology_template:
       directives:
       - substitutable
       properties:
-        port_ps_server_b_port_ip_requirements:
-        - ip_version: 4
-          ip_count_required:
-            is_required: true
-          floating_ip_count_required:
+        port_ps_server_1b_port_mac_requirements:
+          mac_count_required:
             is_required: false
-        port_ps_server_b_port_replacement_policy:
-        - AUTO
-        port_ps_server_b_port_fixed_ips:
+        port_ps_server_1b_port_fixed_ips:
         - ip_address:
             get_input:
             - ps_server_1b_ips
             - 0
         vm_flavor_name:
           get_input: ps_server_1b_flavor
-        port_ps_server_b_port_mac_requirements:
-          mac_count_required:
+        port_ps_server_1b_port_network:
+        - get_input: net
+        port_ps_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
             is_required: false
         vm_image_name:
           get_input: ps_server_1b_image
-        port_ps_server_b_port_network:
-        - get_input: net
+        port_ps_server_1b_port_replacement_policy:
+        - AUTO
         compute_ps_server_1b_availability_zone:
         - get_input: availability_zone_0
         compute_ps_server_1b_name:
@@ -413,7 +413,7 @@ topology_template:
       - disk.usage_oam_server_1c2
       network.incoming.bytes_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.bytes_pd_server_1b_pd_server_b_port
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
       feature_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - feature_cmaui_1c1
@@ -443,10 +443,10 @@ topology_template:
       - disk.device.iops_pd_server_1b
       network.incoming.packets_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.packets_pd_server_1b_pd_server_b_port
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
       attachment_ps_server_1b_port:
       - abstract_ps_server_1b
-      - attachment_ps_server_1b_ps_server_b_port
+      - attachment_ps_server_1b_ps_server_1b_port
       disk.device.write.requests.rate_server_1c2_oam_1:
       - abstract_oam_server_1c2_0
       - disk.device.write.requests.rate_oam_server_1c2
@@ -605,7 +605,7 @@ topology_template:
       - feature_cmaui_1c1_cmaui_port
       network.incoming.bytes.rate_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.bytes.rate_pd_server_1b_pd_server_b_port
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
       network.outgoing.bytes_oam_port_2:
       - abstract_oam_server_1c2_1
       - network.outgoing.bytes_oam_server_1c2_oam_port
@@ -671,7 +671,7 @@ topology_template:
       - endpoint_cmaui_1c1
       network.outgoing.packets.rate_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.outgoing.packets.rate_ps_server_1b_ps_server_b_port
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port
       endpoint_server_1c1_cmaui_1:
       - abstract_cmaui_1c1
       - endpoint_cmaui_1c1
@@ -686,16 +686,16 @@ topology_template:
       - disk.device.usage_cmaui_1c1
       network.incoming.bytes_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.incoming.bytes_ps_server_1b_ps_server_b_port
+      - network.incoming.bytes_ps_server_1b_ps_server_1b_port
       attachment_pd_server_1b_port:
       - abstract_pd_server_1b
-      - attachment_pd_server_1b_pd_server_b_port
+      - attachment_pd_server_1b_pd_server_1b_port
       vcpus_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - vcpus_cmaui_1c1
       binding_ps_server_1b_port:
       - abstract_ps_server_1b
-      - binding_ps_server_1b_ps_server_b_port
+      - binding_ps_server_1b_ps_server_1b_port
       disk.device.write.bytes.rate_server_1b_ps:
       - abstract_ps_server_1b
       - disk.device.write.bytes.rate_ps_server_1b
@@ -740,7 +740,7 @@ topology_template:
       - disk.device.read.requests_ps_server_1b
       binding_pd_server_1b_port:
       - abstract_pd_server_1b
-      - binding_pd_server_1b_pd_server_b_port
+      - binding_pd_server_1b_pd_server_1b_port
       disk.read.bytes_server_1c2_oam_1:
       - abstract_oam_server_1c2_0
       - disk.read.bytes_oam_server_1c2
@@ -806,7 +806,7 @@ topology_template:
       - memory.usage_oam_server_1c2
       network.outpoing.packets_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.outpoing.packets_ps_server_1b_ps_server_b_port
+      - network.outpoing.packets_ps_server_1b_ps_server_1b_port
       memory.usage_server_1c2_oam_1:
       - abstract_oam_server_1c2_0
       - memory.usage_oam_server_1c2
@@ -836,7 +836,7 @@ topology_template:
       - memory.resident_cmaui_1c1
       network.incoming.bytes.rate_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.incoming.bytes.rate_ps_server_1b_ps_server_b_port
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port
       network.incoming.bytes.rate_oam_port_1:
       - abstract_oam_server_1c2_0
       - network.incoming.bytes.rate_oam_server_1c2_oam_port
@@ -878,7 +878,7 @@ topology_template:
       - binding_cmaui_1c1
       feature_ps_server_1b_port:
       - abstract_ps_server_1b
-      - feature_ps_server_1b_ps_server_b_port
+      - feature_ps_server_1b_ps_server_1b_port
       disk.device.iops_server_1c2_oam_2:
       - abstract_oam_server_1c2_1
       - disk.device.iops_oam_server_1c2
@@ -905,7 +905,7 @@ topology_template:
       - attachment
       network.outgoing.packets.rate_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.outgoing.packets.rate_pd_server_1b_pd_server_b_port
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
       memory_server_1c1_cmaui_1:
       - abstract_cmaui_1c1
       - memory_cmaui_1c1
@@ -974,10 +974,10 @@ topology_template:
       - network.incoming.packets_cmaui_1c1_cmaui_port
       network.outgoing.bytes.rate_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.outgoing.bytes.rate_ps_server_1b_ps_server_b_port
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port
       network.incoming.packets.rate_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.incoming.packets.rate_ps_server_1b_ps_server_b_port
+      - network.incoming.packets.rate_ps_server_1b_ps_server_1b_port
       disk.device.write.requests.rate_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - disk.device.write.requests.rate_cmaui_1c1
@@ -1040,7 +1040,7 @@ topology_template:
       - end_point
       network.outpoing.packets_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.outpoing.packets_pd_server_1b_pd_server_b_port
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
       feature_server_1b_pd:
       - abstract_pd_server_1b
       - feature_pd_server_1b
@@ -1067,7 +1067,7 @@ topology_template:
       - disk.device.allocation_oam_server_1c2
       network.outgoing.bytes_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.outgoing.bytes_pd_server_1b_pd_server_b_port
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
       disk.write.bytes_server_1b_pd:
       - abstract_pd_server_1b
       - disk.write.bytes_pd_server_1b
@@ -1205,13 +1205,13 @@ topology_template:
       - disk.device.read.requests.rate_cmaui_1c1
       network.incoming.packets_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.incoming.packets_ps_server_1b_ps_server_b_port
+      - network.incoming.packets_ps_server_1b_ps_server_1b_port
       disk.write.requests_server_1b_ps:
       - abstract_ps_server_1b
       - disk.write.requests_ps_server_1b
       feature_pd_server_1b_port:
       - abstract_pd_server_1b
-      - feature_pd_server_1b_pd_server_b_port
+      - feature_pd_server_1b_pd_server_1b_port
       disk.latency_server_1c1_cmaui_1:
       - abstract_cmaui_1c1
       - disk.latency_cmaui_1c1
@@ -1244,7 +1244,7 @@ topology_template:
       - disk.write.bytes_cmaui_1c1
       network.outgoing.bytes.rate_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.outgoing.bytes.rate_pd_server_1b_pd_server_b_port
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
       disk.write.bytes_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - disk.write.bytes_cmaui_1c1
@@ -1256,7 +1256,7 @@ topology_template:
       - feature_oam_server_1c2_oam_port
       network.incoming.packets.rate_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.packets.rate_pd_server_1b_pd_server_b_port
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
       disk.device.latency_server_1c1_cmaui_1:
       - abstract_cmaui_1c1
       - disk.device.latency_cmaui_1c1
@@ -1298,7 +1298,7 @@ topology_template:
       - network.incoming.bytes.rate_cmaui_1c1_cmaui_port
       network.outgoing.bytes_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.outgoing.bytes_ps_server_1b_ps_server_b_port
+      - network.outgoing.bytes_ps_server_1b_ps_server_1b_port
       network.incoming.bytes.rate_cmaui_port_2:
       - abstract_cmaui_1c1
       - network.incoming.bytes.rate_cmaui_1c1_cmaui_port
@@ -1341,7 +1341,7 @@ topology_template:
       - dependency_pd_server_1b
       link_pd_server_1b_port:
       - abstract_pd_server_1b
-      - link_pd_server_1b_pd_server_b_port
+      - link_pd_server_1b_pd_server_1b_port
       local_storage_server_1b_ps:
       - abstract_ps_server_1b
       - local_storage_ps_server_1b
@@ -1359,13 +1359,13 @@ topology_template:
       - dependency_cmaui_1c1
       link_ps_server_1b_port:
       - abstract_ps_server_1b
-      - link_ps_server_1b_ps_server_b_port
+      - link_ps_server_1b_ps_server_1b_port
       local_storage_server_1b_pd:
       - abstract_pd_server_1b
       - local_storage_pd_server_1b
       dependency_ps_server_1b_port:
       - abstract_ps_server_1b
-      - dependency_ps_server_1b_ps_server_b_port
+      - dependency_ps_server_1b_ps_server_1b_port
       dependency_server_1b_ps:
       - abstract_ps_server_1b
       - dependency_ps_server_1b
@@ -1383,7 +1383,7 @@ topology_template:
       - local_storage_oam_server_1c2
       dependency_pd_server_1b_port:
       - abstract_pd_server_1b
-      - dependency_pd_server_1b_pd_server_b_port
+      - dependency_pd_server_1b_pd_server_1b_port
       dependency_cmaui_port_1:
       - abstract_cmaui_1c1
       - dependency_cmaui_1c1_cmaui_port
index d8db407..391a1b7 100644 (file)
@@ -985,10 +985,6 @@ node_types:
         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
@@ -1001,17 +997,13 @@ node_types:
         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:
+      port_pd_server_1b_port_vlan_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-      port_pd_server_b_port_subnetpoolid:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd_server_1b_port_network_role_tag:
         type: string
         required: true
         status: SUPPORTED
@@ -1019,27 +1011,27 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_ip_requirements:
+      port_pd_server_1b_port_replacement_policy:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-      port_pd_server_b_port_network:
-        type: list
+          type: string
+      port_pd_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: string
-      port_pd_server_b_port_network_role_tag:
+      port_pd_server_1b_port_network_role:
         type: string
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_network_role:
-        type: string
+      port_pd_server_1b_port_fixed_ips:
+        type: list
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_replacement_policy:
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+      port_pd_server_1b_port_network:
         type: list
         required: true
         status: SUPPORTED
@@ -1051,16 +1043,24 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
-      port_pd_server_b_port_order:
+      port_pd_server_1b_port_order:
         type: integer
         required: true
         status: SUPPORTED
-      port_pd_server_b_port_vlan_requirements:
+      port_pd_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_server_1b_port_ip_requirements:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
     requirements:
     - dependency_pd_server_1b:
         capability: tosca.capabilities.Node
@@ -1076,14 +1076,14 @@ node_types:
         occurrences:
         - 0
         - UNBOUNDED
-    - dependency_pd_server_1b_pd_server_b_port:
+    - dependency_pd_server_1b_pd_server_1b_port:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_pd_server_1b_pd_server_b_port:
+    - link_pd_server_1b_pd_server_1b_port:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -1096,6 +1096,11 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      feature_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
       host_pd_server_1b:
         type: tosca.capabilities.Container
         valid_source_types:
@@ -1109,37 +1114,25 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_pd_server_1b_pd_server_b_port:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
       disk.allocation_pd_server_1b:
         type: org.openecomp.capabilities.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_1b_pd_server_b_port:
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.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_1b_pd_server_b_port:
+      cpu.delta_pd_server_1b:
         type: org.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_1b_pd_server_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
-      cpu.delta_pd_server_1b:
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -1162,6 +1155,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      binding_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
       cpu_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -1197,8 +1197,9 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      attachment_pd_server_1b_pd_server_b_port:
-        type: tosca.capabilities.Attachment
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
         - 1
         - UNBOUNDED
@@ -1232,25 +1233,30 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      attachment_pd_server_1b_pd_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
       disk.device.write.requests_pd_server_1b:
         type: org.openecomp.capabilities.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_1b_pd_server_b_port:
+      disk.latency_pd_server_1b:
         type: org.openecomp.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_pd_server_1b:
+      disk.ephemeral.size_pd_server_1b:
         type: org.openecomp.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_pd_server_1b:
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -1285,12 +1291,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_pd_server_1b_pd_server_b_port:
-        type: org.openecomp.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -1314,6 +1314,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+        type: org.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -1331,19 +1337,19 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      memory.resident_pd_server_1b:
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.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_1b_pd_server_b_port:
+      memory.resident_pd_server_1b:
         type: org.openecomp.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_1b_pd_server_b_port:
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -1367,7 +1373,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_pd_server_1b_pd_server_b_port:
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -1385,12 +1391,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.bytes_pd_server_1b_pd_server_b_port:
-        type: org.openecomp.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_pd_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -3833,24 +3833,26 @@ node_types:
   org.openecomp.resource.abstract.nodes.ps_server_1b:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     properties:
-      port_ps_server_b_port_vlan_requirements:
+      port_ps_server_1b_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
+      port_ps_server_1b_port_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-      port_ps_server_b_port_replacement_policy:
+      port_ps_server_1b_port_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_ps_server_1b_port_fixed_ips:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
-          type: string
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
       index_value:
         type: integer
         description: Index value of this substitution service template runtime instance
@@ -3859,50 +3861,48 @@ node_types:
         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
+      port_ps_server_1b_port_order:
+        type: integer
         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
+      port_ps_server_1b_port_network:
+        type: list
         required: true
         status: SUPPORTED
-      port_ps_server_b_port_subnetpoolid:
-        type: string
+        entry_schema:
+          type: string
+      port_ps_server_1b_port_exCP_naming:
+        type: org.openecomp.datatypes.Naming
         required: true
         status: SUPPORTED
-      port_ps_server_b_port_order:
-        type: integer
+      port_ps_server_1b_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_ps_server_b_port_exCP_naming:
-        type: org.openecomp.datatypes.Naming
-        required: true
-        status: SUPPORTED
-      port_ps_server_b_port_network_role_tag:
+      port_ps_server_1b_port_network_role:
         type: string
         required: true
         status: SUPPORTED
-      port_ps_server_b_port_network:
+      port_ps_server_1b_port_replacement_policy:
         type: list
         required: true
         status: SUPPORTED
         entry_schema:
           type: string
+      port_ps_server_1b_port_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
       compute_ps_server_1b_availability_zone:
         type: list
         required: true
@@ -3930,14 +3930,14 @@ node_types:
         occurrences:
         - 0
         - UNBOUNDED
-    - dependency_ps_server_1b_ps_server_b_port:
+    - dependency_ps_server_1b_ps_server_1b_port:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_ps_server_1b_ps_server_b_port:
+    - link_ps_server_1b_ps_server_1b_port:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -3997,13 +3997,18 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.device.capacity_ps_server_1b:
+      attachment_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.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_ps_server_1b_ps_server_b_port:
+      disk.device.capacity_ps_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -4039,12 +4044,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes.rate_ps_server_1b_ps_server_b_port:
-        type: org.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_ps_server_1b:
         type: tosca.capabilities.Container
         valid_source_types:
@@ -4076,6 +4075,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.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_ps_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -4100,66 +4105,60 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_ps_server_1b_ps_server_b_port:
-        type: tosca.capabilities.Node
-        occurrences:
-        - 1
-        - UNBOUNDED
       binding_ps_server_1b:
         type: tosca.capabilities.network.Bindable
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_ps_server_1b_ps_server_b_port:
+      memory.resident_ps_server_1b:
         type: org.openecomp.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_ps_server_1b_ps_server_b_port:
+      memory_ps_server_1b:
         type: org.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_ps_server_1b:
+      disk.write.bytes_ps_server_1b:
         type: org.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_ps_server_1b:
+      disk.device.write.bytes.rate_ps_server_1b:
         type: org.openecomp.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_ps_server_1b:
+      disk.read.bytes_ps_server_1b:
         type: org.openecomp.capabilities.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_ps_server_1b:
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
         type: org.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_ps_server_1b_ps_server_b_port:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+        type: org.openecomp.capabilities.metric.Ceilometer
+        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
-        - 0
+        - 1
         - UNBOUNDED
-      disk.read.bytes_ps_server_1b:
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
         type: org.openecomp.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_ps_server_1b_ps_server_b_port:
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -4175,11 +4174,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      attachment_ps_server_1b_ps_server_b_port:
-        type: tosca.capabilities.Attachment
-        occurrences:
-        - 1
-        - UNBOUNDED
       disk.iops_ps_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -4198,13 +4192,7 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outgoing.packets.rate_ps_server_1b_ps_server_b_port:
-        type: org.openecomp.capabilities.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_ps_server_1b_ps_server_b_port:
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -4227,19 +4215,24 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      vcpus_ps_server_1b:
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
         type: org.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_ps_server_1b:
+      feature_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_ps_server_1b:
         type: org.openecomp.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_ps_server_1b_ps_server_b_port:
+      cpu.delta_ps_server_1b:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -4251,6 +4244,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      binding_ps_server_1b_ps_server_1b_port:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
   org.openecomp.resource.abstract.nodes.cmaui_1c1:
     derived_from: org.openecomp.resource.abstract.nodes.VFC
     properties:
index 81488c7..1dbe52f 100644 (file)
@@ -16,9 +16,6 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_pd_server_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -29,37 +26,34 @@ topology_template:
     vm_flavor_name:
       type: string
       required: true
-    port_pd_server_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    port_pd_server_b_port_fixed_ips:
+    port_pd_server_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-    port_pd_server_b_port_subnetpoolid:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd_server_1b_port_network_role_tag:
       type: string
       required: true
     vm_image_name:
       type: string
       required: true
-    port_pd_server_b_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd_server_b_port_network:
+    port_pd_server_1b_port_replacement_policy:
       type: list
       required: true
       entry_schema:
         type: string
-    port_pd_server_b_port_network_role_tag:
-      type: string
+    port_pd_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
       required: true
-    port_pd_server_b_port_network_role:
+    port_pd_server_1b_port_network_role:
       type: string
       required: true
-    port_pd_server_b_port_replacement_policy:
+    port_pd_server_1b_port_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
+    port_pd_server_1b_port_network:
       type: list
       required: true
       entry_schema:
@@ -69,14 +63,20 @@ topology_template:
       required: true
       entry_schema:
         type: string
-    port_pd_server_b_port_order:
+    port_pd_server_1b_port_order:
       type: integer
       required: true
-    port_pd_server_b_port_vlan_requirements:
+    port_pd_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_server_1b_port_ip_requirements:
       type: list
       required: true
       entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_server_1b_port_subnetpoolid:
+      type: string
+      required: true
   node_templates:
     pd_server_1b:
       type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server_1b
@@ -93,34 +93,34 @@ topology_template:
           get_input:
           - compute_pd_server_1b_name
           - index_value
-    pd_server_1b_pd_server_b_port:
+    pd_server_1b_pd_server_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_pd_server_b_port_exCP_naming
+          get_input: port_pd_server_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_pd_server_b_port_replacement_policy
+          - port_pd_server_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_pd_server_b_port_vlan_requirements
+          get_input: port_pd_server_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_pd_server_b_port_ip_requirements
+          get_input: port_pd_server_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_pd_server_b_port_network_role_tag
+          get_input: port_pd_server_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_pd_server_b_port_mac_requirements
+          get_input: port_pd_server_1b_port_mac_requirements
         order:
-          get_input: port_pd_server_b_port_order
+          get_input: port_pd_server_1b_port_order
         network_role:
-          get_input: port_pd_server_b_port_network_role
+          get_input: port_pd_server_1b_port_network_role
         subnetpoolid:
-          get_input: port_pd_server_b_port_subnetpoolid
+          get_input: port_pd_server_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_pd_server_b_port_fixed_ips
+          get_input: port_pd_server_1b_port_fixed_ips
         network:
           get_input:
-          - port_pd_server_b_port_network
+          - port_pd_server_1b_port_network
           - index_value
       requirements:
       - binding:
@@ -133,30 +133,27 @@ topology_template:
       disk.device.read.bytes_pd_server_1b:
       - pd_server_1b
       - disk.device.read.bytes
+      feature_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - feature
       host_pd_server_1b:
       - pd_server_1b
       - host
       disk.read.bytes.rate_pd_server_1b:
       - pd_server_1b
       - disk.read.bytes.rate
-      feature_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - feature
       disk.allocation_pd_server_1b:
       - pd_server_1b
       - disk.allocation
-      network.incoming.bytes_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.incoming.bytes
-      network.outgoing.bytes.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outgoing.bytes.rate
-      binding_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - binding
+      network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes.rate
       cpu.delta_pd_server_1b:
       - pd_server_1b
       - cpu.delta
+      network.incoming.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.bytes
       disk.device.read.requests_pd_server_1b:
       - pd_server_1b
       - disk.device.read.requests
@@ -166,6 +163,9 @@ topology_template:
       disk.device.iops_pd_server_1b:
       - pd_server_1b
       - disk.device.iops
+      binding_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - binding
       cpu_pd_server_1b:
       - pd_server_1b
       - cpu
@@ -184,9 +184,9 @@ topology_template:
       memory.usage_pd_server_1b:
       - pd_server_1b
       - memory.usage
-      attachment_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - attachment
+      network.outpoing.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outpoing.packets
       memory_pd_server_1b:
       - pd_server_1b
       - memory
@@ -202,18 +202,21 @@ topology_template:
       disk.device.usage_pd_server_1b:
       - pd_server_1b
       - disk.device.usage
+      attachment_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - attachment
       disk.device.write.requests_pd_server_1b:
       - pd_server_1b
       - disk.device.write.requests
-      network.incoming.bytes.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.incoming.bytes.rate
       disk.latency_pd_server_1b:
       - pd_server_1b
       - disk.latency
       disk.ephemeral.size_pd_server_1b:
       - pd_server_1b
       - disk.ephemeral.size
+      network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes.rate
       scalable_pd_server_1b:
       - pd_server_1b
       - scalable
@@ -229,9 +232,6 @@ topology_template:
       disk.iops_pd_server_1b:
       - pd_server_1b
       - disk.iops
-      network.incoming.packets.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.incoming.packets.rate
       disk.write.bytes_pd_server_1b:
       - pd_server_1b
       - disk.write.bytes
@@ -244,6 +244,9 @@ topology_template:
       vcpus_pd_server_1b:
       - pd_server_1b
       - vcpus
+      network.incoming.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.incoming.packets.rate
       instance_pd_server_1b:
       - pd_server_1b
       - instance
@@ -253,15 +256,15 @@ topology_template:
       cpu_util_pd_server_1b:
       - pd_server_1b
       - cpu_util
+      network.outgoing.bytes_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.bytes
       memory.resident_pd_server_1b:
       - pd_server_1b
       - memory.resident
-      network.incoming.packets_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
+      network.incoming.packets_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
       - network.incoming.packets
-      network.outgoing.packets.rate_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outgoing.packets.rate
       disk.device.write.requests.rate_pd_server_1b:
       - pd_server_1b
       - disk.device.write.requests.rate
@@ -271,18 +274,15 @@ topology_template:
       disk.read.requests_pd_server_1b:
       - pd_server_1b
       - disk.read.requests
-      network.outpoing.packets_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outpoing.packets
+      network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
+      - network.outgoing.packets.rate
       disk.capacity_pd_server_1b:
       - pd_server_1b
       - disk.capacity
       disk.usage_pd_server_1b:
       - pd_server_1b
       - disk.usage
-      network.outgoing.bytes_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
-      - network.outgoing.bytes
       disk.write.requests.rate_pd_server_1b:
       - pd_server_1b
       - disk.write.requests.rate
@@ -293,9 +293,9 @@ topology_template:
       local_storage_pd_server_1b:
       - pd_server_1b
       - local_storage
-      link_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
+      link_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
       - link
-      dependency_pd_server_1b_pd_server_b_port:
-      - pd_server_1b_pd_server_b_port
+      dependency_pd_server_1b_pd_server_1b_port:
+      - pd_server_1b_pd_server_1b_port
       - dependency
index 6d0f966..c97cb23 100644 (file)
@@ -11,21 +11,22 @@ node_types:
     derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
 topology_template:
   inputs:
-    port_ps_server_b_port_vlan_requirements:
+    port_ps_server_1b_port_vlan_requirements:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.VlanRequirements
-    port_ps_server_b_port_ip_requirements:
-      type: list
+    port_ps_server_1b_port_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_ps_server_b_port_replacement_policy:
+    port_ps_server_1b_port_network_role_tag:
+      type: string
+      required: true
+    port_ps_server_1b_port_fixed_ips:
       type: list
       required: true
       entry_schema:
-        type: string
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     index_value:
       type: integer
       description: Index value of this substitution service template runtime instance
@@ -33,40 +34,39 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_ps_server_b_port_network_role:
-      type: string
-      required: true
-    port_ps_server_b_port_fixed_ips:
-      type: list
+    port_ps_server_1b_port_order:
+      type: integer
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     vm_flavor_name:
       type: string
       required: true
-    port_ps_server_b_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
+    port_ps_server_1b_port_network:
+      type: list
       required: true
-    port_ps_server_b_port_subnetpoolid:
-      type: string
+      entry_schema:
+        type: string
+    port_ps_server_1b_port_exCP_naming:
+      type: org.openecomp.datatypes.Naming
       required: true
-    port_ps_server_b_port_order:
-      type: integer
+    port_ps_server_1b_port_ip_requirements:
+      type: list
       required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
     vm_image_name:
       type: string
       required: true
-    port_ps_server_b_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    port_ps_server_b_port_network_role_tag:
+    port_ps_server_1b_port_network_role:
       type: string
       required: true
-    port_ps_server_b_port_network:
+    port_ps_server_1b_port_replacement_policy:
       type: list
       required: true
       entry_schema:
         type: string
+    port_ps_server_1b_port_subnetpoolid:
+      type: string
+      required: true
     compute_ps_server_1b_availability_zone:
       type: list
       required: true
@@ -93,34 +93,34 @@ topology_template:
           get_input:
           - compute_ps_server_1b_name
           - index_value
-    ps_server_1b_ps_server_b_port:
+    ps_server_1b_ps_server_1b_port:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_ps_server_b_port_exCP_naming
+          get_input: port_ps_server_1b_port_exCP_naming
         replacement_policy:
           get_input:
-          - port_ps_server_b_port_replacement_policy
+          - port_ps_server_1b_port_replacement_policy
           - index_value
         vlan_requirements:
-          get_input: port_ps_server_b_port_vlan_requirements
+          get_input: port_ps_server_1b_port_vlan_requirements
         ip_requirements:
-          get_input: port_ps_server_b_port_ip_requirements
+          get_input: port_ps_server_1b_port_ip_requirements
         network_role_tag:
-          get_input: port_ps_server_b_port_network_role_tag
+          get_input: port_ps_server_1b_port_network_role_tag
         mac_requirements:
-          get_input: port_ps_server_b_port_mac_requirements
+          get_input: port_ps_server_1b_port_mac_requirements
         order:
-          get_input: port_ps_server_b_port_order
+          get_input: port_ps_server_1b_port_order
         network_role:
-          get_input: port_ps_server_b_port_network_role
+          get_input: port_ps_server_1b_port_network_role
         subnetpoolid:
-          get_input: port_ps_server_b_port_subnetpoolid
+          get_input: port_ps_server_1b_port_subnetpoolid
         fixed_ips:
-          get_input: port_ps_server_b_port_fixed_ips
+          get_input: port_ps_server_1b_port_fixed_ips
         network:
           get_input:
-          - port_ps_server_b_port_network
+          - port_ps_server_1b_port_network
           - index_value
       requirements:
       - binding:
@@ -157,12 +157,15 @@ topology_template:
       disk.device.iops_ps_server_1b:
       - ps_server_1b
       - disk.device.iops
+      attachment_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - attachment
+      network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.packets.rate
       disk.device.capacity_ps_server_1b:
       - ps_server_1b
       - disk.device.capacity
-      network.incoming.packets.rate_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.incoming.packets.rate
       instance_ps_server_1b:
       - ps_server_1b
       - instance
@@ -178,9 +181,6 @@ topology_template:
       disk.device.read.requests_ps_server_1b:
       - ps_server_1b
       - disk.device.read.requests
-      network.incoming.bytes.rate_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.incoming.bytes.rate
       host_ps_server_1b:
       - ps_server_1b
       - host
@@ -196,6 +196,9 @@ topology_template:
       disk.capacity_ps_server_1b:
       - ps_server_1b
       - disk.capacity
+      network.incoming.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes
       disk.write.requests.rate_ps_server_1b:
       - ps_server_1b
       - disk.write.requests.rate
@@ -208,18 +211,9 @@ topology_template:
       disk.root.size_ps_server_1b:
       - ps_server_1b
       - disk.root.size
-      feature_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - feature
       binding_ps_server_1b:
       - ps_server_1b
       - binding
-      network.incoming.bytes_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.incoming.bytes
-      network.outgoing.bytes.rate_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.outgoing.bytes.rate
       memory.resident_ps_server_1b:
       - ps_server_1b
       - memory.resident
@@ -232,24 +226,27 @@ topology_template:
       disk.device.write.bytes.rate_ps_server_1b:
       - ps_server_1b
       - disk.device.write.bytes.rate
-      binding_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - binding
       disk.read.bytes_ps_server_1b:
       - ps_server_1b
       - disk.read.bytes
-      network.outgoing.bytes_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
+      network.incoming.packets.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets.rate
+      network.outgoing.bytes_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
       - network.outgoing.bytes
+      network.incoming.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.packets
+      network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outgoing.bytes.rate
       feature_ps_server_1b:
       - ps_server_1b
       - feature
       os_ps_server_1b:
       - ps_server_1b
       - os
-      attachment_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - attachment
       disk.iops_ps_server_1b:
       - ps_server_1b
       - disk.iops
@@ -259,12 +256,9 @@ topology_template:
       disk.write.requests_ps_server_1b:
       - ps_server_1b
       - disk.write.requests
-      network.outgoing.packets.rate_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.outgoing.packets.rate
-      network.incoming.packets_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.incoming.packets
+      network.outpoing.packets_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.outpoing.packets
       memory.usage_ps_server_1b:
       - ps_server_1b
       - memory.usage
@@ -274,27 +268,33 @@ topology_template:
       endpoint_ps_server_1b:
       - ps_server_1b
       - endpoint
+      network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - network.incoming.bytes.rate
+      feature_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - feature
       vcpus_ps_server_1b:
       - ps_server_1b
       - vcpus
       cpu.delta_ps_server_1b:
       - ps_server_1b
       - cpu.delta
-      network.outpoing.packets_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
-      - network.outpoing.packets
       disk.ephemeral.size_ps_server_1b:
       - ps_server_1b
       - disk.ephemeral.size
+      binding_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
+      - binding
     requirements:
       local_storage_ps_server_1b:
       - ps_server_1b
       - local_storage
-      dependency_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
+      dependency_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
       - dependency
-      link_ps_server_1b_ps_server_b_port:
-      - ps_server_1b_ps_server_b_port
+      link_ps_server_1b_ps_server_1b_port:
+      - ps_server_1b_ps_server_1b_port
       - link
       dependency_ps_server_1b:
       - ps_server_1b
index cb7fdc3..a3bf3f9 100644 (file)
@@ -185,28 +185,28 @@ topology_template:
           - 0
         vm_flavor_name:
           get_input: pd_server_1b_flavor
-        port_pd_server_b_port_mac_requirements:
+        vm_image_name:
+          get_input: pd_server_1b_image
+        port_pd_server_1b_port_replacement_policy:
+        - AUTO
+        port_pd_server_1b_port_mac_requirements:
           mac_count_required:
             is_required: false
-        port_pd_server_b_port_fixed_ips:
+        port_pd_server_1b_port_fixed_ips:
         - ip_address:
             get_input:
             - pd_server_1b_ips
             - 0
-        vm_image_name:
-          get_input: pd_server_1b_image
-        port_pd_server_b_port_ip_requirements:
+        port_pd_server_1b_port_network:
+        - get_input: net
+        compute_pd_server_1b_availability_zone:
+        - get_input: availability_zone_0
+        port_pd_server_1b_port_ip_requirements:
         - ip_version: 4
           ip_count_required:
             is_required: true
           floating_ip_count_required:
             is_required: false
-        port_pd_server_b_port_network:
-        - get_input: net
-        port_pd_server_b_port_replacement_policy:
-        - AUTO
-        compute_pd_server_1b_availability_zone:
-        - get_input: availability_zone_0
         service_template_filter:
           substitute_service_template: Nested_pd_server_1bServiceTemplate.yaml
           count: 1
@@ -220,28 +220,28 @@ topology_template:
       directives:
       - substitutable
       properties:
-        port_ps_server_b_port_ip_requirements:
-        - ip_version: 4
-          ip_count_required:
-            is_required: true
-          floating_ip_count_required:
+        port_ps_server_1b_port_mac_requirements:
+          mac_count_required:
             is_required: false
-        port_ps_server_b_port_replacement_policy:
-        - AUTO
-        port_ps_server_b_port_fixed_ips:
+        port_ps_server_1b_port_fixed_ips:
         - ip_address:
             get_input:
             - ps_server_1b_ips
             - 0
         vm_flavor_name:
           get_input: ps_server_1b_flavor
-        port_ps_server_b_port_mac_requirements:
-          mac_count_required:
+        port_ps_server_1b_port_network:
+        - get_input: net
+        port_ps_server_1b_port_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: true
+          floating_ip_count_required:
             is_required: false
         vm_image_name:
           get_input: ps_server_1b_image
-        port_ps_server_b_port_network:
-        - get_input: net
+        port_ps_server_1b_port_replacement_policy:
+        - AUTO
         compute_ps_server_1b_availability_zone:
         - get_input: availability_zone_0
         compute_ps_server_1b_name:
@@ -420,7 +420,7 @@ topology_template:
       - disk.usage_oam_server_1c2
       network.incoming.bytes_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.bytes_pd_server_1b_pd_server_b_port
+      - network.incoming.bytes_pd_server_1b_pd_server_1b_port
       feature_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - feature_cmaui_1c1
@@ -450,10 +450,10 @@ topology_template:
       - disk.device.iops_pd_server_1b
       network.incoming.packets_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.packets_pd_server_1b_pd_server_b_port
+      - network.incoming.packets_pd_server_1b_pd_server_1b_port
       attachment_ps_server_1b_port:
       - abstract_ps_server_1b
-      - attachment_ps_server_1b_ps_server_b_port
+      - attachment_ps_server_1b_ps_server_1b_port
       disk.device.write.requests.rate_server_1c2_oam_1:
       - abstract_oam_server_1c2_0
       - disk.device.write.requests.rate_oam_server_1c2
@@ -612,7 +612,7 @@ topology_template:
       - feature_cmaui_1c1_cmaui_port
       network.incoming.bytes.rate_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.bytes.rate_pd_server_1b_pd_server_b_port
+      - network.incoming.bytes.rate_pd_server_1b_pd_server_1b_port
       network.outgoing.bytes_oam_port_2:
       - abstract_oam_server_1c2_1
       - network.outgoing.bytes_oam_server_1c2_oam_port
@@ -678,7 +678,7 @@ topology_template:
       - endpoint_cmaui_1c1
       network.outgoing.packets.rate_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.outgoing.packets.rate_ps_server_1b_ps_server_b_port
+      - network.outgoing.packets.rate_ps_server_1b_ps_server_1b_port
       endpoint_server_1c1_cmaui_1:
       - abstract_cmaui_1c1
       - endpoint_cmaui_1c1
@@ -693,16 +693,16 @@ topology_template:
       - disk.device.usage_cmaui_1c1
       network.incoming.bytes_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.incoming.bytes_ps_server_1b_ps_server_b_port
+      - network.incoming.bytes_ps_server_1b_ps_server_1b_port
       attachment_pd_server_1b_port:
       - abstract_pd_server_1b
-      - attachment_pd_server_1b_pd_server_b_port
+      - attachment_pd_server_1b_pd_server_1b_port
       vcpus_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - vcpus_cmaui_1c1
       binding_ps_server_1b_port:
       - abstract_ps_server_1b
-      - binding_ps_server_1b_ps_server_b_port
+      - binding_ps_server_1b_ps_server_1b_port
       disk.device.write.bytes.rate_server_1b_ps:
       - abstract_ps_server_1b
       - disk.device.write.bytes.rate_ps_server_1b
@@ -747,7 +747,7 @@ topology_template:
       - disk.device.read.requests_ps_server_1b
       binding_pd_server_1b_port:
       - abstract_pd_server_1b
-      - binding_pd_server_1b_pd_server_b_port
+      - binding_pd_server_1b_pd_server_1b_port
       disk.read.bytes_server_1c2_oam_1:
       - abstract_oam_server_1c2_0
       - disk.read.bytes_oam_server_1c2
@@ -813,7 +813,7 @@ topology_template:
       - memory.usage_oam_server_1c2
       network.outpoing.packets_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.outpoing.packets_ps_server_1b_ps_server_b_port
+      - network.outpoing.packets_ps_server_1b_ps_server_1b_port
       memory.usage_server_1c2_oam_1:
       - abstract_oam_server_1c2_0
       - memory.usage_oam_server_1c2
@@ -843,7 +843,7 @@ topology_template:
       - memory.resident_cmaui_1c1
       network.incoming.bytes.rate_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.incoming.bytes.rate_ps_server_1b_ps_server_b_port
+      - network.incoming.bytes.rate_ps_server_1b_ps_server_1b_port
       network.incoming.bytes.rate_oam_port_1:
       - abstract_oam_server_1c2_0
       - network.incoming.bytes.rate_oam_server_1c2_oam_port
@@ -885,7 +885,7 @@ topology_template:
       - binding_cmaui_1c1
       feature_ps_server_1b_port:
       - abstract_ps_server_1b
-      - feature_ps_server_1b_ps_server_b_port
+      - feature_ps_server_1b_ps_server_1b_port
       disk.device.iops_server_1c2_oam_2:
       - abstract_oam_server_1c2_1
       - disk.device.iops_oam_server_1c2
@@ -912,7 +912,7 @@ topology_template:
       - attachment
       network.outgoing.packets.rate_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.outgoing.packets.rate_pd_server_1b_pd_server_b_port
+      - network.outgoing.packets.rate_pd_server_1b_pd_server_1b_port
       memory_server_1c1_cmaui_1:
       - abstract_cmaui_1c1
       - memory_cmaui_1c1
@@ -981,10 +981,10 @@ topology_template:
       - network.incoming.packets_cmaui_1c1_cmaui_port
       network.outgoing.bytes.rate_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.outgoing.bytes.rate_ps_server_1b_ps_server_b_port
+      - network.outgoing.bytes.rate_ps_server_1b_ps_server_1b_port
       network.incoming.packets.rate_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.incoming.packets.rate_ps_server_1b_ps_server_b_port
+      - network.incoming.packets.rate_ps_server_1b_ps_server_1b_port
       disk.device.write.requests.rate_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - disk.device.write.requests.rate_cmaui_1c1
@@ -1047,7 +1047,7 @@ topology_template:
       - end_point
       network.outpoing.packets_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.outpoing.packets_pd_server_1b_pd_server_b_port
+      - network.outpoing.packets_pd_server_1b_pd_server_1b_port
       feature_server_1b_pd:
       - abstract_pd_server_1b
       - feature_pd_server_1b
@@ -1074,7 +1074,7 @@ topology_template:
       - disk.device.allocation_oam_server_1c2
       network.outgoing.bytes_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.outgoing.bytes_pd_server_1b_pd_server_b_port
+      - network.outgoing.bytes_pd_server_1b_pd_server_1b_port
       disk.write.bytes_server_1b_pd:
       - abstract_pd_server_1b
       - disk.write.bytes_pd_server_1b
@@ -1212,13 +1212,13 @@ topology_template:
       - disk.device.read.requests.rate_cmaui_1c1
       network.incoming.packets_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.incoming.packets_ps_server_1b_ps_server_b_port
+      - network.incoming.packets_ps_server_1b_ps_server_1b_port
       disk.write.requests_server_1b_ps:
       - abstract_ps_server_1b
       - disk.write.requests_ps_server_1b
       feature_pd_server_1b_port:
       - abstract_pd_server_1b
-      - feature_pd_server_1b_pd_server_b_port
+      - feature_pd_server_1b_pd_server_1b_port
       disk.latency_server_1c1_cmaui_1:
       - abstract_cmaui_1c1
       - disk.latency_cmaui_1c1
@@ -1251,7 +1251,7 @@ topology_template:
       - disk.write.bytes_cmaui_1c1
       network.outgoing.bytes.rate_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.outgoing.bytes.rate_pd_server_1b_pd_server_b_port
+      - network.outgoing.bytes.rate_pd_server_1b_pd_server_1b_port
       disk.write.bytes_server_1c1_cmaui_2:
       - abstract_cmaui_1c1
       - disk.write.bytes_cmaui_1c1
@@ -1263,7 +1263,7 @@ topology_template:
       - feature_oam_server_1c2_oam_port
       network.incoming.packets.rate_pd_server_1b_port:
       - abstract_pd_server_1b
-      - network.incoming.packets.rate_pd_server_1b_pd_server_b_port
+      - network.incoming.packets.rate_pd_server_1b_pd_server_1b_port
       disk.device.latency_server_1c1_cmaui_1:
       - abstract_cmaui_1c1
       - disk.device.latency_cmaui_1c1
@@ -1305,7 +1305,7 @@ topology_template:
       - network.incoming.bytes.rate_cmaui_1c1_cmaui_port
       network.outgoing.bytes_ps_server_1b_port:
       - abstract_ps_server_1b
-      - network.outgoing.bytes_ps_server_1b_ps_server_b_port
+      - network.outgoing.bytes_ps_server_1b_ps_server_1b_port
       network.incoming.bytes.rate_cmaui_port_2:
       - abstract_cmaui_1c1
       - network.incoming.bytes.rate_cmaui_1c1_cmaui_port
@@ -1348,7 +1348,7 @@ topology_template:
       - dependency_pd_server_1b
       link_pd_server_1b_port:
       - abstract_pd_server_1b
-      - link_pd_server_1b_pd_server_b_port
+      - link_pd_server_1b_pd_server_1b_port
       local_storage_server_1b_ps:
       - abstract_ps_server_1b
       - local_storage_ps_server_1b
@@ -1366,13 +1366,13 @@ topology_template:
       - dependency_cmaui_1c1
       link_ps_server_1b_port:
       - abstract_ps_server_1b
-      - link_ps_server_1b_ps_server_b_port
+      - link_ps_server_1b_ps_server_1b_port
       local_storage_server_1b_pd:
       - abstract_pd_server_1b
       - local_storage_pd_server_1b
       dependency_ps_server_1b_port:
       - abstract_ps_server_1b
-      - dependency_ps_server_1b_ps_server_b_port
+      - dependency_ps_server_1b_ps_server_1b_port
       dependency_server_1b_ps:
       - abstract_ps_server_1b
       - dependency_ps_server_1b
@@ -1390,7 +1390,7 @@ topology_template:
       - local_storage_oam_server_1c2
       dependency_pd_server_1b_port:
       - abstract_pd_server_1b
-      - dependency_pd_server_1b_pd_server_b_port
+      - dependency_pd_server_1b_pd_server_1b_port
       dependency_cmaui_port_1:
       - abstract_cmaui_1c1
       - dependency_cmaui_1c1_cmaui_port
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..40c2b4c
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "hot-mog",
+  "description": "HOT template to create hot mog server",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "hot-mog-0108-bs1271.yml",
+      "type": "HEAT",
+      "data": [
+        {
+          "file": "hot-mog-0108-bs1271.env",
+          "type": "HEAT_ENV"
+        }
+      ]
+    }
+  ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/in/hot-mog-0108-bs1271.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/in/hot-mog-0108-bs1271.env
new file mode 100644 (file)
index 0000000..a02e4b6
--- /dev/null
@@ -0,0 +1,55 @@
+parameters:
+  pd_server_names: ZRDM1MOGX01MPD001,ZRDM1MOGX01MPD002
+  pd_image_name: MOG_BASE_8.0
+  pd_flavor_name: m3.xlarge
+  oam_server_names: ZRDM1MOGX01OAM001,ZRDM1MOGX01OAM002
+  oam_image_name: MOG_BASE_8.0
+  oam_flavor_name: m3.xlarge
+  sm_server_names: ZRDM1MOGX01MSM001,ZRDM1MOGX01MSM002
+  sm_image_name: MOG_BASE_8.0
+  sm_flavor_name: m2.xlarge4
+  ps_server_names: ZRDM1MOGX01MPS001,ZRDM1MOGX01MPS002,ZRDM1MOGX01MPS003,ZRDM1MOGX01MPS004
+  ps_image_name: MOG_BASE_8.0
+  ps_flavor_name: m3.xlarge
+  cm_server_names: ZRDM1MOGX01MCM001
+  cm_image_name: MOG_BASE_8.0
+  cm_flavor_name: m3.xlarge
+  availabilityzone_name: nova
+  oam_net_name: oam_protected_net_0
+  oam_net_ips: 107.250.172.213,107.250.172.214,107.250.172.215,107.250.172.216,107.250.172.217
+  #internet_net_name: dmz_protected_net_0
+  #internet_net_ips: 107.239.53.4,107.239.53.5
+ # internet_net_floating_ip: 107.239.53.6
+  sl_net_name: exn_protected_net_0
+  sl_net_ips: 107.239.45.4,107.239.45.5
+  sl_net_floating_ip: 107.239.45.6
+  repl_net_name: cor_direct_net_0
+  repl_net_ips: 107.239.33.57,107.239.33.58
+  rx_net_name: cor_direct_net_1
+  rx_net_ips: 107.239.34.3,107.239.34.4
+  rx_net_floating_ip: 107.239.34.5
+  ran_net_name: gn_direct_net_0
+  ran_net_ips: 107.239.36.3,107.239.36.4
+  ran_net_floating_ip: 107.239.36.5
+  dummy_net_name_0: mog_dummy_0
+  dummy_net_start_0: 169.254.1.4
+  dummy_net_end_0: 169.254.1.254
+  dummy_net_cidr_0: 169.254.1.0/24
+  dummy_net_netmask_0: 255.255.255.0
+  dummy_net_name_1: mog_dummy_1
+  dummy_net_start_1: 169.254.2.4
+  dummy_net_end_1: 169.254.2.254
+  dummy_net_cidr_1: 169.254.2.0/24
+  dummy_net_netmask_1: 255.255.255.0
+  csb_net_name: int_mog_csb_net
+  csb_net_ips: 172.26.0.10,172.26.0.11,172.26.0.12,172.26.0.13,172.26.0.14,172.26.0.15,172.26.0.16,172.26.0.17,172.26.0.18,172.26.0.19,172.26.0.20
+  csb_net_start: 172.26.0.1
+  csb_net_end: 172.26.0.254
+  csb_net_cidr: 172.26.0.0/24
+  csb_net_netmask: 255.255.255.0
+  security_group_name: mog_security_group
+  cluster-manager-vol-1: 43ccf5ba-2d50-427b-a38f-e8c7d8670eee
+  session-manager-vol-1: 49201898-333d-4c88-b58d-cf573b091633
+  session-manager-vol-2: 4c35b5f1-ce99-4220-a6e2-cda6e2d713a0
+  oam-vol-1: 0a7fcd9e-2624-401d-ac21-b0191f85ec77
+  oam-vol-2: 6d169cb6-6ddc-41dc-920c-2839898a2924
\ 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/singleSubstitution/computewithtwosameporttypes2/in/hot-mog-0108-bs1271.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/in/hot-mog-0108-bs1271.yml
new file mode 100644 (file)
index 0000000..c4bd170
--- /dev/null
@@ -0,0 +1,230 @@
+heat_template_version: 2013-05-23
+
+description: heat template that creates MOG stack
+
+parameters:
+  pd_server_names:
+    type: comma_delimited_list
+    label: PD server names
+    description: name of the PD instance
+  pd_image_name:
+    type: string
+    label: image name
+    description: PD image name
+  pd_flavor_name:
+    type: string
+    label: PD flavor name
+    description: flavor name of PD instance
+  oam_server_names:
+    type: comma_delimited_list
+    label: OAM server names
+    description: name of the OAM instance
+  oam_image_name:
+    type: string
+    label: image name
+    description: OAM image name
+  oam_flavor_name:
+    type: string
+    label: OAM flavor name
+    description: flavor name of OAM instance
+  sm_server_names:
+    type: comma_delimited_list
+    label: SM server names
+    description: name of the SM instance
+  sm_image_name:
+    type: string
+    label: image name
+    description: SM image name
+  sm_flavor_name:
+    type: string
+    label: SM flavor name
+    description: flavor name of SM instance
+  ps_server_names:
+    type: comma_delimited_list
+    label: PS server names
+    description: name of the PS instance
+  ps_image_name:
+    type: string
+    label: PS image name
+    description: PS image name
+  ps_flavor_name:
+    type: string
+    label: PS flavor name
+    description: flavor name of PS instance
+  cm_server_names:
+    type: comma_delimited_list
+    label: CM server names
+    description: name of the CM instance
+  cm_image_name:
+    type: string
+    label: image name
+    description: CM image name
+  cm_flavor_name:
+    type: string
+    label: CM flavor name
+    description: flavor name of CM instance
+  availabilityzone_name:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  oam_net_name:
+    type: string
+    label: oam network name
+    description: name of the oam network
+  oam_net_ips:
+    type: comma_delimited_list
+    label: internet network ips
+    description: ip of the OAM network
+  sl_net_name:
+    type: string
+    label: silver lining network name
+    description: id of the sl network
+  sl_net_ips:
+    type: comma_delimited_list
+    label: silver lining network ips
+    description: ips of the sl network
+  sl_net_floating_ip:
+    type: string
+    label: mog sl net virtual ip
+    description: mog sl net virtual ip
+  repl_net_name:
+    type: string
+    label: Replication network name
+    description: name of the replication network
+  repl_net_ips:
+    type: comma_delimited_list
+    label: repl network ips
+    description: ips of repl network
+  rx_net_name:
+    type: string
+    label: Rx network name
+    description: Rx network name
+  rx_net_ips:
+    type: comma_delimited_list
+    label: Rx network ips
+    description: Rx network ips
+  rx_net_floating_ip:
+    type: string
+    label: mog rx net virtual ip
+    description: mog rx net virtual ip
+  ran_net_name:
+    type: string
+    label: RAN network name
+    description: RAN network name
+  ran_net_ips:
+    type: comma_delimited_list
+    label: RAN network ips
+    description: RAN network ip
+  ran_net_floating_ip:
+    type: string
+    label: mog ran net virtual ip
+    description: mog ran net virtual ip
+  csb_net_name:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  csb_net_start:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  csb_net_end:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  csb_net_cidr:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  csb_net_netmask:
+    type: string
+    description: CSB internal network subnet mask
+  csb_net_ips:
+    type: comma_delimited_list
+    description: mog_csb_net IP addresses
+  dummy_net_name_0:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  dummy_net_start_0:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  dummy_net_end_0:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  dummy_net_cidr_0:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  dummy_net_netmask_0:
+    type: string
+    description: CSB internal network subnet mask
+  dummy_net_name_1:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  dummy_net_start_1:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  dummy_net_end_1:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  dummy_net_cidr_1:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  dummy_net_netmask_1:
+    type: string
+    description: CSB internal network subnet mask
+
+  security_group_name:
+    type: string
+    label: security group name
+    description: the name of security group
+  cluster-manager-vol-1:
+    type: string
+    label: mog-cm-vol-1
+    description: Cluster Manager volume 1
+  session-manager-vol-1:
+    type: string
+    label: mog-sm-vol-1
+    description: Session Manager volume 1
+  session-manager-vol-2:
+    type: string
+    label: mog-sm-vol-2
+    description: Session Manager volume 2
+  oam-vol-1:
+    type: string
+    label: mog-oam-vol-1
+    description: OAM volume 1
+  oam-vol-2:
+    type: string
+    label: mog-oam-vol-2
+    description: OAM volume 2
+
+resources:
+  server_pd_01:
+    type: OS::Nova::Server
+    properties:
+#      config_drive: "True"
+      name: {get_param: [pd_server_names, 0]}
+      image: {get_param: pd_image_name}
+      flavor: {get_param: pd_flavor_name}
+      availability_zone: {get_param: availabilityzone_name}
+      networks:
+        - port: {get_resource: pd_1_port_0}
+        - port: {get_resource: pd_2_port_1}
+      user_data_format:  RAW
+
+  pd_1_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: oam_net_name}
+  pd_2_port_1:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: oam_net_name}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..20df35a
--- /dev/null
@@ -0,0 +1,542 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.pd_server:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_pd_1_port_0_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_1_port_0_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd_1_port_0_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_pd_2_port_1_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      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_2_port_1_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_2_port_1_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_2_port_1_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_2_port_1_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_2_port_1_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_1_port_0_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_1_port_0_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_1_port_0_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_1_port_0_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_1_port_0_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_1_port_0_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_2_port_1_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_2_port_1_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd_2_port_1_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      compute_pd_server_user_data_format:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - dependency_pd_server:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_pd_2_port_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_pd_2_port_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_pd_1_port_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_pd_1_port_0:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      network.incoming.packets_pd_server_pd_2_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
+      scalable_pd_server:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_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_pd_server_pd_1_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_pd_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_pd_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_pd_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_pd_server_pd_2_port_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_pd_1_port_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      os_pd_server:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_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_pd_server_pd_1_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_pd_server_pd_2_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_pd_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_pd_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_pd_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_pd_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_pd_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_pd_server_pd_1_port_0:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.iops_pd_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_pd_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_pd_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.rate_pd_server_pd_2_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_pd_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_pd_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_pd_server_pd_2_port_1:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests_pd_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_pd_server:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_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_pd_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.allocation_pd_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_pd_server:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_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_pd_server_pd_1_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_pd_server_pd_2_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_pd_1_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.rate_pd_server_pd_2_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_pd_server:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.incoming.packets.rate_pd_server_pd_1_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.usage_pd_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_pd_server_pd_1_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_pd_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_pd_server_pd_2_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_pd_2_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_pd_1_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_pd_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.root.size_pd_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_pd_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_pd_server_pd_2_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_pd_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_pd_server_pd_2_port_1:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.requests_pd_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
+      instance_pd_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
+      host_pd_server:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      network.outgoing.bytes.rate_pd_server_pd_1_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.rate_pd_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_pd_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_pd_server_pd_1_port_0:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests_pd_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.latency_pd_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_pd_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_pd_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_pd_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
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..229c8d9
--- /dev/null
@@ -0,0 +1,470 @@
+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:
+    pd_flavor_name:
+      label: PD flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of PD instance
+      default: m3.xlarge
+    availabilityzone_name:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+      default: nova
+    repl_net_ips:
+      label: repl network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: ips of repl network
+      default:
+      - 107.239.33.57
+      - 107.239.33.58
+      entry_schema:
+        type: string
+    sl_net_name:
+      label: silver lining network name
+      hidden: false
+      immutable: false
+      type: string
+      description: id of the sl network
+      default: exn_protected_net_0
+    pd_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: PD image name
+      default: MOG_BASE_8.0
+    pd_server_names:
+      label: PD server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the PD instance
+      default:
+      - ZRDM1MOGX01MPD001
+      - ZRDM1MOGX01MPD002
+      entry_schema:
+        type: string
+    sm_server_names:
+      label: SM server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the SM instance
+      default:
+      - ZRDM1MOGX01MSM001
+      - ZRDM1MOGX01MSM002
+      entry_schema:
+        type: string
+    dummy_net_netmask_1:
+      hidden: false
+      immutable: false
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    dummy_net_netmask_0:
+      hidden: false
+      immutable: false
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    ran_net_floating_ip:
+      label: mog ran net virtual ip
+      hidden: false
+      immutable: false
+      type: string
+      description: mog ran net virtual ip
+      default: 107.239.36.5
+    ran_net_ips:
+      label: RAN network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: RAN network ip
+      default:
+      - 107.239.36.3
+      - 107.239.36.4
+      entry_schema:
+        type: string
+    dummy_net_end_0:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal end
+      default: 169.254.1.254
+    oam_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: OAM image name
+      default: MOG_BASE_8.0
+    dummy_net_end_1:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal end
+      default: 169.254.2.254
+    oam_net_name:
+      label: oam network name
+      hidden: false
+      immutable: false
+      type: string
+      description: name of the oam network
+      default: oam_protected_net_0
+    oam_net_ips:
+      label: internet network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: ip of the OAM network
+      default:
+      - 107.250.172.213
+      - 107.250.172.214
+      - 107.250.172.215
+      - 107.250.172.216
+      - 107.250.172.217
+      entry_schema:
+        type: string
+    ran_net_name:
+      label: RAN network name
+      hidden: false
+      immutable: false
+      type: string
+      description: RAN network name
+      default: gn_direct_net_0
+    cluster-manager-vol-1:
+      label: mog-cm-vol-1
+      hidden: false
+      immutable: false
+      type: string
+      description: Cluster Manager volume 1
+      default: 43ccf5ba-2d50-427b-a38f-e8c7d8670eee
+    csb_net_netmask:
+      hidden: false
+      immutable: false
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    oam_flavor_name:
+      label: OAM flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of OAM instance
+      default: m3.xlarge
+    dummy_net_start_0:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal start
+      default: 169.254.1.4
+    dummy_net_start_1:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal start
+      default: 169.254.2.4
+    cm_flavor_name:
+      label: CM flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of CM instance
+      default: m3.xlarge
+    sm_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: SM image name
+      default: MOG_BASE_8.0
+    ps_server_names:
+      label: PS server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the PS instance
+      default:
+      - ZRDM1MOGX01MPS001
+      - ZRDM1MOGX01MPS002
+      - ZRDM1MOGX01MPS003
+      - ZRDM1MOGX01MPS004
+      entry_schema:
+        type: string
+    csb_net_ips:
+      hidden: false
+      immutable: false
+      type: list
+      description: mog_csb_net IP addresses
+      default:
+      - 172.26.0.10
+      - 172.26.0.11
+      - 172.26.0.12
+      - 172.26.0.13
+      - 172.26.0.14
+      - 172.26.0.15
+      - 172.26.0.16
+      - 172.26.0.17
+      - 172.26.0.18
+      - 172.26.0.19
+      - 172.26.0.20
+      entry_schema:
+        type: string
+    ps_flavor_name:
+      label: PS flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of PS instance
+      default: m3.xlarge
+    rx_net_ips:
+      label: Rx network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: Rx network ips
+      default:
+      - 107.239.34.3
+      - 107.239.34.4
+      entry_schema:
+        type: string
+    dummy_net_name_1:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal network name
+      default: mog_dummy_1
+    dummy_net_cidr_1:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal cidr
+      default: 169.254.2.0/24
+    dummy_net_name_0:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal network name
+      default: mog_dummy_0
+    dummy_net_cidr_0:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal cidr
+      default: 169.254.1.0/24
+    oam-vol-2:
+      label: mog-oam-vol-2
+      hidden: false
+      immutable: false
+      type: string
+      description: OAM volume 2
+      default: 6d169cb6-6ddc-41dc-920c-2839898a2924
+    sl_net_floating_ip:
+      label: mog sl net virtual ip
+      hidden: false
+      immutable: false
+      type: string
+      description: mog sl net virtual ip
+      default: 107.239.45.6
+    session-manager-vol-1:
+      label: mog-sm-vol-1
+      hidden: false
+      immutable: false
+      type: string
+      description: Session Manager volume 1
+      default: 49201898-333d-4c88-b58d-cf573b091633
+    rx_net_floating_ip:
+      label: mog rx net virtual ip
+      hidden: false
+      immutable: false
+      type: string
+      description: mog rx net virtual ip
+      default: 107.239.34.5
+    session-manager-vol-2:
+      label: mog-sm-vol-2
+      hidden: false
+      immutable: false
+      type: string
+      description: Session Manager volume 2
+      default: 4c35b5f1-ce99-4220-a6e2-cda6e2d713a0
+    oam-vol-1:
+      label: mog-oam-vol-1
+      hidden: false
+      immutable: false
+      type: string
+      description: OAM volume 1
+      default: 0a7fcd9e-2624-401d-ac21-b0191f85ec77
+    csb_net_start:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal start
+      default: 172.26.0.1
+    cm_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: CM image name
+      default: MOG_BASE_8.0
+    sm_flavor_name:
+      label: SM flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of SM instance
+      default: m2.xlarge4
+    ps_image_name:
+      label: PS image name
+      hidden: false
+      immutable: false
+      type: string
+      description: PS image name
+      default: MOG_BASE_8.0
+    oam_server_names:
+      label: OAM server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the OAM instance
+      default:
+      - ZRDM1MOGX01OAM001
+      - ZRDM1MOGX01OAM002
+      entry_schema:
+        type: string
+    csb_net_cidr:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal cidr
+      default: 172.26.0.0/24
+    cm_server_names:
+      label: CM server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the CM instance
+      default:
+      - ZRDM1MOGX01MCM001
+      entry_schema:
+        type: string
+    sl_net_ips:
+      label: silver lining network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: ips of the sl network
+      default:
+      - 107.239.45.4
+      - 107.239.45.5
+      entry_schema:
+        type: string
+    rx_net_name:
+      label: Rx network name
+      hidden: false
+      immutable: false
+      type: string
+      description: Rx network name
+      default: cor_direct_net_1
+    repl_net_name:
+      label: Replication network name
+      hidden: false
+      immutable: false
+      type: string
+      description: name of the replication network
+      default: cor_direct_net_0
+    security_group_name:
+      label: security group name
+      hidden: false
+      immutable: false
+      type: string
+      description: the name of security group
+      default: mog_security_group
+    csb_net_end:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal end
+      default: 172.26.0.254
+    csb_net_name:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal network name
+      default: int_mog_csb_net
+  node_templates:
+    abstract_pd_server:
+      type: org.openecomp.resource.abstract.nodes.pd_server
+      directives:
+      - substitutable
+      properties:
+        port_pd_1_port_0_network:
+        - get_input: oam_net_name
+        compute_pd_server_availability_zone:
+        - get_input: availabilityzone_name
+        compute_pd_server_name:
+        - get_input:
+          - pd_server_names
+          - 0
+        port_pd_2_port_1_network:
+        - get_input: oam_net_name
+        vm_flavor_name:
+          get_input: pd_flavor_name
+        vm_image_name:
+          get_input: pd_image_name
+        port_pd_1_port_0_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_pd_2_port_1_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        compute_pd_server_user_data_format:
+        - RAW
+        service_template_filter:
+          substitute_service_template: Nested_pd_serverServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+  groups:
+    hot-mog-0108-bs1271_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/hot-mog-0108-bs1271.yml
+        description: heat template that creates MOG stack
+      members:
+      - abstract_pd_server
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes2/out/Nested_pd_serverServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..5a050d8
--- /dev/null
@@ -0,0 +1,394 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_pd_1_port_0_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_1_port_0_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd_1_port_0_network_role:
+      type: string
+      required: true
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_pd_2_port_1_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    compute_pd_server_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_2_port_1_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_2_port_1_network_role:
+      type: string
+      required: true
+    port_pd_2_port_1_subnetpoolid:
+      type: string
+      required: true
+    vm_flavor_name:
+      type: string
+      required: true
+    port_pd_2_port_1_order:
+      type: integer
+      required: true
+    port_pd_2_port_1_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_1_port_0_subnetpoolid:
+      type: string
+      required: true
+    port_pd_1_port_0_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_1_port_0_order:
+      type: integer
+      required: true
+    port_pd_1_port_0_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_1_port_0_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_1_port_0_network_role_tag:
+      type: string
+      required: true
+    port_pd_2_port_1_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_2_port_1_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd_2_port_1_network_role_tag:
+      type: string
+      required: true
+    compute_pd_server_user_data_format:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+  node_templates:
+    pd_server:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_name
+          - index_value
+        user_data_format:
+          get_input:
+          - compute_pd_server_user_data_format
+          - index_value
+    pd_server_pd_2_port_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_2_port_1_exCP_naming
+        vlan_requirements:
+          get_input: port_pd_2_port_1_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_2_port_1_ip_requirements
+        network_role_tag:
+          get_input: port_pd_2_port_1_network_role_tag
+        mac_requirements:
+          get_input: port_pd_2_port_1_mac_requirements
+        order:
+          get_input: port_pd_2_port_1_order
+        network_role:
+          get_input: port_pd_2_port_1_network_role
+        subnetpoolid:
+          get_input: port_pd_2_port_1_subnetpoolid
+        network:
+          get_input:
+          - port_pd_2_port_1_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_pd_1_port_0:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_1_port_0_exCP_naming
+        vlan_requirements:
+          get_input: port_pd_1_port_0_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_1_port_0_ip_requirements
+        network_role_tag:
+          get_input: port_pd_1_port_0_network_role_tag
+        mac_requirements:
+          get_input: port_pd_1_port_0_mac_requirements
+        order:
+          get_input: port_pd_1_port_0_order
+        network_role:
+          get_input: port_pd_1_port_0_network_role
+        subnetpoolid:
+          get_input: port_pd_1_port_0_subnetpoolid
+        network:
+          get_input:
+          - port_pd_1_port_0_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server
+    capabilities:
+      network.incoming.packets_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - network.incoming.packets
+      scalable_pd_server:
+      - pd_server
+      - scalable
+      disk.read.bytes.rate_pd_server:
+      - pd_server
+      - disk.read.bytes.rate
+      network.incoming.packets_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - network.incoming.packets
+      memory.usage_pd_server:
+      - pd_server
+      - memory.usage
+      memory_pd_server:
+      - pd_server
+      - memory
+      disk.device.usage_pd_server:
+      - pd_server
+      - disk.device.usage
+      feature_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - feature
+      feature_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - feature
+      os_pd_server:
+      - pd_server
+      - os
+      disk.write.bytes.rate_pd_server:
+      - pd_server
+      - disk.write.bytes.rate
+      network.outgoing.bytes_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - network.outgoing.bytes
+      network.outgoing.bytes_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - network.outgoing.bytes
+      cpu_pd_server:
+      - pd_server
+      - cpu
+      cpu_util_pd_server:
+      - pd_server
+      - cpu_util
+      disk.device.write.requests.rate_pd_server:
+      - pd_server
+      - disk.device.write.requests.rate
+      disk.read.bytes_pd_server:
+      - pd_server
+      - disk.read.bytes
+      disk.device.read.bytes.rate_pd_server:
+      - pd_server
+      - disk.device.read.bytes.rate
+      binding_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - binding
+      disk.iops_pd_server:
+      - pd_server
+      - disk.iops
+      memory.resident_pd_server:
+      - pd_server
+      - memory.resident
+      cpu.delta_pd_server:
+      - pd_server
+      - cpu.delta
+      network.outgoing.bytes.rate_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - network.outgoing.bytes.rate
+      vcpus_pd_server:
+      - pd_server
+      - vcpus
+      disk.device.write.bytes.rate_pd_server:
+      - pd_server
+      - disk.device.write.bytes.rate
+      attachment_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - attachment
+      disk.device.write.requests_pd_server:
+      - pd_server
+      - disk.device.write.requests
+      endpoint_pd_server:
+      - pd_server
+      - endpoint
+      disk.capacity_pd_server:
+      - pd_server
+      - disk.capacity
+      disk.device.allocation_pd_server:
+      - pd_server
+      - disk.device.allocation
+      disk.allocation_pd_server:
+      - pd_server
+      - disk.allocation
+      binding_pd_server:
+      - pd_server
+      - binding
+      disk.read.requests_pd_server:
+      - pd_server
+      - disk.read.requests
+      network.outpoing.packets_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - network.outpoing.packets
+      network.incoming.packets.rate_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - network.incoming.packets.rate
+      network.incoming.bytes.rate_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - network.incoming.bytes.rate
+      network.incoming.bytes.rate_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - network.incoming.bytes.rate
+      feature_pd_server:
+      - pd_server
+      - feature
+      network.incoming.packets.rate_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - network.incoming.packets.rate
+      disk.usage_pd_server:
+      - pd_server
+      - disk.usage
+      network.outgoing.packets.rate_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - network.outgoing.packets.rate
+      disk.write.bytes_pd_server:
+      - pd_server
+      - disk.write.bytes
+      network.incoming.bytes_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - network.incoming.bytes
+      network.outgoing.packets.rate_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - network.outgoing.packets.rate
+      network.incoming.bytes_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - network.incoming.bytes
+      disk.device.read.requests.rate_pd_server:
+      - pd_server
+      - disk.device.read.requests.rate
+      disk.root.size_pd_server:
+      - pd_server
+      - disk.root.size
+      disk.device.read.bytes_pd_server:
+      - pd_server
+      - disk.device.read.bytes
+      network.outpoing.packets_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - network.outpoing.packets
+      disk.device.write.bytes_pd_server:
+      - pd_server
+      - disk.device.write.bytes
+      binding_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - binding
+      disk.device.read.requests_pd_server:
+      - pd_server
+      - disk.device.read.requests
+      instance_pd_server:
+      - pd_server
+      - instance
+      host_pd_server:
+      - pd_server
+      - host
+      network.outgoing.bytes.rate_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - network.outgoing.bytes.rate
+      disk.write.requests.rate_pd_server:
+      - pd_server
+      - disk.write.requests.rate
+      disk.ephemeral.size_pd_server:
+      - pd_server
+      - disk.ephemeral.size
+      attachment_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - attachment
+      disk.write.requests_pd_server:
+      - pd_server
+      - disk.write.requests
+      disk.device.latency_pd_server:
+      - pd_server
+      - disk.device.latency
+      disk.latency_pd_server:
+      - pd_server
+      - disk.latency
+      disk.device.capacity_pd_server:
+      - pd_server
+      - disk.device.capacity
+      disk.device.iops_pd_server:
+      - pd_server
+      - disk.device.iops
+    requirements:
+      local_storage_pd_server:
+      - pd_server
+      - local_storage
+      dependency_pd_server:
+      - pd_server
+      - dependency
+      link_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - link
+      dependency_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - dependency
+      dependency_pd_server_pd_2_port_1:
+      - pd_server_pd_2_port_1
+      - dependency
+      link_pd_server_pd_1_port_0:
+      - pd_server_pd_1_port_0
+      - link
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..40c2b4c
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "hot-mog",
+  "description": "HOT template to create hot mog server",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "hot-mog-0108-bs1271.yml",
+      "type": "HEAT",
+      "data": [
+        {
+          "file": "hot-mog-0108-bs1271.env",
+          "type": "HEAT_ENV"
+        }
+      ]
+    }
+  ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/in/hot-mog-0108-bs1271.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/in/hot-mog-0108-bs1271.env
new file mode 100644 (file)
index 0000000..a02e4b6
--- /dev/null
@@ -0,0 +1,55 @@
+parameters:
+  pd_server_names: ZRDM1MOGX01MPD001,ZRDM1MOGX01MPD002
+  pd_image_name: MOG_BASE_8.0
+  pd_flavor_name: m3.xlarge
+  oam_server_names: ZRDM1MOGX01OAM001,ZRDM1MOGX01OAM002
+  oam_image_name: MOG_BASE_8.0
+  oam_flavor_name: m3.xlarge
+  sm_server_names: ZRDM1MOGX01MSM001,ZRDM1MOGX01MSM002
+  sm_image_name: MOG_BASE_8.0
+  sm_flavor_name: m2.xlarge4
+  ps_server_names: ZRDM1MOGX01MPS001,ZRDM1MOGX01MPS002,ZRDM1MOGX01MPS003,ZRDM1MOGX01MPS004
+  ps_image_name: MOG_BASE_8.0
+  ps_flavor_name: m3.xlarge
+  cm_server_names: ZRDM1MOGX01MCM001
+  cm_image_name: MOG_BASE_8.0
+  cm_flavor_name: m3.xlarge
+  availabilityzone_name: nova
+  oam_net_name: oam_protected_net_0
+  oam_net_ips: 107.250.172.213,107.250.172.214,107.250.172.215,107.250.172.216,107.250.172.217
+  #internet_net_name: dmz_protected_net_0
+  #internet_net_ips: 107.239.53.4,107.239.53.5
+ # internet_net_floating_ip: 107.239.53.6
+  sl_net_name: exn_protected_net_0
+  sl_net_ips: 107.239.45.4,107.239.45.5
+  sl_net_floating_ip: 107.239.45.6
+  repl_net_name: cor_direct_net_0
+  repl_net_ips: 107.239.33.57,107.239.33.58
+  rx_net_name: cor_direct_net_1
+  rx_net_ips: 107.239.34.3,107.239.34.4
+  rx_net_floating_ip: 107.239.34.5
+  ran_net_name: gn_direct_net_0
+  ran_net_ips: 107.239.36.3,107.239.36.4
+  ran_net_floating_ip: 107.239.36.5
+  dummy_net_name_0: mog_dummy_0
+  dummy_net_start_0: 169.254.1.4
+  dummy_net_end_0: 169.254.1.254
+  dummy_net_cidr_0: 169.254.1.0/24
+  dummy_net_netmask_0: 255.255.255.0
+  dummy_net_name_1: mog_dummy_1
+  dummy_net_start_1: 169.254.2.4
+  dummy_net_end_1: 169.254.2.254
+  dummy_net_cidr_1: 169.254.2.0/24
+  dummy_net_netmask_1: 255.255.255.0
+  csb_net_name: int_mog_csb_net
+  csb_net_ips: 172.26.0.10,172.26.0.11,172.26.0.12,172.26.0.13,172.26.0.14,172.26.0.15,172.26.0.16,172.26.0.17,172.26.0.18,172.26.0.19,172.26.0.20
+  csb_net_start: 172.26.0.1
+  csb_net_end: 172.26.0.254
+  csb_net_cidr: 172.26.0.0/24
+  csb_net_netmask: 255.255.255.0
+  security_group_name: mog_security_group
+  cluster-manager-vol-1: 43ccf5ba-2d50-427b-a38f-e8c7d8670eee
+  session-manager-vol-1: 49201898-333d-4c88-b58d-cf573b091633
+  session-manager-vol-2: 4c35b5f1-ce99-4220-a6e2-cda6e2d713a0
+  oam-vol-1: 0a7fcd9e-2624-401d-ac21-b0191f85ec77
+  oam-vol-2: 6d169cb6-6ddc-41dc-920c-2839898a2924
\ 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/singleSubstitution/computewithtwosameporttypes3/in/hot-mog-0108-bs1271.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/in/hot-mog-0108-bs1271.yml
new file mode 100644 (file)
index 0000000..a63128c
--- /dev/null
@@ -0,0 +1,230 @@
+heat_template_version: 2013-05-23
+
+description: heat template that creates MOG stack
+
+parameters:
+  pd_server_names:
+    type: comma_delimited_list
+    label: PD server names
+    description: name of the PD instance
+  pd_image_name:
+    type: string
+    label: image name
+    description: PD image name
+  pd_flavor_name:
+    type: string
+    label: PD flavor name
+    description: flavor name of PD instance
+  oam_server_names:
+    type: comma_delimited_list
+    label: OAM server names
+    description: name of the OAM instance
+  oam_image_name:
+    type: string
+    label: image name
+    description: OAM image name
+  oam_flavor_name:
+    type: string
+    label: OAM flavor name
+    description: flavor name of OAM instance
+  sm_server_names:
+    type: comma_delimited_list
+    label: SM server names
+    description: name of the SM instance
+  sm_image_name:
+    type: string
+    label: image name
+    description: SM image name
+  sm_flavor_name:
+    type: string
+    label: SM flavor name
+    description: flavor name of SM instance
+  ps_server_names:
+    type: comma_delimited_list
+    label: PS server names
+    description: name of the PS instance
+  ps_image_name:
+    type: string
+    label: PS image name
+    description: PS image name
+  ps_flavor_name:
+    type: string
+    label: PS flavor name
+    description: flavor name of PS instance
+  cm_server_names:
+    type: comma_delimited_list
+    label: CM server names
+    description: name of the CM instance
+  cm_image_name:
+    type: string
+    label: image name
+    description: CM image name
+  cm_flavor_name:
+    type: string
+    label: CM flavor name
+    description: flavor name of CM instance
+  availabilityzone_name:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  oam_net_name:
+    type: string
+    label: oam network name
+    description: name of the oam network
+  oam_net_ips:
+    type: comma_delimited_list
+    label: internet network ips
+    description: ip of the OAM network
+  sl_net_name:
+    type: string
+    label: silver lining network name
+    description: id of the sl network
+  sl_net_ips:
+    type: comma_delimited_list
+    label: silver lining network ips
+    description: ips of the sl network
+  sl_net_floating_ip:
+    type: string
+    label: mog sl net virtual ip
+    description: mog sl net virtual ip
+  repl_net_name:
+    type: string
+    label: Replication network name
+    description: name of the replication network
+  repl_net_ips:
+    type: comma_delimited_list
+    label: repl network ips
+    description: ips of repl network
+  rx_net_name:
+    type: string
+    label: Rx network name
+    description: Rx network name
+  rx_net_ips:
+    type: comma_delimited_list
+    label: Rx network ips
+    description: Rx network ips
+  rx_net_floating_ip:
+    type: string
+    label: mog rx net virtual ip
+    description: mog rx net virtual ip
+  ran_net_name:
+    type: string
+    label: RAN network name
+    description: RAN network name
+  ran_net_ips:
+    type: comma_delimited_list
+    label: RAN network ips
+    description: RAN network ip
+  ran_net_floating_ip:
+    type: string
+    label: mog ran net virtual ip
+    description: mog ran net virtual ip
+  csb_net_name:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  csb_net_start:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  csb_net_end:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  csb_net_cidr:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  csb_net_netmask:
+    type: string
+    description: CSB internal network subnet mask
+  csb_net_ips:
+    type: comma_delimited_list
+    description: mog_csb_net IP addresses
+  dummy_net_name_0:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  dummy_net_start_0:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  dummy_net_end_0:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  dummy_net_cidr_0:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  dummy_net_netmask_0:
+    type: string
+    description: CSB internal network subnet mask
+  dummy_net_name_1:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  dummy_net_start_1:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  dummy_net_end_1:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  dummy_net_cidr_1:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  dummy_net_netmask_1:
+    type: string
+    description: CSB internal network subnet mask
+
+  security_group_name:
+    type: string
+    label: security group name
+    description: the name of security group
+  cluster-manager-vol-1:
+    type: string
+    label: mog-cm-vol-1
+    description: Cluster Manager volume 1
+  session-manager-vol-1:
+    type: string
+    label: mog-sm-vol-1
+    description: Session Manager volume 1
+  session-manager-vol-2:
+    type: string
+    label: mog-sm-vol-2
+    description: Session Manager volume 2
+  oam-vol-1:
+    type: string
+    label: mog-oam-vol-1
+    description: OAM volume 1
+  oam-vol-2:
+    type: string
+    label: mog-oam-vol-2
+    description: OAM volume 2
+
+resources:
+  server_pd_01:
+    type: OS::Nova::Server
+    properties:
+#      config_drive: "True"
+      name: {get_param: [pd_server_names, 0]}
+      image: {get_param: pd_image_name}
+      flavor: {get_param: pd_flavor_name}
+      availability_zone: {get_param: availabilityzone_name}
+      networks:
+        - port: {get_resource: pd_oam1_port_0}
+        - port: {get_resource: pd_oam1_port_1}
+      user_data_format:  RAW
+
+  pd_oam1_port_0:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: oam_net_name}
+  pd_oam1_port_1:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: oam_net_name}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..30969f0
--- /dev/null
@@ -0,0 +1,542 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.pd_server:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_pd_oam1_port_0_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_0_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_1_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      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_oam1_port_0_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      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
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_1_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_0_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd_oam1_port_1_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd_oam1_port_1_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_1_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_1_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_0_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_1_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_0_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_0_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_0_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_1_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd_oam1_port_1_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd_oam1_port_0_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      compute_pd_server_user_data_format:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - dependency_pd_server:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_pd_oam1_port_1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_pd_oam1_port_1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server_pd_oam1_port_0:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_pd_oam1_port_0:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      scalable_pd_server:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_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.usage_pd_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_pd_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_pd_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_pd_server:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_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_pd_server_pd_oam1_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_pd_server_pd_oam1_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_pd_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_pd_server_pd_oam1_port_1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      cpu_util_pd_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_pd_server_pd_oam1_port_0:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.write.requests.rate_pd_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_pd_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_pd_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.iops_pd_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_pd_server_pd_oam1_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_pd_oam1_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_pd_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_pd_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_pd_server_pd_oam1_port_0:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      attachment_pd_server_pd_oam1_port_1:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      vcpus_pd_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_pd_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_pd_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_pd_server:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_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_pd_server_pd_oam1_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_pd_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.allocation_pd_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_pd_server_pd_oam1_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_pd_server:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_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_pd_server:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_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_pd_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.rate_pd_server_pd_oam1_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_pd_oam1_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_pd_oam1_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_pd_oam1_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.rate_pd_server_pd_oam1_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_pd_server_pd_oam1_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_pd_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.root.size_pd_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_pd_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_pd_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_pd_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
+      instance_pd_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
+      host_pd_server:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_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_pd_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_pd_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_pd_server_pd_oam1_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_pd_server_pd_oam1_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.latency_pd_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_pd_server_pd_oam1_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.latency_pd_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_pd_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_pd_server_pd_oam1_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_pd_server_pd_oam1_port_1:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      binding_pd_server_pd_oam1_port_0:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.iops_pd_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
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..5c32464
--- /dev/null
@@ -0,0 +1,478 @@
+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:
+    pd_flavor_name:
+      label: PD flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of PD instance
+      default: m3.xlarge
+    availabilityzone_name:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+      default: nova
+    repl_net_ips:
+      label: repl network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: ips of repl network
+      default:
+      - 107.239.33.57
+      - 107.239.33.58
+      entry_schema:
+        type: string
+    sl_net_name:
+      label: silver lining network name
+      hidden: false
+      immutable: false
+      type: string
+      description: id of the sl network
+      default: exn_protected_net_0
+    pd_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: PD image name
+      default: MOG_BASE_8.0
+    pd_server_names:
+      label: PD server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the PD instance
+      default:
+      - ZRDM1MOGX01MPD001
+      - ZRDM1MOGX01MPD002
+      entry_schema:
+        type: string
+    sm_server_names:
+      label: SM server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the SM instance
+      default:
+      - ZRDM1MOGX01MSM001
+      - ZRDM1MOGX01MSM002
+      entry_schema:
+        type: string
+    dummy_net_netmask_1:
+      hidden: false
+      immutable: false
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    dummy_net_netmask_0:
+      hidden: false
+      immutable: false
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    ran_net_floating_ip:
+      label: mog ran net virtual ip
+      hidden: false
+      immutable: false
+      type: string
+      description: mog ran net virtual ip
+      default: 107.239.36.5
+    ran_net_ips:
+      label: RAN network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: RAN network ip
+      default:
+      - 107.239.36.3
+      - 107.239.36.4
+      entry_schema:
+        type: string
+    dummy_net_end_0:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal end
+      default: 169.254.1.254
+    oam_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: OAM image name
+      default: MOG_BASE_8.0
+    dummy_net_end_1:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal end
+      default: 169.254.2.254
+    oam_net_name:
+      label: oam network name
+      hidden: false
+      immutable: false
+      type: string
+      description: name of the oam network
+      default: oam_protected_net_0
+    oam_net_ips:
+      label: internet network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: ip of the OAM network
+      default:
+      - 107.250.172.213
+      - 107.250.172.214
+      - 107.250.172.215
+      - 107.250.172.216
+      - 107.250.172.217
+      entry_schema:
+        type: string
+    ran_net_name:
+      label: RAN network name
+      hidden: false
+      immutable: false
+      type: string
+      description: RAN network name
+      default: gn_direct_net_0
+    cluster-manager-vol-1:
+      label: mog-cm-vol-1
+      hidden: false
+      immutable: false
+      type: string
+      description: Cluster Manager volume 1
+      default: 43ccf5ba-2d50-427b-a38f-e8c7d8670eee
+    csb_net_netmask:
+      hidden: false
+      immutable: false
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    oam_flavor_name:
+      label: OAM flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of OAM instance
+      default: m3.xlarge
+    dummy_net_start_0:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal start
+      default: 169.254.1.4
+    dummy_net_start_1:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal start
+      default: 169.254.2.4
+    cm_flavor_name:
+      label: CM flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of CM instance
+      default: m3.xlarge
+    sm_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: SM image name
+      default: MOG_BASE_8.0
+    ps_server_names:
+      label: PS server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the PS instance
+      default:
+      - ZRDM1MOGX01MPS001
+      - ZRDM1MOGX01MPS002
+      - ZRDM1MOGX01MPS003
+      - ZRDM1MOGX01MPS004
+      entry_schema:
+        type: string
+    csb_net_ips:
+      hidden: false
+      immutable: false
+      type: list
+      description: mog_csb_net IP addresses
+      default:
+      - 172.26.0.10
+      - 172.26.0.11
+      - 172.26.0.12
+      - 172.26.0.13
+      - 172.26.0.14
+      - 172.26.0.15
+      - 172.26.0.16
+      - 172.26.0.17
+      - 172.26.0.18
+      - 172.26.0.19
+      - 172.26.0.20
+      entry_schema:
+        type: string
+    ps_flavor_name:
+      label: PS flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of PS instance
+      default: m3.xlarge
+    rx_net_ips:
+      label: Rx network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: Rx network ips
+      default:
+      - 107.239.34.3
+      - 107.239.34.4
+      entry_schema:
+        type: string
+    dummy_net_name_1:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal network name
+      default: mog_dummy_1
+    dummy_net_cidr_1:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal cidr
+      default: 169.254.2.0/24
+    dummy_net_name_0:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal network name
+      default: mog_dummy_0
+    dummy_net_cidr_0:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal cidr
+      default: 169.254.1.0/24
+    oam-vol-2:
+      label: mog-oam-vol-2
+      hidden: false
+      immutable: false
+      type: string
+      description: OAM volume 2
+      default: 6d169cb6-6ddc-41dc-920c-2839898a2924
+    sl_net_floating_ip:
+      label: mog sl net virtual ip
+      hidden: false
+      immutable: false
+      type: string
+      description: mog sl net virtual ip
+      default: 107.239.45.6
+    session-manager-vol-1:
+      label: mog-sm-vol-1
+      hidden: false
+      immutable: false
+      type: string
+      description: Session Manager volume 1
+      default: 49201898-333d-4c88-b58d-cf573b091633
+    rx_net_floating_ip:
+      label: mog rx net virtual ip
+      hidden: false
+      immutable: false
+      type: string
+      description: mog rx net virtual ip
+      default: 107.239.34.5
+    session-manager-vol-2:
+      label: mog-sm-vol-2
+      hidden: false
+      immutable: false
+      type: string
+      description: Session Manager volume 2
+      default: 4c35b5f1-ce99-4220-a6e2-cda6e2d713a0
+    oam-vol-1:
+      label: mog-oam-vol-1
+      hidden: false
+      immutable: false
+      type: string
+      description: OAM volume 1
+      default: 0a7fcd9e-2624-401d-ac21-b0191f85ec77
+    csb_net_start:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal start
+      default: 172.26.0.1
+    cm_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: CM image name
+      default: MOG_BASE_8.0
+    sm_flavor_name:
+      label: SM flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of SM instance
+      default: m2.xlarge4
+    ps_image_name:
+      label: PS image name
+      hidden: false
+      immutable: false
+      type: string
+      description: PS image name
+      default: MOG_BASE_8.0
+    oam_server_names:
+      label: OAM server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the OAM instance
+      default:
+      - ZRDM1MOGX01OAM001
+      - ZRDM1MOGX01OAM002
+      entry_schema:
+        type: string
+    csb_net_cidr:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal cidr
+      default: 172.26.0.0/24
+    cm_server_names:
+      label: CM server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the CM instance
+      default:
+      - ZRDM1MOGX01MCM001
+      entry_schema:
+        type: string
+    sl_net_ips:
+      label: silver lining network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: ips of the sl network
+      default:
+      - 107.239.45.4
+      - 107.239.45.5
+      entry_schema:
+        type: string
+    rx_net_name:
+      label: Rx network name
+      hidden: false
+      immutable: false
+      type: string
+      description: Rx network name
+      default: cor_direct_net_1
+    repl_net_name:
+      label: Replication network name
+      hidden: false
+      immutable: false
+      type: string
+      description: name of the replication network
+      default: cor_direct_net_0
+    security_group_name:
+      label: security group name
+      hidden: false
+      immutable: false
+      type: string
+      description: the name of security group
+      default: mog_security_group
+    csb_net_end:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal end
+      default: 172.26.0.254
+    csb_net_name:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal network name
+      default: int_mog_csb_net
+  node_templates:
+    abstract_pd_server:
+      type: org.openecomp.resource.abstract.nodes.pd_server
+      directives:
+      - substitutable
+      properties:
+        port_pd_oam1_port_0_network_role_tag: oam
+        port_pd_oam1_port_1_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_pd_oam1_port_0_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        compute_pd_server_availability_zone:
+        - get_input: availabilityzone_name
+        compute_pd_server_name:
+        - get_input:
+          - pd_server_names
+          - 0
+        vm_flavor_name:
+          get_input: pd_flavor_name
+        port_pd_oam1_port_1_network:
+        - get_input: oam_net_name
+        port_pd_oam1_port_1_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_pd_oam1_port_0_network:
+        - get_input: oam_net_name
+        vm_image_name:
+          get_input: pd_image_name
+        port_pd_oam1_port_1_network_role_tag: oam
+        port_pd_oam1_port_0_mac_requirements:
+          mac_count_required:
+            is_required: false
+        compute_pd_server_user_data_format:
+        - RAW
+        service_template_filter:
+          substitute_service_template: Nested_pd_serverServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+  groups:
+    hot-mog-0108-bs1271_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/hot-mog-0108-bs1271.yml
+        description: heat template that creates MOG stack
+      members:
+      - abstract_pd_server
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes3/out/Nested_pd_serverServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..580e287
--- /dev/null
@@ -0,0 +1,394 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_pd_oam1_port_0_network_role_tag:
+      type: string
+      required: true
+    port_pd_oam1_port_0_network_role:
+      type: string
+      required: true
+    port_pd_oam1_port_1_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    port_pd_oam1_port_0_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    compute_pd_server_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_flavor_name:
+      type: string
+      required: true
+    port_pd_oam1_port_1_order:
+      type: integer
+      required: true
+    port_pd_oam1_port_0_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd_oam1_port_1_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd_oam1_port_1_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd_oam1_port_1_network_role:
+      type: string
+      required: true
+    port_pd_oam1_port_1_subnetpoolid:
+      type: string
+      required: true
+    port_pd_oam1_port_0_order:
+      type: integer
+      required: true
+    port_pd_oam1_port_1_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_oam1_port_0_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    vm_image_name:
+      type: string
+      required: true
+    port_pd_oam1_port_0_subnetpoolid:
+      type: string
+      required: true
+    port_pd_oam1_port_0_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd_oam1_port_1_network_role_tag:
+      type: string
+      required: true
+    port_pd_oam1_port_1_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd_oam1_port_0_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    compute_pd_server_user_data_format:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+  node_templates:
+    pd_server:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_name
+          - index_value
+        user_data_format:
+          get_input:
+          - compute_pd_server_user_data_format
+          - index_value
+    pd_server_pd_oam1_port_1:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_oam1_port_1_exCP_naming
+        vlan_requirements:
+          get_input: port_pd_oam1_port_1_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_oam1_port_1_ip_requirements
+        network_role_tag:
+          get_input: port_pd_oam1_port_1_network_role_tag
+        mac_requirements:
+          get_input: port_pd_oam1_port_1_mac_requirements
+        order:
+          get_input: port_pd_oam1_port_1_order
+        network_role:
+          get_input: port_pd_oam1_port_1_network_role
+        subnetpoolid:
+          get_input: port_pd_oam1_port_1_subnetpoolid
+        network:
+          get_input:
+          - port_pd_oam1_port_1_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server
+          relationship: tosca.relationships.network.BindsTo
+    pd_server_pd_oam1_port_0:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd_oam1_port_0_exCP_naming
+        vlan_requirements:
+          get_input: port_pd_oam1_port_0_vlan_requirements
+        ip_requirements:
+          get_input: port_pd_oam1_port_0_ip_requirements
+        network_role_tag:
+          get_input: port_pd_oam1_port_0_network_role_tag
+        mac_requirements:
+          get_input: port_pd_oam1_port_0_mac_requirements
+        order:
+          get_input: port_pd_oam1_port_0_order
+        network_role:
+          get_input: port_pd_oam1_port_0_network_role
+        subnetpoolid:
+          get_input: port_pd_oam1_port_0_subnetpoolid
+        network:
+          get_input:
+          - port_pd_oam1_port_0_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server
+    capabilities:
+      scalable_pd_server:
+      - pd_server
+      - scalable
+      disk.read.bytes.rate_pd_server:
+      - pd_server
+      - disk.read.bytes.rate
+      memory.usage_pd_server:
+      - pd_server
+      - memory.usage
+      memory_pd_server:
+      - pd_server
+      - memory
+      disk.device.usage_pd_server:
+      - pd_server
+      - disk.device.usage
+      os_pd_server:
+      - pd_server
+      - os
+      disk.write.bytes.rate_pd_server:
+      - pd_server
+      - disk.write.bytes.rate
+      network.incoming.packets_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - network.incoming.packets
+      network.incoming.packets_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - network.incoming.packets
+      cpu_pd_server:
+      - pd_server
+      - cpu
+      feature_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - feature
+      cpu_util_pd_server:
+      - pd_server
+      - cpu_util
+      feature_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - feature
+      disk.device.write.requests.rate_pd_server:
+      - pd_server
+      - disk.device.write.requests.rate
+      disk.read.bytes_pd_server:
+      - pd_server
+      - disk.read.bytes
+      disk.device.read.bytes.rate_pd_server:
+      - pd_server
+      - disk.device.read.bytes.rate
+      disk.iops_pd_server:
+      - pd_server
+      - disk.iops
+      network.incoming.bytes_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - network.incoming.bytes
+      network.incoming.bytes_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - network.incoming.bytes
+      memory.resident_pd_server:
+      - pd_server
+      - memory.resident
+      cpu.delta_pd_server:
+      - pd_server
+      - cpu.delta
+      attachment_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - attachment
+      attachment_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - attachment
+      vcpus_pd_server:
+      - pd_server
+      - vcpus
+      disk.device.write.bytes.rate_pd_server:
+      - pd_server
+      - disk.device.write.bytes.rate
+      disk.device.write.requests_pd_server:
+      - pd_server
+      - disk.device.write.requests
+      endpoint_pd_server:
+      - pd_server
+      - endpoint
+      disk.capacity_pd_server:
+      - pd_server
+      - disk.capacity
+      network.incoming.packets.rate_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - network.incoming.packets.rate
+      disk.device.allocation_pd_server:
+      - pd_server
+      - disk.device.allocation
+      disk.allocation_pd_server:
+      - pd_server
+      - disk.allocation
+      network.incoming.packets.rate_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - network.incoming.packets.rate
+      binding_pd_server:
+      - pd_server
+      - binding
+      disk.read.requests_pd_server:
+      - pd_server
+      - disk.read.requests
+      feature_pd_server:
+      - pd_server
+      - feature
+      disk.usage_pd_server:
+      - pd_server
+      - disk.usage
+      disk.write.bytes_pd_server:
+      - pd_server
+      - disk.write.bytes
+      network.incoming.bytes.rate_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - network.incoming.bytes.rate
+      network.outgoing.packets.rate_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - network.outgoing.packets.rate
+      network.outgoing.bytes.rate_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - network.outgoing.bytes.rate
+      network.incoming.bytes.rate_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - network.incoming.bytes.rate
+      network.outgoing.bytes.rate_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - network.outgoing.bytes.rate
+      network.outgoing.packets.rate_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - network.outgoing.packets.rate
+      disk.device.read.requests.rate_pd_server:
+      - pd_server
+      - disk.device.read.requests.rate
+      disk.root.size_pd_server:
+      - pd_server
+      - disk.root.size
+      disk.device.read.bytes_pd_server:
+      - pd_server
+      - disk.device.read.bytes
+      disk.device.write.bytes_pd_server:
+      - pd_server
+      - disk.device.write.bytes
+      disk.device.read.requests_pd_server:
+      - pd_server
+      - disk.device.read.requests
+      instance_pd_server:
+      - pd_server
+      - instance
+      host_pd_server:
+      - pd_server
+      - host
+      disk.write.requests.rate_pd_server:
+      - pd_server
+      - disk.write.requests.rate
+      disk.ephemeral.size_pd_server:
+      - pd_server
+      - disk.ephemeral.size
+      disk.write.requests_pd_server:
+      - pd_server
+      - disk.write.requests
+      network.outgoing.bytes_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - network.outgoing.bytes
+      network.outgoing.bytes_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - network.outgoing.bytes
+      disk.device.latency_pd_server:
+      - pd_server
+      - disk.device.latency
+      network.outpoing.packets_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - network.outpoing.packets
+      disk.latency_pd_server:
+      - pd_server
+      - disk.latency
+      disk.device.capacity_pd_server:
+      - pd_server
+      - disk.device.capacity
+      network.outpoing.packets_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - network.outpoing.packets
+      binding_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - binding
+      binding_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - binding
+      disk.device.iops_pd_server:
+      - pd_server
+      - disk.device.iops
+    requirements:
+      local_storage_pd_server:
+      - pd_server
+      - local_storage
+      link_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - link
+      link_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - link
+      dependency_pd_server:
+      - pd_server
+      - dependency
+      dependency_pd_server_pd_oam1_port_0:
+      - pd_server_pd_oam1_port_0
+      - dependency
+      dependency_pd_server_pd_oam1_port_1:
+      - pd_server_pd_oam1_port_1
+      - dependency
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/in/MANIFEST.json
new file mode 100644 (file)
index 0000000..40c2b4c
--- /dev/null
@@ -0,0 +1,17 @@
+{
+  "name": "hot-mog",
+  "description": "HOT template to create hot mog server",
+  "version": "2013-05-23",
+  "data": [
+    {
+      "file": "hot-mog-0108-bs1271.yml",
+      "type": "HEAT",
+      "data": [
+        {
+          "file": "hot-mog-0108-bs1271.env",
+          "type": "HEAT_ENV"
+        }
+      ]
+    }
+  ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/in/hot-mog-0108-bs1271.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/in/hot-mog-0108-bs1271.env
new file mode 100644 (file)
index 0000000..a02e4b6
--- /dev/null
@@ -0,0 +1,55 @@
+parameters:
+  pd_server_names: ZRDM1MOGX01MPD001,ZRDM1MOGX01MPD002
+  pd_image_name: MOG_BASE_8.0
+  pd_flavor_name: m3.xlarge
+  oam_server_names: ZRDM1MOGX01OAM001,ZRDM1MOGX01OAM002
+  oam_image_name: MOG_BASE_8.0
+  oam_flavor_name: m3.xlarge
+  sm_server_names: ZRDM1MOGX01MSM001,ZRDM1MOGX01MSM002
+  sm_image_name: MOG_BASE_8.0
+  sm_flavor_name: m2.xlarge4
+  ps_server_names: ZRDM1MOGX01MPS001,ZRDM1MOGX01MPS002,ZRDM1MOGX01MPS003,ZRDM1MOGX01MPS004
+  ps_image_name: MOG_BASE_8.0
+  ps_flavor_name: m3.xlarge
+  cm_server_names: ZRDM1MOGX01MCM001
+  cm_image_name: MOG_BASE_8.0
+  cm_flavor_name: m3.xlarge
+  availabilityzone_name: nova
+  oam_net_name: oam_protected_net_0
+  oam_net_ips: 107.250.172.213,107.250.172.214,107.250.172.215,107.250.172.216,107.250.172.217
+  #internet_net_name: dmz_protected_net_0
+  #internet_net_ips: 107.239.53.4,107.239.53.5
+ # internet_net_floating_ip: 107.239.53.6
+  sl_net_name: exn_protected_net_0
+  sl_net_ips: 107.239.45.4,107.239.45.5
+  sl_net_floating_ip: 107.239.45.6
+  repl_net_name: cor_direct_net_0
+  repl_net_ips: 107.239.33.57,107.239.33.58
+  rx_net_name: cor_direct_net_1
+  rx_net_ips: 107.239.34.3,107.239.34.4
+  rx_net_floating_ip: 107.239.34.5
+  ran_net_name: gn_direct_net_0
+  ran_net_ips: 107.239.36.3,107.239.36.4
+  ran_net_floating_ip: 107.239.36.5
+  dummy_net_name_0: mog_dummy_0
+  dummy_net_start_0: 169.254.1.4
+  dummy_net_end_0: 169.254.1.254
+  dummy_net_cidr_0: 169.254.1.0/24
+  dummy_net_netmask_0: 255.255.255.0
+  dummy_net_name_1: mog_dummy_1
+  dummy_net_start_1: 169.254.2.4
+  dummy_net_end_1: 169.254.2.254
+  dummy_net_cidr_1: 169.254.2.0/24
+  dummy_net_netmask_1: 255.255.255.0
+  csb_net_name: int_mog_csb_net
+  csb_net_ips: 172.26.0.10,172.26.0.11,172.26.0.12,172.26.0.13,172.26.0.14,172.26.0.15,172.26.0.16,172.26.0.17,172.26.0.18,172.26.0.19,172.26.0.20
+  csb_net_start: 172.26.0.1
+  csb_net_end: 172.26.0.254
+  csb_net_cidr: 172.26.0.0/24
+  csb_net_netmask: 255.255.255.0
+  security_group_name: mog_security_group
+  cluster-manager-vol-1: 43ccf5ba-2d50-427b-a38f-e8c7d8670eee
+  session-manager-vol-1: 49201898-333d-4c88-b58d-cf573b091633
+  session-manager-vol-2: 4c35b5f1-ce99-4220-a6e2-cda6e2d713a0
+  oam-vol-1: 0a7fcd9e-2624-401d-ac21-b0191f85ec77
+  oam-vol-2: 6d169cb6-6ddc-41dc-920c-2839898a2924
\ 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/singleSubstitution/computewithtwosameporttypes4/in/hot-mog-0108-bs1271.yml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/in/hot-mog-0108-bs1271.yml
new file mode 100644 (file)
index 0000000..b0dc153
--- /dev/null
@@ -0,0 +1,230 @@
+heat_template_version: 2013-05-23
+
+description: heat template that creates MOG stack
+
+parameters:
+  pd_server_names:
+    type: comma_delimited_list
+    label: PD server names
+    description: name of the PD instance
+  pd_image_name:
+    type: string
+    label: image name
+    description: PD image name
+  pd_flavor_name:
+    type: string
+    label: PD flavor name
+    description: flavor name of PD instance
+  oam_server_names:
+    type: comma_delimited_list
+    label: OAM server names
+    description: name of the OAM instance
+  oam_image_name:
+    type: string
+    label: image name
+    description: OAM image name
+  oam_flavor_name:
+    type: string
+    label: OAM flavor name
+    description: flavor name of OAM instance
+  sm_server_names:
+    type: comma_delimited_list
+    label: SM server names
+    description: name of the SM instance
+  sm_image_name:
+    type: string
+    label: image name
+    description: SM image name
+  sm_flavor_name:
+    type: string
+    label: SM flavor name
+    description: flavor name of SM instance
+  ps_server_names:
+    type: comma_delimited_list
+    label: PS server names
+    description: name of the PS instance
+  ps_image_name:
+    type: string
+    label: PS image name
+    description: PS image name
+  ps_flavor_name:
+    type: string
+    label: PS flavor name
+    description: flavor name of PS instance
+  cm_server_names:
+    type: comma_delimited_list
+    label: CM server names
+    description: name of the CM instance
+  cm_image_name:
+    type: string
+    label: image name
+    description: CM image name
+  cm_flavor_name:
+    type: string
+    label: CM flavor name
+    description: flavor name of CM instance
+  availabilityzone_name:
+    type: string
+    label: availabilityzone name
+    description: availabilityzone name
+  oam_net_name:
+    type: string
+    label: oam network name
+    description: name of the oam network
+  oam_net_ips:
+    type: comma_delimited_list
+    label: internet network ips
+    description: ip of the OAM network
+  sl_net_name:
+    type: string
+    label: silver lining network name
+    description: id of the sl network
+  sl_net_ips:
+    type: comma_delimited_list
+    label: silver lining network ips
+    description: ips of the sl network
+  sl_net_floating_ip:
+    type: string
+    label: mog sl net virtual ip
+    description: mog sl net virtual ip
+  repl_net_name:
+    type: string
+    label: Replication network name
+    description: name of the replication network
+  repl_net_ips:
+    type: comma_delimited_list
+    label: repl network ips
+    description: ips of repl network
+  rx_net_name:
+    type: string
+    label: Rx network name
+    description: Rx network name
+  rx_net_ips:
+    type: comma_delimited_list
+    label: Rx network ips
+    description: Rx network ips
+  rx_net_floating_ip:
+    type: string
+    label: mog rx net virtual ip
+    description: mog rx net virtual ip
+  ran_net_name:
+    type: string
+    label: RAN network name
+    description: RAN network name
+  ran_net_ips:
+    type: comma_delimited_list
+    label: RAN network ips
+    description: RAN network ip
+  ran_net_floating_ip:
+    type: string
+    label: mog ran net virtual ip
+    description: mog ran net virtual ip
+  csb_net_name:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  csb_net_start:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  csb_net_end:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  csb_net_cidr:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  csb_net_netmask:
+    type: string
+    description: CSB internal network subnet mask
+  csb_net_ips:
+    type: comma_delimited_list
+    description: mog_csb_net IP addresses
+  dummy_net_name_0:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  dummy_net_start_0:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  dummy_net_end_0:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  dummy_net_cidr_0:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  dummy_net_netmask_0:
+    type: string
+    description: CSB internal network subnet mask
+  dummy_net_name_1:
+    type: string
+    label: csb internal network name
+    description: csb internal network name
+  dummy_net_start_1:
+    type: string
+    label: csb internal start
+    description: csb internal start
+  dummy_net_end_1:
+    type: string
+    label: csb internal end
+    description: csb internal end
+  dummy_net_cidr_1:
+    type: string
+    label: csb ineternal cidr
+    description: csb internal cidr
+  dummy_net_netmask_1:
+    type: string
+    description: CSB internal network subnet mask
+
+  security_group_name:
+    type: string
+    label: security group name
+    description: the name of security group
+  cluster-manager-vol-1:
+    type: string
+    label: mog-cm-vol-1
+    description: Cluster Manager volume 1
+  session-manager-vol-1:
+    type: string
+    label: mog-sm-vol-1
+    description: Session Manager volume 1
+  session-manager-vol-2:
+    type: string
+    label: mog-sm-vol-2
+    description: Session Manager volume 2
+  oam-vol-1:
+    type: string
+    label: mog-oam-vol-1
+    description: OAM volume 1
+  oam-vol-2:
+    type: string
+    label: mog-oam-vol-2
+    description: OAM volume 2
+
+resources:
+  server_pd_01:
+    type: OS::Nova::Server
+    properties:
+#      config_drive: "True"
+      name: {get_param: [pd_server_names, 0]}
+      image: {get_param: pd_image_name}
+      flavor: {get_param: pd_flavor_name}
+      availability_zone: {get_param: availabilityzone_name}
+      networks:
+        - port: {get_resource: pd01_port1}
+        - port: {get_resource: pd01_port2}
+      user_data_format:  RAW
+
+  pd01_port1:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: oam_net_name}
+  pd01_port2:
+    type: OS::Neutron::Port
+    properties:
+      network: {get_param: oam_net_name}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..f247a66
--- /dev/null
@@ -0,0 +1,542 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+node_types:
+  org.openecomp.resource.abstract.nodes.pd_server:
+    derived_from: org.openecomp.resource.abstract.nodes.VFC
+    properties:
+      port_pd01_port1_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd01_port1_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_pd01_port1_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port1_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd01_port2_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_pd01_port2_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      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_port1_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port2_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port2_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      vm_flavor_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port1_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
+      port_pd01_port1_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd01_port2_network_role_tag:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port1_network_role:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port2_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
+      port_pd01_port2_order:
+        type: integer
+        required: true
+        status: SUPPORTED
+      port_pd01_port1_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      vm_image_name:
+        type: string
+        required: true
+        status: SUPPORTED
+      port_pd01_port2_vlan_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.VlanRequirements
+      port_pd01_port2_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      compute_pd_server_user_data_format:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+    requirements:
+    - dependency_pd_server_pd01_port1:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_pd01_port1:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    - dependency_pd_server:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - local_storage_pd_server:
+        capability: tosca.capabilities.Attachment
+        node: tosca.nodes.BlockStorage
+        relationship: tosca.relationships.AttachesTo
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - dependency_pd_server_pd01_port2:
+        capability: tosca.capabilities.Node
+        node: tosca.nodes.Root
+        relationship: tosca.relationships.DependsOn
+        occurrences:
+        - 0
+        - UNBOUNDED
+    - link_pd_server_pd01_port2:
+        capability: tosca.capabilities.network.Linkable
+        relationship: tosca.relationships.network.LinksTo
+        occurrences:
+        - 1
+        - 1
+    capabilities:
+      scalable_pd_server:
+        type: tosca.capabilities.Scalable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.bytes.rate_pd_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.usage_pd_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_pd_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_pd_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_pd_server:
+        type: tosca.capabilities.OperatingSystem
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.bytes.rate_pd_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_pd_server_pd01_port2:
+        type: org.openecomp.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_pd01_port1:
+        type: org.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_pd_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_pd_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_pd_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_pd_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_pd_server_pd01_port2:
+        type: org.openecomp.capabilities.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_pd01_port1:
+        type: org.openecomp.capabilities.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_pd_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.iops_pd_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_pd_server_pd01_port1:
+        type: org.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_pd_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_pd_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_pd_server_pd01_port2:
+        type: org.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_pd_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_pd_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_pd_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_pd_server:
+        type: tosca.capabilities.Endpoint.Admin
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.capacity_pd_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_pd_server_pd01_port1:
+        type: org.openecomp.capabilities.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_pd_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.allocation_pd_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_pd_server_pd01_port2:
+        type: org.openecomp.capabilities.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_pd01_port2:
+        type: org.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:
+        type: tosca.capabilities.network.Bindable
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.read.requests_pd_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_pd_server_pd01_port1:
+        type: org.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_pd01_port2:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server_pd01_port1:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      feature_pd_server:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.usage_pd_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.rate_pd_server_pd01_port2:
+        type: org.openecomp.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_pd01_port1:
+        type: org.openecomp.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_pd_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_pd_server_pd01_port1:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      binding_pd_server_pd01_port2:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      disk.device.read.requests.rate_pd_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_pd_server_pd01_port1:
+        type: org.openecomp.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_pd_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_pd_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_pd_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_pd_server_pd01_port2:
+        type: org.openecomp.capabilities.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_pd01_port1:
+        type: org.openecomp.capabilities.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_pd_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.rate_pd_server_pd01_port2:
+        type: org.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_pd_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
+      host_pd_server:
+        type: tosca.capabilities.Container
+        valid_source_types:
+        - tosca.nodes.SoftwareComponent
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.write.requests.rate_pd_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_pd_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_pd_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.latency_pd_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_pd_server_pd01_port2:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.latency_pd_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_pd_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_pd_server_pd01_port1:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
+      disk.device.iops_pd_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
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/out/MainServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..1037ae4
--- /dev/null
@@ -0,0 +1,478 @@
+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:
+    pd_flavor_name:
+      label: PD flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of PD instance
+      default: m3.xlarge
+    availabilityzone_name:
+      label: availabilityzone name
+      hidden: false
+      immutable: false
+      type: string
+      description: availabilityzone name
+      default: nova
+    repl_net_ips:
+      label: repl network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: ips of repl network
+      default:
+      - 107.239.33.57
+      - 107.239.33.58
+      entry_schema:
+        type: string
+    sl_net_name:
+      label: silver lining network name
+      hidden: false
+      immutable: false
+      type: string
+      description: id of the sl network
+      default: exn_protected_net_0
+    pd_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: PD image name
+      default: MOG_BASE_8.0
+    pd_server_names:
+      label: PD server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the PD instance
+      default:
+      - ZRDM1MOGX01MPD001
+      - ZRDM1MOGX01MPD002
+      entry_schema:
+        type: string
+    sm_server_names:
+      label: SM server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the SM instance
+      default:
+      - ZRDM1MOGX01MSM001
+      - ZRDM1MOGX01MSM002
+      entry_schema:
+        type: string
+    dummy_net_netmask_1:
+      hidden: false
+      immutable: false
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    dummy_net_netmask_0:
+      hidden: false
+      immutable: false
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    ran_net_floating_ip:
+      label: mog ran net virtual ip
+      hidden: false
+      immutable: false
+      type: string
+      description: mog ran net virtual ip
+      default: 107.239.36.5
+    ran_net_ips:
+      label: RAN network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: RAN network ip
+      default:
+      - 107.239.36.3
+      - 107.239.36.4
+      entry_schema:
+        type: string
+    dummy_net_end_0:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal end
+      default: 169.254.1.254
+    oam_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: OAM image name
+      default: MOG_BASE_8.0
+    dummy_net_end_1:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal end
+      default: 169.254.2.254
+    oam_net_name:
+      label: oam network name
+      hidden: false
+      immutable: false
+      type: string
+      description: name of the oam network
+      default: oam_protected_net_0
+    oam_net_ips:
+      label: internet network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: ip of the OAM network
+      default:
+      - 107.250.172.213
+      - 107.250.172.214
+      - 107.250.172.215
+      - 107.250.172.216
+      - 107.250.172.217
+      entry_schema:
+        type: string
+    ran_net_name:
+      label: RAN network name
+      hidden: false
+      immutable: false
+      type: string
+      description: RAN network name
+      default: gn_direct_net_0
+    cluster-manager-vol-1:
+      label: mog-cm-vol-1
+      hidden: false
+      immutable: false
+      type: string
+      description: Cluster Manager volume 1
+      default: 43ccf5ba-2d50-427b-a38f-e8c7d8670eee
+    csb_net_netmask:
+      hidden: false
+      immutable: false
+      type: string
+      description: CSB internal network subnet mask
+      default: 255.255.255.0
+    oam_flavor_name:
+      label: OAM flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of OAM instance
+      default: m3.xlarge
+    dummy_net_start_0:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal start
+      default: 169.254.1.4
+    dummy_net_start_1:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal start
+      default: 169.254.2.4
+    cm_flavor_name:
+      label: CM flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of CM instance
+      default: m3.xlarge
+    sm_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: SM image name
+      default: MOG_BASE_8.0
+    ps_server_names:
+      label: PS server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the PS instance
+      default:
+      - ZRDM1MOGX01MPS001
+      - ZRDM1MOGX01MPS002
+      - ZRDM1MOGX01MPS003
+      - ZRDM1MOGX01MPS004
+      entry_schema:
+        type: string
+    csb_net_ips:
+      hidden: false
+      immutable: false
+      type: list
+      description: mog_csb_net IP addresses
+      default:
+      - 172.26.0.10
+      - 172.26.0.11
+      - 172.26.0.12
+      - 172.26.0.13
+      - 172.26.0.14
+      - 172.26.0.15
+      - 172.26.0.16
+      - 172.26.0.17
+      - 172.26.0.18
+      - 172.26.0.19
+      - 172.26.0.20
+      entry_schema:
+        type: string
+    ps_flavor_name:
+      label: PS flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of PS instance
+      default: m3.xlarge
+    rx_net_ips:
+      label: Rx network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: Rx network ips
+      default:
+      - 107.239.34.3
+      - 107.239.34.4
+      entry_schema:
+        type: string
+    dummy_net_name_1:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal network name
+      default: mog_dummy_1
+    dummy_net_cidr_1:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal cidr
+      default: 169.254.2.0/24
+    dummy_net_name_0:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal network name
+      default: mog_dummy_0
+    dummy_net_cidr_0:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal cidr
+      default: 169.254.1.0/24
+    oam-vol-2:
+      label: mog-oam-vol-2
+      hidden: false
+      immutable: false
+      type: string
+      description: OAM volume 2
+      default: 6d169cb6-6ddc-41dc-920c-2839898a2924
+    sl_net_floating_ip:
+      label: mog sl net virtual ip
+      hidden: false
+      immutable: false
+      type: string
+      description: mog sl net virtual ip
+      default: 107.239.45.6
+    session-manager-vol-1:
+      label: mog-sm-vol-1
+      hidden: false
+      immutable: false
+      type: string
+      description: Session Manager volume 1
+      default: 49201898-333d-4c88-b58d-cf573b091633
+    rx_net_floating_ip:
+      label: mog rx net virtual ip
+      hidden: false
+      immutable: false
+      type: string
+      description: mog rx net virtual ip
+      default: 107.239.34.5
+    session-manager-vol-2:
+      label: mog-sm-vol-2
+      hidden: false
+      immutable: false
+      type: string
+      description: Session Manager volume 2
+      default: 4c35b5f1-ce99-4220-a6e2-cda6e2d713a0
+    oam-vol-1:
+      label: mog-oam-vol-1
+      hidden: false
+      immutable: false
+      type: string
+      description: OAM volume 1
+      default: 0a7fcd9e-2624-401d-ac21-b0191f85ec77
+    csb_net_start:
+      label: csb internal start
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal start
+      default: 172.26.0.1
+    cm_image_name:
+      label: image name
+      hidden: false
+      immutable: false
+      type: string
+      description: CM image name
+      default: MOG_BASE_8.0
+    sm_flavor_name:
+      label: SM flavor name
+      hidden: false
+      immutable: false
+      type: string
+      description: flavor name of SM instance
+      default: m2.xlarge4
+    ps_image_name:
+      label: PS image name
+      hidden: false
+      immutable: false
+      type: string
+      description: PS image name
+      default: MOG_BASE_8.0
+    oam_server_names:
+      label: OAM server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the OAM instance
+      default:
+      - ZRDM1MOGX01OAM001
+      - ZRDM1MOGX01OAM002
+      entry_schema:
+        type: string
+    csb_net_cidr:
+      label: csb ineternal cidr
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal cidr
+      default: 172.26.0.0/24
+    cm_server_names:
+      label: CM server names
+      hidden: false
+      immutable: false
+      type: list
+      description: name of the CM instance
+      default:
+      - ZRDM1MOGX01MCM001
+      entry_schema:
+        type: string
+    sl_net_ips:
+      label: silver lining network ips
+      hidden: false
+      immutable: false
+      type: list
+      description: ips of the sl network
+      default:
+      - 107.239.45.4
+      - 107.239.45.5
+      entry_schema:
+        type: string
+    rx_net_name:
+      label: Rx network name
+      hidden: false
+      immutable: false
+      type: string
+      description: Rx network name
+      default: cor_direct_net_1
+    repl_net_name:
+      label: Replication network name
+      hidden: false
+      immutable: false
+      type: string
+      description: name of the replication network
+      default: cor_direct_net_0
+    security_group_name:
+      label: security group name
+      hidden: false
+      immutable: false
+      type: string
+      description: the name of security group
+      default: mog_security_group
+    csb_net_end:
+      label: csb internal end
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal end
+      default: 172.26.0.254
+    csb_net_name:
+      label: csb internal network name
+      hidden: false
+      immutable: false
+      type: string
+      description: csb internal network name
+      default: int_mog_csb_net
+  node_templates:
+    abstract_pd_server:
+      type: org.openecomp.resource.abstract.nodes.pd_server
+      directives:
+      - substitutable
+      properties:
+        port_pd01_port1_network:
+        - get_input: oam_net_name
+        port_pd01_port1_network_role_tag: oam
+        port_pd01_port1_mac_requirements:
+          mac_count_required:
+            is_required: false
+        port_pd01_port2_network:
+        - get_input: oam_net_name
+        port_pd01_port2_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        compute_pd_server_availability_zone:
+        - get_input: availabilityzone_name
+        compute_pd_server_name:
+        - get_input:
+          - pd_server_names
+          - 0
+        vm_flavor_name:
+          get_input: pd_flavor_name
+        port_pd01_port1_ip_requirements:
+        - ip_version: 4
+          ip_count_required:
+            is_required: false
+          floating_ip_count_required:
+            is_required: false
+        port_pd01_port2_network_role_tag: oam
+        port_pd01_port2_mac_requirements:
+          mac_count_required:
+            is_required: false
+        vm_image_name:
+          get_input: pd_image_name
+        compute_pd_server_user_data_format:
+        - RAW
+        service_template_filter:
+          substitute_service_template: Nested_pd_serverServiceTemplate.yaml
+          count: 1
+        index_value:
+          get_property:
+          - SELF
+          - service_template_filter
+          - index_value
+  groups:
+    hot-mog-0108-bs1271_group:
+      type: org.openecomp.groups.heat.HeatStack
+      properties:
+        heat_file: ../Artifacts/hot-mog-0108-bs1271.yml
+        description: heat template that creates MOG stack
+      members:
+      - abstract_pd_server
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/singleSubstitution/computewithtwosameporttypes4/out/Nested_pd_serverServiceTemplate.yaml
new file mode 100644 (file)
index 0000000..5bbc5b7
--- /dev/null
@@ -0,0 +1,394 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+  template_name: Nested_pd_server
+imports:
+- openecomp_heat_index:
+    file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+    file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+  org.openecomp.resource.vfc.compute.nodes.heat.pd_server:
+    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+  inputs:
+    port_pd01_port1_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd01_port1_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_pd01_port1_network_role_tag:
+      type: string
+      required: true
+    port_pd01_port1_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd01_port2_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd01_port2_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    index_value:
+      type: integer
+      description: Index value of this substitution service template runtime instance
+      required: false
+      default: 0
+      constraints:
+      - greater_or_equal: 0
+    compute_pd_server_availability_zone:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    compute_pd_server_name:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_pd01_port1_subnetpoolid:
+      type: string
+      required: true
+    port_pd01_port2_subnetpoolid:
+      type: string
+      required: true
+    port_pd01_port2_network_role:
+      type: string
+      required: true
+    vm_flavor_name:
+      type: string
+      required: true
+    port_pd01_port1_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
+    port_pd01_port1_order:
+      type: integer
+      required: true
+    port_pd01_port2_network_role_tag:
+      type: string
+      required: true
+    port_pd01_port1_network_role:
+      type: string
+      required: true
+    port_pd01_port2_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
+    port_pd01_port2_order:
+      type: integer
+      required: true
+    port_pd01_port1_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    vm_image_name:
+      type: string
+      required: true
+    port_pd01_port2_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
+    port_pd01_port2_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    compute_pd_server_user_data_format:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+  node_templates:
+    pd_server_pd01_port1:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd01_port1_exCP_naming
+        vlan_requirements:
+          get_input: port_pd01_port1_vlan_requirements
+        ip_requirements:
+          get_input: port_pd01_port1_ip_requirements
+        network_role_tag:
+          get_input: port_pd01_port1_network_role_tag
+        mac_requirements:
+          get_input: port_pd01_port1_mac_requirements
+        order:
+          get_input: port_pd01_port1_order
+        network_role:
+          get_input: port_pd01_port1_network_role
+        subnetpoolid:
+          get_input: port_pd01_port1_subnetpoolid
+        network:
+          get_input:
+          - port_pd01_port1_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server
+          relationship: tosca.relationships.network.BindsTo
+    pd_server:
+      type: org.openecomp.resource.vfc.compute.nodes.heat.pd_server
+      properties:
+        availability_zone:
+          get_input:
+          - compute_pd_server_availability_zone
+          - index_value
+        flavor:
+          get_input: vm_flavor_name
+        image:
+          get_input: vm_image_name
+        name:
+          get_input:
+          - compute_pd_server_name
+          - index_value
+        user_data_format:
+          get_input:
+          - compute_pd_server_user_data_format
+          - index_value
+    pd_server_pd01_port2:
+      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+      properties:
+        exCP_naming:
+          get_input: port_pd01_port2_exCP_naming
+        vlan_requirements:
+          get_input: port_pd01_port2_vlan_requirements
+        ip_requirements:
+          get_input: port_pd01_port2_ip_requirements
+        network_role_tag:
+          get_input: port_pd01_port2_network_role_tag
+        mac_requirements:
+          get_input: port_pd01_port2_mac_requirements
+        order:
+          get_input: port_pd01_port2_order
+        network_role:
+          get_input: port_pd01_port2_network_role
+        subnetpoolid:
+          get_input: port_pd01_port2_subnetpoolid
+        network:
+          get_input:
+          - port_pd01_port2_network
+          - index_value
+      requirements:
+      - binding:
+          capability: tosca.capabilities.network.Bindable
+          node: pd_server
+          relationship: tosca.relationships.network.BindsTo
+  substitution_mappings:
+    node_type: org.openecomp.resource.abstract.nodes.pd_server
+    capabilities:
+      scalable_pd_server:
+      - pd_server
+      - scalable
+      disk.read.bytes.rate_pd_server:
+      - pd_server
+      - disk.read.bytes.rate
+      memory.usage_pd_server:
+      - pd_server
+      - memory.usage
+      memory_pd_server:
+      - pd_server
+      - memory
+      disk.device.usage_pd_server:
+      - pd_server
+      - disk.device.usage
+      os_pd_server:
+      - pd_server
+      - os
+      disk.write.bytes.rate_pd_server:
+      - pd_server
+      - disk.write.bytes.rate
+      network.outpoing.packets_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - network.outpoing.packets
+      network.outpoing.packets_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - network.outpoing.packets
+      cpu_pd_server:
+      - pd_server
+      - cpu
+      cpu_util_pd_server:
+      - pd_server
+      - cpu_util
+      disk.device.write.requests.rate_pd_server:
+      - pd_server
+      - disk.device.write.requests.rate
+      disk.read.bytes_pd_server:
+      - pd_server
+      - disk.read.bytes
+      network.incoming.bytes_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - network.incoming.bytes
+      network.incoming.bytes_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - network.incoming.bytes
+      disk.device.read.bytes.rate_pd_server:
+      - pd_server
+      - disk.device.read.bytes.rate
+      disk.iops_pd_server:
+      - pd_server
+      - disk.iops
+      network.outgoing.bytes_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - network.outgoing.bytes
+      memory.resident_pd_server:
+      - pd_server
+      - memory.resident
+      cpu.delta_pd_server:
+      - pd_server
+      - cpu.delta
+      network.outgoing.bytes_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - network.outgoing.bytes
+      vcpus_pd_server:
+      - pd_server
+      - vcpus
+      disk.device.write.bytes.rate_pd_server:
+      - pd_server
+      - disk.device.write.bytes.rate
+      disk.device.write.requests_pd_server:
+      - pd_server
+      - disk.device.write.requests
+      endpoint_pd_server:
+      - pd_server
+      - endpoint
+      disk.capacity_pd_server:
+      - pd_server
+      - disk.capacity
+      network.outgoing.packets.rate_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - network.outgoing.packets.rate
+      disk.device.allocation_pd_server:
+      - pd_server
+      - disk.device.allocation
+      disk.allocation_pd_server:
+      - pd_server
+      - disk.allocation
+      network.outgoing.packets.rate_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - network.outgoing.packets.rate
+      network.incoming.packets_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - network.incoming.packets
+      binding_pd_server:
+      - pd_server
+      - binding
+      disk.read.requests_pd_server:
+      - pd_server
+      - disk.read.requests
+      network.incoming.packets_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - network.incoming.packets
+      feature_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - feature
+      feature_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - feature
+      feature_pd_server:
+      - pd_server
+      - feature
+      disk.usage_pd_server:
+      - pd_server
+      - disk.usage
+      network.outgoing.bytes.rate_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - network.outgoing.bytes.rate
+      network.outgoing.bytes.rate_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - network.outgoing.bytes.rate
+      disk.write.bytes_pd_server:
+      - pd_server
+      - disk.write.bytes
+      binding_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - binding
+      binding_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - binding
+      disk.device.read.requests.rate_pd_server:
+      - pd_server
+      - disk.device.read.requests.rate
+      network.incoming.packets.rate_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - network.incoming.packets.rate
+      disk.root.size_pd_server:
+      - pd_server
+      - disk.root.size
+      disk.device.read.bytes_pd_server:
+      - pd_server
+      - disk.device.read.bytes
+      disk.device.write.bytes_pd_server:
+      - pd_server
+      - disk.device.write.bytes
+      network.incoming.packets.rate_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - network.incoming.packets.rate
+      network.incoming.bytes.rate_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - network.incoming.bytes.rate
+      disk.device.read.requests_pd_server:
+      - pd_server
+      - disk.device.read.requests
+      network.incoming.bytes.rate_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - network.incoming.bytes.rate
+      instance_pd_server:
+      - pd_server
+      - instance
+      host_pd_server:
+      - pd_server
+      - host
+      disk.write.requests.rate_pd_server:
+      - pd_server
+      - disk.write.requests.rate
+      disk.ephemeral.size_pd_server:
+      - pd_server
+      - disk.ephemeral.size
+      disk.write.requests_pd_server:
+      - pd_server
+      - disk.write.requests
+      disk.device.latency_pd_server:
+      - pd_server
+      - disk.device.latency
+      attachment_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - attachment
+      disk.latency_pd_server:
+      - pd_server
+      - disk.latency
+      disk.device.capacity_pd_server:
+      - pd_server
+      - disk.device.capacity
+      attachment_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - attachment
+      disk.device.iops_pd_server:
+      - pd_server
+      - disk.device.iops
+    requirements:
+      dependency_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - dependency
+      local_storage_pd_server:
+      - pd_server
+      - local_storage
+      dependency_pd_server:
+      - pd_server
+      - dependency
+      dependency_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - dependency
+      link_pd_server_pd01_port2:
+      - pd_server_pd01_port2
+      - link
+      link_pd_server_pd01_port1:
+      - pd_server_pd01_port1
+      - link
index b994e51..ab82c14 100644 (file)
@@ -12,10 +12,6 @@ node_types:
         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
@@ -26,6 +22,10 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
+      port_FSB1_OAM_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
       compute_FSB1_metadata:
         type: list
         required: true
@@ -36,6 +36,16 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
+      port_FSB1_OAM_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_FSB1_OAM_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
       port_FSB2_Internal1_exCP_naming:
         type: org.openecomp.datatypes.Naming
         required: true
@@ -44,12 +54,6 @@ node_types:
         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
@@ -68,12 +72,6 @@ node_types:
         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
@@ -88,6 +86,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: org.openecomp.datatypes.network.VlanRequirements
+      port_FSB1_OAM_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
@@ -98,16 +102,6 @@ node_types:
         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
@@ -118,6 +112,10 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      port_FSB1_OAM_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
+        required: true
+        status: SUPPORTED
       port_FSB2_Internal2_mac_address:
         type: string
         required: true
@@ -126,20 +124,12 @@ node_types:
         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
@@ -160,11 +150,17 @@ node_types:
         status: SUPPORTED
         constraints:
         - greater_or_equal: 0
-      port_FSB_OAM_order:
+      port_FSB2_Internal2_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
+      port_FSB1_OAM_order:
         type: integer
         required: true
         status: SUPPORTED
-      port_FSB2_Internal2_network:
+      port_FSB1_OAM_network:
         type: list
         required: true
         status: SUPPORTED
@@ -196,12 +192,10 @@ node_types:
         type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
-      port_FSB_OAM_fixed_ips:
-        type: list
+      port_FSB1_OAM_network_role:
+        type: string
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
       port_FSB2_Internal2_order:
         type: integer
         required: true
@@ -210,12 +204,12 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      port_FSB1_Internal_mac_requirements:
-        type: org.openecomp.datatypes.network.MacRequirements
+      port_FSB1_OAM_network_role_tag:
+        type: string
         required: true
         status: SUPPORTED
-      port_FSB_OAM_exCP_naming:
-        type: org.openecomp.datatypes.Naming
+      port_FSB1_Internal_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
       compute_FSB1_name:
@@ -224,6 +218,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      port_FSB1_OAM_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     requirements:
     - dependency_FSB1_FSB1_Internal:
         capability: tosca.capabilities.Node
@@ -238,14 +238,14 @@ node_types:
         occurrences:
         - 1
         - 1
-    - dependency_FSB1_FSB_OAM:
+    - dependency_FSB1_FSB1_OAM:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_FSB1_FSB_OAM:
+    - link_FSB1_FSB1_OAM:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -292,13 +292,13 @@ node_types:
         - 1
         - 1
     capabilities:
-      network.outgoing.packets.rate_FSB1_FSB_OAM:
+      network.incoming.packets_FSB1_FSB2_Internal2:
         type: org.openecomp.capabilities.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_FSB1_FSB2_Internal2:
+      network.incoming.bytes.rate_FSB1_FSB1_OAM:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -310,18 +310,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      attachment_FSB1_FSB_OAM:
-        type: tosca.capabilities.Attachment
+      network.outgoing.bytes_FSB1_FSB1_OAM:
+        type: org.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_FSB1_FSB_OAM:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
       disk.capacity_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -370,13 +364,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.root.size_FSB1:
+      network.outgoing.bytes.rate_FSB1_FSB1_OAM:
         type: org.openecomp.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_FSB1_FSB_OAM:
+      disk.root.size_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -405,12 +399,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_FSB1_FSB_OAM:
-        type: tosca.capabilities.Node
+      memory.resident_FSB1:
+        type: org.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_FSB1:
+      network.incoming.packets.rate_FSB1_FSB1_OAM:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -435,6 +430,11 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      feature_FSB1_FSB1_OAM:
+        type: tosca.capabilities.Node
+        occurrences:
+        - 1
+        - UNBOUNDED
       binding_FSB1_FSB2_Internal2:
         type: tosca.capabilities.network.Bindable
         valid_source_types:
@@ -448,12 +448,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_FSB1_FSB_OAM:
-        type: org.openecomp.capabilities.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_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -535,12 +529,24 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_FSB1_FSB_OAM:
+      network.outgoing.packets.rate_FSB1_FSB1_OAM:
         type: org.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_FSB1_FSB1_OAM:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      attachment_FSB1_FSB1_OAM:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
       network.incoming.bytes_FSB1_FSB2_Internal2:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -564,25 +570,25 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      memory_FSB1:
+      network.incoming.bytes_FSB1_FSB1_OAM:
         type: org.openecomp.capabilities.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_FSB1_FSB_OAM:
+      memory_FSB1:
         type: org.openecomp.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_FSB1_FSB1_Internal:
+      network.incoming.packets_FSB1_FSB1_OAM:
         type: org.openecomp.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_FSB1_FSB_OAM:
+      network.outpoing.packets_FSB1_FSB1_Internal:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -617,6 +623,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outpoing.packets_FSB1_FSB1_OAM:
+        type: org.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_FSB1:
         type: tosca.capabilities.Container
         valid_source_types:
@@ -647,12 +659,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_FSB1_FSB_OAM:
-        type: org.openecomp.capabilities.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_FSB1_FSB2_Internal2:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -760,12 +766,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets_FSB1_FSB_OAM:
-        type: org.openecomp.capabilities.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_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
index 583f92a..3506a90 100644 (file)
@@ -14,9 +14,6 @@ topology_template:
     port_FSB1_Internal_mac_address:
       type: string
       required: true
-    port_FSB_OAM_network_role_tag:
-      type: string
-      required: true
     port_FSB1_Internal_ip_requirements:
       type: list
       required: true
@@ -25,6 +22,9 @@ topology_template:
     port_FSB1_Internal_subnetpoolid:
       type: string
       required: true
+    port_FSB1_OAM_subnetpoolid:
+      type: string
+      required: true
     compute_FSB1_metadata:
       type: list
       required: true
@@ -33,17 +33,20 @@ topology_template:
     port_FSB2_Internal2_network_role_tag:
       type: string
       required: true
+    port_FSB1_OAM_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_FSB1_OAM_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
     port_FSB2_Internal1_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
     vm_flavor_name:
       type: string
       required: true
-    port_FSB_OAM_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
     port_FSB2_Internal2_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
@@ -58,11 +61,6 @@ topology_template:
     port_FSB2_Internal1_network_role:
       type: string
       required: true
-    port_FSB_OAM_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
     port_FSB1_Internal_network_role_tag:
       type: string
       required: true
@@ -74,6 +72,11 @@ topology_template:
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.VlanRequirements
+    port_FSB1_OAM_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
     port_FSB1_Internal_vlan_requirements:
       type: list
       required: true
@@ -82,14 +85,6 @@ topology_template:
     port_FSB1_Internal_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
-    port_FSB_OAM_network_role:
-      type: string
-      required: true
-    port_FSB_OAM_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
     port_FSB1_Internal_network_role:
       type: string
       required: true
@@ -98,23 +93,20 @@ topology_template:
       required: true
       entry_schema:
         type: string
+    port_FSB1_OAM_mac_requirements:
+      type: org.openecomp.datatypes.network.MacRequirements
+      required: true
     port_FSB2_Internal2_mac_address:
       type: string
       required: true
     port_FSB2_Internal2_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
-    port_FSB_OAM_subnetpoolid:
-      type: string
-      required: true
     port_FSB2_Internal2_ip_requirements:
       type: list
       required: true
       entry_schema:
         type: org.openecomp.datatypes.network.IpRequirements
-    port_FSB_OAM_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
     compute_FSB1_availability_zone:
       type: list
       required: true
@@ -132,10 +124,15 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_FSB_OAM_order:
+    port_FSB2_Internal2_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
+    port_FSB1_OAM_order:
       type: integer
       required: true
-    port_FSB2_Internal2_network:
+    port_FSB1_OAM_network:
       type: list
       required: true
       entry_schema:
@@ -160,28 +157,31 @@ topology_template:
     port_FSB2_Internal1_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
-    port_FSB_OAM_fixed_ips:
-      type: list
+    port_FSB1_OAM_network_role:
+      type: string
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     port_FSB2_Internal2_order:
       type: integer
       required: true
     port_FSB2_Internal1_subnetpoolid:
       type: string
       required: true
+    port_FSB1_OAM_network_role_tag:
+      type: string
+      required: true
     port_FSB1_Internal_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
-    port_FSB_OAM_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
     compute_FSB1_name:
       type: list
       required: true
       entry_schema:
         type: string
+    port_FSB1_OAM_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
   node_templates:
     FSB1_FSB1_Internal:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
@@ -213,30 +213,30 @@ topology_template:
           capability: tosca.capabilities.network.Bindable
           node: FSB1
           relationship: tosca.relationships.network.BindsTo
-    FSB1_FSB_OAM:
+    FSB1_FSB1_OAM:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_FSB_OAM_exCP_naming
+          get_input: port_FSB1_OAM_exCP_naming
         vlan_requirements:
-          get_input: port_FSB_OAM_vlan_requirements
+          get_input: port_FSB1_OAM_vlan_requirements
         ip_requirements:
-          get_input: port_FSB_OAM_ip_requirements
+          get_input: port_FSB1_OAM_ip_requirements
         network_role_tag:
-          get_input: port_FSB_OAM_network_role_tag
+          get_input: port_FSB1_OAM_network_role_tag
         mac_requirements:
-          get_input: port_FSB_OAM_mac_requirements
+          get_input: port_FSB1_OAM_mac_requirements
         order:
-          get_input: port_FSB_OAM_order
+          get_input: port_FSB1_OAM_order
         network_role:
-          get_input: port_FSB_OAM_network_role
+          get_input: port_FSB1_OAM_network_role
         subnetpoolid:
-          get_input: port_FSB_OAM_subnetpoolid
+          get_input: port_FSB1_OAM_subnetpoolid
         fixed_ips:
-          get_input: port_FSB_OAM_fixed_ips
+          get_input: port_FSB1_OAM_fixed_ips
         network:
           get_input:
-          - port_FSB_OAM_network
+          - port_FSB1_OAM_network
           - index_value
       requirements:
       - binding:
@@ -330,21 +330,18 @@ topology_template:
   substitution_mappings:
     node_type: org.openecomp.resource.abstract.nodes.FSB1
     capabilities:
-      network.outgoing.packets.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.packets.rate
       network.incoming.packets_FSB1_FSB2_Internal2:
       - FSB1_FSB2_Internal2
       - network.incoming.packets
+      network.incoming.bytes.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.bytes.rate
       network.incoming.packets_FSB1_FSB2_Internal1:
       - FSB1_FSB2_Internal1
       - network.incoming.packets
-      attachment_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - attachment
-      binding_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - binding
+      network.outgoing.bytes_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.bytes
       disk.capacity_FSB1:
       - FSB1
       - disk.capacity
@@ -369,12 +366,12 @@ topology_template:
       disk.device.write.requests.rate_FSB1:
       - FSB1
       - disk.device.write.requests.rate
+      network.outgoing.bytes.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.bytes.rate
       disk.root.size_FSB1:
       - FSB1
       - disk.root.size
-      network.outgoing.bytes.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.bytes.rate
       feature_FSB1:
       - FSB1
       - feature
@@ -387,12 +384,12 @@ topology_template:
       network.outgoing.bytes_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - network.outgoing.bytes
-      feature_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - feature
       memory.resident_FSB1:
       - FSB1
       - memory.resident
+      network.incoming.packets.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.packets.rate
       cpu_FSB1:
       - FSB1
       - cpu
@@ -402,15 +399,15 @@ topology_template:
       disk.write.requests.rate_FSB1:
       - FSB1
       - disk.write.requests.rate
+      feature_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - feature
       binding_FSB1_FSB2_Internal2:
       - FSB1_FSB2_Internal2
       - binding
       instance_FSB1:
       - FSB1
       - instance
-      network.incoming.bytes_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.bytes
       disk.device.read.bytes.rate_FSB1:
       - FSB1
       - disk.device.read.bytes.rate
@@ -453,9 +450,15 @@ topology_template:
       network.incoming.packets.rate_FSB1_FSB2_Internal1:
       - FSB1_FSB2_Internal1
       - network.incoming.packets.rate
-      network.outpoing.packets_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outpoing.packets
+      network.outgoing.packets.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.packets.rate
+      binding_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - binding
+      attachment_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - attachment
       network.incoming.bytes_FSB1_FSB2_Internal2:
       - FSB1_FSB2_Internal2
       - network.incoming.bytes
@@ -468,18 +471,18 @@ topology_template:
       attachment_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - attachment
+      network.incoming.bytes_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.bytes
       memory_FSB1:
       - FSB1
       - memory
-      network.incoming.bytes.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.bytes.rate
+      network.incoming.packets_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.packets
       network.outpoing.packets_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - network.outpoing.packets
-      network.outgoing.bytes_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.bytes
       disk.device.read.bytes_FSB1:
       - FSB1
       - disk.device.read.bytes
@@ -495,6 +498,9 @@ topology_template:
       disk.usage_FSB1:
       - FSB1
       - disk.usage
+      network.outpoing.packets_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outpoing.packets
       host_FSB1:
       - FSB1
       - host
@@ -510,9 +516,6 @@ topology_template:
       disk.write.requests_FSB1:
       - FSB1
       - disk.write.requests
-      network.incoming.packets.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.packets.rate
       network.incoming.bytes.rate_FSB1_FSB2_Internal2:
       - FSB1_FSB2_Internal2
       - network.incoming.bytes.rate
@@ -567,9 +570,6 @@ topology_template:
       disk.read.requests_FSB1:
       - FSB1
       - disk.read.requests
-      network.incoming.packets_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.packets
       disk.device.write.requests_FSB1:
       - FSB1
       - disk.device.write.requests
@@ -586,6 +586,12 @@ topology_template:
       - FSB1
       - disk.device.iops
     requirements:
+      link_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - link
+      dependency_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - dependency
       dependency_FSB1:
       - FSB1
       - dependency
@@ -601,12 +607,6 @@ topology_template:
       local_storage_FSB1:
       - FSB1
       - local_storage
-      dependency_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - dependency
-      link_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - link
       dependency_FSB1_FSB2_Internal2:
       - FSB1_FSB2_Internal2
       - dependency
index 3061694..ee57af5 100644 (file)
@@ -12,10 +12,6 @@ node_types:
         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
@@ -26,6 +22,10 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
+      port_FSB1_OAM_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
       compute_FSB1_metadata:
         type: list
         required: true
@@ -42,6 +42,16 @@ node_types:
         type: integer
         required: true
         status: SUPPORTED
+      port_FSB1_OAM_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_FSB1_OAM_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
       port_FSB2_Internal_ip_requirements:
         type: list
         required: true
@@ -52,26 +62,20 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      port_FSB_OAM_vlan_requirements:
-        type: list
+      port_FSB2_Internal_network_role:
+        type: string
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
-      port_FSB2_Internal_network_role:
+      port_FSB1_Internal_network_role_tag:
         type: string
         required: true
         status: SUPPORTED
-      port_FSB_OAM_ip_requirements:
+      port_FSB1_OAM_vlan_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
+          type: org.openecomp.datatypes.network.VlanRequirements
       port_FSB1_Internal_vlan_requirements:
         type: list
         required: true
@@ -86,25 +90,11 @@ node_types:
         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:
+      port_FSB1_OAM_mac_requirements:
         type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
@@ -128,7 +118,7 @@ node_types:
         status: SUPPORTED
         constraints:
         - greater_or_equal: 0
-      port_FSB_OAM_order:
+      port_FSB1_OAM_order:
         type: integer
         required: true
         status: SUPPORTED
@@ -140,6 +130,12 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
+      port_FSB1_OAM_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
       port_FSB2_Internal_exCP_naming:
         type: org.openecomp.datatypes.Naming
         required: true
@@ -148,24 +144,22 @@ node_types:
         type: integer
         required: true
         status: SUPPORTED
-      port_FSB_OAM_fixed_ips:
-        type: list
+      port_FSB1_OAM_network_role:
+        type: string
         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
+      port_FSB1_OAM_network_role_tag:
+        type: string
         required: true
         status: SUPPORTED
-      port_FSB_OAM_exCP_naming:
-        type: org.openecomp.datatypes.Naming
+      port_FSB1_Internal_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
       compute_FSB1_name:
@@ -174,6 +168,12 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      port_FSB1_OAM_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
       port_FSB2_Internal_network_role_tag:
         type: string
         required: true
@@ -205,14 +205,14 @@ node_types:
         occurrences:
         - 1
         - 1
-    - dependency_FSB1_FSB_OAM:
+    - dependency_FSB1_FSB1_OAM:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_FSB1_FSB_OAM:
+    - link_FSB1_FSB1_OAM:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -233,24 +233,18 @@ node_types:
         - 0
         - UNBOUNDED
     capabilities:
-      network.outgoing.packets.rate_FSB1_FSB_OAM:
+      network.incoming.bytes.rate_FSB1_FSB1_OAM:
         type: org.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_FSB1_FSB_OAM:
-        type: tosca.capabilities.Attachment
+      network.outgoing.bytes_FSB1_FSB1_OAM:
+        type: org.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_FSB1_FSB_OAM:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
       binding_FSB1_FSB2_Internal:
         type: tosca.capabilities.network.Bindable
         valid_source_types:
@@ -306,13 +300,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.root.size_FSB1:
+      network.outgoing.bytes.rate_FSB1_FSB1_OAM:
         type: org.openecomp.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_FSB1_FSB_OAM:
+      disk.root.size_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -351,12 +345,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_FSB1_FSB_OAM:
-        type: tosca.capabilities.Node
+      memory.resident_FSB1:
+        type: org.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_FSB1:
+      network.incoming.packets.rate_FSB1_FSB1_OAM:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -380,13 +375,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      instance_FSB1:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      feature_FSB1_FSB1_OAM:
+        type: tosca.capabilities.Node
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_FSB1_FSB_OAM:
+      instance_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -451,12 +445,24 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_FSB1_FSB_OAM:
+      network.outgoing.packets.rate_FSB1_FSB1_OAM:
         type: org.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_FSB1_FSB1_OAM:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      attachment_FSB1_FSB1_OAM:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
       network.incoming.packets_FSB1_FSB1_Internal:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -468,31 +474,31 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      memory_FSB1:
+      network.incoming.bytes_FSB1_FSB1_OAM:
         type: org.openecomp.capabilities.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_FSB1_FSB_OAM:
+      memory_FSB1:
         type: org.openecomp.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_FSB1_FSB1_Internal:
+      network.incoming.packets_FSB1_FSB1_OAM:
         type: org.openecomp.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_FSB1_FSB2_Internal:
+      network.outpoing.packets_FSB1_FSB1_Internal:
         type: org.openecomp.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_FSB1_FSB_OAM:
+      network.outgoing.bytes.rate_FSB1_FSB2_Internal:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -527,6 +533,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outpoing.packets_FSB1_FSB1_OAM:
+        type: org.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_FSB1:
         type: tosca.capabilities.Container
         valid_source_types:
@@ -557,12 +569,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_FSB1_FSB_OAM:
-        type: org.openecomp.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_FSB1_FSB2_Internal:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -628,12 +634,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets_FSB1_FSB_OAM:
-        type: org.openecomp.capabilities.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_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
index 10f6fd2..372637f 100644 (file)
@@ -14,9 +14,6 @@ topology_template:
     port_FSB1_Internal_mac_address:
       type: string
       required: true
-    port_FSB_OAM_network_role_tag:
-      type: string
-      required: true
     port_FSB1_Internal_ip_requirements:
       type: list
       required: true
@@ -25,6 +22,9 @@ topology_template:
     port_FSB1_Internal_subnetpoolid:
       type: string
       required: true
+    port_FSB1_OAM_subnetpoolid:
+      type: string
+      required: true
     compute_FSB1_metadata:
       type: list
       required: true
@@ -38,6 +38,14 @@ topology_template:
     port_FSB2_Internal_order:
       type: integer
       required: true
+    port_FSB1_OAM_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_FSB1_OAM_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
     port_FSB2_Internal_ip_requirements:
       type: list
       required: true
@@ -46,22 +54,17 @@ topology_template:
     vm_flavor_name:
       type: string
       required: true
-    port_FSB_OAM_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
     port_FSB2_Internal_network_role:
       type: string
       required: true
-    port_FSB_OAM_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
     port_FSB1_Internal_network_role_tag:
       type: string
       required: true
+    port_FSB1_OAM_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
     port_FSB1_Internal_vlan_requirements:
       type: list
       required: true
@@ -73,21 +76,10 @@ topology_template:
     port_FSB1_Internal_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
-    port_FSB_OAM_network_role:
-      type: string
-      required: true
-    port_FSB_OAM_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
     port_FSB1_Internal_network_role:
       type: string
       required: true
-    port_FSB_OAM_subnetpoolid:
-      type: string
-      required: true
-    port_FSB_OAM_mac_requirements:
+    port_FSB1_OAM_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
     compute_FSB1_availability_zone:
@@ -107,7 +99,7 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_FSB_OAM_order:
+    port_FSB1_OAM_order:
       type: integer
       required: true
     port_FSB2_Internal_mac_requirements:
@@ -116,33 +108,41 @@ topology_template:
     port_FSB2_Internal_mac_address:
       type: string
       required: true
+    port_FSB1_OAM_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
     port_FSB2_Internal_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
     port_FSB1_Internal_order:
       type: integer
       required: true
-    port_FSB_OAM_fixed_ips:
-      type: list
+    port_FSB1_OAM_network_role:
+      type: string
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     port_FSB2_Internal_network:
       type: list
       required: true
       entry_schema:
         type: string
+    port_FSB1_OAM_network_role_tag:
+      type: string
+      required: true
     port_FSB1_Internal_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
-    port_FSB_OAM_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
     compute_FSB1_name:
       type: list
       required: true
       entry_schema:
         type: string
+    port_FSB1_OAM_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     port_FSB2_Internal_network_role_tag:
       type: string
       required: true
@@ -207,30 +207,30 @@ topology_template:
           capability: tosca.capabilities.network.Bindable
           node: FSB1
           relationship: tosca.relationships.network.BindsTo
-    FSB1_FSB_OAM:
+    FSB1_FSB1_OAM:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_FSB_OAM_exCP_naming
+          get_input: port_FSB1_OAM_exCP_naming
         vlan_requirements:
-          get_input: port_FSB_OAM_vlan_requirements
+          get_input: port_FSB1_OAM_vlan_requirements
         ip_requirements:
-          get_input: port_FSB_OAM_ip_requirements
+          get_input: port_FSB1_OAM_ip_requirements
         network_role_tag:
-          get_input: port_FSB_OAM_network_role_tag
+          get_input: port_FSB1_OAM_network_role_tag
         mac_requirements:
-          get_input: port_FSB_OAM_mac_requirements
+          get_input: port_FSB1_OAM_mac_requirements
         order:
-          get_input: port_FSB_OAM_order
+          get_input: port_FSB1_OAM_order
         network_role:
-          get_input: port_FSB_OAM_network_role
+          get_input: port_FSB1_OAM_network_role
         subnetpoolid:
-          get_input: port_FSB_OAM_subnetpoolid
+          get_input: port_FSB1_OAM_subnetpoolid
         fixed_ips:
-          get_input: port_FSB_OAM_fixed_ips
+          get_input: port_FSB1_OAM_fixed_ips
         network:
           get_input:
-          - port_FSB_OAM_network
+          - port_FSB1_OAM_network
           - index_value
       requirements:
       - binding:
@@ -264,15 +264,12 @@ topology_template:
   substitution_mappings:
     node_type: org.openecomp.resource.abstract.nodes.FSB1
     capabilities:
-      network.outgoing.packets.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.packets.rate
-      attachment_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - attachment
-      binding_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - binding
+      network.incoming.bytes.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.bytes.rate
+      network.outgoing.bytes_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.bytes
       binding_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - binding
@@ -300,12 +297,12 @@ topology_template:
       disk.device.write.requests.rate_FSB1:
       - FSB1
       - disk.device.write.requests.rate
+      network.outgoing.bytes.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.bytes.rate
       disk.root.size_FSB1:
       - FSB1
       - disk.root.size
-      network.outgoing.bytes.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.bytes.rate
       feature_FSB1:
       - FSB1
       - feature
@@ -324,12 +321,12 @@ topology_template:
       network.incoming.packets_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.incoming.packets
-      feature_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - feature
       memory.resident_FSB1:
       - FSB1
       - memory.resident
+      network.incoming.packets.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.packets.rate
       network.incoming.packets.rate_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.incoming.packets.rate
@@ -339,12 +336,12 @@ topology_template:
       disk.write.requests.rate_FSB1:
       - FSB1
       - disk.write.requests.rate
+      feature_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - feature
       instance_FSB1:
       - FSB1
       - instance
-      network.incoming.bytes_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.bytes
       disk.device.read.bytes.rate_FSB1:
       - FSB1
       - disk.device.read.bytes.rate
@@ -375,30 +372,36 @@ topology_template:
       disk.device.write.bytes_FSB1:
       - FSB1
       - disk.device.write.bytes
-      network.outpoing.packets_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outpoing.packets
+      network.outgoing.packets.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.packets.rate
+      binding_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - binding
+      attachment_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - attachment
       network.incoming.packets_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - network.incoming.packets
       attachment_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - attachment
+      network.incoming.bytes_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.bytes
       memory_FSB1:
       - FSB1
       - memory
-      network.incoming.bytes.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.bytes.rate
+      network.incoming.packets_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.packets
       network.outpoing.packets_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - network.outpoing.packets
       network.outgoing.bytes.rate_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.outgoing.bytes.rate
-      network.outgoing.bytes_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.bytes
       disk.device.read.bytes_FSB1:
       - FSB1
       - disk.device.read.bytes
@@ -414,6 +417,9 @@ topology_template:
       disk.usage_FSB1:
       - FSB1
       - disk.usage
+      network.outpoing.packets_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outpoing.packets
       host_FSB1:
       - FSB1
       - host
@@ -429,9 +435,6 @@ topology_template:
       disk.write.requests_FSB1:
       - FSB1
       - disk.write.requests
-      network.incoming.packets.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.packets.rate
       network.outgoing.bytes_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.outgoing.bytes
@@ -465,9 +468,6 @@ topology_template:
       disk.read.requests_FSB1:
       - FSB1
       - disk.read.requests
-      network.incoming.packets_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.packets
       disk.device.write.requests_FSB1:
       - FSB1
       - disk.device.write.requests
@@ -487,6 +487,12 @@ topology_template:
       - FSB1
       - disk.device.iops
     requirements:
+      link_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - link
+      dependency_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - dependency
       dependency_FSB1:
       - FSB1
       - dependency
@@ -502,12 +508,6 @@ topology_template:
       local_storage_FSB1:
       - FSB1
       - local_storage
-      dependency_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - dependency
-      link_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - link
       dependency_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - dependency
index a42219e..b11b6f0 100644 (file)
@@ -12,10 +12,6 @@ node_types:
         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
@@ -26,6 +22,10 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
+      port_FSB1_OAM_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
       compute_FSB1_metadata:
         type: list
         required: true
@@ -42,6 +42,16 @@ node_types:
         type: integer
         required: true
         status: SUPPORTED
+      port_FSB1_OAM_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_FSB1_OAM_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
       port_FSB2_Internal_ip_requirements:
         type: list
         required: true
@@ -52,26 +62,20 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      port_FSB_OAM_vlan_requirements:
-        type: list
+      port_FSB2_Internal_network_role:
+        type: string
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
-      port_FSB2_Internal_network_role:
+      port_FSB1_Internal_network_role_tag:
         type: string
         required: true
         status: SUPPORTED
-      port_FSB_OAM_ip_requirements:
+      port_FSB1_OAM_vlan_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
+          type: org.openecomp.datatypes.network.VlanRequirements
       port_FSB1_Internal_vlan_requirements:
         type: list
         required: true
@@ -86,25 +90,11 @@ node_types:
         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:
+      port_FSB1_OAM_mac_requirements:
         type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
@@ -128,7 +118,7 @@ node_types:
         status: SUPPORTED
         constraints:
         - greater_or_equal: 0
-      port_FSB_OAM_order:
+      port_FSB1_OAM_order:
         type: integer
         required: true
         status: SUPPORTED
@@ -140,6 +130,12 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
+      port_FSB1_OAM_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
       port_FSB2_Internal_exCP_naming:
         type: org.openecomp.datatypes.Naming
         required: true
@@ -148,24 +144,22 @@ node_types:
         type: integer
         required: true
         status: SUPPORTED
-      port_FSB_OAM_fixed_ips:
-        type: list
+      port_FSB1_OAM_network_role:
+        type: string
         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
+      port_FSB1_OAM_network_role_tag:
+        type: string
         required: true
         status: SUPPORTED
-      port_FSB_OAM_exCP_naming:
-        type: org.openecomp.datatypes.Naming
+      port_FSB1_Internal_mac_requirements:
+        type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
       compute_FSB1_name:
@@ -174,14 +168,17 @@ node_types:
         status: SUPPORTED
         entry_schema:
           type: string
+      port_FSB1_OAM_fixed_ips:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
       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
@@ -191,6 +188,9 @@ node_types:
       FSB1_accessIPv6:
         type: string
         status: SUPPORTED
+      FSB1_FSB1_OAM_status:
+        type: string
+        status: SUPPORTED
       FSB1_addresses:
         type: map
         status: SUPPORTED
@@ -229,14 +229,14 @@ node_types:
         occurrences:
         - 1
         - 1
-    - dependency_FSB1_FSB_OAM:
+    - dependency_FSB1_FSB1_OAM:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_FSB1_FSB_OAM:
+    - link_FSB1_FSB1_OAM:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -257,24 +257,18 @@ node_types:
         - 0
         - UNBOUNDED
     capabilities:
-      network.outgoing.packets.rate_FSB1_FSB_OAM:
+      network.incoming.bytes.rate_FSB1_FSB1_OAM:
         type: org.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_FSB1_FSB_OAM:
-        type: tosca.capabilities.Attachment
+      network.outgoing.bytes_FSB1_FSB1_OAM:
+        type: org.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_FSB1_FSB_OAM:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
       binding_FSB1_FSB2_Internal:
         type: tosca.capabilities.network.Bindable
         valid_source_types:
@@ -330,13 +324,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.root.size_FSB1:
+      network.outgoing.bytes.rate_FSB1_FSB1_OAM:
         type: org.openecomp.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_FSB1_FSB_OAM:
+      disk.root.size_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -375,12 +369,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_FSB1_FSB_OAM:
-        type: tosca.capabilities.Node
+      memory.resident_FSB1:
+        type: org.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_FSB1:
+      network.incoming.packets.rate_FSB1_FSB1_OAM:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -404,13 +399,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      instance_FSB1:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      feature_FSB1_FSB1_OAM:
+        type: tosca.capabilities.Node
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_FSB1_FSB_OAM:
+      instance_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -475,12 +469,24 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_FSB1_FSB_OAM:
+      network.outgoing.packets.rate_FSB1_FSB1_OAM:
         type: org.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_FSB1_FSB1_OAM:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      attachment_FSB1_FSB1_OAM:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
       network.incoming.packets_FSB1_FSB1_Internal:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -492,31 +498,31 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      memory_FSB1:
+      network.incoming.bytes_FSB1_FSB1_OAM:
         type: org.openecomp.capabilities.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_FSB1_FSB_OAM:
+      memory_FSB1:
         type: org.openecomp.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_FSB1_FSB1_Internal:
+      network.incoming.packets_FSB1_FSB1_OAM:
         type: org.openecomp.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_FSB1_FSB2_Internal:
+      network.outpoing.packets_FSB1_FSB1_Internal:
         type: org.openecomp.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_FSB1_FSB_OAM:
+      network.outgoing.bytes.rate_FSB1_FSB2_Internal:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -551,6 +557,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outpoing.packets_FSB1_FSB1_OAM:
+        type: org.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_FSB1:
         type: tosca.capabilities.Container
         valid_source_types:
@@ -581,12 +593,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_FSB1_FSB_OAM:
-        type: org.openecomp.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_FSB1_FSB2_Internal:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -652,12 +658,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets_FSB1_FSB_OAM:
-        type: org.openecomp.capabilities.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_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
index b9e572a..3d5452f 100644 (file)
@@ -14,9 +14,6 @@ topology_template:
     port_FSB1_Internal_mac_address:
       type: string
       required: true
-    port_FSB_OAM_network_role_tag:
-      type: string
-      required: true
     port_FSB1_Internal_ip_requirements:
       type: list
       required: true
@@ -25,6 +22,9 @@ topology_template:
     port_FSB1_Internal_subnetpoolid:
       type: string
       required: true
+    port_FSB1_OAM_subnetpoolid:
+      type: string
+      required: true
     compute_FSB1_metadata:
       type: list
       required: true
@@ -38,6 +38,14 @@ topology_template:
     port_FSB2_Internal_order:
       type: integer
       required: true
+    port_FSB1_OAM_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_FSB1_OAM_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
     port_FSB2_Internal_ip_requirements:
       type: list
       required: true
@@ -46,22 +54,17 @@ topology_template:
     vm_flavor_name:
       type: string
       required: true
-    port_FSB_OAM_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
     port_FSB2_Internal_network_role:
       type: string
       required: true
-    port_FSB_OAM_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
     port_FSB1_Internal_network_role_tag:
       type: string
       required: true
+    port_FSB1_OAM_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
     port_FSB1_Internal_vlan_requirements:
       type: list
       required: true
@@ -73,21 +76,10 @@ topology_template:
     port_FSB1_Internal_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
-    port_FSB_OAM_network_role:
-      type: string
-      required: true
-    port_FSB_OAM_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
     port_FSB1_Internal_network_role:
       type: string
       required: true
-    port_FSB_OAM_subnetpoolid:
-      type: string
-      required: true
-    port_FSB_OAM_mac_requirements:
+    port_FSB1_OAM_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
     compute_FSB1_availability_zone:
@@ -107,7 +99,7 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_FSB_OAM_order:
+    port_FSB1_OAM_order:
       type: integer
       required: true
     port_FSB2_Internal_mac_requirements:
@@ -116,33 +108,41 @@ topology_template:
     port_FSB2_Internal_mac_address:
       type: string
       required: true
+    port_FSB1_OAM_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
     port_FSB2_Internal_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
     port_FSB1_Internal_order:
       type: integer
       required: true
-    port_FSB_OAM_fixed_ips:
-      type: list
+    port_FSB1_OAM_network_role:
+      type: string
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     port_FSB2_Internal_network:
       type: list
       required: true
       entry_schema:
         type: string
+    port_FSB1_OAM_network_role_tag:
+      type: string
+      required: true
     port_FSB1_Internal_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
-    port_FSB_OAM_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
     compute_FSB1_name:
       type: list
       required: true
       entry_schema:
         type: string
+    port_FSB1_OAM_fixed_ips:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     port_FSB2_Internal_network_role_tag:
       type: string
       required: true
@@ -207,30 +207,30 @@ topology_template:
           capability: tosca.capabilities.network.Bindable
           node: FSB1
           relationship: tosca.relationships.network.BindsTo
-    FSB1_FSB_OAM:
+    FSB1_FSB1_OAM:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_FSB_OAM_exCP_naming
+          get_input: port_FSB1_OAM_exCP_naming
         vlan_requirements:
-          get_input: port_FSB_OAM_vlan_requirements
+          get_input: port_FSB1_OAM_vlan_requirements
         ip_requirements:
-          get_input: port_FSB_OAM_ip_requirements
+          get_input: port_FSB1_OAM_ip_requirements
         network_role_tag:
-          get_input: port_FSB_OAM_network_role_tag
+          get_input: port_FSB1_OAM_network_role_tag
         mac_requirements:
-          get_input: port_FSB_OAM_mac_requirements
+          get_input: port_FSB1_OAM_mac_requirements
         order:
-          get_input: port_FSB_OAM_order
+          get_input: port_FSB1_OAM_order
         network_role:
-          get_input: port_FSB_OAM_network_role
+          get_input: port_FSB1_OAM_network_role
         subnetpoolid:
-          get_input: port_FSB_OAM_subnetpoolid
+          get_input: port_FSB1_OAM_subnetpoolid
         fixed_ips:
-          get_input: port_FSB_OAM_fixed_ips
+          get_input: port_FSB1_OAM_fixed_ips
         network:
           get_input:
-          - port_FSB_OAM_network
+          - port_FSB1_OAM_network
           - index_value
       requirements:
       - binding:
@@ -262,12 +262,6 @@ topology_template:
           type: tosca.artifacts.Deployment
           file: ../Artifacts/nimbus-ethernet
   outputs:
-    FSB1_FSB_OAM_status:
-      type: string
-      value:
-        get_attribute:
-        - FSB1_FSB_OAM
-        - status
     FSB1_FSB2_Internal_tenant_id:
       type: string
       value:
@@ -286,6 +280,12 @@ topology_template:
         get_attribute:
         - FSB1
         - accessIPv6
+    FSB1_FSB1_OAM_status:
+      type: string
+      value:
+        get_attribute:
+        - FSB1_FSB1_OAM
+        - status
     FSB1_addresses:
       type: map
       value:
@@ -309,15 +309,12 @@ topology_template:
   substitution_mappings:
     node_type: org.openecomp.resource.abstract.nodes.FSB1
     capabilities:
-      network.outgoing.packets.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.packets.rate
-      attachment_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - attachment
-      binding_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - binding
+      network.incoming.bytes.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.bytes.rate
+      network.outgoing.bytes_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.bytes
       binding_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - binding
@@ -345,12 +342,12 @@ topology_template:
       disk.device.write.requests.rate_FSB1:
       - FSB1
       - disk.device.write.requests.rate
+      network.outgoing.bytes.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.bytes.rate
       disk.root.size_FSB1:
       - FSB1
       - disk.root.size
-      network.outgoing.bytes.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.bytes.rate
       feature_FSB1:
       - FSB1
       - feature
@@ -369,12 +366,12 @@ topology_template:
       network.incoming.packets_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.incoming.packets
-      feature_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - feature
       memory.resident_FSB1:
       - FSB1
       - memory.resident
+      network.incoming.packets.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.packets.rate
       network.incoming.packets.rate_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.incoming.packets.rate
@@ -384,12 +381,12 @@ topology_template:
       disk.write.requests.rate_FSB1:
       - FSB1
       - disk.write.requests.rate
+      feature_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - feature
       instance_FSB1:
       - FSB1
       - instance
-      network.incoming.bytes_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.bytes
       disk.device.read.bytes.rate_FSB1:
       - FSB1
       - disk.device.read.bytes.rate
@@ -420,30 +417,36 @@ topology_template:
       disk.device.write.bytes_FSB1:
       - FSB1
       - disk.device.write.bytes
-      network.outpoing.packets_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outpoing.packets
+      network.outgoing.packets.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.packets.rate
+      binding_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - binding
+      attachment_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - attachment
       network.incoming.packets_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - network.incoming.packets
       attachment_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - attachment
+      network.incoming.bytes_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.bytes
       memory_FSB1:
       - FSB1
       - memory
-      network.incoming.bytes.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.bytes.rate
+      network.incoming.packets_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.packets
       network.outpoing.packets_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - network.outpoing.packets
       network.outgoing.bytes.rate_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.outgoing.bytes.rate
-      network.outgoing.bytes_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.bytes
       disk.device.read.bytes_FSB1:
       - FSB1
       - disk.device.read.bytes
@@ -459,6 +462,9 @@ topology_template:
       disk.usage_FSB1:
       - FSB1
       - disk.usage
+      network.outpoing.packets_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outpoing.packets
       host_FSB1:
       - FSB1
       - host
@@ -474,9 +480,6 @@ topology_template:
       disk.write.requests_FSB1:
       - FSB1
       - disk.write.requests
-      network.incoming.packets.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.packets.rate
       network.outgoing.bytes_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.outgoing.bytes
@@ -510,9 +513,6 @@ topology_template:
       disk.read.requests_FSB1:
       - FSB1
       - disk.read.requests
-      network.incoming.packets_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.packets
       disk.device.write.requests_FSB1:
       - FSB1
       - disk.device.write.requests
@@ -532,6 +532,12 @@ topology_template:
       - FSB1
       - disk.device.iops
     requirements:
+      link_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - link
+      dependency_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - dependency
       dependency_FSB1:
       - FSB1
       - dependency
@@ -547,12 +553,6 @@ topology_template:
       local_storage_FSB1:
       - FSB1
       - local_storage
-      dependency_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - dependency
-      link_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - link
       dependency_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - dependency
index d2ea7e9..1066c6e 100644 (file)
@@ -12,10 +12,6 @@ node_types:
         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
@@ -26,6 +22,10 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
+      port_FSB1_OAM_subnetpoolid:
+        type: string
+        required: true
+        status: SUPPORTED
       port_FSB2_Internal_vlan_requirements:
         type: list
         required: true
@@ -36,6 +36,16 @@ node_types:
         type: integer
         required: true
         status: SUPPORTED
+      port_FSB1_OAM_exCP_naming:
+        type: org.openecomp.datatypes.Naming
+        required: true
+        status: SUPPORTED
+      port_FSB1_OAM_ip_requirements:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.network.IpRequirements
       port_FSB2_Internal_ip_requirements:
         type: list
         required: true
@@ -46,26 +56,20 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
-      port_FSB_OAM_vlan_requirements:
-        type: list
+      port_FSB2_Internal_network_role:
+        type: string
         required: true
         status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
-      port_FSB2_Internal_network_role:
+      port_FSB1_Internal_network_role_tag:
         type: string
         required: true
         status: SUPPORTED
-      port_FSB_OAM_ip_requirements:
+      port_FSB1_OAM_vlan_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
+          type: org.openecomp.datatypes.network.VlanRequirements
       port_FSB1_Internal_vlan_requirements:
         type: list
         required: true
@@ -80,25 +84,11 @@ node_types:
         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:
+      port_FSB1_OAM_mac_requirements:
         type: org.openecomp.datatypes.network.MacRequirements
         required: true
         status: SUPPORTED
@@ -116,7 +106,7 @@ node_types:
         status: SUPPORTED
         constraints:
         - greater_or_equal: 0
-      port_FSB_OAM_order:
+      port_FSB1_OAM_order:
         type: integer
         required: true
         status: SUPPORTED
@@ -128,6 +118,12 @@ node_types:
         type: string
         required: true
         status: SUPPORTED
+      port_FSB1_OAM_network:
+        type: list
+        required: true
+        status: SUPPORTED
+        entry_schema:
+          type: string
       port_FSB2_Internal_exCP_naming:
         type: org.openecomp.datatypes.Naming
         required: true
@@ -136,34 +132,35 @@ node_types:
         type: integer
         required: true
         status: SUPPORTED
-      port_FSB_OAM_fixed_ips:
-        type: list
+      port_FSB1_OAM_network_role:
+        type: string
         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_OAM_network_role_tag:
+        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
+      port_FSB1_OAM_fixed_ips:
+        type: list
         required: true
         status: SUPPORTED
+        entry_schema:
+          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
       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
@@ -173,6 +170,9 @@ node_types:
       FSB1_accessIPv6:
         type: string
         status: SUPPORTED
+      FSB1_FSB1_OAM_status:
+        type: string
+        status: SUPPORTED
       FSB1_addresses:
         type: map
         status: SUPPORTED
@@ -211,14 +211,14 @@ node_types:
         occurrences:
         - 1
         - 1
-    - dependency_FSB1_FSB_OAM:
+    - dependency_FSB1_FSB1_OAM:
         capability: tosca.capabilities.Node
         node: tosca.nodes.Root
         relationship: tosca.relationships.DependsOn
         occurrences:
         - 0
         - UNBOUNDED
-    - link_FSB1_FSB_OAM:
+    - link_FSB1_FSB1_OAM:
         capability: tosca.capabilities.network.Linkable
         relationship: tosca.relationships.network.LinksTo
         occurrences:
@@ -239,24 +239,18 @@ node_types:
         - 0
         - UNBOUNDED
     capabilities:
-      network.outgoing.packets.rate_FSB1_FSB_OAM:
+      network.incoming.bytes.rate_FSB1_FSB1_OAM:
         type: org.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_FSB1_FSB_OAM:
-        type: tosca.capabilities.Attachment
+      network.outgoing.bytes_FSB1_FSB1_OAM:
+        type: org.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_FSB1_FSB_OAM:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
       binding_FSB1_FSB2_Internal:
         type: tosca.capabilities.network.Bindable
         valid_source_types:
@@ -312,13 +306,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      disk.root.size_FSB1:
+      network.outgoing.bytes.rate_FSB1_FSB1_OAM:
         type: org.openecomp.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_FSB1_FSB_OAM:
+      disk.root.size_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -357,12 +351,13 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      feature_FSB1_FSB_OAM:
-        type: tosca.capabilities.Node
+      memory.resident_FSB1:
+        type: org.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_FSB1:
+      network.incoming.packets.rate_FSB1_FSB1_OAM:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -386,13 +381,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      instance_FSB1:
-        type: org.openecomp.capabilities.metric.Ceilometer
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+      feature_FSB1_FSB1_OAM:
+        type: tosca.capabilities.Node
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.bytes_FSB1_FSB_OAM:
+      instance_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -457,12 +451,24 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.outpoing.packets_FSB1_FSB_OAM:
+      network.outgoing.packets.rate_FSB1_FSB1_OAM:
         type: org.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_FSB1_FSB1_OAM:
+        type: tosca.capabilities.network.Bindable
+        valid_source_types:
+        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+        occurrences:
+        - 0
+        - UNBOUNDED
+      attachment_FSB1_FSB1_OAM:
+        type: tosca.capabilities.Attachment
+        occurrences:
+        - 1
+        - UNBOUNDED
       network.incoming.packets_FSB1_FSB1_Internal:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -474,31 +480,31 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      memory_FSB1:
+      network.incoming.bytes_FSB1_FSB1_OAM:
         type: org.openecomp.capabilities.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_FSB1_FSB_OAM:
+      memory_FSB1:
         type: org.openecomp.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_FSB1_FSB1_Internal:
+      network.incoming.packets_FSB1_FSB1_OAM:
         type: org.openecomp.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_FSB1_FSB2_Internal:
+      network.outpoing.packets_FSB1_FSB1_Internal:
         type: org.openecomp.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_FSB1_FSB_OAM:
+      network.outgoing.bytes.rate_FSB1_FSB2_Internal:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
         occurrences:
@@ -533,6 +539,12 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
+      network.outpoing.packets_FSB1_FSB1_OAM:
+        type: org.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_FSB1:
         type: tosca.capabilities.Container
         valid_source_types:
@@ -563,12 +575,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets.rate_FSB1_FSB_OAM:
-        type: org.openecomp.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_FSB1_FSB2_Internal:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
@@ -634,12 +640,6 @@ node_types:
         occurrences:
         - 1
         - UNBOUNDED
-      network.incoming.packets_FSB1_FSB_OAM:
-        type: org.openecomp.capabilities.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_FSB1:
         type: org.openecomp.capabilities.metric.Ceilometer
         description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
index 7112a17..d72f1f9 100644 (file)
@@ -14,9 +14,6 @@ topology_template:
     port_FSB1_Internal_mac_address:
       type: string
       required: true
-    port_FSB_OAM_network_role_tag:
-      type: string
-      required: true
     port_FSB1_Internal_ip_requirements:
       type: list
       required: true
@@ -25,6 +22,9 @@ topology_template:
     port_FSB1_Internal_subnetpoolid:
       type: string
       required: true
+    port_FSB1_OAM_subnetpoolid:
+      type: string
+      required: true
     port_FSB2_Internal_vlan_requirements:
       type: list
       required: true
@@ -33,6 +33,14 @@ topology_template:
     port_FSB2_Internal_order:
       type: integer
       required: true
+    port_FSB1_OAM_exCP_naming:
+      type: org.openecomp.datatypes.Naming
+      required: true
+    port_FSB1_OAM_ip_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.IpRequirements
     port_FSB2_Internal_ip_requirements:
       type: list
       required: true
@@ -41,22 +49,17 @@ topology_template:
     vm_flavor_name:
       type: string
       required: true
-    port_FSB_OAM_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
     port_FSB2_Internal_network_role:
       type: string
       required: true
-    port_FSB_OAM_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
     port_FSB1_Internal_network_role_tag:
       type: string
       required: true
+    port_FSB1_OAM_vlan_requirements:
+      type: list
+      required: true
+      entry_schema:
+        type: org.openecomp.datatypes.network.VlanRequirements
     port_FSB1_Internal_vlan_requirements:
       type: list
       required: true
@@ -68,21 +71,10 @@ topology_template:
     port_FSB1_Internal_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
-    port_FSB_OAM_network_role:
-      type: string
-      required: true
-    port_FSB_OAM_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
     port_FSB1_Internal_network_role:
       type: string
       required: true
-    port_FSB_OAM_subnetpoolid:
-      type: string
-      required: true
-    port_FSB_OAM_mac_requirements:
+    port_FSB1_OAM_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
     port_FSB1_Internal_network:
@@ -97,7 +89,7 @@ topology_template:
       default: 0
       constraints:
       - greater_or_equal: 0
-    port_FSB_OAM_order:
+    port_FSB1_OAM_order:
       type: integer
       required: true
     port_FSB2_Internal_mac_requirements:
@@ -106,28 +98,36 @@ topology_template:
     port_FSB2_Internal_mac_address:
       type: string
       required: true
+    port_FSB1_OAM_network:
+      type: list
+      required: true
+      entry_schema:
+        type: string
     port_FSB2_Internal_exCP_naming:
       type: org.openecomp.datatypes.Naming
       required: true
     port_FSB1_Internal_order:
       type: integer
       required: true
-    port_FSB_OAM_fixed_ips:
-      type: list
+    port_FSB1_OAM_network_role:
+      type: string
       required: true
-      entry_schema:
-        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     port_FSB2_Internal_network:
       type: list
       required: true
       entry_schema:
         type: string
+    port_FSB1_OAM_network_role_tag:
+      type: string
+      required: true
     port_FSB1_Internal_mac_requirements:
       type: org.openecomp.datatypes.network.MacRequirements
       required: true
-    port_FSB_OAM_exCP_naming:
-      type: org.openecomp.datatypes.Naming
+    port_FSB1_OAM_fixed_ips:
+      type: list
       required: true
+      entry_schema:
+        type: org.openecomp.datatypes.heat.neutron.port.FixedIps
     port_FSB2_Internal_network_role_tag:
       type: string
       required: true
@@ -192,30 +192,30 @@ topology_template:
           capability: tosca.capabilities.network.Bindable
           node: FSB1
           relationship: tosca.relationships.network.BindsTo
-    FSB1_FSB_OAM:
+    FSB1_FSB1_OAM:
       type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
       properties:
         exCP_naming:
-          get_input: port_FSB_OAM_exCP_naming
+          get_input: port_FSB1_OAM_exCP_naming
         vlan_requirements:
-          get_input: port_FSB_OAM_vlan_requirements
+          get_input: port_FSB1_OAM_vlan_requirements
         ip_requirements:
-          get_input: port_FSB_OAM_ip_requirements
+          get_input: port_FSB1_OAM_ip_requirements
         network_role_tag:
-          get_input: port_FSB_OAM_network_role_tag
+          get_input: port_FSB1_OAM_network_role_tag
         mac_requirements:
-          get_input: port_FSB_OAM_mac_requirements
+          get_input: port_FSB1_OAM_mac_requirements
         order:
-          get_input: port_FSB_OAM_order
+          get_input: port_FSB1_OAM_order
         network_role:
-          get_input: port_FSB_OAM_network_role
+          get_input: port_FSB1_OAM_network_role
         subnetpoolid:
-          get_input: port_FSB_OAM_subnetpoolid
+          get_input: port_FSB1_OAM_subnetpoolid
         fixed_ips:
-          get_input: port_FSB_OAM_fixed_ips
+          get_input: port_FSB1_OAM_fixed_ips
         network:
           get_input:
-          - port_FSB_OAM_network
+          - port_FSB1_OAM_network
           - index_value
       requirements:
       - binding:
@@ -242,12 +242,6 @@ topology_template:
           type: tosca.artifacts.Deployment
           file: ../Artifacts/nimbus-ethernet
   outputs:
-    FSB1_FSB_OAM_status:
-      type: string
-      value:
-        get_attribute:
-        - FSB1_FSB_OAM
-        - status
     FSB1_FSB2_Internal_tenant_id:
       type: string
       value:
@@ -266,6 +260,12 @@ topology_template:
         get_attribute:
         - FSB1
         - accessIPv6
+    FSB1_FSB1_OAM_status:
+      type: string
+      value:
+        get_attribute:
+        - FSB1_FSB1_OAM
+        - status
     FSB1_addresses:
       type: map
       value:
@@ -289,15 +289,12 @@ topology_template:
   substitution_mappings:
     node_type: org.openecomp.resource.abstract.nodes.FSB1
     capabilities:
-      network.outgoing.packets.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.packets.rate
-      attachment_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - attachment
-      binding_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - binding
+      network.incoming.bytes.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.bytes.rate
+      network.outgoing.bytes_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.bytes
       binding_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - binding
@@ -325,12 +322,12 @@ topology_template:
       disk.device.write.requests.rate_FSB1:
       - FSB1
       - disk.device.write.requests.rate
+      network.outgoing.bytes.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.bytes.rate
       disk.root.size_FSB1:
       - FSB1
       - disk.root.size
-      network.outgoing.bytes.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.bytes.rate
       feature_FSB1:
       - FSB1
       - feature
@@ -349,12 +346,12 @@ topology_template:
       network.incoming.packets_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.incoming.packets
-      feature_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - feature
       memory.resident_FSB1:
       - FSB1
       - memory.resident
+      network.incoming.packets.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.packets.rate
       network.incoming.packets.rate_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.incoming.packets.rate
@@ -364,12 +361,12 @@ topology_template:
       disk.write.requests.rate_FSB1:
       - FSB1
       - disk.write.requests.rate
+      feature_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - feature
       instance_FSB1:
       - FSB1
       - instance
-      network.incoming.bytes_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.bytes
       disk.device.read.bytes.rate_FSB1:
       - FSB1
       - disk.device.read.bytes.rate
@@ -400,30 +397,36 @@ topology_template:
       disk.device.write.bytes_FSB1:
       - FSB1
       - disk.device.write.bytes
-      network.outpoing.packets_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outpoing.packets
+      network.outgoing.packets.rate_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outgoing.packets.rate
+      binding_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - binding
+      attachment_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - attachment
       network.incoming.packets_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - network.incoming.packets
       attachment_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - attachment
+      network.incoming.bytes_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.bytes
       memory_FSB1:
       - FSB1
       - memory
-      network.incoming.bytes.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.bytes.rate
+      network.incoming.packets_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.incoming.packets
       network.outpoing.packets_FSB1_FSB1_Internal:
       - FSB1_FSB1_Internal
       - network.outpoing.packets
       network.outgoing.bytes.rate_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.outgoing.bytes.rate
-      network.outgoing.bytes_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.outgoing.bytes
       disk.device.read.bytes_FSB1:
       - FSB1
       - disk.device.read.bytes
@@ -439,6 +442,9 @@ topology_template:
       disk.usage_FSB1:
       - FSB1
       - disk.usage
+      network.outpoing.packets_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - network.outpoing.packets
       host_FSB1:
       - FSB1
       - host
@@ -454,9 +460,6 @@ topology_template:
       disk.write.requests_FSB1:
       - FSB1
       - disk.write.requests
-      network.incoming.packets.rate_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.packets.rate
       network.outgoing.bytes_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - network.outgoing.bytes
@@ -490,9 +493,6 @@ topology_template:
       disk.read.requests_FSB1:
       - FSB1
       - disk.read.requests
-      network.incoming.packets_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - network.incoming.packets
       disk.device.write.requests_FSB1:
       - FSB1
       - disk.device.write.requests
@@ -512,6 +512,12 @@ topology_template:
       - FSB1
       - disk.device.iops
     requirements:
+      link_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - link
+      dependency_FSB1_FSB1_OAM:
+      - FSB1_FSB1_OAM
+      - dependency
       dependency_FSB1:
       - FSB1
       - dependency
@@ -527,12 +533,6 @@ topology_template:
       local_storage_FSB1:
       - FSB1
       - local_storage
-      dependency_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - dependency
-      link_FSB1_FSB_OAM:
-      - FSB1_FSB_OAM
-      - link
       dependency_FSB1_FSB2_Internal:
       - FSB1_FSB2_Internal
       - dependency
index 01656bf..7912c41 100644 (file)
@@ -187,15 +187,12 @@ topology_template:
           get_input: fsb-image
         compute_FSB_admin_pass:
         - STATIC-DATA-FSB1
-        port_FSB_OAM_network:
-        - jsa_net1
         port_FSB1_Internal_network:
         - Internal1-net
         port_FSB2_Internal_mac_address:
           get_input: fsb1-Internal2-mac
-        port_FSB_OAM_fixed_ips:
-        - ip_address:
-            get_input: fsb1-oam-ip
+        port_FSB1_OAM_network:
+        - jsa_net1
         port_FSB2_Internal_network:
         - Internal2-net
         compute_FSB_metadata:
@@ -204,6 +201,9 @@ topology_template:
           - path: /path2/etc/sysconfig/network-scripts/ifcfg-eth1
         compute_FSB_availability_zone:
         - get_input: fsb1_zone
+        port_FSB1_OAM_fixed_ips:
+        - ip_address:
+            get_input: fsb1-oam-ip
         compute_FSB_name:
         - get_input: fsb1-name
         service_template_filter:
index 61fb3fe..c6362e3 100644 (file)
@@ -181,15 +181,12 @@ topology_template:
           get_input: fsb-image
         compute_FSB_admin_pass:
         - STATIC-DATA-FSB1
-        port_FSB_OAM_network:
-        - jsa_net1
         port_FSB1_Internal_network:
         - Internal1-net
         port_FSB2_Internal_mac_address:
           get_input: fsb1-Internal2-mac
-        port_FSB_OAM_fixed_ips:
-        - ip_address:
-            get_input: fsb1-oam-ip
+        port_FSB1_OAM_network:
+        - jsa_net1
         port_FSB2_Internal_network:
         - Internal2-net
         compute_FSB_metadata:
@@ -198,6 +195,9 @@ topology_template:
           - path: /path2/etc/sysconfig/network-scripts/ifcfg-eth1
         compute_FSB_availability_zone:
         - get_input: fsb1_zone
+        port_FSB1_OAM_fixed_ips:
+        - ip_address:
+            get_input: fsb1-oam-ip
         compute_FSB_name:
         - get_input: fsb1-name
         service_template_filter:
@@ -217,7 +217,7 @@ topology_template:
           capability: tosca.capabilities.network.Linkable
           node: jsa_net1
           relationship: tosca.relationships.network.LinksTo
-      - link_FSB_FSB_OAM:
+      - link_FSB_FSB1_OAM:
           capability: tosca.capabilities.network.Linkable
           node: jsa_net1
           relationship: tosca.relationships.network.LinksTo
index f5dd565..4452393 100644 (file)
@@ -201,15 +201,12 @@ topology_template:
           get_input: fsb-image
         compute_FSB_admin_pass:
         - STATIC-DATA-FSB1
-        port_FSB_OAM_network:
-        - jsa_net1
         port_FSB1_Internal_network:
         - Internal1-net
         port_FSB2_Internal_mac_address:
           get_input: fsb1-Internal2-mac
-        port_FSB_OAM_fixed_ips:
-        - ip_address:
-            get_input: fsb1-oam-ip
+        port_FSB1_OAM_network:
+        - jsa_net1
         port_FSB2_Internal_network:
         - Internal2-net
         compute_FSB_metadata:
@@ -218,6 +215,9 @@ topology_template:
           - path: /path2/etc/sysconfig/network-scripts/ifcfg-eth1
         compute_FSB_availability_zone:
         - get_input: fsb1_zone
+        port_FSB1_OAM_fixed_ips:
+        - ip_address:
+            get_input: fsb1-oam-ip
         compute_FSB_name:
         - get_input: fsb1-name
         service_template_filter:
@@ -237,7 +237,7 @@ topology_template:
           capability: tosca.capabilities.network.Linkable
           node: jsa_net1
           relationship: tosca.relationships.network.LinksTo
-      - link_FSB_FSB_OAM:
+      - link_FSB_FSB1_OAM:
           capability: tosca.capabilities.network.Linkable
           node: jsa_net1
           relationship: tosca.relationships.network.LinksTo