summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl
diff options
context:
space:
mode:
authortalig <talig@amdocs.com>2018-01-01 14:52:01 +0200
committertalig <talig@amdocs.com>2018-01-01 14:52:01 +0200
commit25ca73d85757869a6d9cc33861070778503ff153 (patch)
treee947cd38990afb0e8d9b230df0daf5f436ee3435 /openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl
parent664c11581c7ea5d36e36af1fe7b26e14271e77fe (diff)
Remove onboarding BE redundant healers
Change-Id: I6b849608e64f88c6b91b1bc772fdb33aaa7e8245 Issue-ID: SDC-845 Signed-off-by: talig <talig@amdocs.com>
Diffstat (limited to 'openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl')
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java202
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/CompositionDataHealer.java271
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java91
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealer.java145
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/HeatToToscaTranslationHealer.java79
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/NicDataHealer.java42
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/SubEntitiesQuestionnaireHealer.java127
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ValidationStructureHealer.java246
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java67
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealer.java92
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspQuestionnaireHealer.java86
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealerTest.java261
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealerTest.java147
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealerTest.java78
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/testHealers/data/TestDescriptionHealer.java16
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/testHealers/structure/TestNewEntityInVspHealer.java16
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/util/TestUtil.java107
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/capabilities.yml157
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/nodes.yml1361
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/relationships.yml68
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/capabilities.yml160
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/nodes.yml1363
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/relationships.yml72
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testNoPorts/in/Nested_pd_serverServiceTemplate.yaml116
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testNoPorts/out/Nested_pd_serverServiceTemplate.yaml116
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingContrailPort/in/Nested_pd_serverServiceTemplate.yaml120
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingContrailPort/out/Nested_pd_serverServiceTemplate.yaml123
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtContrailPort/in/Nested_pd_serverServiceTemplate.yaml120
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtContrailPort/out/Nested_pd_serverServiceTemplate.yaml123
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtNeutronPort/in/Nested_pd_serverServiceTemplate.yaml120
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtNeutronPort/out/Nested_pd_serverServiceTemplate.yaml123
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingNeutronPort/in/Nested_pd_serverServiceTemplate.yaml120
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingNeutronPort/out/Nested_pd_serverServiceTemplate.yaml123
33 files changed, 0 insertions, 6458 deletions
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
index 83395e015a..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealer.java
+++ /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
index e7a5e30f2d..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/CompositionDataHealer.java
+++ /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
index 96b91091ff..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/FileDataStructureHealer.java
+++ /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
index f3e5f4d568..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealer.java
+++ /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
index ddae09fa01..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/HeatToToscaTranslationHealer.java
+++ /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
index b2ef965286..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/NicDataHealer.java
+++ /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
index a1dd80c307..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/SubEntitiesQuestionnaireHealer.java
+++ /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
index d172432284..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/ValidationStructureHealer.java
+++ /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
index a57ac74350..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java
+++ /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
index d5c082bdae..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealer.java
+++ /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
index b45ce30a3e..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VspQuestionnaireHealer.java
+++ /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
index 688d1d4236..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/ComponentQuestionnaireHealerTest.java
+++ /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
index a07ace683f..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/ForwarderCapabilityHealerTest.java
+++ /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
index 5584a5fe77..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/VspOnboardingMethodHealerTest.java
+++ /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
index aac1a502ef..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/testHealers/data/TestDescriptionHealer.java
+++ /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
index 7d71c0319b..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/testHealers/structure/TestNewEntityInVspHealer.java
+++ /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
index da44ec422f..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/java/org/openecomp/sdc/healing/healers/util/TestUtil.java
+++ /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
index 285d6b28f3..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/capabilities.yml
+++ /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
index 191c121d6d..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/nodes.yml
+++ /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
index 220658a8bf..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/in/openecomp/relationships.yml
+++ /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
index 9f0977868e..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/capabilities.yml
+++ /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
index 951c50bc3f..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/nodes.yml
+++ /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
index 5a43b79350..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testGlobalServiceTemplates/out/openecomp/relationships.yml
+++ /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
index 559b4a4db2..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testNoPorts/in/Nested_pd_serverServiceTemplate.yaml
+++ /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
index 559b4a4db2..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testNoPorts/out/Nested_pd_serverServiceTemplate.yaml
+++ /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
index e4db9743d6..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingContrailPort/in/Nested_pd_serverServiceTemplate.yaml
+++ /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
index c813f89ea4..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingContrailPort/out/Nested_pd_serverServiceTemplate.yaml
+++ /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
index 0f53985749..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtContrailPort/in/Nested_pd_serverServiceTemplate.yaml
+++ /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
index 3d7bbcfc4b..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtContrailPort/out/Nested_pd_serverServiceTemplate.yaml
+++ /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
index 3edb079fc0..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtNeutronPort/in/Nested_pd_serverServiceTemplate.yaml
+++ /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
index 69dba32cf8..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingExtNeutronPort/out/Nested_pd_serverServiceTemplate.yaml
+++ /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
index 3883be3042..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingNeutronPort/in/Nested_pd_serverServiceTemplate.yaml
+++ /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
index 9b980466ee..0000000000
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/test/resources/mock/healers/forwarder/testSubMappingNeutronPort/out/Nested_pd_serverServiceTemplate.yaml
+++ /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