Remove onboarding BE redundant healers 01/27201/1
authortalig <talig@amdocs.com>
Mon, 1 Jan 2018 12:52:01 +0000 (14:52 +0200)
committertalig <talig@amdocs.com>
Mon, 1 Jan 2018 12:52:01 +0000 (14:52 +0200)
Change-Id: I6b849608e64f88c6b91b1bc772fdb33aaa7e8245
Issue-ID: SDC-845
Signed-off-by: talig <talig@amdocs.com>
34 files changed:
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/resources/healingConfiguration.json [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/CompositionDataHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/HeatToToscaTranslationHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/NicDataHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/SubEntitiesQuestionnaireHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ValidationStructureHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspQuestionnaireHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealerTest.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealerTest.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealerTest.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/testHealers/data/TestDescriptionHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/testHealers/structure/TestNewEntityInVspHealer.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/util/TestUtil.java [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/capabilities.yml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/nodes.yml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/relationships.yml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/capabilities.yml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/nodes.yml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/relationships.yml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testNoPorts/in/Nested_pd_serverServiceTemplate.yaml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testNoPorts/out/Nested_pd_serverServiceTemplate.yaml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingContrailPort/in/Nested_pd_serverServiceTemplate.yaml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingContrailPort/out/Nested_pd_serverServiceTemplate.yaml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtContrailPort/in/Nested_pd_serverServiceTemplate.yaml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtContrailPort/out/Nested_pd_serverServiceTemplate.yaml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtNeutronPort/in/Nested_pd_serverServiceTemplate.yaml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtNeutronPort/out/Nested_pd_serverServiceTemplate.yaml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingNeutronPort/in/Nested_pd_serverServiceTemplate.yaml [deleted file]
openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingNeutronPort/out/Nested_pd_serverServiceTemplate.yaml [deleted file]

diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/resources/healingConfiguration.json b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/resources/healingConfiguration.json
deleted file mode 100644 (file)
index 85eec77..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-    "VendorSoftwareProduct" : {
-      "VSP_OWNER_HEALER" : "org.openecomp.sdc.healing.healers.VspOwnerHealer",
-      "FILE_DATA_STRUCTURE_HEALER" : "org.openecomp.sdc.healing.healers.FileDataStructureHealer",
-      "QUESTIONNAIRE_HEALER" : "org.openecomp.sdc.healing.healers.VspQuestionnaireHealer",
-      "COMPOSITION_DATA_HEALER" : "org.openecomp.sdc.healing.healers.CompositionDataHealer",
-      "SUB_ENTITIES_HEALER" : "org.openecomp.sdc.healing.healers.SubEntitiesQuestionnaireHealer",
-      "ONBOARDING_METHOD_HEALER" : "org.openecomp.sdc.healing.healers.VspOnboardingMethodHealer",
-      "NIC_DATA_HEALER" : "org.openecomp.sdc.healing.healers.NicDataHealer",
-      "COMPONENT_QUESTIONNAIRE_HEALER" : "org.openecomp.sdc.healing.healers.ComponentQuestionnaireHealer",
-      "HEAT_TOSCA_TRANSLATION_HEALER" : "org.openecomp.sdc.healing.healers.HeatToToscaTranslationHealer",
-      "VLM_VERSION_HEALER" : "org.openecomp.sdc.healing.healers.VlmVersionHealer",
-      "VALIDATION_STRUCTURE_HEALER" : "org.openecomp.sdc.healing.healers.ValidationStructureHealer",
-      "FORWARDER_CAPABILITY_HEALER" : "org.openecomp.sdc.healing.healers.ForwarderCapabilityHealer"
-    },
-    "VendorLicenseModel" : {
-      "VLM_OWNER_HEALER" : "org.openecomp.sdc.healing.healers.VlmOwnerHealer"
-    }
-}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java
deleted file mode 100644 (file)
index 83395e0..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import org.apache.commons.lang3.StringUtils;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Collection;
-import java.util.Objects;
-
-
-public class ComponentQuestionnaireHealer implements Healer {
-
-  private static final String GENERAL = "general";
-  private static final String IMAGE = "image";
-  private static final String FORMAT = "format";
-  private static final String CPU_OVER_SUBSCRIPTION_RATIO = "CpuOverSubscriptionRatio";
-  private static final String MEMORY_RAM = "MemoryRAM";
-  private static final String VM_SIZING = "vmSizing";
-  private static final String COMPUTE = "compute";
-  private static final String NUM_OF_VMS = "numOfVMs";
-  private static final String DISK = "disk";
-  private static final String IO_OP_PER_SEC = "IOOperationsPerSec";
-  private static final String COMPUTE_CPU_OVER_SUBSCRIPTION_RATIO = "cpuOverSubscriptionRatio";
-  private static final String COMPUTE_MEMORY_RAM = "memoryRAM";
-  private static final String COMPUTE_IO_OP_PER_SEC = "ioOperationsPerSec";
-  private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-  private final ComponentDao componentDao;
-  private final ComputeDao computeDao;
-  private final ImageDao imageDao;
-
-  public ComponentQuestionnaireHealer() {
-    this.componentDao = ComponentDaoFactory.getInstance().createInterface();
-    this.computeDao = ComputeDaoFactory.getInstance().createInterface();
-    this.imageDao = ImageDaoFactory.getInstance().createInterface();
-  }
-
-  public ComponentQuestionnaireHealer(ComponentDao componentDao,
-                                      ComputeDao computeDao, ImageDao imageDao) {
-    this.componentDao = componentDao;
-    this.computeDao = computeDao;
-    this.imageDao = imageDao;
-  }
-
-  @Override
-  public Object heal(String vspId, Version version) throws Exception {
-    mdcDataDebugMessage.debugEntryMessage("VSP ID", vspId);
-
-    Collection<ComponentEntity> componentEntities =
-        componentDao.list(new ComponentEntity(vspId, version, null));
-    componentEntities.forEach(componentEntity -> {
-      ComponentEntity componentQuestionnaireData =
-          componentDao.getQuestionnaireData(vspId, version, componentEntity.getId());
-      String questionnaire = Objects.isNull(componentQuestionnaireData) ? null
-          : componentQuestionnaireData.getQuestionnaireData();
-
-      if (StringUtils.isNotBlank(questionnaire)) {
-        JsonParser jsonParser = new JsonParser();
-        JsonObject json = (JsonObject) jsonParser.parse(questionnaire);
-
-        Collection<ComputeEntity> computeEntities = computeDao.list(new ComputeEntity(vspId,
-            version, componentEntity.getId(), null));
-        populateComputeQuestionnaire(json, computeEntities);
-
-        Collection<ImageEntity> imageEntities = imageDao.list(new ImageEntity(vspId,
-            version, componentEntity.getId(), null));
-        populateImageQuestionnaire(json, imageEntities);
-
-        processDiskAttribute(json, "bootDiskSizePerVM");
-        processDiskAttribute(json, "ephemeralDiskSizePerVM");
-
-        String questionnaireData = json.toString();
-        componentEntity.setQuestionnaireData(questionnaireData); //Added to validate data in Junit
-
-        componentDao.updateQuestionnaireData(vspId, version, componentEntity.getId(),
-            questionnaireData);
-      }
-    });
-    return componentEntities;
-  }
-
-  /**
-   * Move Disk Atributes from genral/image/  to genral/disk in component questionnaire itself
-   *
-   * @param json Component Json
-   * @param diskAttrName Name of disk attribute
-   */
-  private void processDiskAttribute(JsonObject json, String diskAttrName) {
-    boolean isBootDisksizePerVM = isDiskAttributePresent(json, diskAttrName);
-    if (isBootDisksizePerVM) {
-      JsonObject diskJsonObject = json.getAsJsonObject(GENERAL).getAsJsonObject(DISK);
-      if (diskJsonObject == null) {
-        diskJsonObject = new JsonObject();
-      }
-
-      diskJsonObject.addProperty(diskAttrName, json.getAsJsonObject(GENERAL).getAsJsonObject(IMAGE)
-          .get(diskAttrName).getAsNumber());
-
-      json.getAsJsonObject(GENERAL).add(DISK, diskJsonObject);
-      json.getAsJsonObject(GENERAL).getAsJsonObject(IMAGE).remove(diskAttrName);
-    }
-  }
-
-  private boolean isDiskAttributePresent(JsonObject json, String diskAttrName) {
-    return json.getAsJsonObject(GENERAL) != null
-        && json.getAsJsonObject(GENERAL).getAsJsonObject(IMAGE) != null
-        && json.getAsJsonObject(GENERAL).getAsJsonObject(IMAGE).get(diskAttrName)
-            != null;
-  }
-
-  /**
-   * Move the required attributes from component to Image Questionnaire
-   *
-   * @param json Component Json
-   * @param imageEntities All images present in component
-   */
-  private void populateImageQuestionnaire(JsonObject json, Collection<ImageEntity> imageEntities) {
-    JsonObject general = getJsonObject(json, GENERAL);
-    boolean isImageFormat = general != null && json
-        .getAsJsonObject(GENERAL)
-        .getAsJsonObject(IMAGE) != null && json.getAsJsonObject(GENERAL).getAsJsonObject(IMAGE)
-        .get(FORMAT) != null;
-    if (isImageFormat) {
-      JsonObject image = getJsonObject(general, IMAGE);
-      JsonElement jsonElement = image.get(FORMAT);
-      JsonObject jsonObject = new JsonObject();
-      jsonObject.add(FORMAT, jsonElement);
-      imageEntities.forEach(imageEntity -> imageDao.updateQuestionnaireData(imageEntity.getVspId(),
-          imageEntity.getVersion(), imageEntity.getComponentId(),
-          imageEntity.getId(), jsonObject.toString()));
-      image.remove(FORMAT);
-    }
-  }
-
-  private void populateComputeQuestionnaire(JsonObject json, Collection<ComputeEntity>
-      computeEntities) {
-    JsonObject compute = getJsonObject(json, COMPUTE);
-    if (compute != null) {
-      JsonObject vmSizing = handleVmSizing(compute);
-      vmSizing = handleNumOfVm(compute, vmSizing);
-
-      if (vmSizing != null) {
-        JsonObject computeQuestionnaireJsonObject = new JsonObject();
-        computeQuestionnaireJsonObject.add(VM_SIZING, vmSizing);
-        String computeQuestionnaire = computeQuestionnaireJsonObject.toString();
-        computeEntities.forEach(
-            computeEntity -> computeDao.updateQuestionnaireData(computeEntity.getVspId(),
-                computeEntity.getVersion(), computeEntity.getComponentId(),
-                computeEntity.getId(), computeQuestionnaire));
-      }
-    }
-  }
-
-  private JsonObject handleVmSizing(JsonObject compute) {
-    JsonObject vmSizing = getJsonObject(compute, VM_SIZING);
-    if (vmSizing != null) {
-      JsonElement ioOperationsPerSec = vmSizing.get(IO_OP_PER_SEC);
-      if (ioOperationsPerSec != null) {
-        vmSizing.addProperty(COMPUTE_IO_OP_PER_SEC, ioOperationsPerSec.getAsNumber());
-        vmSizing.remove(IO_OP_PER_SEC);
-      }
-      compute.remove(VM_SIZING);
-    }
-    return vmSizing;
-  }
-
-  private JsonObject handleNumOfVm(JsonObject compute, JsonObject vmSizing) {
-    JsonObject numberOfVms = getJsonObject(compute, NUM_OF_VMS);
-    if (numberOfVms != null) {
-      JsonElement cpuRatio = numberOfVms.get(CPU_OVER_SUBSCRIPTION_RATIO);
-      JsonElement memoryRam = numberOfVms.get(MEMORY_RAM);
-      if (vmSizing == null && (cpuRatio != null || memoryRam != null)) {
-        vmSizing = new JsonObject();
-      }
-      if (cpuRatio != null) {
-        vmSizing.addProperty(COMPUTE_CPU_OVER_SUBSCRIPTION_RATIO, cpuRatio.getAsString());
-        numberOfVms.remove(CPU_OVER_SUBSCRIPTION_RATIO);
-      }
-      if (memoryRam != null) {
-        vmSizing.addProperty(COMPUTE_MEMORY_RAM, memoryRam.getAsString());
-        numberOfVms.remove(MEMORY_RAM);
-      }
-    }
-    return vmSizing;
-  }
-
-  private JsonObject getJsonObject(JsonObject json, String name) {
-    return json.getAsJsonObject(name);
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/CompositionDataHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/CompositionDataHealer.java
deleted file mode 100644 (file)
index e7a5e30..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.healing.healers;
-
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.tuple.ImmutablePair;
-import org.apache.commons.lang3.tuple.Pair;
-import org.openecomp.core.model.dao.ServiceModelDao;
-import org.openecomp.core.model.dao.ServiceModelDaoFactory;
-import org.openecomp.core.model.types.ServiceElement;
-import org.openecomp.core.translator.datatypes.TranslatorOutput;
-import org.openecomp.core.utilities.file.FileContentHandler;
-import org.openecomp.core.utilities.json.JsonUtil;
-import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
-import org.openecomp.sdc.common.utils.CommonUtil;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
-import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionDataExtractorFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionDataExtractor;
-import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Component;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionData;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Objects;
-import java.util.Optional;
-
-public class CompositionDataHealer implements Healer {
-  private static final Version VERSION00 = new Version(0, 0);
-  private static final Version VERSION01 = new Version(0, 1);
-  private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
-  private static final OrchestrationTemplateDao orchestrationTemplateDataDao =
-      OrchestrationTemplateDaoFactory.getInstance().createInterface();
-
-  private static ComponentDao componentDao = ComponentDaoFactory.getInstance().createInterface();
-  private static NicDao nicDao = NicDaoFactory.getInstance().createInterface();
-  private static NetworkDao networkDao = NetworkDaoFactory.getInstance().createInterface();
-  private static ComputeDao computeDao = ComputeDaoFactory.getInstance().createInterface();
-  private static DeploymentFlavorDao deloymentFlavorDao = DeploymentFlavorDaoFactory.getInstance()
-      .createInterface();
-  private static ImageDao imageDao = ImageDaoFactory.getInstance().createInterface();
-
-  private static final ServiceModelDao<ToscaServiceModel, ServiceElement> serviceModelDao =
-      ServiceModelDaoFactory.getInstance().createInterface();
-  private static CompositionDataExtractor compositionDataExtractor =
-      CompositionDataExtractorFactory.getInstance().createInterface();
-  private static CompositionEntityDataManager compositionEntityDataManager =
-      CompositionEntityDataManagerFactory.getInstance().createInterface();
-
-  private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName());
-
-  public CompositionDataHealer() {
-  }
-
-  @Override
-  public Optional<CompositionData> heal(String vspId,
-                                        Version version) throws IOException {
-    mdcDataDebugMessage.debugEntryMessage(null);
-
-    Collection<ComponentEntity> componentEntities =
-        componentDao.list(new ComponentEntity(vspId, version, null));
-    Collection<NicEntity> nicEntities = nicDao.listByVsp(vspId, version);
-    Collection<NetworkEntity> networkEntities =
-        networkDao.list(new NetworkEntity(vspId, version, null));
-
-    Optional<Pair<ToscaServiceModel, ToscaServiceModel>> serviceModels =
-        getServiceModelForHealing(vspId, version);
-    CompositionData compositionData = null;
-    if (!doesVspNeedCompositionDataHealing(componentEntities, networkEntities, nicEntities)) {
-      updateComponentsDisplayNames(componentEntities);
-      mdcDataDebugMessage.debugExitMessage(null, null);
-    } else {
-      if (!serviceModels.isPresent()) {
-        mdcDataDebugMessage.debugExitMessage(null, null);
-        return Optional.empty();
-      }
-      compositionData = serviceModels.isPresent() ? healCompositionData(vspId, version,
-          serviceModels.get()) : null;
-    }
-
-    if (serviceModels.isPresent()) {
-      compositionData =
-          getCompositionDataForHealing(vspId, version, serviceModels.get());
-      HealNfodData(vspId, version, compositionData);
-    }
-    mdcDataDebugMessage.debugExitMessage(null, null);
-    return Optional.ofNullable(compositionData);
-  }
-
-  private void HealNfodData(String vspId, Version version, CompositionData compositionData) {
-    Collection<ComponentEntity> componentEntities;
-    componentEntities = componentDao.list(new ComponentEntity(vspId, version, null));
-
-    Collection<ComputeEntity> computeEntities = computeDao.listByVsp(vspId, version);
-    Collection<ImageEntity> imageEntities = imageDao.listByVsp(vspId, version);
-
-    if (CollectionUtils.isEmpty(computeEntities) && CollectionUtils.isEmpty(imageEntities)) {
-      for (Component component : compositionData.getComponents()) {
-        String componentId = null;
-        for (ComponentEntity componentEntity : componentEntities) {
-          if (componentEntity.getComponentCompositionData().getName().equals(component.getData()
-              .getName())) {
-            componentId = componentEntity.getId();
-            break;
-          }
-        }
-        compositionEntityDataManager.saveComputesFlavorByComponent(vspId, version, component,
-            componentId);
-        compositionEntityDataManager.saveImagesByComponent(vspId, version, component,
-            componentId);
-      }
-
-    }
-  }
-
-  private CompositionData healCompositionData(String vspId, Version version,
-                                              Pair<ToscaServiceModel, ToscaServiceModel> toscaServiceModels) {
-    CompositionData compositionData =
-        getCompositionDataForHealing(vspId, version, toscaServiceModels);
-    compositionEntityDataManager.saveCompositionData(vspId, version, compositionData);
-    return compositionData;
-  }
-
-  private boolean doesVspNeedCompositionDataHealing(Collection<ComponentEntity> componentEntities,
-                                                    Collection<NetworkEntity> networkEntities,
-                                                    Collection<NicEntity> nicEntities) {
-
-    return (CollectionUtils.isEmpty(componentEntities) && CollectionUtils.isEmpty(nicEntities) &&
-        CollectionUtils.isEmpty(networkEntities));
-  }
-
-  private CompositionData getCompositionDataForHealing(String vspId, Version version,
-                                                       Pair<ToscaServiceModel, ToscaServiceModel> toscaServiceModels) {
-    mdcDataDebugMessage.debugEntryMessage(null);
-
-    if (Objects.isNull(toscaServiceModels)) {
-      return null;
-    }
-
-    CompositionData compositionData = compositionDataExtractor
-        .extractServiceCompositionData(toscaServiceModels.getRight());
-    serviceModelDao.storeServiceModel(vspId, version, toscaServiceModels.getLeft());
-
-    mdcDataDebugMessage.debugExitMessage(null);
-    return compositionData;
-  }
-
-  private void updateComponentsDisplayNames(Collection<ComponentEntity> componentEntities) {
-    if (CollectionUtils.isEmpty(componentEntities)) {
-      return;
-    }
-
-    for (ComponentEntity component : componentEntities) {
-      updateComponentName(component);
-      componentDao.update(component);
-    }
-  }
-
-  private void updateComponentName(ComponentEntity component) {
-    mdcDataDebugMessage.debugEntryMessage("VSP id, component id", component.getVspId(), component
-        .getId());
-
-    ComponentData componentData =
-        JsonUtil.json2Object(component.getCompositionData(), ComponentData.class);
-    componentData
-        .setDisplayName(compositionDataExtractor.getComponentDisplayName(componentData.getName()));
-    String displayName = componentData.getDisplayName();
-    componentData.setName(componentData.getName().replace("com.att.d2", "org.openecomp"));
-    componentData.setVfcCode(displayName);
-    component.setCompositionData(JsonUtil.object2Json(componentData));
-
-    mdcDataDebugMessage.debugExitMessage("VSP id, component id", component.getVspId(), component
-        .getId());
-
-  }
-
-  private Optional<Pair<ToscaServiceModel, ToscaServiceModel>> getServiceModelForHealing(String
-                                                                                             vspId,
-                                                                                         Version
-                                                                                             version)
-      throws IOException {
-    mdcDataDebugMessage.debugEntryMessage("VSP id", vspId);
-
-    /*OrchestrationTemplateEntity uploadData =
-        vendorSoftwareProductDao.getUploadData(new OrchestrationTemplateEntity(vspId, version));*/
-    OrchestrationTemplateEntity uploadData = orchestrationTemplateDataDao.get(vspId, version);
-
-    if (Objects.isNull(uploadData) || Objects.isNull(uploadData.getContentData())) {
-      return Optional.empty();
-    }
-
-    TranslatorOutput translatorOutput = getTranslatorOutputForHealing(uploadData);
-
-    if (Objects.isNull(translatorOutput)) {
-      return Optional.empty();
-    }
-
-    try {
-      serviceModelDao.storeServiceModel(vspId, version,
-          translatorOutput.getToscaServiceModel());
-    } catch (Exception e) {
-      log.debug("", e);
-      return Optional.empty();
-    }
-
-    mdcDataDebugMessage.debugExitMessage("VSP id", vspId);
-    return Optional.of(new ImmutablePair<>(translatorOutput.getToscaServiceModel(), translatorOutput
-        .getNonUnifiedToscaServiceModel()));
-  }
-
-  private TranslatorOutput getTranslatorOutputForHealing(OrchestrationTemplateEntity uploadData) {
-
-    FileContentHandler fileContentHandler;
-    try {
-      fileContentHandler =
-          CommonUtil.validateAndUploadFileContent(
-              OnboardingTypesEnum.ZIP, uploadData.getContentData().array());
-      return HeatToToscaUtil.loadAndTranslateTemplateData(fileContentHandler);
-    } catch (Exception e) {
-      log.debug("", e);
-      return null;
-    }
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java
deleted file mode 100644 (file)
index 96b9109..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright Â© 2016-2017 European Support Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.openecomp.sdc.healing.healers;
-
-import org.openecomp.core.utilities.file.FileContentHandler;
-import org.openecomp.core.utilities.json.JsonUtil;
-import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
-import org.openecomp.sdc.common.utils.CommonUtil;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
-import org.openecomp.sdc.vendorsoftwareproduct.factory.CandidateServiceFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.services.utils.CandidateEntityBuilder;
-import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.FilesDataStructure;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.HashMap;
-import java.util.Optional;
-
-public class FileDataStructureHealer implements Healer {
-  private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
-  @Override
-  public Optional<FilesDataStructure> heal(String vspId,
-                                           Version version) throws Exception {
-    mdcDataDebugMessage.debugEntryMessage(null);
-
-    OrchestrationTemplateCandidateDao candidateDao =
-        OrchestrationTemplateCandidateDaoFactory.getInstance().createInterface();
-
-    OrchestrationTemplateCandidateData candidateData = candidateDao.get(vspId, version);
-
-    if (candidateData == null || candidateData.getContentData() == null ||
-        candidateData.getFilesDataStructure() != null) {
-      return Optional.of(new FilesDataStructure());
-    }
-
-    Optional<FilesDataStructure> filesDataStructure =
-        healFilesDataStructure(vspId, version, candidateData);
-
-    filesDataStructure
-        .ifPresent(structure -> candidateDao.updateStructure(vspId, version, structure));
-
-    mdcDataDebugMessage.debugExitMessage(null);
-    return filesDataStructure;
-  }
-
-  private Optional<FilesDataStructure> healFilesDataStructure(
-      String vspId, Version version, OrchestrationTemplateCandidateData candidateData)
-      throws Exception {
-    mdcDataDebugMessage.debugEntryMessage(null);
-
-    Optional<FilesDataStructure> healingResult;
-    byte[] byteContentData = candidateData.getContentData().array();
-    FileContentHandler fileContentHandler;
-    try {
-      fileContentHandler =
-          CommonUtil.validateAndUploadFileContent(OnboardingTypesEnum.ZIP, byteContentData);
-
-      String filesDataStructure =
-          new CandidateEntityBuilder(CandidateServiceFactory.getInstance().createInterface())
-              .buildCandidateEntityFromZip(new VspDetails(vspId, version), byteContentData,
-                  fileContentHandler, new HashMap<>()).getFilesDataStructure();
-
-      healingResult =
-          Optional.of(JsonUtil.json2Object(filesDataStructure, FilesDataStructure.class));
-    } catch (Exception e) {
-      healingResult = Optional.empty();
-    }
-
-    mdcDataDebugMessage.debugExitMessage(null);
-    return healingResult;
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealer.java
deleted file mode 100644 (file)
index f3e5f4d..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright Â© 2016-2017 European Support Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.openecomp.sdc.healing.healers;
-
-import org.apache.commons.collections.MapUtils;
-import org.openecomp.core.model.dao.ServiceModelDao;
-import org.openecomp.core.model.dao.ServiceModelDaoFactory;
-import org.openecomp.core.model.types.ServiceElement;
-import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
-import org.openecomp.sdc.common.togglz.ToggleableFeature;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.tosca.datatypes.ToscaNodeType;
-import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
-import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate;
-import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
-import org.openecomp.sdc.tosca.services.DataModelUtil;
-import org.openecomp.sdc.tosca.services.ToscaAnalyzerService;
-import org.openecomp.sdc.tosca.services.impl.ToscaAnalyzerServiceImpl;
-import org.openecomp.sdc.translator.services.heattotosca.globaltypes.GlobalTypesServiceTemplates;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-
-public class ForwarderCapabilityHealer implements Healer {
-
-  private MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
-  private final ServiceModelDao<ToscaServiceModel, ServiceElement> serviceModelDao;
-  private static ToscaAnalyzerService toscaAnalyzerService = new ToscaAnalyzerServiceImpl();
-  private static final String FORWARDER_CAPABILITY_ID = "Forwarder";
-  private static final String UNDERSCORE = "_";
-
-  public ForwarderCapabilityHealer() {
-    this.serviceModelDao =
-        ServiceModelDaoFactory.getInstance().createInterface();
-  }
-
-  public ForwarderCapabilityHealer(ServiceModelDao<ToscaServiceModel, ServiceElement>
-                                       serviceModelDao,
-                                   ToscaAnalyzerService toscaAnalyzerService){
-    this.serviceModelDao = serviceModelDao;
-    this.toscaAnalyzerService = toscaAnalyzerService;
-  }
-
-  @Override
-  public Object heal(String vspId, Version version) throws Exception {
-    if(!ToggleableFeature.FORWARDER_CAPABILITY.isActive()) {
-      return Optional.empty();
-    }
-
-    ToscaServiceModel serviceModel =
-        serviceModelDao.getServiceModel(vspId, version);
-
-    if (Objects.isNull(serviceModel)
-        || MapUtils.isEmpty(serviceModel.getServiceTemplates())) {
-      return Optional.empty();
-    }
-
-    addForwarderCapabilityToServiceModel(serviceModel);
-    serviceModelDao.deleteAll(vspId, version);
-    serviceModelDao.storeServiceModel(vspId, version, serviceModel);
-
-    return Optional.of(serviceModel);
-  }
-
-  private void addForwarderCapabilityToServiceModel(ToscaServiceModel serviceModel) {
-    serviceModel.getServiceTemplates().entrySet().stream().filter(serviceTemplateEntry -> Objects
-        .nonNull(serviceTemplateEntry.getValue()))
-        .forEach(serviceTemplateEntry -> handleServiceTemplate(serviceTemplateEntry.getValue(),
-            serviceModel));
-
-    handleGlobalTypes(serviceModel);
-  }
-
-  private void handleGlobalTypes(ToscaServiceModel serviceModel) {
-    Map<String, ServiceTemplate> globalTypesServiceTemplates =
-        GlobalTypesServiceTemplates.getGlobalTypesServiceTemplates(OnboardingTypesEnum.ZIP);
-
-    if (MapUtils.isEmpty(globalTypesServiceTemplates)) {
-      return;
-    }
-
-    globalTypesServiceTemplates.entrySet()
-        .stream()
-        .filter(globalTypesServiceTemplateEntry -> Objects.nonNull
-            (globalTypesServiceTemplateEntry.getValue()))
-        .forEach(globalTypesServiceTemplateEntry -> serviceModel.addServiceTemplate
-            (globalTypesServiceTemplateEntry.getKey(), globalTypesServiceTemplateEntry.getValue()));
-  }
-
-  private void handleServiceTemplate(ServiceTemplate serviceTemplate,
-                                     ToscaServiceModel toscaServiceModel) {
-    if (Objects.isNull(serviceTemplate.getTopology_template())
-        || MapUtils.isEmpty(serviceTemplate.getTopology_template().getNode_templates())) {
-      return;
-    }
-
-    Map<String, NodeTemplate> nodeTemplates =
-        serviceTemplate.getTopology_template().getNode_templates();
-
-    nodeTemplates.entrySet().stream()
-        .filter(nodeTemplateEntry ->
-            toscaAnalyzerService.isTypeOf(nodeTemplateEntry.getValue(),
-                ToscaNodeType.NATIVE_NETWORK_PORT, serviceTemplate, toscaServiceModel))
-        .forEach(nodeTemplateEntry ->
-            addForwarderToSubstitutionMappings(nodeTemplateEntry.getKey(), serviceTemplate)
-        );
-  }
-
-  private void addForwarderToSubstitutionMappings(String portNodeTemplateId,
-                                                  ServiceTemplate serviceTemplate) {
-    if (Objects.isNull(serviceTemplate.getTopology_template())
-        || Objects.isNull(serviceTemplate.getTopology_template().getSubstitution_mappings())) {
-      return;
-    }
-
-    List<String> substitutionMappingCapabilityList =
-        Arrays.asList(portNodeTemplateId, FORWARDER_CAPABILITY_ID);
-
-    DataModelUtil.addSubstitutionMappingCapability(
-        serviceTemplate,
-        FORWARDER_CAPABILITY_ID + UNDERSCORE + portNodeTemplateId,
-        substitutionMappingCapabilityList);
-
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/HeatToToscaTranslationHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/HeatToToscaTranslationHealer.java
deleted file mode 100644 (file)
index ddae09f..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-
-import org.openecomp.core.model.dao.ServiceModelDao;
-import org.openecomp.core.model.dao.ServiceModelDaoFactory;
-import org.openecomp.core.model.types.ServiceElement;
-import org.openecomp.core.translator.datatypes.TranslatorOutput;
-import org.openecomp.core.utilities.file.FileContentHandler;
-import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
-import org.openecomp.sdc.common.utils.CommonUtil;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
-import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Objects;
-import java.util.Optional;
-
-public class HeatToToscaTranslationHealer implements Healer {
-
-  private static final OrchestrationTemplateDao orchestrationTemplateDao =
-      OrchestrationTemplateDaoFactory.getInstance().createInterface();
-  private static final ServiceModelDao<ToscaServiceModel, ServiceElement> serviceModelDao =
-      ServiceModelDaoFactory.getInstance().createInterface();
-  private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
-  private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName());
-
-  public HeatToToscaTranslationHealer() {
-
-  }
-
-  @Override
-  public Object heal(String vspId, Version version) throws Exception {
-    mdcDataDebugMessage.debugEntryMessage(null);;
-
-    OrchestrationTemplateEntity uploadData =
-        orchestrationTemplateDao.get(vspId, version);
-
-    if (Objects.isNull(uploadData) || Objects.isNull(uploadData.getContentData())) {
-      return Optional.empty();
-    }
-
-    FileContentHandler fileContentHandler;
-    TranslatorOutput translatorOutput;
-    try {
-      fileContentHandler =
-          CommonUtil.validateAndUploadFileContent(OnboardingTypesEnum.ZIP, uploadData
-              .getContentData().array());
-      translatorOutput =
-          HeatToToscaUtil.loadAndTranslateTemplateData(fileContentHandler);
-    } catch (Exception e) {
-      log.debug("", e);
-      return Optional.empty();
-    }
-
-    if (Objects.isNull(translatorOutput)) {
-      return Optional.empty();
-    } else {
-
-      if (translatorOutput.getToscaServiceModel() == null) {
-        return Optional.empty();
-      }
-      //templateDao.deleteAll(vspId, version);
-      serviceModelDao.deleteAll(vspId, version);
-      serviceModelDao.storeServiceModel(vspId, version, translatorOutput.getToscaServiceModel());
-      mdcDataDebugMessage.debugExitMessage("VSP id", vspId);
-
-      return translatorOutput;
-    }
-
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/NicDataHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/NicDataHealer.java
deleted file mode 100644 (file)
index b2ef965..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.NetworkType;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Nic;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Collection;
-
-public class NicDataHealer implements Healer {
-  /*private static final VendorSoftwareProductDao vendorSoftwareProductDao =
-      VendorSoftwareProductDaoFactory.getInstance().createInterface();*/
-
-  private static final NicDao nicDao = NicDaoFactory.getInstance().createInterface();
-
-  private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
-  public NicDataHealer(){
-
-  }
-  @Override
-  public Object heal(String vspId, Version version) throws Exception {
-    mdcDataDebugMessage.debugEntryMessage(null, null);
-
-    Collection<NicEntity> nics = nicDao.listByVsp(vspId, version);
-    for (NicEntity nicEntity : nics) {
-      Nic nic = nicEntity.getNicCompositionData();
-      if (nic != null && nic.getNetworkType()==null) {
-        nic.setNetworkType(NetworkType.Internal);
-        nicEntity.setNicCompositionData(nic);
-        //vendorSoftwareProductDao.updateNic(nicEntity);
-        nicDao.update(nicEntity);
-      }
-    }
-    return nics;
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/SubEntitiesQuestionnaireHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/SubEntitiesQuestionnaireHealer.java
deleted file mode 100644 (file)
index a1dd80c..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.healing.healers;
-
-import org.openecomp.core.utilities.json.JsonSchemaDataGenerator;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.CompositionEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType;
-import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Collection;
-import java.util.Objects;
-
-public class SubEntitiesQuestionnaireHealer implements Healer {
-  private static Version version00 = new Version(0, 0);
-  private MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
-  private static ComponentDao componentDao = ComponentDaoFactory.getInstance().createInterface();
-  private static NicDao nicDao = NicDaoFactory.getInstance().createInterface();
-  private static NetworkDao networkDao = NetworkDaoFactory.getInstance().createInterface();
-
-  private static String emptyString = "";
-  private static String emptyJson = "{}";
-
-  @Override
-  public Object heal(String vspId, Version version) throws Exception {
-
-
-    mdcDataDebugMessage.debugEntryMessage(null);
-
-    Collection<ComponentEntity> componentEntities =
-        componentDao.listCompositionAndQuestionnaire(vspId, version);
-
-    networkDao.list(new NetworkEntity(vspId, version, null));
-
-    Collection<NicEntity> nicEntities = nicDao.listByVsp(vspId, version);
-
-    healCompositionEntityQuestionnaire(componentEntities, version, CompositionEntityType.component);
-    healCompositionEntityQuestionnaire(nicEntities, version, CompositionEntityType.nic);
-
-    mdcDataDebugMessage.debugExitMessage(null);
-    return new Object();
-  }
-
-
-  private void healCompositionEntityQuestionnaire(Collection
-                                                      compositionEntities,
-                                                  Version newVersion, CompositionEntityType type) {
-
-
-    mdcDataDebugMessage.debugEntryMessage(null);
-
-    for (Object entity : compositionEntities) {
-      CompositionEntity compositionEntity = (CompositionEntity) entity;
-      if (isQuestionnaireNeedsToGetHealed(compositionEntity)) {
-        compositionEntity.setVersion(newVersion);
-        updateNullQuestionnaire(compositionEntity, type);
-      }
-    }
-
-    mdcDataDebugMessage.debugExitMessage(null);
-  }
-
-  private boolean isQuestionnaireNeedsToGetHealed(CompositionEntity compositionEntity) {
-    return Objects.isNull(compositionEntity.getQuestionnaireData())
-        || emptyString.equals(compositionEntity.getQuestionnaireData())
-        || emptyJson.equals(compositionEntity.getQuestionnaireData());
-  }
-
-  private void updateNullQuestionnaire(CompositionEntity entity,
-                                       CompositionEntityType type) {
-
-
-    mdcDataDebugMessage.debugEntryMessage(null);
-
-    entity.setQuestionnaireData(
-        new JsonSchemaDataGenerator(SchemaGenerator
-            .generate(SchemaTemplateContext.questionnaire, type,
-                null)).generateData());
-
-    switch (type) {
-      case component:
-        ComponentEntity component = (ComponentEntity) entity;
-        componentDao.updateQuestionnaireData(component.getVspId(), component
-            .getVersion(), component.getId(), component.getQuestionnaireData());
-        break;
-
-      case nic:
-        NicEntity nic = (NicEntity) entity;
-        nicDao.updateQuestionnaireData(nic.getVspId(), nic.getVersion(), nic.getComponentId(),
-            nic.getId(), nic.getQuestionnaireData());
-        break;
-    }
-    mdcDataDebugMessage.debugExitMessage(null);
-  }
-
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ValidationStructureHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ValidationStructureHealer.java
deleted file mode 100644 (file)
index d172432..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-import org.apache.commons.collections4.CollectionUtils;
-import org.openecomp.core.utilities.json.JsonUtil;
-import org.openecomp.sdc.datatypes.error.ErrorMessage;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.heat.datatypes.manifest.FileData;
-import org.openecomp.sdc.heat.datatypes.structure.Artifact;
-import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree;
-import org.openecomp.sdc.heat.datatypes.structure.ValidationStructureList;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.HashSet;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.Set;
-
-/**
- * Created by Talio on 7/30/2017.
- */
-public class ValidationStructureHealer implements Healer {
-
-  private static final Logger logger = LoggerFactory.getLogger(JsonUtil.class);
-  private static final OrchestrationTemplateDao orchestrationTemplateDao =
-      OrchestrationTemplateDaoFactory.getInstance().createInterface();
-
-  @Override
-  public Object heal(String vspId, Version version) throws Exception {
-
-    OrchestrationTemplateEntity orchestrationTemplate =
-        orchestrationTemplateDao.get(vspId, version);
-
-    if (Objects.isNull(orchestrationTemplate.getValidationData())
-        || !JsonUtil.isValidJson(orchestrationTemplate.getValidationData())) {
-      return Optional.empty();
-    }
-
-    OldValidationStructureTree oldValidationStructureTree;
-    try {
-      oldValidationStructureTree = JsonUtil
-          .json2Object(orchestrationTemplate.getValidationData(), OldValidationStructureTree.class);
-    } catch (Exception e) {
-      logger.debug("", e);
-      return Optional.empty();
-    }
-
-    Optional<HeatStructureTree> newHeatStructureTreeFromOldStructureTree =
-        createNewHeatStructureTreeFromOldStructureTree(
-            oldValidationStructureTree.getImportStructure());
-
-    newHeatStructureTreeFromOldStructureTree.ifPresent(newStructure ->
-        updateValuesInDb(vspId, version, orchestrationTemplate,
-            new ValidationStructureList(newStructure)));
-
-    return newHeatStructureTreeFromOldStructureTree;
-
-  }
-
-  private void updateValuesInDb(String vspId, Version version,
-                                OrchestrationTemplateEntity orchestrationTemplate,
-                                ValidationStructureList validationData) {
-    orchestrationTemplate.setValidationDataStructure(validationData);
-    orchestrationTemplateDao.update(vspId, version, orchestrationTemplate);
-  }
-
-  private Optional<HeatStructureTree> createNewHeatStructureTreeFromOldStructureTree(
-      OldHeatStructureTree oldHeatStructureTree) {
-
-    HeatStructureTree heatStructureTree = new HeatStructureTree();
-
-    if (Objects.isNull(oldHeatStructureTree)) {
-      return Optional.empty();
-    }
-
-    mapOldHeatStructureTreeValues(oldHeatStructureTree, heatStructureTree);
-
-    Set<OldHeatStructureTree> heat =
-        oldHeatStructureTree.getHeat() == null ? new HashSet<>() : oldHeatStructureTree.getHeat();
-    Set<OldHeatStructureTree> volume =
-        oldHeatStructureTree.getVolume() == null ? new HashSet<>()
-            : oldHeatStructureTree.getVolume();
-    Set<OldHeatStructureTree> nested =
-        oldHeatStructureTree.getNested() == null ? new HashSet<>()
-            : oldHeatStructureTree.getNested();
-    Set<OldHeatStructureTree> network =
-        oldHeatStructureTree.getNetwork() == null ? new HashSet<>()
-            : oldHeatStructureTree.getNetwork();
-
-
-    heatStructureTree.setHeat(createHeatStructureTreeSetFromOld(heat));
-    heatStructureTree.setVolume(createHeatStructureTreeSetFromOld(volume));
-    heatStructureTree.setNested(createHeatStructureTreeSetFromOld(nested));
-    heatStructureTree.setNetwork(createHeatStructureTreeSetFromOld(network));
-
-    return Optional.of(heatStructureTree);
-  }
-
-  private void mapOldHeatStructureTreeValues(OldHeatStructureTree oldHeatStructureTree,
-                                             HeatStructureTree heatStructureTree) {
-    heatStructureTree.setFileName(oldHeatStructureTree.getFileName());
-    heatStructureTree.setBase(oldHeatStructureTree.getBase());
-    heatStructureTree.setType(oldHeatStructureTree.getType());
-    heatStructureTree.setArtifacts(oldHeatStructureTree.getArtifacts());
-    heatStructureTree.setErrors(oldHeatStructureTree.getErrors());
-
-    if (Objects.nonNull(oldHeatStructureTree.getEnv())) {
-      heatStructureTree.setEnv(new HeatStructureTree(oldHeatStructureTree.getEnv(), false));
-    }
-  }
-
-  private Set<HeatStructureTree> createHeatStructureTreeSetFromOld(Set<OldHeatStructureTree>
-                                                                       oldHeatStructureTreeSet) {
-    if (CollectionUtils.isEmpty(oldHeatStructureTreeSet)) {
-      return null;
-    }
-    Set<HeatStructureTree> newHeatStructureSet = new HashSet<>();
-
-    for (OldHeatStructureTree old : oldHeatStructureTreeSet) {
-      Optional<HeatStructureTree> newHeatStructureTree =
-          createNewHeatStructureTreeFromOldStructureTree(old);
-      newHeatStructureTree.ifPresent(newHeatStructureSet::add);
-    }
-
-    return newHeatStructureSet;
-  }
-
-  private class OldValidationStructureTree {
-    private OldHeatStructureTree importStructure;
-
-    OldHeatStructureTree getImportStructure() {
-      return importStructure;
-    }
-  }
-
-  private class OldHeatStructureTree {
-    private String fileName;
-    private FileData.Type type;
-    private Boolean isBase;
-    private String env;
-    private List<ErrorMessage> errors;
-    private Set<OldHeatStructureTree> heat;
-    private Set<OldHeatStructureTree> volume;
-    private Set<OldHeatStructureTree> network;
-    private Set<OldHeatStructureTree> nested;
-    private Set<OldHeatStructureTree> other;
-    private Set<Artifact> artifacts;
-
-    public OldHeatStructureTree() {
-    }
-
-    public String getFileName() {
-      return fileName;
-    }
-
-    public void setFileName(String fileName) {
-      this.fileName = fileName;
-    }
-
-    public FileData.Type getType() {
-      return type;
-    }
-
-    public void setType(FileData.Type type) {
-      this.type = type;
-    }
-
-    public Boolean getBase() {
-      return isBase;
-    }
-
-    public void setBase(Boolean base) {
-      isBase = base;
-    }
-
-    public String getEnv() {
-      return env;
-    }
-
-    public void setEnv(String env) {
-      this.env = env;
-    }
-
-    public List<ErrorMessage> getErrors() {
-      return errors;
-    }
-
-    public void setErrors(List<ErrorMessage> errors) {
-      this.errors = errors;
-    }
-
-    public Set<OldHeatStructureTree> getHeat() {
-      return heat;
-    }
-
-    public void setHeat(Set<OldHeatStructureTree> heat) {
-      this.heat = heat;
-    }
-
-    public Set<OldHeatStructureTree> getVolume() {
-      return volume;
-    }
-
-    public void setVolume(Set<OldHeatStructureTree> volume) {
-      this.volume = volume;
-    }
-
-    public Set<OldHeatStructureTree> getNetwork() {
-      return network;
-    }
-
-    public void setNetwork(
-        Set<OldHeatStructureTree> network) {
-      this.network = network;
-    }
-
-    public Set<OldHeatStructureTree> getNested() {
-      return nested;
-    }
-
-    public void setNested(Set<OldHeatStructureTree> nested) {
-      this.nested = nested;
-    }
-
-    public Set<OldHeatStructureTree> getOther() {
-      return other;
-    }
-
-    public void setOther(Set<OldHeatStructureTree> other) {
-      this.other = other;
-    }
-
-    public Set<Artifact> getArtifacts() {
-      return artifacts;
-    }
-
-    public void setArtifacts(Set<Artifact> artifacts) {
-      this.artifacts = artifacts;
-    }
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java
deleted file mode 100644 (file)
index a57ac74..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.vendorlicense.dao.LicenseAgreementDao;
-import org.openecomp.sdc.vendorlicense.dao.LicenseAgreementDaoFactory;
-import org.openecomp.sdc.vendorlicense.dao.types.LicenseAgreementEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
-import org.openecomp.sdc.versioning.VersioningManager;
-import org.openecomp.sdc.versioning.VersioningManagerFactory;
-import org.openecomp.sdc.versioning.dao.types.Version;
-import org.openecomp.sdc.versioning.dao.types.VersionStatus;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Objects;
-import java.util.Optional;
-
-/**
- * Created by TALIO on 7/3/2017.
- */
-public class VlmVersionHealer implements Healer {
-  private VersioningManager versioningManager =
-      VersioningManagerFactory.getInstance().createInterface();
-  private static final VendorSoftwareProductInfoDao vspInfoDao =
-      VendorSoftwareProductInfoDaoFactory.getInstance().createInterface();
-  private static final LicenseAgreementDao licenseAgreementDao =
-      LicenseAgreementDaoFactory.getInstance().createInterface();
-  private static final Logger logger =
-      LoggerFactory.getLogger(VlmVersionHealer.class);
-
-  @Override
-  public Object heal(String vspId, Version version) throws Exception {
-    VspDetails vspDetails = vspInfoDao.get(new VspDetails(vspId, version));
-
-    if (!Objects.isNull(vspDetails.getVlmVersion())) {
-      return Optional.empty();
-    }
-
-    // get the certified vlm version with the highest number in its name
-    Optional<Version> certifiedVlmVersion =
-        versioningManager.list(vspDetails.getVendorId()).stream()
-            .filter(ver -> VersionStatus.Certified == ver.getStatus())
-            .max((o1, o2) -> ((Double) Double.parseDouble(o1.getName()))
-                .compareTo(Double.parseDouble(o2.getName())));
-    if (!certifiedVlmVersion.isPresent()) {
-      logger.debug("No Vlm was found for Vsp " + vspDetails.getName());
-      return Optional.empty();
-    }
-    vspDetails.setVlmVersion(certifiedVlmVersion.get());
-
-    Collection<LicenseAgreementEntity> licenseAgreements = licenseAgreementDao.list(
-        new LicenseAgreementEntity(vspDetails.getVendorId(), certifiedVlmVersion.get(), null));
-    if (!licenseAgreements.isEmpty()) {
-      LicenseAgreementEntity licenseAgreement = licenseAgreements.iterator().next();
-      vspDetails.setLicenseAgreement(licenseAgreement.getId());
-      vspDetails.setFeatureGroups(new ArrayList<>(licenseAgreement.getFeatureGroupIds()));
-    }
-
-    vspInfoDao.update(vspDetails);
-
-    return vspDetails;
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealer.java
deleted file mode 100644 (file)
index d5c082b..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-
-import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OnboardingMethod;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.util.Objects;
-
-public class VspOnboardingMethodHealer implements Healer {
-
-  private static final String DEFAULT_FILE_NAME = "Upload File";
-  private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-  private VendorSoftwareProductInfoDao vendorSoftwareProductInfoDao;
-  private OrchestrationTemplateDao orchestrationTemplateDao;
-  private OrchestrationTemplateCandidateDao candidateDao;
-
-  public VspOnboardingMethodHealer(){
-    this(VendorSoftwareProductInfoDaoFactory.getInstance().createInterface(),
-        OrchestrationTemplateDaoFactory.getInstance().createInterface(),
-        OrchestrationTemplateCandidateDaoFactory.getInstance().createInterface());
-  }
-
-  public VspOnboardingMethodHealer(VendorSoftwareProductInfoDao vspInfoDao,
-                                   OrchestrationTemplateDao orchestrationTemplateDao,
-                                   OrchestrationTemplateCandidateDao candidateDao) {
-    this.vendorSoftwareProductInfoDao = vspInfoDao;
-    this.orchestrationTemplateDao = orchestrationTemplateDao;
-    this.candidateDao = candidateDao;
-  }
-
-  @Override
-  public Object heal(String vspId, Version version) throws Exception {
-    mdcDataDebugMessage.debugEntryMessage(null);
-
-    VspDetails vsp = vendorSoftwareProductInfoDao.get(new VspDetails(vspId, version));
-    healOnboardingMethod(vsp);
-
-    if (!OnboardingMethod.Manual.name().equals(vsp.getOnboardingMethod())) {
-      healOrchestrationTemplateFileName(vspId, version);
-      healOrchestrationTemplateCandidateFileName(vspId, version);
-    }
-
-    mdcDataDebugMessage.debugExitMessage(null);
-    return null;
-  }
-
-  private void healOnboardingMethod(VspDetails vsp) {
-    if (Objects.isNull(vsp.getOnboardingMethod()) || "HEAT".equals(vsp.getOnboardingMethod())) {
-      vsp.setOnboardingMethod(OnboardingMethod.NetworkPackage.name());
-      vendorSoftwareProductInfoDao.update(vsp);
-    }
-  }
-
-  private void healOrchestrationTemplateFileName(String vspId, Version version) {
-    OrchestrationTemplateEntity orchestrationTemplate =
-        orchestrationTemplateDao.get(vspId, version);
-
-    if (orchestrationTemplate == null || orchestrationTemplate.getContentData() == null ||
-        orchestrationTemplate.getFileSuffix() != null) {
-      return;
-    }
-    orchestrationTemplate.setFileSuffix(OnboardingTypesEnum.ZIP.toString());
-    orchestrationTemplate.setFileName(DEFAULT_FILE_NAME);
-
-    orchestrationTemplateDao.update(vspId, version, orchestrationTemplate);
-  }
-
-  private void healOrchestrationTemplateCandidateFileName(String vspId, Version version) {
-    OrchestrationTemplateCandidateData candidate = candidateDao.get(vspId, version);
-
-    if (candidate == null || candidate.getContentData() == null ||
-        candidate.getFileSuffix() != null) {
-      return;
-    }
-    candidate.setFileSuffix(OnboardingTypesEnum.ZIP.toString());
-    candidate.setFileName(DEFAULT_FILE_NAME);
-
-    candidateDao.update(vspId, version, candidate);
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspQuestionnaireHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspQuestionnaireHealer.java
deleted file mode 100644 (file)
index b45ce30..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.sdc.healing.healers;
-
-import org.openecomp.core.utilities.json.JsonSchemaDataGenerator;
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspQuestionnaireEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator;
-import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType;
-import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.io.IOException;
-import java.util.Objects;
-import java.util.Optional;
-
-public class VspQuestionnaireHealer implements Healer {
-  private static final VendorSoftwareProductInfoDao vspInfoDao =
-      VendorSoftwareProductInfoDaoFactory.getInstance().createInterface();
-  private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
-
-  private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName());
-
-  public VspQuestionnaireHealer() {
-  }
-
-  @Override
-  public Object heal(String vspId, Version version) throws IOException {
-
-
-    mdcDataDebugMessage.debugEntryMessage(null, null);
-
-    Optional<String> questionnaireData = null;
-    VspQuestionnaireEntity vspQuestionnaireEntity =
-        vspInfoDao.getQuestionnaire(vspId, version);
-
-    if(Objects.isNull(vspQuestionnaireEntity.getQuestionnaireData())|| "".equals(vspQuestionnaireEntity.getQuestionnaireData())) {
-      questionnaireData = healQuestionnaire(vspId, version);
-    }
-
-    mdcDataDebugMessage.debugExitMessage(null, null);
-    return questionnaireData;
-  }
-
-  private Optional<String> healQuestionnaire(String vspId, Version version) {
-
-
-    mdcDataDebugMessage.debugEntryMessage(null, null);
-
-    String questionnaireData;
-    String generatedSchema = SchemaGenerator
-        .generate(SchemaTemplateContext.questionnaire, CompositionEntityType.vsp, null);
-    try {
-      questionnaireData = new JsonSchemaDataGenerator(generatedSchema).generateData();
-      vspInfoDao.updateQuestionnaireData(vspId, version, questionnaireData);
-    }catch(Exception e){
-      log.debug("", e);
-      return Optional.empty();
-    }
-    mdcDataDebugMessage.debugExitMessage(null, null);
-    return Optional.of(questionnaireData);
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealerTest.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealerTest.java
deleted file mode 100644 (file)
index 688d1d4..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-
-public class ComponentQuestionnaireHealerTest {
-  private static final String HANDLE_NUM_OF_VMS_METHOD = "handleNumOfVm";
-  private static final String GENERAL = "general";
-  private static final String IMAGE = "image";
-  private static final String FORMAT = "format";
-  private static final String CPU_OVER_SUBSCRIPTION_RATIO = "CpuOverSubscriptionRatio";
-  private static final String MEMORY_RAM = "MemoryRAM";
-  private static final String VM_SIZING = "vmSizing";
-  private static final String COMPUTE = "compute";
-  private static final String NUM_OF_VMS = "numOfVMs";
-  private static final String DISK = "disk";
-  private static final String BOOT_DISK_SIZE_PER_VM = "bootDiskSizePerVM";
-  private static final String EPHEMERAL_DISK_SIZE_PER_VM = "ephemeralDiskSizePerVM";
-  private static final Version VERSION = new Version(0, 1);
-  private static final String DUMMY_VSP_ID = "1495ef442f964cbfb00d82bd54292f89";
-  private static final String DUMMY_COMPONENT_ID = "2495ef442f964cbfb00d82bd54292f89";
-  private static final String DUMMY_COMPUTE_ID = "3495ef442f964cbfb00d82bd54292f89";
-  private static final String DUMMY_IMAGE_ID = "4495ef442f964cbfb00d82bd54292f89";
-  private static final String componentQuestionnaireData = "{\"compute\": {" +
-      "\"guestOS\": {\"bitSize\": 64},\"vmSizing\": {\"IOOperationsPerSec\": \"0\"}," +
-      "\"numOfVMs\": {\"CpuOverSubscriptionRatio\": \"1:1\",\"MemoryRAM\": \"2 GB\"}}," +
-      "\"general\": {\"image\": {\"providedBy\": \"AIC\",\"format\":\"qcow2\"," +
-      "\"bootDiskSizePerVM\": \"100\",\"ephemeralDiskSizePerVM\": \"200\"},\"hypervisor\": {" +
-      "\"hypervisor\": \"KVM\" } },\"highAvailabilityAndLoadBalancing\": {" +
-      "\"isComponentMandatory\": \"\",\"highAvailabilityMode\": \"\"},\"storage\": {" +
-      "\"backup\": {\"backupNIC\": \"\",\"backupType\": \"On Site\" }," +
-      "\"snapshotBackup\": {\"snapshotFrequency\": \"24\"}},\"network\": {\"networkCapacity\": {" +
-      "\"protocolWithHighestTrafficProfileAcrossAllNICs\": \"\"}}}";
-
-  private static final String componentQuestionnaireMissingDiskAttrData = "{\"compute\": {" +
-      "\"guestOS\": {\"bitSize\": 64},\"vmSizing\": {\"IOOperationsPerSec\": \"0\"},\"numOfVMs\"" +
-      ": {\"CpuOverSubscriptionRatio\": \"1:1\",\"MemoryRAM\": \"2 GB\"}},\"general\": " +
-      "{\"image\": {\"providedBy\": \"AIC\",\"format\":\"qcow2\"}," +
-      "\"hypervisor\": {\"hypervisor\": \"KVM\" } },\"highAvailabilityAndLoadBalancing\": {" +
-      "\"isComponentMandatory\": \"\",\"highAvailabilityMode\": \"\"},\"storage\": {" +
-      "\"backup\": {\"backupNIC\": \"\",\"backupType\": \"On Site\" }," +
-      "\"snapshotBackup\": {\"snapshotFrequency\": \"24\"}},\"network\": {\"networkCapacity\": {" +
-      "\"protocolWithHighestTrafficProfileAcrossAllNICs\": \"\"}}}";
-
-  private static final String componentQuestionnaireWithoutVMSizingData = "{\"compute\": {" +
-      "\"guestOS\": {\"bitSize\": 64},\"numOfVMs\": {\"CpuOverSubscriptionRatio\": \"1:1\"," +
-      "\"maximum\": \"400\"," +
-      "\"MemoryRAM\": \"2 GB\"}},\"general\": {\"image\": {\"providedBy\": \"AIC\",\"format\"" +
-      ":\"qcow2\",\"bootDiskSizePerVM\": \"100\",\"ephemeralDiskSizePerVM\": \"200\"}," +
-      "\"hypervisor\": {\"hypervisor\": \"KVM\" } },\"highAvailabilityAndLoadBalancing\": {" +
-      "\"isComponentMandatory\": \"\",\"highAvailabilityMode\": \"\"},\"storage\": {" +
-      "\"backup\": {\"backupNIC\": \"\",\"backupType\": \"On Site\" }," +
-      "\"snapshotBackup\": {\"snapshotFrequency\": \"24\"}},\"network\": {\"networkCapacity\": {" +
-      "\"protocolWithHighestTrafficProfileAcrossAllNICs\": \"\"}}}";
-
-  private static final String componentQuestionnaireWithoutNumOfVMData = "{\"compute\": " +
-      "{\"guestOS\": {\"bitSize\": 64}," +
-      "\"vmSizing\": {\"IOOperationsPerSec\": \"0\"}}," +
-      "\"general\": {\"image\": {\"providedBy\": \"AIC\",\"format\":\"qcow2\"," +
-      "\"bootDiskSizePerVM\": \"100\",\"ephemeralDiskSizePerVM\": \"200\"}," +
-      "\"hypervisor\": {\"hypervisor\": \"KVM\" } },\"highAvailabilityAndLoadBalancing\": {" +
-      "\"isComponentMandatory\": \"\",\"highAvailabilityMode\": \"\"},\"storage\": {" +
-      "\"backup\": {\"backupNIC\": \"\",\"backupType\": \"On Site\" }," +
-      "\"snapshotBackup\": {\"snapshotFrequency\": \"24\"}},\"network\": {\"networkCapacity\": {" +
-      "\"protocolWithHighestTrafficProfileAcrossAllNICs\": \"\"}}}";
-
-  private static final String componentQuestionnaireWithMemoryRamData = "{\"compute\": " +
-      "{\"guestOS\": {\"bitSize\": 64}," +
-      "\"vmSizing\": {\"IOOperationsPerSec\": \"0\"},\"numOfVMs\": {\"MemoryRAM\": \"2 GB\"}}," +
-      "\"general\": {\"image\": {\"providedBy\": \"AIC\",\"format\":\"qcow2\"," +
-      "\"bootDiskSizePerVM\": \"100\",\"ephemeralDiskSizePerVM\": \"200\"}," +
-      "\"hypervisor\": {\"hypervisor\": \"KVM\" } },\"highAvailabilityAndLoadBalancing\": {" +
-      "\"isComponentMandatory\": \"\",\"highAvailabilityMode\": \"\"},\"storage\": {" +
-      "\"backup\": {\"backupNIC\": \"\",\"backupType\": \"On Site\" }," +
-      "\"snapshotBackup\": {\"snapshotFrequency\": \"24\"}},\"network\": {\"networkCapacity\": {" +
-      "\"protocolWithHighestTrafficProfileAcrossAllNICs\": \"\"}}}";
-
-  private static final String componentQuestionnaireWithCPURatioData = "{\"compute\": " +
-      "{\"guestOS\": {\"bitSize\": 64},\"vmSizing\": {\"IOOperationsPerSec\": " +
-      "\"0\"},\"numOfVMs\": {\"CpuOverSubscriptionRatio\": " +
-      "\"1:1\"}},\"general\": {\"image\": {\"providedBy\": \"AIC\",\"format\":\"qcow2\"," +
-      "\"bootDiskSizePerVM\": \"100\",\"ephemeralDiskSizePerVM\": \"200\"}," +
-      "\"hypervisor\": {\"hypervisor\": \"KVM\" } },\"highAvailabilityAndLoadBalancing\": {" +
-      "\"isComponentMandatory\": \"\",\"highAvailabilityMode\": \"\"},\"storage\": {" +
-      "\"backup\": {\"backupNIC\": \"\",\"backupType\": \"On Site\" }," +
-      "\"snapshotBackup\": {\"snapshotFrequency\": \"24\"}},\"network\": {\"networkCapacity\": {" +
-      "\"protocolWithHighestTrafficProfileAcrossAllNICs\": \"\"}}}";
-
-  private static final JsonParser jsonParser = new JsonParser();
-  private ComponentEntity componentEntity;
-
-  @Mock
-  private ImageDao imageDao;
-
-  @Mock
-  private ComputeDao computeDao;
-
-  @Mock
-  private ComponentDao componentDao;
-
-  @InjectMocks
-  private ComponentQuestionnaireHealer componentQuestionnaireHealer;
-
-  @Before
-  public void init() throws Exception {
-    MockitoAnnotations.initMocks(ComponentQuestionnaireHealerTest.this);
-  }
-
-  @Test
-  public void healQuestionnaireNullTest() throws Exception {
-    prepareHealingData();
-    componentEntity.setQuestionnaireData(null);
-    Object returnObject = componentQuestionnaireHealer.heal(DUMMY_VSP_ID, VERSION);
-    Assert.assertTrue(returnObject instanceof Collection);
-    Collection<ComponentEntity> componentEntities = (Collection<ComponentEntity>) returnObject;
-    componentEntities.forEach(componentEntity -> {
-      Assert.assertNull(componentEntity.getQuestionnaireData());
-    });
-  }
-
-  @Test
-  public void healAllCasesTest() throws Exception {
-    prepareHealingData();
-
-    Object returnObject = componentQuestionnaireHealer.heal(DUMMY_VSP_ID, VERSION);
-    Assert.assertTrue(returnObject instanceof Collection);
-    Collection<ComponentEntity> componentEntities = (Collection<ComponentEntity>) returnObject;
-    componentEntities.forEach(componentEntity -> {
-      JsonObject json = (JsonObject) jsonParser.parse(componentEntity.getQuestionnaireData());
-      Assert.assertNotNull(json.getAsJsonObject(GENERAL).getAsJsonObject(DISK));
-      Assert.assertNotNull(json.getAsJsonObject(GENERAL).getAsJsonObject(DISK)
-          .getAsJsonPrimitive(BOOT_DISK_SIZE_PER_VM));
-      Assert.assertNotNull(json.getAsJsonObject(GENERAL).getAsJsonObject(DISK)
-          .getAsJsonPrimitive(EPHEMERAL_DISK_SIZE_PER_VM));
-      Assert.assertNotNull(json.getAsJsonObject(COMPUTE).getAsJsonObject(NUM_OF_VMS));
-      Assert.assertNull(json.getAsJsonObject(COMPUTE).getAsJsonObject(NUM_OF_VMS)
-          .getAsJsonPrimitive(MEMORY_RAM));
-      Assert.assertNull(json.getAsJsonObject(COMPUTE).getAsJsonObject(NUM_OF_VMS)
-          .getAsJsonPrimitive(CPU_OVER_SUBSCRIPTION_RATIO));
-      Assert.assertNull(json.getAsJsonObject(GENERAL).getAsJsonObject(IMAGE)
-          .getAsJsonPrimitive(FORMAT));
-      Assert.assertNull(json.getAsJsonObject(COMPUTE).getAsJsonObject(VM_SIZING));
-    });
-  }
-
-  @Test
-  public void healDiskAttrMissingTest() throws Exception {
-    prepareHealingData();
-    componentEntity.setQuestionnaireData(componentQuestionnaireMissingDiskAttrData);
-    Object returnObject = componentQuestionnaireHealer.heal(DUMMY_VSP_ID, VERSION);
-    Assert.assertTrue(returnObject instanceof Collection);
-    Collection<ComponentEntity> componentEntities = (Collection<ComponentEntity>) returnObject;
-    componentEntities.forEach(componentEntity -> {
-      JsonObject json = (JsonObject) jsonParser.parse(componentEntity.getQuestionnaireData());
-      Assert.assertNull(json.getAsJsonObject(COMPUTE).getAsJsonObject(VM_SIZING));
-    });
-  }
-
-  @Test
-  public void handleVMSizingWithVMSizingTest()
-      throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
-    JsonObject jsonObject = (JsonObject) jsonParser.parse(componentQuestionnaireWithoutNumOfVMData);
-    Method method = ComponentQuestionnaireHealer.class.getDeclaredMethod("handleVmSizing",
-        JsonObject.class);
-    method.setAccessible(true);
-    method.invoke(componentQuestionnaireHealer, jsonObject.getAsJsonObject(COMPUTE));
-
-    Assert.assertNull(jsonObject.getAsJsonObject(COMPUTE).getAsJsonObject(VM_SIZING));
-  }
-
-  @Test
-  public void handleNumOfVMWithoutVMSizingTest()
-      throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
-    JsonObject jsonObject = (JsonObject) jsonParser
-        .parse(componentQuestionnaireWithoutVMSizingData);
-    provideAccessToPrivateMethod(HANDLE_NUM_OF_VMS_METHOD, jsonObject);
-
-    Assert.assertNotNull(jsonObject.getAsJsonObject(COMPUTE).getAsJsonObject(NUM_OF_VMS));
-    Assert.assertNotNull(jsonObject.getAsJsonObject(COMPUTE).getAsJsonObject(NUM_OF_VMS)
-        .getAsJsonPrimitive("maximum"));
-  }
-
-  @Test
-  public void handleVMSizingWithOnlyMemoryRAMTest()
-      throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
-    JsonObject jsonObject = (JsonObject) jsonParser.parse(componentQuestionnaireWithMemoryRamData);
-    provideAccessToPrivateMethod(HANDLE_NUM_OF_VMS_METHOD, jsonObject);
-
-    Assert.assertNotNull(jsonObject.getAsJsonObject(COMPUTE).getAsJsonObject(NUM_OF_VMS));
-    Assert.assertNull(jsonObject.getAsJsonObject(COMPUTE).getAsJsonObject(NUM_OF_VMS)
-        .getAsJsonPrimitive(MEMORY_RAM));
-  }
-
-  @Test
-  public void handleVMSizingWithOnlyCpuRatioTest()
-      throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
-    JsonObject jsonObject = (JsonObject) jsonParser.parse(componentQuestionnaireWithCPURatioData);
-    provideAccessToPrivateMethod(HANDLE_NUM_OF_VMS_METHOD, jsonObject);
-
-    Assert.assertNotNull(jsonObject.getAsJsonObject(COMPUTE).getAsJsonObject(NUM_OF_VMS));
-    Assert.assertNull(jsonObject.getAsJsonObject(COMPUTE).getAsJsonObject(NUM_OF_VMS)
-        .getAsJsonPrimitive(CPU_OVER_SUBSCRIPTION_RATIO));
-  }
-
-  private void provideAccessToPrivateMethod(String methodName, JsonObject jsonObject)
-      throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {
-    Method method = ComponentQuestionnaireHealer.class
-        .getDeclaredMethod(methodName, JsonObject.class, JsonObject.class);
-    method.setAccessible(true);
-
-    method.invoke(componentQuestionnaireHealer, jsonObject.getAsJsonObject(COMPUTE), null);
-  }
-
-  private void prepareHealingData() {
-    componentEntity = new ComponentEntity(DUMMY_VSP_ID, VERSION, DUMMY_COMPONENT_ID);
-    componentEntity.setQuestionnaireData(componentQuestionnaireData);
-
-    Collection<ComponentEntity> componentEntities = new ArrayList<>();
-    componentEntities.add(componentEntity);
-    doReturn(componentEntities).when(componentDao).list(anyObject());
-    doReturn(componentEntity).when(componentDao).getQuestionnaireData(DUMMY_VSP_ID,
-        VERSION, DUMMY_COMPONENT_ID);
-
-    ComputeEntity computeEntity = new ComputeEntity(DUMMY_VSP_ID, VERSION,
-        DUMMY_COMPONENT_ID, DUMMY_COMPUTE_ID);
-    Collection<ComputeEntity> computeEntities = new ArrayList<>();
-    computeEntities.add(computeEntity);
-    doReturn(computeEntities).when(computeDao).list(anyObject());
-
-    ImageEntity imageEntity = new ImageEntity(DUMMY_VSP_ID, VERSION,
-        DUMMY_COMPONENT_ID, DUMMY_IMAGE_ID);
-    Collection<ImageEntity> imageEntities = new ArrayList<>();
-    imageEntities.add(imageEntity);
-    doReturn(imageEntities).when(imageDao).list(anyObject());
-
-    doNothing().when(componentDao).updateQuestionnaireData(anyObject(),
-        anyObject(), anyObject(), anyObject());
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealerTest.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealerTest.java
deleted file mode 100644 (file)
index a07ace6..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-import org.junit.AfterClass;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
-import org.openecomp.core.model.dao.ServiceModelDao;
-import org.openecomp.core.model.types.ServiceElement;
-import org.openecomp.sdc.common.togglz.ToggleableFeature;
-import org.openecomp.sdc.healing.healers.util.TestUtil;
-import org.openecomp.sdc.tosca.datatypes.ToscaNodeType;
-import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
-import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate;
-import org.openecomp.sdc.tosca.services.ToscaAnalyzerService;
-import org.openecomp.sdc.versioning.dao.types.Version;
-import org.togglz.testing.TestFeatureManager;
-import org.togglz.testing.TestFeatureManagerProvider;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Optional;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.eq;
-
-public class ForwarderCapabilityHealerTest {
-  private static final String vspId = "1";
-  private static final Version version = new Version(1, 1);
-  private static final String IN_SUFFIX = "/in";
-  private static final String OUT_SUFFIX = "/out";
-  private static final String BASE_DIRECTORY = "/mock/healers/forwarder";
-  private static final String ENTRY_DEFINITION_SERVICE_TEMPLATE = "MainServiceTemplate.yaml";
-  private static TestFeatureManager manager;
-
-
-  @Mock
-  private ServiceModelDao<ToscaServiceModel, ServiceElement> serviceModelDao;
-  @Mock
-  private ToscaAnalyzerService toscaAnalyzerService;
-  @InjectMocks
-  private ForwarderCapabilityHealer forwarderCapabilityHealer;
-
-  @BeforeClass
-  public static void enableForwarderFeature(){
-    manager = new TestFeatureManager(ToggleableFeature.class);
-    if (!ToggleableFeature.FORWARDER_CAPABILITY.isActive()) {
-      manager.enable(ToggleableFeature.FORWARDER_CAPABILITY);
-    }
-  }
-
-  @AfterClass
-  public static void disableForwarderFeature() {
-    manager.disable(ToggleableFeature.FORWARDER_CAPABILITY);
-    manager = null;
-    TestFeatureManagerProvider.setFeatureManager(null);
-  }
-
-  @Before
-  public void setUp() throws Exception {
-    MockitoAnnotations.initMocks(ForwarderCapabilityHealerTest.this);
-  }
-
-
-  @Test
-  public void testHealingSubstitutionMappingsNeutronPort() throws Exception {
-    testForwarderHealer(
-        "/testSubMappingNeutronPort", "org.openecomp.resource.cp.nodes.heat.network.neutron.Port", true);
-  }
-
-  @Test
-  public void testHealingSubstitutionMappingsContrailPort() throws Exception {
-    testForwarderHealer(
-        "/testSubMappingContrailPort", "org.openecomp.resource.cp.nodes.heat.network.contrail.Port", true);
-  }
-
-  @Test
-  public void testHealingSubstitutionMappingsExtNeutronPort() throws Exception {
-    testForwarderHealer(
-        "/testSubMappingExtNeutronPort", "org.openecomp.resource.cp.v2.extNeutronCP", true);
-  }
-
-  @Test
-  public void testHealingSubstitutionMappingsExtContrailPort() throws Exception {
-    testForwarderHealer(
-        "/testSubMappingExtContrailPort", "org.openecomp.resource.cp.v2.extContrailCP", true);
-  }
-
-  @Ignore
-  public void testHealingGlobalServiceTemplates () throws Exception {
-    testForwarderHealer("/testGlobalServiceTemplates", null, false);
-  }
-
-  @Test
-  public void testHealingNoPorts() throws Exception {
-    testForwarderHealer("/testNoPorts", null, false);
-  }
-
-  private void testForwarderHealer(String testDirectory,
-                                   String portType,
-                                   boolean needToTestSubMapping) throws Exception {
-
-    ToscaServiceModel toscaServiceModel = TestUtil.loadToscaServiceModel(
-        BASE_DIRECTORY + testDirectory + IN_SUFFIX, null, ENTRY_DEFINITION_SERVICE_TEMPLATE);
-
-    Mockito.doReturn(toscaServiceModel)
-        .when(serviceModelDao).getServiceModel(any(), any());
-
-    if(needToTestSubMapping) {
-      Mockito.doReturn(true)
-          .when(toscaAnalyzerService).isTypeOf(
-          eq(getMockPortNodeTemplate(portType)),
-          eq(ToscaNodeType.NATIVE_NETWORK_PORT),
-          anyObject(), anyObject());
-    }
-
-    validateServiceModelAfterHealing(testDirectory);
-  }
-
-  private void validateServiceModelAfterHealing(String testDirectory) throws Exception {
-    Optional<ToscaServiceModel> serviceModelObject =
-        (Optional<ToscaServiceModel>) forwarderCapabilityHealer.heal(vspId, version);
-
-    Assert.assertTrue(serviceModelObject.isPresent());
-    TestUtil
-        .compareToscaServiceModels(
-            BASE_DIRECTORY + testDirectory + OUT_SUFFIX, serviceModelObject.get());
-  }
-
-  private NodeTemplate getMockPortNodeTemplate(String portType) {
-    NodeTemplate nodeTemplate = new NodeTemplate();
-    nodeTemplate.setType(portType);
-
-    Map<String, Object> properties = new HashMap<>();
-    properties.put("exCP_naming", "port_pd01_port_exCP_naming");
-    nodeTemplate.setProperties(properties);
-
-    return nodeTemplate;
-  }
-
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealerTest.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealerTest.java
deleted file mode 100644 (file)
index 5584a5f..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.openecomp.sdc.healing.healers;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateEntity;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-
-public class VspOnboardingMethodHealerTest {
-  private static final String vspId = "1";
-  private static final Version version = new Version(1, 1);
-
-  @Mock
-  private VendorSoftwareProductInfoDao vendorSoftwareProductInfoDao;
-  @Mock
-  private OrchestrationTemplateDao orchestrationTemplateDao;
-  @Mock
-  private OrchestrationTemplateCandidateDao candidateDao;
-  @InjectMocks
-  private VspOnboardingMethodHealer vspOnboardingMethodHealer;
-
-  private OrchestrationTemplateEntity orchestrationTemplateEntity = new OrchestrationTemplateEntity();
-  private OrchestrationTemplateCandidateData candidateData = new OrchestrationTemplateCandidateData();
-  private static final String NETWORK_PACKAGE = "NetworkPackage";
-  private static final String HEAT = "HEAT";
-  private static final String MANUAL = "Manual";
-
-  @Before
-  public void setUp() throws Exception {
-    MockitoAnnotations.initMocks(VspOnboardingMethodHealerTest.this);
-  }
-
-  @Test
-  public void checkHealingWithNullOnboarding() throws Exception {
-    VspDetails vspDetails = initAndExecuteHealer(null);
-    assertEquals(vspDetails.getOnboardingMethod(), NETWORK_PACKAGE);
-  }
-
-  @Test
-  public void checkHealingWithHEATOnboarding() throws Exception {
-    VspDetails vspDetails = initAndExecuteHealer(HEAT);
-    assertEquals(vspDetails.getOnboardingMethod(), NETWORK_PACKAGE);
-  }
-
-  @Test
-  public void checkHealingWithManualOnboarding() throws Exception {
-    VspDetails vspDetails = initAndExecuteHealer(MANUAL);
-    assertEquals(vspDetails.getOnboardingMethod(), MANUAL);
-  }
-
-  private VspDetails initAndExecuteHealer(String onboardingMethod) throws Exception {
-    VspDetails vspDetails = new VspDetails();
-    vspDetails.setOnboardingMethod(onboardingMethod);
-
-    setMockActions(vspDetails);
-    vspOnboardingMethodHealer.heal(vspId, version);
-    return vspDetails;
-  }
-
-  private void setMockActions(VspDetails vspDetails) {
-    Mockito.doReturn(vspDetails).when(vendorSoftwareProductInfoDao).get(any());
-    Mockito.doReturn(orchestrationTemplateEntity).when(orchestrationTemplateDao).get(any(), any());
-    Mockito.doNothing().when(orchestrationTemplateDao).update(any(), any(), any());
-    Mockito.doReturn(candidateData).when(candidateDao).get(any(), any());
-    Mockito.doNothing().when(candidateDao).update(any(), any(), any());
-  }
-}
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/testHealers/data/TestDescriptionHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/testHealers/data/TestDescriptionHealer.java
deleted file mode 100644 (file)
index aac1a50..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.openecomp.sdc.healing.healers.testHealers.data;
-
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-public class TestDescriptionHealer implements Healer {
-
-  @Override
-  public Object heal(String vspId, Version version) throws Exception {
-    VspDetails vspDetails = new VspDetails(vspId, version);
-    vspDetails.setDescription("This is a data healer");
-
-    return vspDetails;
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/testHealers/structure/TestNewEntityInVspHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/testHealers/structure/TestNewEntityInVspHealer.java
deleted file mode 100644 (file)
index 7d71c03..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.openecomp.sdc.healing.healers.testHealers.structure;
-
-import org.openecomp.sdc.healing.interfaces.Healer;
-import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
-import org.openecomp.sdc.versioning.dao.types.Version;
-
-public class TestNewEntityInVspHealer implements Healer {
-
-  @Override
-  public Object heal(String vspId, Version version) throws Exception {
-    VspDetails vspDetails = new VspDetails(vspId, version);
-    vspDetails.setDescription("This is a structure healer");
-
-    return vspDetails;
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/util/TestUtil.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/util/TestUtil.java
deleted file mode 100644 (file)
index da44ec4..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.openecomp.sdc.healing.healers.util;
-
-import org.junit.Assert;
-import org.openecomp.core.utilities.json.JsonUtil;
-import org.openecomp.sdc.logging.api.Logger;
-import org.openecomp.sdc.logging.api.LoggerFactory;
-import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
-import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
-import org.openecomp.sdc.tosca.services.ToscaExtensionYamlUtil;
-import org.openecomp.sdc.tosca.services.ToscaUtil;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.nio.file.NotDirectoryException;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-public class TestUtil {
-  private final static Logger log = (Logger) LoggerFactory.getLogger
-      (TestUtil.class.getName());
-
-  public static ToscaServiceModel loadToscaServiceModel(String serviceTemplatesPath,
-                                                        String globalServiceTemplatesPath,
-                                                        String entryDefinitionServiceTemplate)
-      throws IOException {
-    ToscaExtensionYamlUtil toscaExtensionYamlUtil = new ToscaExtensionYamlUtil();
-    Map<String, ServiceTemplate> serviceTemplates = new HashMap<>();
-    if (entryDefinitionServiceTemplate == null) {
-      entryDefinitionServiceTemplate = "MainServiceTemplate.yaml";
-    }
-
-    loadServiceTemplates(serviceTemplatesPath, toscaExtensionYamlUtil, serviceTemplates);
-    if (globalServiceTemplatesPath != null) {
-      loadServiceTemplates(globalServiceTemplatesPath, toscaExtensionYamlUtil, serviceTemplates);
-    }
-
-    return new ToscaServiceModel(null, serviceTemplates, entryDefinitionServiceTemplate);
-  }
-
-  private static void loadServiceTemplates(String serviceTemplatesPath,
-                                           ToscaExtensionYamlUtil toscaExtensionYamlUtil,
-                                           Map<String, ServiceTemplate> serviceTemplates)
-      throws IOException {
-    URL urlFile = TestUtil.class.getResource(serviceTemplatesPath);
-    if (urlFile != null) {
-      File pathFile = new File(urlFile.getFile());
-      Collection<File> files = org.apache.commons.io.FileUtils.listFiles(pathFile, null, true);
-      if (files != null) {
-        addServiceTemplateFiles(serviceTemplates, files, toscaExtensionYamlUtil);
-      } else {
-        throw new NotDirectoryException(serviceTemplatesPath);
-      }
-    } else {
-      throw new NotDirectoryException(serviceTemplatesPath);
-    }
-  }
-
-  private static void addServiceTemplateFiles(Map<String, ServiceTemplate> serviceTemplates,
-                                              Collection<File> files,
-                                              ToscaExtensionYamlUtil toscaExtensionYamlUtil)
-      throws IOException {
-    for (File file : files) {
-      try (InputStream yamlFile = new FileInputStream(file)) {
-        ServiceTemplate serviceTemplateFromYaml =
-            toscaExtensionYamlUtil.yamlToObject(yamlFile, ServiceTemplate.class);
-        serviceTemplates.put(ToscaUtil.getServiceTemplateFileName(serviceTemplateFromYaml), serviceTemplateFromYaml);
-        try {
-          yamlFile.close();
-        } catch (IOException ignore) {
-          log.debug("",ignore);
-        }
-      } catch (FileNotFoundException exception) {
-        throw exception;
-      } catch (IOException exception) {
-        throw exception;
-      }
-    }
-  }
-
-  public static void compareToscaServiceModels(String expectedServiceModelPath,
-                                                ToscaServiceModel actualServiceModel)
-      throws IOException {
-    ToscaServiceModel expectedServiceModel =
-        loadToscaServiceModel(expectedServiceModelPath, null, null);
-
-    Map<String, ServiceTemplate> expectedServiceTemplates =
-        new HashMap<>(expectedServiceModel.getServiceTemplates());
-    Map<String, ServiceTemplate> actualServiceTemplates =
-        new HashMap<>(actualServiceModel.getServiceTemplates());
-
-    for (Map.Entry<String, ServiceTemplate> expectedServiceTemplateEntry : expectedServiceTemplates.entrySet()) {
-      String serviceTemplateName = expectedServiceTemplateEntry.getKey();
-      ServiceTemplate actualServiceTemplate =
-          actualServiceTemplates.get(serviceTemplateName);
-
-      Assert.assertNotNull("Missing service template in service model : " + serviceTemplateName, actualServiceTemplate);
-      org.junit.Assert.assertEquals("Difference in file " + serviceTemplateName,
-          JsonUtil.object2Json(expectedServiceTemplateEntry.getValue()),
-          JsonUtil.object2Json(actualServiceTemplate));
-    }
-  }
-}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/capabilities.yml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/capabilities.yml
deleted file mode 100644 (file)
index 285d6b2..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-tosca_definitions_version: tosca_simple_openecomp_1_0
-
-metadata:
-  filename: openecomp/capabilities.yml
-  version: '1.0'
-
-imports:
-- openecomp_index:
-    file: _index.yml
-
-capability_types:
-
-  org.openecomp.capabilities.attachment.DeploymentFlavor:
-    derived_from: tosca.capabilities.Attachment
-    description: The Node capability indicates the base capabilities of a TOSCA Node Type.
-    properties:
-      DeploymentFlavor:
-        type: map
-        description: Deployment flavors instance
-        required: true
-        status: SUPPORTED
-        entry_schema:
-            type: org.openecomp.datatypes.DeploymentFlavor     
-
-  org.openecomp.capabilities.metric.SnmpTrap:
-    derived_from: org.openecomp.capabilities.Metric
-    description: A node type that includes the Metric capability indicates that it can be monitored using snmp trap.
-    properties:
-      oid:
-        description: Object Id of the metric
-        type: string
-        status: SUPPORTED
-        required: true
-
-  org.openecomp.capabilities.AllottedResource:
-    derived_from: tosca.capabilities.Root
-
-  org.openecomp.capabilities.metric.SnmpPolling:
-    derived_from: org.openecomp.capabilities.Metric
-    description: A node type that includes the Metric capability indicates that it can be monitored using snmp polling.
-    properties:
-      oid:
-        description: Object Id of the metric
-        type: string
-        status: SUPPORTED
-        required: true
-
-  org.openecomp.capabilities.metric.Ceilometer:
-    derived_from: org.openecomp.capabilities.Metric
-    description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-    properties:
-      name:
-        description: Ceilometer metric type name to monitor. (The name ceilometer is using)
-        type: string
-        status: SUPPORTED
-        required: true
-
-  org.openecomp.capabilities.Metric:
-    derived_from: tosca.capabilities.Endpoint
-    description: A node type that includes the Metric capability indicates that it can be monitored.
-    properties:
-      unit:
-        description: Unit of the metric value
-        type: string
-        status: SUPPORTED
-        required: true
-      description:
-        description: Description of the metric
-        type: string
-        status: SUPPORTED
-        required: false
-      type:
-        description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
-        type: string
-        status: SUPPORTED
-        required: true
-      category:
-        description: Category of the metric, for an example, compute, disk, network, storage and etc.
-        type: string
-        status: SUPPORTED
-        required: false
-    attributes:
-      value:
-        description: Runtime monitored value
-        type: string
-        status: SUPPORTED
-
-  tosca.capabilities.nfv.VirtualLinkable:
-    derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.Metric:
-    derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.VirtualBindable:
-    derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.VirtualCompute:
-    derived_from: tosca.capabilities.Root
-    properties:
-      virtual_memory:
-        type: tosca.datatypes.nfv.VirtualMemory
-      requested_additional_capabilities:
-        entry_schema:
-          type: tosca.datatypes.nfv.RequestedAdditionalCapability
-        required: false
-        type: map
-      virtual_cpu:
-        type: tosca.datatypes.nfv.VirtualCpu
-
-
-  tosca.capabilities.nfv.VirtualStorage:
-    derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.Forwarder:
-    derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.ext.Compute.Container.Architecture:
-    derived_from: tosca.capabilities.Root
-    properties:
-      num_cpus:
-        required: false
-        type: string
-      flavor_extra_specs:
-        entry_schema:
-          type: string
-        required: false
-        type: map
-      mem_size:
-        required: false
-        type: string
-
-  tosca.capabilities.nfv.ext.ImageFile:
-    derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.ext.LocalAttachment:
-    derived_from: tosca.capabilities.Root
-  # New capability types for Port Mirroring
-  org.openecomp.capabilities.PortMirroring:
-    derived_from: tosca.capabilities.Root
-    properties:
-      connection_point:
-        type: org.openecomp.datatypes.PortMirroringConnectionPointDescription
-        required: true
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/nodes.yml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/nodes.yml
deleted file mode 100644 (file)
index 191c121..0000000
+++ /dev/null
@@ -1,1361 +0,0 @@
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-tosca_definitions_version: tosca_simple_openecomp_1_0
-
-metadata:
-  filename: openecomp/nodes.yml
-  version: '1.0'
-  
-imports:
-- openecomp_index:
-    file: _index.yml
-
-node_types:
-
-  org.openecomp.resource.vl.nodes.network.Network:
-    derived_from: tosca.nodes.network.Network
-    properties:
-      vendor:
-        type: string
-        required: false
-      vl_name:
-        type: string
-        required: false
-    capabilities:
-      end_point:
-        type: tosca.capabilities.Endpoint
-
-  org.openecomp.resource.abstract.nodes.AbstractSubstitute:
-    derived_from: tosca.nodes.Root
-    properties:
-      service_template_filter:
-        description: Substitution Filter
-        type: org.openecomp.datatypes.substitution.SubstitutionFiltering
-        status: SUPPORTED
-        required: true
-
-  org.openecomp.resource.vl.extVL:
-    derived_from: org.openecomp.resource.vl.nodes.network.Network
-    description: VF Tenant oam protected network
-    properties:
-      network_type:
-        description: OPENECOMP supported network types.
-        type: string
-        required: true
-      network_role:
-        description: |
-          Unique label that defines the role that this network performs.   example: vce oam network, vnat sr-iov1 network
-        type: string
-        required: true
-      network_scope:
-        description: |
-          Uniquely identifies the network scope. Valid values for the network scope   includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects  the VFs within the service GLOBAL - Global network which can be shared by multiple services
-        type: string
-        constraints:
-        - valid_values:
-          - VF
-          - SERVICE
-          - GLOBAL
-      network_technology:
-        description: OPENECOMP supported network technology
-        type: string
-        required: true
-      network_ecomp_naming:
-        type: org.openecomp.datatypes.EcompNaming
-        required: true
-      network_homing:
-        type: org.openecomp.datatypes.EcompHoming
-        required: true
-      network_assignments:
-        type: org.openecomp.datatypes.network.NetworkAssignments
-        required: true
-      provider_network:
-        type: org.openecomp.datatypes.network.ProviderNetwork
-        required: true
-      network_flows:
-        type: org.openecomp.datatypes.network.NetworkFlows
-        required: false
-
-
-  org.openecomp.resource.vfc.nodes.Compute:
-    derived_from: tosca.nodes.Compute
-    capabilities:
-      disk.ephemeral.size:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      instance:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      memory:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.iops:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.read.requests:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      cpu.delta:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.capacity:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.read.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.write.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.latency:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.read.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.usage:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      cpu_util:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.allocation:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.write.requests.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.write.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.latency:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      cpu:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.write.requests:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.write.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.read.requests:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.root.size:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.write.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      vcpus:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.iops:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.usage:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.read.requests.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.write.requests.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.allocation:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.read.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.read.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      memory.usage:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.capacity:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      memory.resident:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.write.requests:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-
-  org.openecomp.resource.abstract.nodes.DFAbstractSubstitute:
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
-    properties:
-      license_feature_group_ref:
-        description: refrence to license feature group
-        type: string
-        status: SUPPORTED
-        required: true
-    requirements:
-    - deployment_flavor:
-        capability: org.openecomp.capabilities.attachment.DeploymentFlavor
-        node: org.openecomp.resource.nodes.DeploymentFlavor
-        relationship: org.openecomp.relationships.AttachesTo
-        occurrences:
-        - 1
-        - UNBOUNDED
-
-  org.openecomp.resource.abstract.nodes.ComplexVFC:
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
-
-  org.openecomp.resource.abstract.nodes.VFC:
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
-    properties:
-      high_availablity:
-        description: high_availablity
-        type: string
-        status: SUPPORTED
-        required: false
-      vm_image_name:
-        description: Master image_name volume id
-        type: string
-        status: SUPPORTED
-        required: true
-      vm_flavor_name:
-        description: Master image_name volume id
-        type: string
-        status: SUPPORTED
-        required: true
-      nfc_naming_code:
-        description: nfc code for instance naming
-        type: string
-        status: SUPPORTED
-        required: false
-      nfc_code:
-        type: string
-        description: nfc code
-        status: SUPPORTED
-        required: false
-      nfc_function:
-        type: string
-        description: nfc function
-        status: SUPPORTED
-        required: false
-      vm_type_tag:
-        description: vm type based on naming Convention
-        type: string
-        status: SUPPORTED
-        required: false
-      vfc_naming:
-        description: vfc naming
-        type: org.openecomp.datatypes.Naming
-        status: SUPPORTED
-        default: false
-        required: false
-      min_instances:
-        description: Minimum number of VFC Instances
-        type: integer
-        status: SUPPORTED
-        default: 0
-        required: false
-        constraints:
-        - greater_or_equal: 0
-      max_instances:
-        description: Maximum number of VFC Instances
-        type: integer
-        status: SUPPORTED
-        required: false
-        constraints:
-        - greater_or_equal: 1
-
-  org.openecomp.resource.vl.ELine:
-    derived_from: org.openecomp.resource.vl.nodes.network.Network
-    capabilities:
-      linkable:
-        type: tosca.capabilities.network.Linkable
-        occurrences:
-        - 0
-        - 2
-
-  org.openecomp.resource.cp.nodes.network.SubInterface:
-    derived_from: tosca.nodes.network.Port
-
-  org.openecomp.resource.vl.internalVL:
-    derived_from: org.openecomp.resource.vl.nodes.network.Network
-    description: The AT&T internal (VF-level) Virtual Link
-
-  org.openecomp.resource.cp.nodes.network.Port:
-    derived_from: tosca.nodes.network.Port  
-    properties:
-      network_role_tag:
-        description: Must correlate to the set of defined â€œnetwork-role�? tag identifiers from the associated HEAT template
-        type: string
-        required: true
-      mac_requirements:
-        description: identifies MAC address assignments to the CP
-        type: org.openecomp.datatypes.network.MacRequirements
-        required: false
-      vlan_requirements:
-        description: identifies vlan address assignments to the CP
-        type: list
-        entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
-        required: false
-      ip_requirements:
-        description: identifies IP requirements to the CP
-        type: list
-        entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-        required: true
-      network_role:
-        description: identical to VL network_role
-        type: string
-        required: false
-      order:
-        description: The order of the CP on the compute instance (e.g. eth2).
-        type: integer
-        required: false
-      exCP_naming:
-        description: CP Name
-        type: org.openecomp.datatypes.Naming
-        required: false
-      subnetpoolid:
-        description: subnet pool id
-        type: string
-        required: false
-    capabilities:
-      network.incoming.packets.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.outgoing.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.outgoing.packets.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.outpoing.packets:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.incoming.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.incoming.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.outgoing.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.incoming.packets:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-
-  org.openecomp.resource.nodes.DeploymentFlavor:
-    derived_from: tosca.nodes.Root
-    capabilities:
-      deployment_flavor:
-        description: Allowed deployment flavors of an abstract node
-        type: org.openecomp.capabilities.attachment.DeploymentFlavor
-        occurrences:
-        - 1
-        - UNBOUNDED
-
-  org.openecomp.resource.cp.extCP:
-    derived_from: tosca.nodes.Root
-    description: The AT&T Connection Point base type all other CP derive from
-    properties:
-      network_role:
-        description: identical to VL network_role
-        type: string
-        required: true
-      order:
-        description: The order of the CP on the compute instance (e.g. eth2).
-        type: integer
-        required: true
-      network_role_tag:
-        type: string
-        required: true
-      mac_requirements:
-        description: identifies MAC address assignments to the CP
-        type: org.openecomp.datatypes.network.MacRequirements
-        required: false
-      vlan_requirements:
-        description: identifies vlan address assignments to the CP
-        type: list
-        entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
-        required: false
-      ip_requirements:
-        description: identifies IP requirements to the CP
-        type: list
-        entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-        required: true
-    capabilities:
-      internal_connectionPoint:
-        type: tosca.capabilities.Node
-        valid_source_types:
-        - tosca.nodes.network.Port
-    requirements:
-    - virtualLink:
-        capability: tosca.capabilities.network.Linkable
-        relationship: tosca.relationships.network.LinksTo
-    - virtualBinding:
-        capability: tosca.capabilities.network.Bindable
-        relationship: tosca.relationships.network.BindsTo
-    - external_virtualLink:
-        capability: tosca.capabilities.network.Linkable
-        node: org.openecomp.resource.vl.nodes.network.Network
-        relationship: tosca.relationships.network.LinksTo
-
-  org.openecomp.resource.vfc.nodes.volume:
-    derived_from: tosca.nodes.BlockStorage
-    
-  ### Node types related to Deployment Flavors
-  org.openecomp.resource.abstract.nodes.VnfConfiguration:
-    derived_from: tosca.nodes.Root
-    description: a container for the available flavors
-    properties:
-      allowed_flavors:
-        description: a collection of all available flavor valuesets
-        type: map
-        entry_schema:
-          type: org.openecomp.datatypes.flavors.DeploymentFlavor
-
-  org.openecomp.resource.abstract.nodes.MultiFlavorVFC:
-    derived_from: org.openecomp.resource.abstract.nodes.VFC
-    description: Multi flavored VFC node
-    properties:
-      images:
-        type: map
-        entry_schema:
-          type: org.openecomp.datatypes.ImageInfo
-        required: false
-
-  ## New node types for Port Mirroring
-  org.openecomp.nodes.ServiceProxy:
-    derived_from: tosca.nodes.Root
-
-  org.openecomp.nodes.PortMirroringConfiguration:
-    derived_from: tosca.nodes.Root
-    requirements:
-    - source:
-        capability: org.openecomp.capabilities.PortMirroring
-        occurrences:
-        - 1
-        - UNBOUNDED
-    - collector:
-        capability: org.openecomp.capabilities.PortMirroring
-        occurrences:
-        - 1
-        - 1
-
-  org.openecomp.resource.cp.v2.extCP:
-    derived_from: org.openecomp.resource.cp.nodes.network.Port
-    description: The SDC External Connection Point base type
-    capabilities:
-      port_mirroring:
-        type: org.openecomp.capabilities.PortMirroring
-
-  org.openecomp.resource.cp.v2.extNeutronCP:
-    derived_from: org.openecomp.resource.cp.v2.extCP
-    properties:
-      port_security_enabled:
-        type: boolean
-        description: Flag to enable/disable port security on the network
-        required: false
-        status: SUPPORTED
-      device_id:
-        type: string
-        description: Device ID of this port
-        required: false
-        status: SUPPORTED
-      qos_policy:
-        type: string
-        description: The name or ID of QoS policy to attach to this network
-        required: false
-        status: SUPPORTED
-      allowed_address_pairs:
-        type: list
-        description: Additional MAC/IP address pairs allowed to pass through the port
-        required: false
-        status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.heat.network.AddressPair
-      binding:vnic_type:
-        type: string
-        description: The vnic type to be bound on the neutron port
-        required: false
-        status: SUPPORTED
-        constraints:
-        - valid_values:
-          - macvtap
-          - direct
-          - normal
-      value_specs:
-        type: map
-        description: Extra parameters to include in the request
-        required: false
-        default: {
-          }
-        status: SUPPORTED
-        entry_schema:
-          type: string
-      device_owner:
-        type: string
-        description: Name of the network owning the port
-        required: false
-        status: SUPPORTED
-      network:
-        type: string
-        description: Network this port belongs to
-        required: false
-        status: SUPPORTED
-      replacement_policy:
-        type: string
-        description: Policy on how to respond to a stack-update for this resource
-        required: false
-        default: AUTO
-        status: SUPPORTED
-        constraints:
-        - valid_values:
-          - REPLACE_ALWAYS
-          - AUTO
-      security_groups:
-        type: list
-        description: List of security group names or IDs
-        required: false
-        status: SUPPORTED
-        entry_schema:
-          type: string
-      fixed_ips:
-        type: list
-        description: Desired IPs for this port
-        required: false
-        status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-      mac_address:
-        type: string
-        description: MAC address to give to this port
-        required: false
-        status: SUPPORTED
-      admin_state_up:
-        type: boolean
-        description: A boolean value specifying the administrative status of the network
-        required: false
-        default: true
-        status: SUPPORTED
-      name:
-        type: string
-        description: A symbolic name for this port
-        required: false
-        status: SUPPORTED
-    attributes:
-      tenant_id:
-        type: string
-        description: Tenant owning the port
-        status: SUPPORTED
-      network_id:
-        type: string
-        description: Unique identifier for the network owning the port
-        status: SUPPORTED
-      qos_policy_id:
-        type: string
-        description: The QoS policy ID attached to this network
-        status: SUPPORTED
-      show:
-        type: string
-        description: Detailed information about resource
-        status: SUPPORTED
-      subnets:
-        type: list
-        description: Subnets of this network
-        status: SUPPORTED
-        entry_schema:
-          type: string
-      status:
-        type: string
-        description: The status of the network
-        status: SUPPORTED
-    capabilities:
-      attachment:
-        type: tosca.capabilities.Attachment
-        occurrences:
-        - 1
-        - UNBOUNDED
-      binding:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  org.openecomp.resource.cp.v2.extContrailCP:
-    derived_from: org.openecomp.resource.cp.v2.extCP
-    properties:
-      static_routes:
-        type: list
-        description: An ordered list of static routes to be added to this interface
-        required: false
-        status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
-      virtual_network:
-        type: string
-        description: Virtual Network for this interface
-        required: true
-        status: SUPPORTED
-      static_route:
-        type: boolean
-        description: Static route enabled
-        required: false
-        default: false
-        status: SUPPORTED
-      allowed_address_pairs:
-        type: list
-        description: List of allowed address pair for this interface
-        required: false
-        status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
-      shared_ip:
-        type: boolean
-        description: Shared ip enabled
-        required: false
-        default: false
-        status: SUPPORTED
-      ip_address:
-        type: string
-        description: IP for this interface
-        required: false
-        status: SUPPORTED
-      interface_type:
-        type: string
-        description: Interface type
-        required: true
-        status: SUPPORTED
-        constraints:
-        - valid_values:
-          - management
-          - left
-          - right
-          - other
-    attributes:
-      fq_name:
-        type: string
-        description: fq_name
-        status: SUPPORTED
-  tosca.nodes.nfv.NS.vEPC_NS:
-    derived_from: tosca.nodes.nfv.NS
-    properties:
-      vendor:
-        default: ChinaMobile
-        required: false
-        type: string
-      csarVersion:
-        default: v1.0
-        required: false
-        type: string
-      name:
-        default: vEPC_NS
-        required: false
-        type: string
-      csarProvider:
-        default: ChinaMobile
-        required: false
-        type: string
-      id:
-        default: vEPC_NS
-        required: false
-        type: string
-      version:
-        default: v1.0
-        required: false
-        type: string
-      csarType:
-        default: NSAR
-        required: false
-        type: string
-    requirements:
-    - virtualLink:
-        capability: tosca.capabilities.nfv.VirtualLinkable
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  tosca.nodes.nfv.NS.vIMS_NS:
-    derived_from: tosca.nodes.nfv.NS
-    properties:
-      vendor:
-        default: ChinaMobile
-        required: false
-        type: string
-      csarVersion:
-        default: v1.0
-        required: false
-        type: string
-      name:
-        default: vIMS_NS
-        required: false
-        type: string
-      csarProvider:
-        default: ChinaMobile
-        required: false
-        type: string
-      id:
-        default: vIMS_NS
-        required: false
-        type: string
-      version:
-        default: v1.0
-        required: false
-        type: string
-      csarType:
-        default: NSAR
-        required: false
-        type: string
-    requirements:
-    - virtualLink:
-        capability: tosca.capabilities.nfv.VirtualLinkable
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  tosca.nodes.nfv.NS:
-    derived_from: tosca.nodes.Root
-    properties:
-      vendor:
-        required: false
-        type: string
-      name:
-        required: false
-        type: string
-      id:
-        required: false
-        type: string
-      version:
-        required: false
-        type: string
-    requirements:
-    - virtualLink:
-        capability: tosca.capabilities.nfv.VirtualLinkable
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  tosca.nodes.nfv.VDU.Compute:
-    attributes:
-      private_address:
-        type: string
-      public_address:
-        type: string
-      networks:
-        type: string
-      ports:
-        type: string
-    capabilities:
-      scalable:
-        type: tosca.capabilities.Scalable
-      virtual_compute:
-        type: tosca.capabilities.nfv.VirtualCompute
-      endpoint:
-        type: tosca.capabilities.Endpoint.Admin
-      os:
-        type: tosca.capabilities.OperatingSystem
-      virtual_binding:
-        type: tosca.capabilities.nfv.VirtualBindable
-      host:
-        type: tosca.capabilities.Container
-      binding:
-        type: tosca.capabilities.network.Bindable
-      monitoring_parameter:
-        type: tosca.capabilities.nfv.Metric
-    derived_from: tosca.nodes.Root
-    properties:
-      configurable_properties:
-        entry_schema:
-          type: tosca.datatypes.nfv.VnfcConfigurableProperties
-        type: map
-      name:
-        type: string
-      nfvi_constraints:
-        entry_schema:
-          type: string
-        required: false
-        type: list
-      descrption:
-        type: string
-      boot_order:
-        entry_schema:
-          type: string
-        required: false
-        type: list
-    requirements:
-    - local_storage:
-        capability: tosca.capabilities.Attachment
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - virtual_storage:
-        capability: tosca.capabilities.nfv.VirtualStorage
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  tosca.nodes.nfv.VDU.VirtualStorage:
-    capabilities:
-      virtual_storage:
-        type: tosca.capabilities.nfv.VirtualStorage
-    derived_from: tosca.nodes.Root
-    properties:
-      id:
-        type: string
-      size_of_storage:
-        type: string
-      rdma_enabled:
-        required: false
-        type: boolean
-      type_of_storage:
-        type: string
-
-  tosca.nodes.nfv.VduCpd:
-    derived_from: tosca.nodes.Root
-    properties:
-      virtual_network_interface_requirements:
-        entry_schema:
-          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
-        required: false
-        type: list
-      role:
-        constraints:
-        - valid_values:
-          - root
-          - leaf
-        required: false
-        type: string
-      bitrate_requirement:
-        required: false
-        type: integer
-      description:
-        required: false
-        type: string
-      layer_protocol:
-        constraints:
-        - valid_values:
-          - ethernet
-          - mpls
-          - odu2
-          - ipv4
-          - ipv6
-          - pseudo_wire
-        type: string
-      address_data:
-        entry_schema:
-          type: tosca.datatype.nfv.AddressData
-        required: false
-        type: list
-    requirements:
-    - virtual_binding:
-        capability: tosca.capabilities.nfv.VirtualBindable
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - virtual_link:
-        capability: tosca.capabilities.nfv.VirtualBindable
-        occurrences:
-        - 0
-        - UNBOUNDED
-  tosca.nodes.nfv.ext.ImageFile:
-    capabilities:
-      guest_os:
-        type: tosca.capabilities.nfv.ext.GuestOs
-      image_fle:
-        type: tosca.capabilities.nfv.ext.ImageFile
-    derived_from: tosca.nodes.Root
-    properties:
-      file_url:
-        required: false
-        type: string
-      container_type:
-        required: false
-        type: string
-      name:
-        required: false
-        type: string
-      disk_format:
-        required: false
-        type: string
-      version:
-        required: false
-        type: string
-  tosca.nodes.nfv.ext.LocalStorage:
-    capabilities:
-      local_attachment:
-        type: tosca.capabilities.nfv.ext.LocalAttachment
-    derived_from: tosca.nodes.Root
-    properties:
-      size:
-        required: false
-        type: string
-      disk_type:
-        required: false
-        type: string
-  tosca.nodes.nfv.ext.zte.CP:
-    capabilities:
-      forwarder:
-        type: tosca.capabilities.nfv.Forwarder
-    derived_from: tosca.nodes.Root
-    properties:
-      guest_os_mtu:
-        required: false
-        type: integer
-      bandwidth:
-        required: false
-        type: integer
-      interface_name:
-        required: false
-        type: string
-      allowed_address_pairs:
-        entry_schema:
-          type: tosca.datatypes.nfv.ext.AddressPairs
-        required: false
-        type: list
-      ip_address:
-        required: false
-        type: string
-      bond:
-        required: false
-        type: string
-      proxiedVNFs:
-        entry_schema:
-          type: string
-        required: false
-        type: list
-      sfc_encapsulation:
-        required: false
-        type: string
-      floating_ip_address:
-        required: false
-        type: tosca.datatypes.nfv.ext.FloatingIP
-      service_ip_address:
-        required: false
-        type: string
-      mac_address:
-        required: false
-        type: string
-      proxiedVNFtype:
-        required: false
-        type: string
-      macbond:
-        required: false
-        type: string
-      vnic_type:
-        required: false
-        type: string
-      direction:
-        required: false
-        type: string
-      order:
-        required: false
-        type: integer
-    requirements:
-    - forwarder:
-        capability: tosca.capabilities.nfv.Forwarder
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - virtualbinding:
-        capability: tosca.capabilities.nfv.VirtualBindable
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - virtualLink:
-        capability: tosca.capabilities.nfv.VirtualBindable
-        occurrences:
-        - 0
-        - UNBOUNDED
-  tosca.nodes.nfv.ext.zte.VDU:
-    capabilities:
-      scalable:
-        type: tosca.capabilities.Scalable
-      monitoring_parameter:
-        type: tosca.capabilities.nfv.Metric
-      nfv_compute:
-        type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
-      virtualbinding:
-        type: tosca.capabilities.nfv.VirtualBindable
-    derived_from: tosca.nodes.Root
-    properties:
-      manual_scale_select_vim:
-        required: false
-        type: boolean
-      vdu_type:
-        required: false
-        type: string
-      watchdog:
-        required: false
-        type: tosca.datatypes.nfv.ext.zte.WatchDog
-      name:
-        required: false
-        type: string
-      local_affinity_antiaffinity_rule:
-        required: false
-        type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
-      support_scaling:
-        required: false
-        type: boolean
-      storage_policy:
-        required: false
-        type: string
-      key_vdu:
-        required: false
-        type: boolean
-      location_info:
-        required: false
-        type: tosca.datatypes.nfv.ext.LocationInfo
-      inject_data_list:
-        entry_schema:
-          type: tosca.datatypes.nfv.ext.InjectData
-        required: false
-        type: list
-    requirements:
-    - guest_os:
-        capability: tosca.capabilities.nfv.ext.GuestOs
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - local_storage:
-        capability: tosca.capabilities.nfv.ext.LocalAttachment
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - volume_storage:
-        capability: tosca.capabilities.Attachment
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - dependency:
-        capability: tosca.capabilities.Node
-        occurrences:
-        - 0
-        - UNBOUNDED
-  tosca.nodes.nfv.ext.zte.VL:
-    capabilities:
-      virtual_linkable:
-        type: tosca.capabilities.nfv.VirtualLinkable
-    derived_from: tosca.nodes.Root
-    properties:
-      segmentation_id:
-        required: false
-        type: string
-      network_name:
-        required: false
-        type: string
-      is_predefined:
-        required: false
-        type: boolean
-      mtu:
-        required: false
-        type: integer
-      dns_nameservers:
-        entry_schema:
-          type: string
-        required: false
-        type: list
-      physical_network:
-        required: false
-        type: string
-      dhcp_enabled:
-        required: false
-        type: boolean
-      network_id:
-        required: false
-        type: string
-      host_routes:
-        entry_schema:
-          type: tosca.datatypes.nfv.ext.HostRouteInfo
-        required: false
-        type: list
-      ip_version:
-        required: false
-        type: integer
-      vendor:
-        required: false
-        type: string
-      name:
-        required: false
-        type: string
-      start_ip:
-        required: false
-        type: string
-      vlan_transparent:
-        required: false
-        type: boolean
-      cidr:
-        required: false
-        type: string
-      gateway_ip:
-        required: false
-        type: string
-      network_type:
-        required: false
-        type: string
-      end_ip:
-        required: false
-        type: string
-      location_info:
-        required: false
-        type: tosca.datatypes.nfv.ext.LocationInfo
-  tosca.nodes.nfv.ext.zte.VNF:
-    capabilities:
-      forwarder:
-        type: tosca.capabilities.nfv.Forwarder
-    derived_from: tosca.nodes.Root
-    properties:
-      request_reclassification:
-        required: false
-        type: boolean
-      domain_type:
-        required: false
-        type: string
-      nsh_aware:
-        required: false
-        type: boolean
-      plugin_info:
-        required: false
-        type: string
-      adjust_vnf_capacity:
-        required: false
-        type: boolean
-      vnfd_version:
-        required: false
-        type: string
-      vmnumber_overquota_alarm:
-        required: false
-        type: boolean
-      custom_properties:
-        entry_schema:
-          type: string
-        required: false
-        type: map
-      version:
-        required: false
-        type: string
-      cross_dc:
-        required: false
-        type: boolean
-      script_info:
-        required: false
-        type: string
-      vendor:
-        required: false
-        type: string
-      is_shared:
-        required: false
-        type: boolean
-      name:
-        required: false
-        type: string
-      vnf_extend_type:
-        required: false
-        type: string
-      id:
-        required: false
-        type: string
-      vnf_type:
-        required: false
-        type: string
-      is_sfc_proxy:
-        required: false
-        type: boolean
-    requirements:
-    - forwarder:
-        capability: tosca.capabilities.nfv.Forwarder
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - virtualLink:
-        capability: tosca.capabilities.nfv.VirtualLinkable
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  tosca.nodes.nfv.VnfVirtualLinkDesc:
-    capabilities:
-      monitoring_parameters:
-        type: tosca.capabilities.nfv.Metric
-      virtual_linkable:
-        type: tosca.capabilities.nfv.VirtualLinkable
-    derived_from: tosca.nodes.Root
-    properties:
-      vl_flavours:
-        entry_schema:
-          type: string
-        type: map
-      description:
-        required: false
-        type: string
-      test_access:
-        entry_schema:
-          type: string
-        required: false
-        type: list
-      connectivity_type:
-        type: tosca.datatypes.nfv.ConnectivityType
-
-  org.openecomp.nodes.ForwardingPath:
-    derived_from: tosca.nodes.Root
-    properties:
-      target_range:
-        type: list
-        entry_schema:
-          description: Identifier of the reciever port of the VNF or the service
-          type: integer
-      protocol:
-        type: string
-        description: protocol type that runs on the link
-    requirements:
-    - forwarder:
-        capability: tosca.capabilities.nfv.Forwarder
-        relationship: org.openecomp.relationships.ForwardsTo
-        occurrences: [ 0, UNBOUNDED ]
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/relationships.yml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/relationships.yml
deleted file mode 100644 (file)
index 220658a..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-tosca_definitions_version: tosca_simple_openecomp_1_0
-
-metadata:
-  filename: openecomp/relationships.yml
-  version: '1.0'
-
-imports:
-- openecomp_index:
-    file: _index.yml
-
-relationship_types:
-
-  org.openecomp.relationships.VolumeAttachesTo:
-    derived_from: org.openecomp.relationships.AttachesTo
-    description: This type represents an attachment relationship for associating volume
-    properties:
-      volume_id:
-        description: The ID of the volume to be attached
-        type: string
-        status: SUPPORTED
-        required: true
-      instance_uuid:
-        description: The ID of the server to which the volume attaches
-        type: string
-        status: SUPPORTED
-        required: true
-    attributes:
-      show:
-        description: Detailed information about resource
-        type: string
-        status: SUPPORTED
-
-  org.openecomp.relationships.AttachesTo:
-    derived_from: tosca.relationships.AttachesTo
-    description: This type represents an attachment relationship
-    properties:
-      location:
-        description: The relative location (e.g., path on the file system), which provides the root location to address an attached node.
-        type: string
-        status: SUPPORTED
-        required: false
-        
-  tosca.relationships.nfv.VDU.AttachedTo:
-    derived_from: tosca.relationships.Root
-    properties:
-      location:
-        required: false
-        type: string
-
-  tosca.relationships.nfv.VirtualBindsTo:
-    derived_from: tosca.relationships.Root
-
-  tosca.relationships.nfv.VirtualLinksTo:
-    derived_from: tosca.relationships.Root
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/capabilities.yml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/capabilities.yml
deleted file mode 100644 (file)
index 9f09778..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-tosca_definitions_version: tosca_simple_openecomp_1_0
-
-metadata:
-  filename: openecomp/capabilities.yml
-  version: '1.0'
-
-imports:
-- openecomp_index:
-    file: _index.yml
-
-capability_types:
-
-  org.openecomp.capabilities.attachment.DeploymentFlavor:
-    derived_from: tosca.capabilities.Attachment
-    description: The Node capability indicates the base capabilities of a TOSCA Node Type.
-    properties:
-      DeploymentFlavor:
-        type: map
-        description: Deployment flavors instance
-        required: true
-        status: SUPPORTED
-        entry_schema:
-            type: org.openecomp.datatypes.DeploymentFlavor     
-
-  org.openecomp.capabilities.metric.SnmpTrap:
-    derived_from: org.openecomp.capabilities.Metric
-    description: A node type that includes the Metric capability indicates that it can be monitored using snmp trap.
-    properties:
-      oid:
-        description: Object Id of the metric
-        type: string
-        status: SUPPORTED
-        required: true
-
-  org.openecomp.capabilities.AllottedResource:
-    derived_from: tosca.capabilities.Root
-
-  org.openecomp.capabilities.metric.SnmpPolling:
-    derived_from: org.openecomp.capabilities.Metric
-    description: A node type that includes the Metric capability indicates that it can be monitored using snmp polling.
-    properties:
-      oid:
-        description: Object Id of the metric
-        type: string
-        status: SUPPORTED
-        required: true
-
-  org.openecomp.capabilities.metric.Ceilometer:
-    derived_from: org.openecomp.capabilities.Metric
-    description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-    properties:
-      name:
-        description: Ceilometer metric type name to monitor. (The name ceilometer is using)
-        type: string
-        status: SUPPORTED
-        required: true
-
-  org.openecomp.capabilities.Metric:
-    derived_from: tosca.capabilities.Endpoint
-    description: A node type that includes the Metric capability indicates that it can be monitored.
-    properties:
-      unit:
-        description: Unit of the metric value
-        type: string
-        status: SUPPORTED
-        required: true
-      description:
-        description: Description of the metric
-        type: string
-        status: SUPPORTED
-        required: false
-      type:
-        description: Type of the metric value, for an example, Cumulative, Delta, Gauge and etc.
-        type: string
-        status: SUPPORTED
-        required: true
-      category:
-        description: Category of the metric, for an example, compute, disk, network, storage and etc.
-        type: string
-        status: SUPPORTED
-        required: false
-    attributes:
-      value:
-        description: Runtime monitored value
-        type: string
-        status: SUPPORTED
-
-  tosca.capabilities.nfv.VirtualLinkable:
-    derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.Metric:
-    derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.VirtualBindable:
-    derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.VirtualCompute:
-    derived_from: tosca.capabilities.Root
-    properties:
-      virtual_memory:
-        type: tosca.datatypes.nfv.VirtualMemory
-      requested_additional_capabilities:
-        entry_schema:
-          type: tosca.datatypes.nfv.RequestedAdditionalCapability
-        required: false
-        type: map
-      virtual_cpu:
-        type: tosca.datatypes.nfv.VirtualCpu
-
-
-  tosca.capabilities.nfv.VirtualStorage:
-    derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.Forwarder:
-    derived_from: tosca.capabilities.Root
-
-  org.openecomp.capabilities.Forwarder:
-      derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.ext.Compute.Container.Architecture:
-    derived_from: tosca.capabilities.Root
-    properties:
-      num_cpus:
-        required: false
-        type: string
-      flavor_extra_specs:
-        entry_schema:
-          type: string
-        required: false
-        type: map
-      mem_size:
-        required: false
-        type: string
-
-  tosca.capabilities.nfv.ext.ImageFile:
-    derived_from: tosca.capabilities.Root
-
-  tosca.capabilities.nfv.ext.LocalAttachment:
-    derived_from: tosca.capabilities.Root
-  # New capability types for Port Mirroring
-  org.openecomp.capabilities.PortMirroring:
-    derived_from: tosca.capabilities.Root
-    properties:
-      connection_point:
-        type: org.openecomp.datatypes.PortMirroringConnectionPointDescription
-        required: true
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/nodes.yml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/nodes.yml
deleted file mode 100644 (file)
index 951c50b..0000000
+++ /dev/null
@@ -1,1363 +0,0 @@
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-tosca_definitions_version: tosca_simple_openecomp_1_0
-
-metadata:
-  filename: openecomp/nodes.yml
-  version: '1.0'
-  
-imports:
-- openecomp_index:
-    file: _index.yml
-
-node_types:
-
-  org.openecomp.resource.vl.nodes.network.Network:
-    derived_from: tosca.nodes.network.Network
-    properties:
-      vendor:
-        type: string
-        required: false
-      vl_name:
-        type: string
-        required: false
-    capabilities:
-      end_point:
-        type: tosca.capabilities.Endpoint
-
-  org.openecomp.resource.abstract.nodes.AbstractSubstitute:
-    derived_from: tosca.nodes.Root
-    properties:
-      service_template_filter:
-        description: Substitution Filter
-        type: org.openecomp.datatypes.substitution.SubstitutionFiltering
-        status: SUPPORTED
-        required: true
-
-  org.openecomp.resource.vl.extVL:
-    derived_from: org.openecomp.resource.vl.nodes.network.Network
-    description: VF Tenant oam protected network
-    properties:
-      network_type:
-        description: OPENECOMP supported network types.
-        type: string
-        required: true
-      network_role:
-        description: |
-          Unique label that defines the role that this network performs.   example: vce oam network, vnat sr-iov1 network
-        type: string
-        required: true
-      network_scope:
-        description: |
-          Uniquely identifies the network scope. Valid values for the network scope   includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects  the VFs within the service GLOBAL - Global network which can be shared by multiple services
-        type: string
-        constraints:
-        - valid_values:
-          - VF
-          - SERVICE
-          - GLOBAL
-      network_technology:
-        description: OPENECOMP supported network technology
-        type: string
-        required: true
-      network_ecomp_naming:
-        type: org.openecomp.datatypes.EcompNaming
-        required: true
-      network_homing:
-        type: org.openecomp.datatypes.EcompHoming
-        required: true
-      network_assignments:
-        type: org.openecomp.datatypes.network.NetworkAssignments
-        required: true
-      provider_network:
-        type: org.openecomp.datatypes.network.ProviderNetwork
-        required: true
-      network_flows:
-        type: org.openecomp.datatypes.network.NetworkFlows
-        required: false
-
-
-  org.openecomp.resource.vfc.nodes.Compute:
-    derived_from: tosca.nodes.Compute
-    capabilities:
-      disk.ephemeral.size:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      instance:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      memory:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.iops:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.read.requests:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      cpu.delta:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.capacity:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.read.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.write.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.latency:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.read.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.usage:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      cpu_util:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.allocation:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.write.requests.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.write.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.latency:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      cpu:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.write.requests:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.write.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.read.requests:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.root.size:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.write.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      vcpus:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.iops:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.usage:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.read.requests.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.write.requests.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.allocation:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.read.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.read.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      memory.usage:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.device.capacity:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      memory.resident:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      disk.write.requests:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-
-  org.openecomp.resource.abstract.nodes.DFAbstractSubstitute:
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
-    properties:
-      license_feature_group_ref:
-        description: refrence to license feature group
-        type: string
-        status: SUPPORTED
-        required: true
-    requirements:
-    - deployment_flavor:
-        capability: org.openecomp.capabilities.attachment.DeploymentFlavor
-        node: org.openecomp.resource.nodes.DeploymentFlavor
-        relationship: org.openecomp.relationships.AttachesTo
-        occurrences:
-        - 1
-        - UNBOUNDED
-
-  org.openecomp.resource.abstract.nodes.ComplexVFC:
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
-
-  org.openecomp.resource.abstract.nodes.VFC:
-    derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
-    properties:
-      high_availablity:
-        description: high_availablity
-        type: string
-        status: SUPPORTED
-        required: false
-      vm_image_name:
-        description: Master image_name volume id
-        type: string
-        status: SUPPORTED
-        required: true
-      vm_flavor_name:
-        description: Master image_name volume id
-        type: string
-        status: SUPPORTED
-        required: true
-      nfc_naming_code:
-        description: nfc code for instance naming
-        type: string
-        status: SUPPORTED
-        required: false
-      nfc_code:
-        type: string
-        description: nfc code
-        status: SUPPORTED
-        required: false
-      nfc_function:
-        type: string
-        description: nfc function
-        status: SUPPORTED
-        required: false
-      vm_type_tag:
-        description: vm type based on naming Convention
-        type: string
-        status: SUPPORTED
-        required: false
-      vfc_naming:
-        description: vfc naming
-        type: org.openecomp.datatypes.Naming
-        status: SUPPORTED
-        default: false
-        required: false
-      min_instances:
-        description: Minimum number of VFC Instances
-        type: integer
-        status: SUPPORTED
-        default: 0
-        required: false
-        constraints:
-        - greater_or_equal: 0
-      max_instances:
-        description: Maximum number of VFC Instances
-        type: integer
-        status: SUPPORTED
-        required: false
-        constraints:
-        - greater_or_equal: 1
-
-  org.openecomp.resource.vl.ELine:
-    derived_from: org.openecomp.resource.vl.nodes.network.Network
-    capabilities:
-      linkable:
-        type: tosca.capabilities.network.Linkable
-        occurrences:
-        - 0
-        - 2
-
-  org.openecomp.resource.cp.nodes.network.SubInterface:
-    derived_from: tosca.nodes.network.Port
-
-  org.openecomp.resource.vl.internalVL:
-    derived_from: org.openecomp.resource.vl.nodes.network.Network
-    description: The AT&T internal (VF-level) Virtual Link
-
-  org.openecomp.resource.cp.nodes.network.Port:
-    derived_from: tosca.nodes.network.Port  
-    properties:
-      network_role_tag:
-        type: string
-        required: true
-      mac_requirements:
-        description: identifies MAC address assignments to the CP
-        type: org.openecomp.datatypes.network.MacRequirements
-        required: false
-      vlan_requirements:
-        description: identifies vlan address assignments to the CP
-        type: list
-        entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
-        required: false
-      ip_requirements:
-        description: identifies IP requirements to the CP
-        type: list
-        entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-        required: true
-      network_role:
-        description: identical to VL network_role
-        type: string
-        required: false
-      order:
-        description: The order of the CP on the compute instance (e.g. eth2).
-        type: integer
-        required: false
-      exCP_naming:
-        description: CP Name
-        type: org.openecomp.datatypes.Naming
-        required: false
-      subnetpoolid:
-        description: subnet pool id
-        type: string
-        required: false
-    capabilities:
-      network.incoming.packets.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.outgoing.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.outgoing.packets.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.outpoing.packets:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.incoming.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.incoming.bytes:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.outgoing.bytes.rate:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      network.incoming.packets:
-        description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
-        type: org.openecomp.capabilities.metric.Ceilometer
-        occurrences:
-        - 1
-        - UNBOUNDED
-      forwarder:
-        type: org.openecomp.capabilities.Forwarder
-
-  org.openecomp.resource.nodes.DeploymentFlavor:
-    derived_from: tosca.nodes.Root
-    capabilities:
-      deployment_flavor:
-        description: Allowed deployment flavors of an abstract node
-        type: org.openecomp.capabilities.attachment.DeploymentFlavor
-        occurrences:
-        - 1
-        - UNBOUNDED
-
-  org.openecomp.resource.cp.extCP:
-    derived_from: tosca.nodes.Root
-    description: The AT&T Connection Point base type all other CP derive from
-    properties:
-      network_role:
-        description: identical to VL network_role
-        type: string
-        required: true
-      order:
-        description: The order of the CP on the compute instance (e.g. eth2).
-        type: integer
-        required: true
-      network_role_tag:
-        type: string
-        description: Must correlate to the set of defined network-role tag identifiers from the associated HEAT template
-        required: true
-      mac_requirements:
-        description: identifies MAC address assignments to the CP
-        type: org.openecomp.datatypes.network.MacRequirements
-        required: false
-      vlan_requirements:
-        description: identifies vlan address assignments to the CP
-        type: list
-        entry_schema:
-          type: org.openecomp.datatypes.network.VlanRequirements
-        required: false
-      ip_requirements:
-        description: identifies IP requirements to the CP
-        type: list
-        entry_schema:
-          type: org.openecomp.datatypes.network.IpRequirements
-        required: true
-    capabilities:
-      internal_connectionPoint:
-        type: tosca.capabilities.Node
-        valid_source_types:
-        - tosca.nodes.network.Port
-    requirements:
-    - virtualLink:
-        capability: tosca.capabilities.network.Linkable
-        relationship: tosca.relationships.network.LinksTo
-    - virtualBinding:
-        capability: tosca.capabilities.network.Bindable
-        relationship: tosca.relationships.network.BindsTo
-    - external_virtualLink:
-        capability: tosca.capabilities.network.Linkable
-        node: org.openecomp.resource.vl.nodes.network.Network
-        relationship: tosca.relationships.network.LinksTo
-
-  org.openecomp.resource.vfc.nodes.volume:
-    derived_from: tosca.nodes.BlockStorage
-    
-  ### Node types related to Deployment Flavors
-  org.openecomp.resource.abstract.nodes.VnfConfiguration:
-    derived_from: tosca.nodes.Root
-    description: a container for the available flavors
-    properties:
-      allowed_flavors:
-        description: a collection of all available flavor valuesets
-        type: map
-        entry_schema:
-          type: org.openecomp.datatypes.flavors.DeploymentFlavor
-
-  org.openecomp.resource.abstract.nodes.MultiFlavorVFC:
-    derived_from: org.openecomp.resource.abstract.nodes.VFC
-    description: Multi flavored VFC node
-    properties:
-      images:
-        type: map
-        entry_schema:
-          type: org.openecomp.datatypes.ImageInfo
-        required: false
-
-  ## New node types for Port Mirroring
-  org.openecomp.nodes.ServiceProxy:
-    derived_from: tosca.nodes.Root
-
-  org.openecomp.nodes.PortMirroringConfiguration:
-    derived_from: tosca.nodes.Root
-    requirements:
-    - source:
-        capability: org.openecomp.capabilities.PortMirroring
-        occurrences:
-        - 1
-        - UNBOUNDED
-    - collector:
-        capability: org.openecomp.capabilities.PortMirroring
-        occurrences:
-        - 1
-        - 1
-
-  org.openecomp.resource.cp.v2.extCP:
-    derived_from: org.openecomp.resource.cp.nodes.network.Port
-    description: The SDC External Connection Point base type
-    capabilities:
-      port_mirroring:
-        type: org.openecomp.capabilities.PortMirroring
-
-  org.openecomp.resource.cp.v2.extNeutronCP:
-    derived_from: org.openecomp.resource.cp.v2.extCP
-    properties:
-      port_security_enabled:
-        type: boolean
-        description: Flag to enable/disable port security on the network
-        required: false
-        status: SUPPORTED
-      device_id:
-        type: string
-        description: Device ID of this port
-        required: false
-        status: SUPPORTED
-      qos_policy:
-        type: string
-        description: The name or ID of QoS policy to attach to this network
-        required: false
-        status: SUPPORTED
-      allowed_address_pairs:
-        type: list
-        description: Additional MAC/IP address pairs allowed to pass through the port
-        required: false
-        status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.heat.network.AddressPair
-      binding:vnic_type:
-        type: string
-        description: The vnic type to be bound on the neutron port
-        required: false
-        status: SUPPORTED
-        constraints:
-        - valid_values:
-          - macvtap
-          - direct
-          - normal
-      value_specs:
-        type: map
-        description: Extra parameters to include in the request
-        required: false
-        default: {
-          }
-        status: SUPPORTED
-        entry_schema:
-          type: string
-      device_owner:
-        type: string
-        description: Name of the network owning the port
-        required: false
-        status: SUPPORTED
-      network:
-        type: string
-        description: Network this port belongs to
-        required: false
-        status: SUPPORTED
-      replacement_policy:
-        type: string
-        description: Policy on how to respond to a stack-update for this resource
-        required: false
-        default: AUTO
-        status: SUPPORTED
-        constraints:
-        - valid_values:
-          - REPLACE_ALWAYS
-          - AUTO
-      security_groups:
-        type: list
-        description: List of security group names or IDs
-        required: false
-        status: SUPPORTED
-        entry_schema:
-          type: string
-      fixed_ips:
-        type: list
-        description: Desired IPs for this port
-        required: false
-        status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.heat.neutron.port.FixedIps
-      mac_address:
-        type: string
-        description: MAC address to give to this port
-        required: false
-        status: SUPPORTED
-      admin_state_up:
-        type: boolean
-        description: A boolean value specifying the administrative status of the network
-        required: false
-        default: true
-        status: SUPPORTED
-      name:
-        type: string
-        description: A symbolic name for this port
-        required: false
-        status: SUPPORTED
-    attributes:
-      tenant_id:
-        type: string
-        description: Tenant owning the port
-        status: SUPPORTED
-      network_id:
-        type: string
-        description: Unique identifier for the network owning the port
-        status: SUPPORTED
-      qos_policy_id:
-        type: string
-        description: The QoS policy ID attached to this network
-        status: SUPPORTED
-      show:
-        type: string
-        description: Detailed information about resource
-        status: SUPPORTED
-      subnets:
-        type: list
-        description: Subnets of this network
-        status: SUPPORTED
-        entry_schema:
-          type: string
-      status:
-        type: string
-        description: The status of the network
-        status: SUPPORTED
-    capabilities:
-      attachment:
-        type: tosca.capabilities.Attachment
-        occurrences:
-        - 1
-        - UNBOUNDED
-      binding:
-        type: tosca.capabilities.network.Bindable
-        valid_source_types:
-        - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  org.openecomp.resource.cp.v2.extContrailCP:
-    derived_from: org.openecomp.resource.cp.v2.extCP
-    properties:
-      static_routes:
-        type: list
-        description: An ordered list of static routes to be added to this interface
-        required: false
-        status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.heat.network.contrail.port.StaticRoute
-      virtual_network:
-        type: string
-        description: Virtual Network for this interface
-        required: true
-        status: SUPPORTED
-      static_route:
-        type: boolean
-        description: Static route enabled
-        required: false
-        default: false
-        status: SUPPORTED
-      allowed_address_pairs:
-        type: list
-        description: List of allowed address pair for this interface
-        required: false
-        status: SUPPORTED
-        entry_schema:
-          type: org.openecomp.datatypes.heat.network.contrail.AddressPair
-      shared_ip:
-        type: boolean
-        description: Shared ip enabled
-        required: false
-        default: false
-        status: SUPPORTED
-      ip_address:
-        type: string
-        description: IP for this interface
-        required: false
-        status: SUPPORTED
-      interface_type:
-        type: string
-        description: Interface type
-        required: true
-        status: SUPPORTED
-        constraints:
-        - valid_values:
-          - management
-          - left
-          - right
-          - other
-    attributes:
-      fq_name:
-        type: string
-        description: fq_name
-        status: SUPPORTED
-  tosca.nodes.nfv.NS.vEPC_NS:
-    derived_from: tosca.nodes.nfv.NS
-    properties:
-      vendor:
-        default: ChinaMobile
-        required: false
-        type: string
-      csarVersion:
-        default: v1.0
-        required: false
-        type: string
-      name:
-        default: vEPC_NS
-        required: false
-        type: string
-      csarProvider:
-        default: ChinaMobile
-        required: false
-        type: string
-      id:
-        default: vEPC_NS
-        required: false
-        type: string
-      version:
-        default: v1.0
-        required: false
-        type: string
-      csarType:
-        default: NSAR
-        required: false
-        type: string
-    requirements:
-    - virtualLink:
-        capability: tosca.capabilities.nfv.VirtualLinkable
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  tosca.nodes.nfv.NS.vIMS_NS:
-    derived_from: tosca.nodes.nfv.NS
-    properties:
-      vendor:
-        default: ChinaMobile
-        required: false
-        type: string
-      csarVersion:
-        default: v1.0
-        required: false
-        type: string
-      name:
-        default: vIMS_NS
-        required: false
-        type: string
-      csarProvider:
-        default: ChinaMobile
-        required: false
-        type: string
-      id:
-        default: vIMS_NS
-        required: false
-        type: string
-      version:
-        default: v1.0
-        required: false
-        type: string
-      csarType:
-        default: NSAR
-        required: false
-        type: string
-    requirements:
-    - virtualLink:
-        capability: tosca.capabilities.nfv.VirtualLinkable
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  tosca.nodes.nfv.NS:
-    derived_from: tosca.nodes.Root
-    properties:
-      vendor:
-        required: false
-        type: string
-      name:
-        required: false
-        type: string
-      id:
-        required: false
-        type: string
-      version:
-        required: false
-        type: string
-    requirements:
-    - virtualLink:
-        capability: tosca.capabilities.nfv.VirtualLinkable
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  tosca.nodes.nfv.VDU.Compute:
-    attributes:
-      private_address:
-        type: string
-      public_address:
-        type: string
-      networks:
-        type: string
-      ports:
-        type: string
-    capabilities:
-      scalable:
-        type: tosca.capabilities.Scalable
-      virtual_compute:
-        type: tosca.capabilities.nfv.VirtualCompute
-      endpoint:
-        type: tosca.capabilities.Endpoint.Admin
-      os:
-        type: tosca.capabilities.OperatingSystem
-      virtual_binding:
-        type: tosca.capabilities.nfv.VirtualBindable
-      host:
-        type: tosca.capabilities.Container
-      binding:
-        type: tosca.capabilities.network.Bindable
-      monitoring_parameter:
-        type: tosca.capabilities.nfv.Metric
-    derived_from: tosca.nodes.Root
-    properties:
-      configurable_properties:
-        entry_schema:
-          type: tosca.datatypes.nfv.VnfcConfigurableProperties
-        type: map
-      name:
-        type: string
-      nfvi_constraints:
-        entry_schema:
-          type: string
-        required: false
-        type: list
-      descrption:
-        type: string
-      boot_order:
-        entry_schema:
-          type: string
-        required: false
-        type: list
-    requirements:
-    - local_storage:
-        capability: tosca.capabilities.Attachment
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - virtual_storage:
-        capability: tosca.capabilities.nfv.VirtualStorage
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  tosca.nodes.nfv.VDU.VirtualStorage:
-    capabilities:
-      virtual_storage:
-        type: tosca.capabilities.nfv.VirtualStorage
-    derived_from: tosca.nodes.Root
-    properties:
-      id:
-        type: string
-      size_of_storage:
-        type: string
-      rdma_enabled:
-        required: false
-        type: boolean
-      type_of_storage:
-        type: string
-
-  tosca.nodes.nfv.VduCpd:
-    derived_from: tosca.nodes.Root
-    properties:
-      virtual_network_interface_requirements:
-        entry_schema:
-          type: tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements
-        required: false
-        type: list
-      role:
-        constraints:
-        - valid_values:
-          - root
-          - leaf
-        required: false
-        type: string
-      bitrate_requirement:
-        required: false
-        type: integer
-      description:
-        required: false
-        type: string
-      layer_protocol:
-        constraints:
-        - valid_values:
-          - ethernet
-          - mpls
-          - odu2
-          - ipv4
-          - ipv6
-          - pseudo_wire
-        type: string
-      address_data:
-        entry_schema:
-          type: tosca.datatype.nfv.AddressData
-        required: false
-        type: list
-    requirements:
-    - virtual_binding:
-        capability: tosca.capabilities.nfv.VirtualBindable
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - virtual_link:
-        capability: tosca.capabilities.nfv.VirtualBindable
-        occurrences:
-        - 0
-        - UNBOUNDED
-  tosca.nodes.nfv.ext.ImageFile:
-    capabilities:
-      guest_os:
-        type: tosca.capabilities.nfv.ext.GuestOs
-      image_fle:
-        type: tosca.capabilities.nfv.ext.ImageFile
-    derived_from: tosca.nodes.Root
-    properties:
-      file_url:
-        required: false
-        type: string
-      container_type:
-        required: false
-        type: string
-      name:
-        required: false
-        type: string
-      disk_format:
-        required: false
-        type: string
-      version:
-        required: false
-        type: string
-  tosca.nodes.nfv.ext.LocalStorage:
-    capabilities:
-      local_attachment:
-        type: tosca.capabilities.nfv.ext.LocalAttachment
-    derived_from: tosca.nodes.Root
-    properties:
-      size:
-        required: false
-        type: string
-      disk_type:
-        required: false
-        type: string
-  tosca.nodes.nfv.ext.zte.CP:
-    capabilities:
-      forwarder:
-        type: tosca.capabilities.nfv.Forwarder
-    derived_from: tosca.nodes.Root
-    properties:
-      guest_os_mtu:
-        required: false
-        type: integer
-      bandwidth:
-        required: false
-        type: integer
-      interface_name:
-        required: false
-        type: string
-      allowed_address_pairs:
-        entry_schema:
-          type: tosca.datatypes.nfv.ext.AddressPairs
-        required: false
-        type: list
-      ip_address:
-        required: false
-        type: string
-      bond:
-        required: false
-        type: string
-      proxiedVNFs:
-        entry_schema:
-          type: string
-        required: false
-        type: list
-      sfc_encapsulation:
-        required: false
-        type: string
-      floating_ip_address:
-        required: false
-        type: tosca.datatypes.nfv.ext.FloatingIP
-      service_ip_address:
-        required: false
-        type: string
-      mac_address:
-        required: false
-        type: string
-      proxiedVNFtype:
-        required: false
-        type: string
-      macbond:
-        required: false
-        type: string
-      vnic_type:
-        required: false
-        type: string
-      direction:
-        required: false
-        type: string
-      order:
-        required: false
-        type: integer
-    requirements:
-    - forwarder:
-        capability: tosca.capabilities.nfv.Forwarder
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - virtualbinding:
-        capability: tosca.capabilities.nfv.VirtualBindable
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - virtualLink:
-        capability: tosca.capabilities.nfv.VirtualBindable
-        occurrences:
-        - 0
-        - UNBOUNDED
-  tosca.nodes.nfv.ext.zte.VDU:
-    capabilities:
-      scalable:
-        type: tosca.capabilities.Scalable
-      monitoring_parameter:
-        type: tosca.capabilities.nfv.Metric
-      nfv_compute:
-        type: tosca.capabilities.nfv.ext.Compute.Container.Architecture
-      virtualbinding:
-        type: tosca.capabilities.nfv.VirtualBindable
-    derived_from: tosca.nodes.Root
-    properties:
-      manual_scale_select_vim:
-        required: false
-        type: boolean
-      vdu_type:
-        required: false
-        type: string
-      watchdog:
-        required: false
-        type: tosca.datatypes.nfv.ext.zte.WatchDog
-      name:
-        required: false
-        type: string
-      local_affinity_antiaffinity_rule:
-        required: false
-        type: tosca.datatypes.nfv.ext.LocalAffinityOrAntiAffinityRule
-      support_scaling:
-        required: false
-        type: boolean
-      storage_policy:
-        required: false
-        type: string
-      key_vdu:
-        required: false
-        type: boolean
-      location_info:
-        required: false
-        type: tosca.datatypes.nfv.ext.LocationInfo
-      inject_data_list:
-        entry_schema:
-          type: tosca.datatypes.nfv.ext.InjectData
-        required: false
-        type: list
-    requirements:
-    - guest_os:
-        capability: tosca.capabilities.nfv.ext.GuestOs
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - local_storage:
-        capability: tosca.capabilities.nfv.ext.LocalAttachment
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - volume_storage:
-        capability: tosca.capabilities.Attachment
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - dependency:
-        capability: tosca.capabilities.Node
-        occurrences:
-        - 0
-        - UNBOUNDED
-  tosca.nodes.nfv.ext.zte.VL:
-    capabilities:
-      virtual_linkable:
-        type: tosca.capabilities.nfv.VirtualLinkable
-    derived_from: tosca.nodes.Root
-    properties:
-      segmentation_id:
-        required: false
-        type: string
-      network_name:
-        required: false
-        type: string
-      is_predefined:
-        required: false
-        type: boolean
-      mtu:
-        required: false
-        type: integer
-      dns_nameservers:
-        entry_schema:
-          type: string
-        required: false
-        type: list
-      physical_network:
-        required: false
-        type: string
-      dhcp_enabled:
-        required: false
-        type: boolean
-      network_id:
-        required: false
-        type: string
-      host_routes:
-        entry_schema:
-          type: tosca.datatypes.nfv.ext.HostRouteInfo
-        required: false
-        type: list
-      ip_version:
-        required: false
-        type: integer
-      vendor:
-        required: false
-        type: string
-      name:
-        required: false
-        type: string
-      start_ip:
-        required: false
-        type: string
-      vlan_transparent:
-        required: false
-        type: boolean
-      cidr:
-        required: false
-        type: string
-      gateway_ip:
-        required: false
-        type: string
-      network_type:
-        required: false
-        type: string
-      end_ip:
-        required: false
-        type: string
-      location_info:
-        required: false
-        type: tosca.datatypes.nfv.ext.LocationInfo
-  tosca.nodes.nfv.ext.zte.VNF:
-    capabilities:
-      forwarder:
-        type: tosca.capabilities.nfv.Forwarder
-    derived_from: tosca.nodes.Root
-    properties:
-      request_reclassification:
-        required: false
-        type: boolean
-      domain_type:
-        required: false
-        type: string
-      nsh_aware:
-        required: false
-        type: boolean
-      plugin_info:
-        required: false
-        type: string
-      adjust_vnf_capacity:
-        required: false
-        type: boolean
-      vnfd_version:
-        required: false
-        type: string
-      vmnumber_overquota_alarm:
-        required: false
-        type: boolean
-      custom_properties:
-        entry_schema:
-          type: string
-        required: false
-        type: map
-      version:
-        required: false
-        type: string
-      cross_dc:
-        required: false
-        type: boolean
-      script_info:
-        required: false
-        type: string
-      vendor:
-        required: false
-        type: string
-      is_shared:
-        required: false
-        type: boolean
-      name:
-        required: false
-        type: string
-      vnf_extend_type:
-        required: false
-        type: string
-      id:
-        required: false
-        type: string
-      vnf_type:
-        required: false
-        type: string
-      is_sfc_proxy:
-        required: false
-        type: boolean
-    requirements:
-    - forwarder:
-        capability: tosca.capabilities.nfv.Forwarder
-        occurrences:
-        - 0
-        - UNBOUNDED
-    - virtualLink:
-        capability: tosca.capabilities.nfv.VirtualLinkable
-        occurrences:
-        - 0
-        - UNBOUNDED
-
-  tosca.nodes.nfv.VnfVirtualLinkDesc:
-    capabilities:
-      monitoring_parameters:
-        type: tosca.capabilities.nfv.Metric
-      virtual_linkable:
-        type: tosca.capabilities.nfv.VirtualLinkable
-    derived_from: tosca.nodes.Root
-    properties:
-      vl_flavours:
-        entry_schema:
-          type: string
-        type: map
-      description:
-        required: false
-        type: string
-      test_access:
-        entry_schema:
-          type: string
-        required: false
-        type: list
-      connectivity_type:
-        type: tosca.datatypes.nfv.ConnectivityType
-
-  org.openecomp.nodes.ForwardingPath:
-    derived_from: tosca.nodes.Root
-    properties:
-      target_range:
-        type: list
-        entry_schema:
-          description: Identifier of the reciever port of the VNF or the service
-          type: integer
-      protocol:
-        type: string
-        description: protocol type that runs on the link
-    requirements:
-    - forwarder:
-        capability: tosca.capabilities.nfv.Forwarder
-        relationship: org.openecomp.relationships.ForwardsTo
-        occurrences: [ 0, UNBOUNDED ]
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/relationships.yml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/relationships.yml
deleted file mode 100644 (file)
index 5a43b79..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-tosca_definitions_version: tosca_simple_openecomp_1_0
-
-metadata:
-  filename: openecomp/relationships.yml
-  version: '1.0'
-
-imports:
-- openecomp_index:
-    file: _index.yml
-
-relationship_types:
-
-  org.openecomp.relationships.VolumeAttachesTo:
-    derived_from: org.openecomp.relationships.AttachesTo
-    description: This type represents an attachment relationship for associating volume
-    properties:
-      volume_id:
-        description: The ID of the volume to be attached
-        type: string
-        status: SUPPORTED
-        required: true
-      instance_uuid:
-        description: The ID of the server to which the volume attaches
-        type: string
-        status: SUPPORTED
-        required: true
-    attributes:
-      show:
-        description: Detailed information about resource
-        type: string
-        status: SUPPORTED
-
-  org.openecomp.relationships.AttachesTo:
-    derived_from: tosca.relationships.AttachesTo
-    description: This type represents an attachment relationship
-    properties:
-      location:
-        description: The relative location (e.g., path on the file system), which provides the root location to address an attached node.
-        type: string
-        status: SUPPORTED
-        required: false
-        
-  tosca.relationships.nfv.VDU.AttachedTo:
-    derived_from: tosca.relationships.Root
-    properties:
-      location:
-        required: false
-        type: string
-
-  tosca.relationships.nfv.VirtualBindsTo:
-    derived_from: tosca.relationships.Root
-
-  tosca.relationships.nfv.VirtualLinksTo:
-    derived_from: tosca.relationships.Root
-
-  org.openecomp.relationships.ForwardsTo:
-    derived_from: tosca.relationships.Root
-    valid_target_types: [org.openecomp.capabilities.Forwarder]
\ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testNoPorts/in/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testNoPorts/in/Nested_pd_serverServiceTemplate.yaml
deleted file mode 100644 (file)
index 559b4a4..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-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.nodes.heat.pd_server:
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
-topology_template:
-  inputs:
-    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_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    vm_flavor_name:
-      type: string
-      required: true
-    port_pd01_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    vm_image_name:
-      type: string
-      required: true
-    port_pd01_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd01_port_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_pd01_port_order:
-      type: integer
-      required: true
-    port_pd01_port_subnetpoolid:
-      type: string
-      required: true
-    port_pd01_port_network_role:
-      type: string
-      required: true
-    port_pd01_port_network_role_tag:
-      type: string
-      required: true
-    port_pd01_port_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    compute_pd_server_user_data_format:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-  node_templates:
-    pd_server:
-      type: org.openecomp.resource.vfc.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
-  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
-    requirements:
-      local_storage_pd_server:
-      - pd_server
-      - local_storage
-      link_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - link
-      dependency_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - dependency
-      dependency_pd_server:
-      - pd_server
-      - dependency
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testNoPorts/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testNoPorts/out/Nested_pd_serverServiceTemplate.yaml
deleted file mode 100644 (file)
index 559b4a4..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-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.nodes.heat.pd_server:
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
-topology_template:
-  inputs:
-    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_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    vm_flavor_name:
-      type: string
-      required: true
-    port_pd01_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    vm_image_name:
-      type: string
-      required: true
-    port_pd01_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd01_port_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_pd01_port_order:
-      type: integer
-      required: true
-    port_pd01_port_subnetpoolid:
-      type: string
-      required: true
-    port_pd01_port_network_role:
-      type: string
-      required: true
-    port_pd01_port_network_role_tag:
-      type: string
-      required: true
-    port_pd01_port_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    compute_pd_server_user_data_format:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-  node_templates:
-    pd_server:
-      type: org.openecomp.resource.vfc.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
-  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
-    requirements:
-      local_storage_pd_server:
-      - pd_server
-      - local_storage
-      link_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - link
-      dependency_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - dependency
-      dependency_pd_server:
-      - pd_server
-      - dependency
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingContrailPort/in/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingContrailPort/in/Nested_pd_serverServiceTemplate.yaml
deleted file mode 100644 (file)
index e4db974..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-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.nodes.heat.pd_server:
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
-topology_template:
-  inputs:
-    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_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    vm_flavor_name:
-      type: string
-      required: true
-    port_pd01_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    vm_image_name:
-      type: string
-      required: true
-    port_pd01_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd01_port_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_pd01_port_order:
-      type: integer
-      required: true
-    port_pd01_port_subnetpoolid:
-      type: string
-      required: true
-    port_pd01_port_network_role:
-      type: string
-      required: true
-    port_pd01_port_network_role_tag:
-      type: string
-      required: true
-    port_pd01_port_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    compute_pd_server_user_data_format:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-  node_templates:
-    pd_server:
-      type: org.openecomp.resource.vfc.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_port:
-      type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
-      properties:
-        exCP_naming: port_pd01_port_exCP_naming
-  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
-    requirements:
-      local_storage_pd_server:
-      - pd_server
-      - local_storage
-      link_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - link
-      dependency_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - dependency
-      dependency_pd_server:
-      - pd_server
-      - dependency
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingContrailPort/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingContrailPort/out/Nested_pd_serverServiceTemplate.yaml
deleted file mode 100644 (file)
index c813f89..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-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.nodes.heat.pd_server:
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
-topology_template:
-  inputs:
-    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_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    vm_flavor_name:
-      type: string
-      required: true
-    port_pd01_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    vm_image_name:
-      type: string
-      required: true
-    port_pd01_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd01_port_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_pd01_port_order:
-      type: integer
-      required: true
-    port_pd01_port_subnetpoolid:
-      type: string
-      required: true
-    port_pd01_port_network_role:
-      type: string
-      required: true
-    port_pd01_port_network_role_tag:
-      type: string
-      required: true
-    port_pd01_port_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    compute_pd_server_user_data_format:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-  node_templates:
-    pd_server:
-      type: org.openecomp.resource.vfc.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_port:
-      type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port
-      properties:
-        exCP_naming: port_pd01_port_exCP_naming
-  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
-      Forwarder_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - Forwarder
-    requirements:
-      local_storage_pd_server:
-      - pd_server
-      - local_storage
-      link_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - link
-      dependency_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - dependency
-      dependency_pd_server:
-      - pd_server
-      - dependency
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtContrailPort/in/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtContrailPort/in/Nested_pd_serverServiceTemplate.yaml
deleted file mode 100644 (file)
index 0f53985..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-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.nodes.heat.pd_server:
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
-topology_template:
-  inputs:
-    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_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    vm_flavor_name:
-      type: string
-      required: true
-    port_pd01_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    vm_image_name:
-      type: string
-      required: true
-    port_pd01_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd01_port_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_pd01_port_order:
-      type: integer
-      required: true
-    port_pd01_port_subnetpoolid:
-      type: string
-      required: true
-    port_pd01_port_network_role:
-      type: string
-      required: true
-    port_pd01_port_network_role_tag:
-      type: string
-      required: true
-    port_pd01_port_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    compute_pd_server_user_data_format:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-  node_templates:
-    pd_server:
-      type: org.openecomp.resource.vfc.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_port:
-      type: org.openecomp.resource.cp.v2.extContrailCP
-      properties:
-        exCP_naming: port_pd01_port_exCP_naming
-  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
-    requirements:
-      local_storage_pd_server:
-      - pd_server
-      - local_storage
-      link_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - link
-      dependency_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - dependency
-      dependency_pd_server:
-      - pd_server
-      - dependency
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtContrailPort/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtContrailPort/out/Nested_pd_serverServiceTemplate.yaml
deleted file mode 100644 (file)
index 3d7bbcf..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-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.nodes.heat.pd_server:
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
-topology_template:
-  inputs:
-    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_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    vm_flavor_name:
-      type: string
-      required: true
-    port_pd01_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    vm_image_name:
-      type: string
-      required: true
-    port_pd01_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd01_port_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_pd01_port_order:
-      type: integer
-      required: true
-    port_pd01_port_subnetpoolid:
-      type: string
-      required: true
-    port_pd01_port_network_role:
-      type: string
-      required: true
-    port_pd01_port_network_role_tag:
-      type: string
-      required: true
-    port_pd01_port_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    compute_pd_server_user_data_format:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-  node_templates:
-    pd_server:
-      type: org.openecomp.resource.vfc.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_port:
-      type: org.openecomp.resource.cp.v2.extContrailCP
-      properties:
-        exCP_naming: port_pd01_port_exCP_naming
-  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
-      Forwarder_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - Forwarder
-    requirements:
-      local_storage_pd_server:
-      - pd_server
-      - local_storage
-      link_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - link
-      dependency_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - dependency
-      dependency_pd_server:
-      - pd_server
-      - dependency
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtNeutronPort/in/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtNeutronPort/in/Nested_pd_serverServiceTemplate.yaml
deleted file mode 100644 (file)
index 3edb079..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-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.nodes.heat.pd_server:
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
-topology_template:
-  inputs:
-    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_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    vm_flavor_name:
-      type: string
-      required: true
-    port_pd01_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    vm_image_name:
-      type: string
-      required: true
-    port_pd01_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd01_port_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_pd01_port_order:
-      type: integer
-      required: true
-    port_pd01_port_subnetpoolid:
-      type: string
-      required: true
-    port_pd01_port_network_role:
-      type: string
-      required: true
-    port_pd01_port_network_role_tag:
-      type: string
-      required: true
-    port_pd01_port_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    compute_pd_server_user_data_format:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-  node_templates:
-    pd_server:
-      type: org.openecomp.resource.vfc.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_port:
-      type: org.openecomp.resource.cp.v2.extNeutronCP
-      properties:
-        exCP_naming: port_pd01_port_exCP_naming
-  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
-    requirements:
-      local_storage_pd_server:
-      - pd_server
-      - local_storage
-      link_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - link
-      dependency_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - dependency
-      dependency_pd_server:
-      - pd_server
-      - dependency
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtNeutronPort/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtNeutronPort/out/Nested_pd_serverServiceTemplate.yaml
deleted file mode 100644 (file)
index 69dba32..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-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.nodes.heat.pd_server:
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
-topology_template:
-  inputs:
-    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_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    vm_flavor_name:
-      type: string
-      required: true
-    port_pd01_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    vm_image_name:
-      type: string
-      required: true
-    port_pd01_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd01_port_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_pd01_port_order:
-      type: integer
-      required: true
-    port_pd01_port_subnetpoolid:
-      type: string
-      required: true
-    port_pd01_port_network_role:
-      type: string
-      required: true
-    port_pd01_port_network_role_tag:
-      type: string
-      required: true
-    port_pd01_port_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    compute_pd_server_user_data_format:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-  node_templates:
-    pd_server:
-      type: org.openecomp.resource.vfc.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_port:
-      type: org.openecomp.resource.cp.v2.extNeutronCP
-      properties:
-        exCP_naming: port_pd01_port_exCP_naming
-  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
-      Forwarder_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - Forwarder
-    requirements:
-      local_storage_pd_server:
-      - pd_server
-      - local_storage
-      link_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - link
-      dependency_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - dependency
-      dependency_pd_server:
-      - pd_server
-      - dependency
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingNeutronPort/in/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingNeutronPort/in/Nested_pd_serverServiceTemplate.yaml
deleted file mode 100644 (file)
index 3883be3..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-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.nodes.heat.pd_server:
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
-topology_template:
-  inputs:
-    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_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    vm_flavor_name:
-      type: string
-      required: true
-    port_pd01_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    vm_image_name:
-      type: string
-      required: true
-    port_pd01_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd01_port_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_pd01_port_order:
-      type: integer
-      required: true
-    port_pd01_port_subnetpoolid:
-      type: string
-      required: true
-    port_pd01_port_network_role:
-      type: string
-      required: true
-    port_pd01_port_network_role_tag:
-      type: string
-      required: true
-    port_pd01_port_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    compute_pd_server_user_data_format:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-  node_templates:
-    pd_server:
-      type: org.openecomp.resource.vfc.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_port:
-      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
-      properties:
-        exCP_naming: port_pd01_port_exCP_naming
-  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
-    requirements:
-      local_storage_pd_server:
-      - pd_server
-      - local_storage
-      link_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - link
-      dependency_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - dependency
-      dependency_pd_server:
-      - pd_server
-      - dependency
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingNeutronPort/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingNeutronPort/out/Nested_pd_serverServiceTemplate.yaml
deleted file mode 100644 (file)
index 9b98046..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-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.nodes.heat.pd_server:
-    derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
-topology_template:
-  inputs:
-    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_port_exCP_naming:
-      type: org.openecomp.datatypes.Naming
-      required: true
-    vm_flavor_name:
-      type: string
-      required: true
-    port_pd01_port_mac_requirements:
-      type: org.openecomp.datatypes.network.MacRequirements
-      required: true
-    vm_image_name:
-      type: string
-      required: true
-    port_pd01_port_ip_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.IpRequirements
-    port_pd01_port_network:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-    port_pd01_port_order:
-      type: integer
-      required: true
-    port_pd01_port_subnetpoolid:
-      type: string
-      required: true
-    port_pd01_port_network_role:
-      type: string
-      required: true
-    port_pd01_port_network_role_tag:
-      type: string
-      required: true
-    port_pd01_port_vlan_requirements:
-      type: list
-      required: true
-      entry_schema:
-        type: org.openecomp.datatypes.network.VlanRequirements
-    compute_pd_server_user_data_format:
-      type: list
-      required: true
-      entry_schema:
-        type: string
-  node_templates:
-    pd_server:
-      type: org.openecomp.resource.vfc.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_port:
-      type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
-      properties:
-        exCP_naming: port_pd01_port_exCP_naming
-  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
-      Forwarder_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - Forwarder
-    requirements:
-      local_storage_pd_server:
-      - pd_server
-      - local_storage
-      link_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - link
-      dependency_pd_server_pd01_port:
-      - pd_server_pd01_port
-      - dependency
-      dependency_pd_server:
-      - pd_server
-      - dependency