diff options
Diffstat (limited to 'openecomp-be/lib')
176 files changed, 11983 insertions, 687 deletions
diff --git a/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/CoreException.java b/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/CoreException.java index 3b464ca107..b41d6647f5 100644 --- a/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/CoreException.java +++ b/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/CoreException.java @@ -22,7 +22,7 @@ package org.openecomp.sdc.common.errors; public class CoreException extends RuntimeException { - private ErrorCode errorCode; + private final ErrorCode errorCode; public CoreException(ErrorCode errorCode) { this(errorCode, null); diff --git a/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/Messages.java b/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/Messages.java index 8bcb0a5ffe..72ad3335a4 100644 --- a/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/Messages.java +++ b/openecomp-be/lib/openecomp-common-lib/src/main/java/org/openecomp/sdc/common/errors/Messages.java @@ -22,7 +22,7 @@ package org.openecomp.sdc.common.errors; public enum Messages { - CANT_LOAD_CLASS("Can't load class %s. Error: %s"), + CANT_LOAD_HEALING_CLASS("Can't load healing class %s."), VERSION_UPGRADE("Item %s is of old version. A check out was made in order to get new " + "functionalities"), diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-config-lib/src/test/java/org/openecomp/sdc/applicationconfig/dao/ApplicationConfigImplDaoTest.java b/openecomp-be/lib/openecomp-core-lib/openecomp-config-lib/src/test/java/org/openecomp/sdc/applicationconfig/dao/ApplicationConfigImplDaoTest.java index 6d92330493..6b5c5f94c4 100644 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-config-lib/src/test/java/org/openecomp/sdc/applicationconfig/dao/ApplicationConfigImplDaoTest.java +++ b/openecomp-be/lib/openecomp-core-lib/openecomp-config-lib/src/test/java/org/openecomp/sdc/applicationconfig/dao/ApplicationConfigImplDaoTest.java @@ -30,6 +30,8 @@ import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCategory; import org.openecomp.sdc.common.errors.ErrorCode; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -48,6 +50,11 @@ public class ApplicationConfigImplDaoTest { private static ApplicationConfig applicationConfig = ApplicationConfigFactory.getInstance().createInterface(); + private final static Logger log = (Logger) LoggerFactory.getLogger + (ApplicationConfigImplDaoTest.class.getName()); + + private final Logger logger = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @BeforeClass public static void init() { try { @@ -64,6 +71,7 @@ public class ApplicationConfigImplDaoTest { applicationConfigDao.create(applicationConfigEntity3); } catch (Exception e) { + log.debug("",e); throw new CoreException(new ErrorCode.ErrorCodeBuilder(). withCategory(ErrorCategory.APPLICATION). withId(SCHEMA_GENERATOR_INITIALIZATION_ERROR). @@ -91,6 +99,7 @@ public class ApplicationConfigImplDaoTest { try { applicationConfig.getConfigurationData("test - namespace", "aaa"); } catch (CoreException ce) { + logger.debug("", ce); Assert.assertEquals(ce.getMessage(), "Configuration for namespace test - namespace and key aaa was not found"); } diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoryConfig.java b/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoryConfig.java index d664cbee38..31822b6bdc 100644 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoryConfig.java +++ b/openecomp-be/lib/openecomp-core-lib/openecomp-facade-lib/openecomp-facade-core/src/main/java/org/openecomp/core/factory/FactoryConfig.java @@ -35,7 +35,6 @@ public final class FactoryConfig { INSTANCE = CommonMethods.newInstance( "org.openecomp.core.factory.FactoriesConfigImpl", FactoriesConfiguration.class); } catch (Exception exception) { - exception.printStackTrace(); throw exception; } } diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/impl/cassandra/CassandraNoSqlDbImpl.java b/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/impl/cassandra/CassandraNoSqlDbImpl.java index 4ecc26879a..93410bc581 100644 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/impl/cassandra/CassandraNoSqlDbImpl.java +++ b/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/impl/cassandra/CassandraNoSqlDbImpl.java @@ -28,6 +28,8 @@ import org.openecomp.core.utilities.CommonMethods; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCategory; import org.openecomp.sdc.common.errors.ErrorCode; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import java.util.Set; import java.util.stream.Collectors; @@ -38,6 +40,8 @@ class CassandraNoSqlDbImpl implements NoSqlDb { private final String keySpace; private final MappingManager mappingManager; + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + public CassandraNoSqlDbImpl(Session session) { this.session = session; @@ -109,6 +113,7 @@ class CassandraNoSqlDbImpl implements NoSqlDb { .collect(Collectors.toSet()); return versions.stream().collect(Collectors.joining(",")); } catch (Exception e){ + log.debug("",e); return "Failed to retrieve version"; } } diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/impl/cassandra/CassandraSessionFactory.java b/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/impl/cassandra/CassandraSessionFactory.java index 7b9b2ca84f..4bc8262439 100644 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/impl/cassandra/CassandraSessionFactory.java +++ b/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/impl/cassandra/CassandraSessionFactory.java @@ -20,12 +20,13 @@ package org.openecomp.core.nosqldb.impl.cassandra; -import com.google.common.base.Optional; - import com.datastax.driver.core.Cluster; import com.datastax.driver.core.SSLOptions; import com.datastax.driver.core.Session; +import com.google.common.base.Optional; import org.openecomp.core.nosqldb.util.CassandraUtils; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import java.io.FileInputStream; import java.io.IOException; @@ -36,11 +37,14 @@ import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.UnrecoverableKeyException; import java.security.cert.CertificateException; -import java.util.Objects; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManagerFactory; public class CassandraSessionFactory { + + private static final Logger log = (Logger) LoggerFactory.getLogger + (CassandraSessionFactory.class.getName()); + public static Session getSession() { return ReferenceHolder.CASSANDRA; } @@ -112,7 +116,7 @@ public class CassandraSessionFactory { ctx.init(null, tmf.getTrustManagers(), new SecureRandom()); } catch (Exception exception) { - exception.printStackTrace(); + log.debug("",exception); } finally { if (tsf != null) { tsf.close(); diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/util/ConfigurationManager.java b/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/util/ConfigurationManager.java index c00db41ed9..1f5e20fd0b 100644 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/util/ConfigurationManager.java +++ b/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/main/java/org/openecomp/core/nosqldb/util/ConfigurationManager.java @@ -20,6 +20,8 @@ package org.openecomp.core.nosqldb.util; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.tosca.services.YamlUtil; import java.io.FileInputStream; @@ -58,6 +60,8 @@ public class ConfigurationManager { private static ConfigurationManager instance = null; private final LinkedHashMap<String, Object> cassandraConfiguration; + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + private ConfigurationManager() { YamlUtil yamlUtil = new YamlUtil(); @@ -227,7 +231,7 @@ public class ConfigurationManager { try { is = new FileInputStream(file); } catch (FileNotFoundException exception) { - exception.printStackTrace(); + log.debug("",exception); } return is; } diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/test/java/org/openecomp/core/nosqldb/NoSqlDbTest.java b/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/test/java/org/openecomp/core/nosqldb/NoSqlDbTest.java index fc96335daf..5c4f951a7b 100644 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/test/java/org/openecomp/core/nosqldb/NoSqlDbTest.java +++ b/openecomp-be/lib/openecomp-core-lib/openecomp-nosqldb-lib/openecomp-nosqldb-core/src/test/java/org/openecomp/core/nosqldb/NoSqlDbTest.java @@ -32,7 +32,7 @@ import java.util.List; public class NoSqlDbTest { - private static NoSqlDb noSqlDb; + private NoSqlDb noSqlDb; /* @Test diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/file/FileUtils.java b/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/file/FileUtils.java index 0fb587cc68..6ff213c34c 100644 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/file/FileUtils.java +++ b/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/file/FileUtils.java @@ -23,6 +23,8 @@ package org.openecomp.core.utilities.file; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; 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.services.YamlUtil; import java.io.ByteArrayInputStream; @@ -43,6 +45,8 @@ import java.util.zip.ZipInputStream; */ public class FileUtils { + //private final static Logger log = (Logger) LoggerFactory.getLogger(FileUtils.class.getName()); + /** * Allows to consume an input stream open against a resource with a given file name. * diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/json/JsonUtil.java b/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/json/JsonUtil.java index 5f0bc90845..8454bc61a8 100644 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/json/JsonUtil.java +++ b/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/json/JsonUtil.java @@ -117,6 +117,7 @@ public class JsonUtil { try { is.close(); } catch (IOException ignore) { + logger.debug("",ignore); //do nothing } } @@ -136,6 +137,7 @@ public class JsonUtil { try { return new JsonParser().parse(json).isJsonObject(); } catch (JsonSyntaxException jse) { + logger.debug("",jse); return false; } } diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-api/src/main/java/org/openecomp/core/zusammen/api/ZusammenAdaptor.java b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-api/src/main/java/org/openecomp/core/zusammen/api/ZusammenAdaptor.java index f4e8688d63..2ba447fd6a 100644 --- a/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-api/src/main/java/org/openecomp/core/zusammen/api/ZusammenAdaptor.java +++ b/openecomp-be/lib/openecomp-core-lib/openecomp-zusammen-lib/openecomp-zusammen-api/src/main/java/org/openecomp/core/zusammen/api/ZusammenAdaptor.java @@ -12,7 +12,6 @@ import com.amdocs.zusammen.datatypes.item.Item; import com.amdocs.zusammen.datatypes.item.ItemVersion; import com.amdocs.zusammen.datatypes.item.ItemVersionData; import com.amdocs.zusammen.datatypes.itemversion.Tag; -import org.apache.commons.lang3.tuple.ImmutablePair; import java.util.Collection; import java.util.Optional; diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/src/main/java/org/openecomp/sdc/healing/api/HealingManager.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/src/main/java/org/openecomp/sdc/healing/api/HealingManager.java index a2ce153a82..211d9a21b2 100644 --- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/src/main/java/org/openecomp/sdc/healing/api/HealingManager.java +++ b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/src/main/java/org/openecomp/sdc/healing/api/HealingManager.java @@ -23,6 +23,7 @@ package org.openecomp.sdc.healing.api; import org.openecomp.sdc.healing.types.HealCode; import java.util.Map; +import java.util.Optional; /** * Created by Talio on 11/29/2016. @@ -30,5 +31,5 @@ import java.util.Map; public interface HealingManager { Object heal(HealCode code, Map<String, Object> healParameters); - void healAll(Map<String, Object> healParameters); + Optional<String> healAll(Map<String, Object> healParameters); } diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/java/org/openecomp/sdc/healing/impl/HealingManagerImpl.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/java/org/openecomp/sdc/healing/impl/HealingManagerImpl.java index 0f2c0e7ee1..16f9c60d7f 100644 --- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/java/org/openecomp/sdc/healing/impl/HealingManagerImpl.java +++ b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/java/org/openecomp/sdc/healing/impl/HealingManagerImpl.java @@ -20,6 +20,7 @@ package org.openecomp.sdc.healing.impl; +import org.openecomp.core.utilities.CommonMethods; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.core.utilities.json.JsonUtil; import org.openecomp.sdc.common.errors.Messages; @@ -33,8 +34,10 @@ import org.openecomp.sdc.logging.types.LoggerErrorCode; import org.openecomp.sdc.logging.types.LoggerErrorDescription; import org.openecomp.sdc.logging.types.LoggerTragetServiceName; -import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; import java.util.Map; +import java.util.Optional; /** * Created by Talio on 11/29/2016. @@ -45,34 +48,53 @@ public class HealingManagerImpl implements HealingManager { @Override public Object heal(HealCode code, Map<String, Object> healParameters) { - String implClassName = healerCodeToImplClass.get(code.name()); - try { - Healer healerImpl = getHealerImplInstance(implClassName); - return healerImpl.heal(healParameters); + ArrayList<String> healingFailureMessages = new ArrayList<>(); + + Object result = + heal(healParameters, healerCodeToImplClass.get(code.name()), healingFailureMessages); + + if (!healingFailureMessages.isEmpty()) { + throw new RuntimeException(CommonMethods.listToSeparatedString(healingFailureMessages, '\n')); + } + return result; + } + @Override + public Optional<String> healAll(Map<String, Object> healParameters) { + ArrayList<String> healingFailureMessages = new ArrayList<>(); + + for (String implClassName : healerCodeToImplClass.values()) { + heal(healParameters, implClassName, healingFailureMessages); + } + + return healingFailureMessages.isEmpty() ? Optional.empty() + : Optional.of(CommonMethods.listToSeparatedString(healingFailureMessages, '\n')); + } + + private Object heal(Map<String, Object> healParameters, String healerImplClassName, + ArrayList<String> healingFailureMessages) { + Healer healerImpl; + try { + healerImpl = getHealerImplInstance(healerImplClassName); } catch (Exception e) { MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.SELF_HEALING, ErrorLevel.ERROR.name(), LoggerErrorCode .DATA_ERROR.getErrorCode(), LoggerErrorDescription.CANT_HEAL); - throw new RuntimeException(String.format(Messages.CANT_LOAD_CLASS.getErrorMessage(), - implClassName, e.getMessage())); + healingFailureMessages + .add(String.format(Messages.CANT_LOAD_HEALING_CLASS.getErrorMessage(), + healerImplClassName)); + return null; } - } - @Override - public void healAll(Map<String, Object> healParameters) { - for (String implClassName : healerCodeToImplClass.values()) { - try { - Healer healerImpl = getHealerImplInstance(implClassName); - healerImpl.heal(healParameters); - } catch (Exception e) { - MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, - LoggerTragetServiceName.SELF_HEALING, ErrorLevel.ERROR.name(), LoggerErrorCode - .DATA_ERROR.getErrorCode(), LoggerErrorDescription.CANT_HEAL); - throw new RuntimeException(String.format(Messages.CANT_LOAD_CLASS.getErrorMessage(), - implClassName, e.getMessage())); - } + try { + return healerImpl.heal(healParameters); + } catch (Exception e) { + MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, + LoggerTragetServiceName.SELF_HEALING, ErrorLevel.ERROR.name(), LoggerErrorCode + .DATA_ERROR.getErrorCode(), LoggerErrorDescription.CANT_HEAL); + healingFailureMessages.add(e.getMessage()); } + return null; } private static Map<String, String> initHealers() { @@ -80,10 +102,8 @@ public class HealingManagerImpl implements HealingManager { } private Healer getHealerImplInstance(String implClassName) - throws ClassNotFoundException, NoSuchMethodException, InstantiationException, - IllegalAccessException, java.lang.reflect.InvocationTargetException { - Class<?> clazz = Class.forName(implClassName); - Constructor<?> constructor = clazz.getConstructor(); - return (Healer) constructor.newInstance(); + throws InstantiationException, IllegalAccessException, InvocationTargetException, + NoSuchMethodException, ClassNotFoundException { + return (Healer) Class.forName(implClassName).getConstructor().newInstance(); } } 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 index 2e63a8d50a..d061556e4c 100644 --- 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 @@ -12,8 +12,6 @@ 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.VendorSoftwareProductDao; -import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity; @@ -178,8 +176,7 @@ public class ComponentQuestionnaireHealer implements Healer { JsonObject computeQuestionnaireJsonObject = new JsonObject(); computeQuestionnaireJsonObject.add(VM_SIZING, vmSizing); - String computeQuestionnaire = computeQuestionnaireJsonObject != null ? - computeQuestionnaireJsonObject.toString() : null; + String computeQuestionnaire = computeQuestionnaireJsonObject.toString(); computeDao.updateQuestionnaireData(computeEntity.getVspId(), computeEntity.getVersion(), computeEntity.getComponentId(), computeEntity.getId(), computeQuestionnaire); compute.remove(VM_SIZING); 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 index 9800d02ba6..e3701743ec 100644 --- 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 @@ -31,6 +31,8 @@ import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum; import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.common.utils.SdcCommon; 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; @@ -92,6 +94,8 @@ public class CompositionDataHealer implements Healer { private static CompositionEntityDataManager compositionEntityDataManager = CompositionEntityDataManagerFactory.getInstance().createInterface(); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + public CompositionDataHealer() { } @@ -288,6 +292,7 @@ public class CompositionDataHealer implements Healer { serviceModelDao.storeServiceModel(vspId, version, translatorOutput.getToscaServiceModel()); } catch (Exception e) { + log.debug("", e); return Optional.empty(); } @@ -304,6 +309,7 @@ public class CompositionDataHealer implements Healer { 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 index 0d484440cf..4a0a5f9d63 100644 --- 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 @@ -27,6 +27,8 @@ import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.common.utils.SdcCommon; import org.openecomp.sdc.datatypes.error.ErrorMessage; 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.OrchestrationTemplateDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory; @@ -51,6 +53,8 @@ public class FileDataStructureHealer implements Healer { CandidateServiceFactory.getInstance().createInterface(); private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + public FileDataStructureHealer() { } @@ -104,6 +108,7 @@ public class FileDataStructureHealer implements Healer { healingResult = getFileDataStructureFromJson(candidateDataEntity.getFilesDataStructure()); }catch (Exception e){ + log.debug("", e); return Optional.empty(); } 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 index 44b6062e89..32cd8cbae3 100644 --- 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 @@ -12,6 +12,8 @@ import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum; import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.common.utils.SdcCommon; 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; @@ -34,6 +36,8 @@ public class HeatToToscaTranslationHealer implements Healer { templateDao = ServiceTemplateDaoFactory.getInstance().createInterface(); private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + public HeatToToscaTranslationHealer(){ } @@ -58,24 +62,25 @@ public class HeatToToscaTranslationHealer implements Healer { .getContentData().array()); translatorOutput = HeatToToscaUtil.loadAndTranslateTemplateData(fileContentHandler); - }catch (Exception e){ + } catch (Exception e) { + log.debug("", e); return Optional.empty(); } - if(Objects.isNull(translatorOutput)){ + if (Objects.isNull(translatorOutput)) { return Optional.empty(); - } + } else { - if (translatorOutput != null && translatorOutput.getToscaServiceModel() == null) { - return Optional.empty(); - } + 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); + serviceModelDao.deleteAll(vspId, version); + serviceModelDao.storeServiceModel(vspId, version, translatorOutput.getToscaServiceModel()); + mdcDataDebugMessage.debugExitMessage("VSP id", vspId); - return translatorOutput; + return translatorOutput; + } } } 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 index 4e8de71ea3..130405be1d 100644 --- 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 @@ -67,9 +67,9 @@ public class SubEntitiesQuestionnaireHealer implements Healer { : (Version) healingParams.get(SdcCommon.VERSION); Collection<ComponentEntity> componentEntities = - componentDao.listCompositionAndQuestionnaire(vspId, version); - networkDao.list(new NetworkEntity(vspId, version,null)); + + networkDao.list(new NetworkEntity(vspId, version, null)); Collection<NicEntity> nicEntities = vendorSoftwareProductDao.listNicsByVsp(vspId, version); @@ -90,7 +90,8 @@ public class SubEntitiesQuestionnaireHealer implements Healer { for (Object entity : compositionEntities) { CompositionEntity compositionEntity = (CompositionEntity) entity; - if (Objects.isNull(compositionEntity.getQuestionnaireData())) { + if (Objects.isNull(compositionEntity.getQuestionnaireData()) || + "".equals(compositionEntity.getQuestionnaireData())) { compositionEntity.setVersion(newVersion); updateNullQuestionnaire(compositionEntity, type); } 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 index f92fbd1730..58ba3b7c35 100644 --- 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 @@ -9,6 +9,8 @@ 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.VendorSoftwareProductInfoDao; @@ -34,6 +36,7 @@ public class ValidationStructureHealer implements Healer { VendorSoftwareProductInfoDaoFactory.getInstance().createInterface(); private static final OrchestrationTemplateDao orchestrationTemplateDao = OrchestrationTemplateDaoFactory.getInstance().createInterface(); + private static final Logger logger = LoggerFactory.getLogger(JsonUtil.class); @Override public Object heal(Map<String, Object> healingParams) throws Exception { @@ -51,6 +54,7 @@ public class ValidationStructureHealer implements Healer { JsonUtil.json2Object(orchestrationTemplate.getValidationData(), OldValidationStructureTree .class); } catch (Exception e){ + logger.debug("",e); return Optional.empty(); } 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 index 6a82d8fa49..4accd790ab 100644 --- 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 @@ -11,14 +11,12 @@ import org.openecomp.sdc.vendorlicense.dao.types.VendorLicenseModelEntity; import org.openecomp.sdc.vendorlicense.facade.VendorLicenseFacade; import org.openecomp.sdc.vendorlicense.facade.VendorLicenseFacadeFactory; import org.openecomp.sdc.vendorlicense.types.VersionedVendorLicenseModel; -import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory; 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.dao.types.Version; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Objects; @@ -55,6 +53,7 @@ public class VlmVersionHealer implements Healer { vendorLicenseModel = vendorLicenseFacade.getVendorLicenseModel(vspDetails.getVendorId(), null, user); } catch (Exception e){ + logger.debug("" + e); logger.debug("No Vlm was found for Vsp " + vspDetails.getName()); return Optional.empty(); } 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 index 78f2997660..0952a4c88f 100644 --- 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 @@ -23,9 +23,9 @@ package org.openecomp.sdc.healing.healers; import org.openecomp.core.utilities.json.JsonSchemaDataGenerator; import org.openecomp.sdc.common.utils.SdcCommon; 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.VendorSoftwareProductDao; -import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspQuestionnaireEntity; @@ -44,6 +44,8 @@ public class VspQuestionnaireHealer implements Healer { VendorSoftwareProductInfoDaoFactory.getInstance().createInterface(); private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + public VspQuestionnaireHealer() { } @@ -80,6 +82,7 @@ public class VspQuestionnaireHealer implements Healer { questionnaireData = new JsonSchemaDataGenerator(generatedSchema).generateData(); vspInfoDao.updateQuestionnaireData(vspId, version, questionnaireData); }catch(Exception e){ + log.debug("", e); return Optional.empty(); } mdcDataDebugMessage.debugExitMessage(null, null); diff --git a/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/HeatBoolean.java b/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/HeatBoolean.java index 249dcaf4a5..f0bb253a4b 100644 --- a/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/HeatBoolean.java +++ b/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/HeatBoolean.java @@ -24,6 +24,8 @@ import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCategory; import org.openecomp.sdc.common.errors.ErrorCode; import org.openecomp.sdc.heat.services.ErrorCodes; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import java.util.HashSet; import java.util.Set; @@ -33,6 +35,8 @@ public class HeatBoolean { private static Set<Object> heatFalse; private static Set<Object> heatTrue; + private final static Logger log = (Logger) LoggerFactory.getLogger(HeatBoolean.class.getName()); + static { @@ -90,6 +94,7 @@ public class HeatBoolean { Boolean answer = eval(value); return true; } catch (CoreException ce) { + log.debug("",ce); return false; } } diff --git a/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/manifest/FileData.java b/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/manifest/FileData.java index dd487603e1..81bf2fa5a9 100644 --- a/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/manifest/FileData.java +++ b/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/datatypes/manifest/FileData.java @@ -31,7 +31,7 @@ import java.util.function.Predicate; public class FileData { - public static Set<Type> heatFileTypes = + protected static final Set<Type> heatFileTypes = new HashSet<>(Arrays.asList(Type.HEAT, Type.HEAT_NET, Type.HEAT_VOL)); private Boolean isBase; private String file; diff --git a/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/services/tree/HeatTreeManager.java b/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/services/tree/HeatTreeManager.java index def773d712..372c09cffe 100644 --- a/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/services/tree/HeatTreeManager.java +++ b/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/services/tree/HeatTreeManager.java @@ -23,7 +23,6 @@ package org.openecomp.sdc.heat.services.tree; import org.openecomp.core.utilities.file.FileContentHandler; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.core.utilities.json.JsonUtil; -import org.openecomp.sdc.tosca.services.YamlUtil; import org.openecomp.core.validation.types.GlobalValidationContext; import org.openecomp.sdc.common.utils.SdcCommon; import org.openecomp.sdc.datatypes.error.ErrorMessage; @@ -34,6 +33,7 @@ import org.openecomp.sdc.heat.datatypes.structure.Artifact; import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; +import org.openecomp.sdc.tosca.services.YamlUtil; import java.io.InputStream; import java.util.HashMap; @@ -101,10 +101,14 @@ public class HeatTreeManager { .values().stream().filter(heatStructureTree -> tree.getHeat().contains(heatStructureTree)) .forEach(heatStructureTree -> tree.getHeat().remove(heatStructureTree)); - heatContentMap.getFileList().stream().filter(fileName -> !manifestFiles.contains(fileName)) + heatContentMap.getFileList().stream().filter(fileName -> isNotInManifestFiles(fileName)) .forEach(fileName -> addTreeOther(fileName)); } + private boolean isNotInManifestFiles(String fileName) { + return !manifestFiles.contains(fileName); + } + private void addTreeOther(String fileName) { if (tree.getOther() == null) { tree.setOther(new HashSet<>()); @@ -132,7 +136,9 @@ public class HeatTreeManager { Set<String> artifactSet = HeatTreeManagerUtil.getArtifactFiles(filename, hot, globalContext); addHeatArtifactFiles(fileHeatStructureTree, artifactSet); - } catch (Exception ignore) { /* invalid yaml no need to process reference */ } + } catch (Exception ignore) { /* invalid yaml no need to process reference */ + logger.debug("",ignore); + } } diff --git a/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/services/tree/HeatTreeManagerUtil.java b/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/services/tree/HeatTreeManagerUtil.java index b8df50b87c..3802018c99 100644 --- a/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/services/tree/HeatTreeManagerUtil.java +++ b/openecomp-be/lib/openecomp-heat-lib/src/main/java/org/openecomp/sdc/heat/services/tree/HeatTreeManagerUtil.java @@ -166,7 +166,7 @@ public class HeatTreeManagerUtil { Map<String, Object> resourceDefValueMap = resource.getProperties() == null ? null : (Map<String, Object>) resource.getProperties().get( PropertiesMapKeyTypes.RESOURCE_DEF.getKeyMap()); - if (MapUtils.isNotEmpty(resourceDefValueMap)) { + if (MapUtils.isNotEmpty(resourceDefValueMap) && resourceDefValueMap != null) { Object resourceDefType = resourceDefValueMap.get("type"); if (Objects.nonNull(resourceDefType)) { if (resourceDefType instanceof String) { diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/datatypes/model/EnvironmentTest.java b/openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/datatypes/model/EnvironmentTest.java index c99eda7309..fc01e2e8b0 100644 --- a/openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/datatypes/model/EnvironmentTest.java +++ b/openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/datatypes/model/EnvironmentTest.java @@ -48,7 +48,7 @@ public class EnvironmentTest { } else { String heatResourceNameSuffix = heatResourceName.substring(lastIndexOfUnderscore + 1); try { - Integer.parseInt(heatResourceNameSuffix); + int heatResourceNameSuffixInt = Integer.parseInt(heatResourceNameSuffix); System.out.println(heatResourceName.substring(0, lastIndexOfUnderscore)); } catch (NumberFormatException ignored) { System.out.println(heatResourceName); diff --git a/openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/datatypes/model/HeatOrchestrationTemplateTest.java b/openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/datatypes/model/HeatOrchestrationTemplateTest.java index ec5c7526e3..3715b0f999 100644 --- a/openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/datatypes/model/HeatOrchestrationTemplateTest.java +++ b/openecomp-be/lib/openecomp-heat-lib/src/test/java/org/openecomp/sdc/heat/datatypes/model/HeatOrchestrationTemplateTest.java @@ -22,6 +22,8 @@ package org.openecomp.sdc.heat.datatypes.model; import org.junit.Assert; import org.junit.Test; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.tosca.services.YamlUtil; import java.io.InputStream; @@ -32,6 +34,8 @@ import java.util.Map; public class HeatOrchestrationTemplateTest { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @Test public void testYamlToServiceTemplateObj() { YamlUtil yamlUtil = new YamlUtil(); @@ -99,6 +103,7 @@ public class HeatOrchestrationTemplateTest { yamlUtil.yamlToObject(yml, HeatOrchestrationTemplate.class); Assert.assertNotNull(heatOrchestrationTemplate); } catch (Exception ignored) { + log.debug("",ignored); } } diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/annotations/Debug.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/annotations/Debug.java index b00b85a814..049481141a 100644 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/annotations/Debug.java +++ b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-api/src/main/java/org/openecomp/sdc/logging/api/annotations/Debug.java @@ -20,11 +20,6 @@ package org.openecomp.sdc.logging.api.annotations; -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - /** * Created by TALIO on 12/26/2016. */ diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/impl/MdcDataDebugMessage.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/impl/MdcDataDebugMessage.java index 01bc6f446e..b21504d752 100644 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/impl/MdcDataDebugMessage.java +++ b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/context/impl/MdcDataDebugMessage.java @@ -33,7 +33,7 @@ import java.util.Map; public class MdcDataDebugMessage extends MdcData { - private static Logger logger; + private Logger logger; private static Map<String, String> mapExitOrEntryToMessage; static { diff --git a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/servlet/LoggingFilter.java b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/servlet/LoggingFilter.java index f617ea6500..31b89464c9 100644 --- a/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/servlet/LoggingFilter.java +++ b/openecomp-be/lib/openecomp-logging-lib/openecomp-sdc-logging-core/src/main/java/org/openecomp/sdc/logging/servlet/LoggingFilter.java @@ -21,6 +21,8 @@ package org.openecomp.sdc.logging.servlet; import org.omg.CORBA.Request; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.slf4j.MDC; import javax.servlet.*; @@ -61,6 +63,8 @@ public class LoggingFilter implements Filter { private static final HostAddressCache HOST_ADDRESS = new HostAddressCache(); private static final String UNKNOWN = "UNKNOWN"; + private final static Logger log = (Logger) LoggerFactory.getLogger(LoggingFilter.class.getName()); + public void destroy() { } @@ -128,6 +132,7 @@ public class LoggingFilter implements Filter { lastUpdated.set(current); // set now to register the attempt even if failed hostAddress = InetAddress.getLocalHost(); } catch (UnknownHostException e) { + log.debug("",e); hostAddress = null; } } diff --git a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/ActionConstants.java b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/ActionConstants.java index fd6c76c92c..25cd06d3ce 100644 --- a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/ActionConstants.java +++ b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/ActionConstants.java @@ -24,7 +24,7 @@ package org.openecomp.sdc.action; public class ActionConstants { // - public static final long MAX_ACTION_ARTIFACT_SIZE = 20 * 1024 * 1024; //20 MB + public static final long MAX_ACTION_ARTIFACT_SIZE = 20 * 1024 * 1024L; //20 MB //REST layer constants public static final String X_OPEN_ECOMP_INSTANCE_ID_HEADER_PARAM = "X-OPEN-ECOMP-InstanceID"; public static final String X_OPEN_ECOMP_REQUEST_ID_HEADER_PARAM = "X-OPEN-ECOMP-RequestID"; diff --git a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/Action.java b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/Action.java index b7672644d2..cde97bc151 100644 --- a/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/Action.java +++ b/openecomp-be/lib/openecomp-sdc-action-lib/openecomp-sdc-action-api/src/main/java/org/openecomp/sdc/action/types/Action.java @@ -244,4 +244,31 @@ public class Action implements Comparable { return Integer.compare(objVersion.getMajor(), thisVersion.getMajor()); } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + Action action = (Action) o; + + if (!version.equals(action.version)) { + return false; + } + if (!name.equals(action.name)) { + return false; + } + + return true; + } + + @Override + public int hashCode() { + int result = version.hashCode(); + result = 31 * result + name.hashCode(); + return result; + } } diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-core/src/test/java/org/openecomp/sdc/enrichment/impl/EnrichmentManagerImplTest.java b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-core/src/test/java/org/openecomp/sdc/enrichment/impl/EnrichmentManagerImplTest.java index 293e4dec2a..1b9e119fbf 100644 --- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-core/src/test/java/org/openecomp/sdc/enrichment/impl/EnrichmentManagerImplTest.java +++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-core/src/test/java/org/openecomp/sdc/enrichment/impl/EnrichmentManagerImplTest.java @@ -22,15 +22,15 @@ package org.openecomp.sdc.enrichment.impl; import static org.junit.Assert.assertEquals; -import org.openecomp.core.enrichment.api.EnrichmentManager; import org.openecomp.core.enrichment.factory.EnrichmentManagerFactory; import org.openecomp.core.utilities.file.FileUtils; +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.ToscaFileOutputService; import org.openecomp.sdc.tosca.services.impl.ToscaFileOutputServiceCsarImpl; -import org.openecomp.sdc.tosca.services.ToscaExtensionYamlUtil; -import org.openecomp.sdc.versioning.dao.types.Version; import org.testng.Assert; import org.testng.annotations.Test; @@ -53,6 +53,9 @@ import java.util.zip.ZipInputStream; public class EnrichmentManagerImplTest { + private final static Logger log = (Logger) LoggerFactory.getLogger + (EnrichmentManagerImplTest.class.getName()); + private static ToscaServiceModel loadToscaServiceModel(String serviceTemplatesPath, String globalServiceTemplatesPath, @@ -103,6 +106,7 @@ public class EnrichmentManagerImplTest { try { yamlFile.close(); } catch (IOException ignore) { + log.debug("",ignore); } } catch (FileNotFoundException e) { throw e; diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/ExternalArtifactEnricher.java b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/ExternalArtifactEnricher.java index ffc27106bb..57c1d19f03 100644 --- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/ExternalArtifactEnricher.java +++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/ExternalArtifactEnricher.java @@ -67,7 +67,7 @@ public class ExternalArtifactEnricher extends Enricher { externalArtifactEnricherInstance.enrich(this.data); } } catch (Exception e) { - e.printStackTrace(); + logger.debug("",e); logger.error(e.getMessage()); } diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/MonitoringMibEnricher.java b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/MonitoringMibEnricher.java index 44c1ef8c72..ff0e9b4838 100644 --- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/MonitoringMibEnricher.java +++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/external/artifact/MonitoringMibEnricher.java @@ -34,6 +34,8 @@ import org.openecomp.sdc.datatypes.error.ErrorLevel; import org.openecomp.sdc.datatypes.error.ErrorMessage; import org.openecomp.sdc.enrichment.EnrichmentInfo; import org.openecomp.sdc.enrichment.inter.ExternalArtifactEnricherInterface; +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.ToscaNodeType; import org.openecomp.sdc.tosca.services.DataModelUtil; @@ -61,6 +63,7 @@ public class MonitoringMibEnricher implements ExternalArtifactEnricherInterface private ComponentArtifactDao componentArtifactDao; private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); /** * Enrich map. * @@ -225,6 +228,7 @@ public class MonitoringMibEnricher implements ExternalArtifactEnricherInterface mibs = FileUtils .getFileContentMapFromZip(FileUtils.toByteArray(monitoringArtifactInfo.getContent())); } catch (IOException ioException) { + log.debug("",ioException); ErrorMessage.ErrorMessageUtil .addMessage(mibServiceArtifact.getName() + "." + type.name(), errors) .add(new ErrorMessage(ErrorLevel.ERROR, Messages.INVALID_ZIP_FILE.getErrorMessage())); diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/tosca/ToscaEnricher.java b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/tosca/ToscaEnricher.java index 854d84ad84..f1804c8f62 100644 --- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/tosca/ToscaEnricher.java +++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/tosca/ToscaEnricher.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.enrichment.impl.tosca; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.datatypes.error.ErrorMessage; import org.openecomp.sdc.enrichment.inter.Enricher; import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/java/org/openecomp/sdc/enrichment/impl/tosca/BaseToscaEnrichmentTest.java b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/java/org/openecomp/sdc/enrichment/impl/tosca/BaseToscaEnrichmentTest.java index 4196168b2c..0001cdf404 100644 --- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/java/org/openecomp/sdc/enrichment/impl/tosca/BaseToscaEnrichmentTest.java +++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/java/org/openecomp/sdc/enrichment/impl/tosca/BaseToscaEnrichmentTest.java @@ -21,6 +21,8 @@ package org.openecomp.sdc.enrichment.impl.tosca; import org.openecomp.core.utilities.file.FileUtils; +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.ToscaFileOutputService; @@ -45,6 +47,9 @@ public class BaseToscaEnrichmentTest { protected String outputFilesPath; + private final static Logger log = (Logger) LoggerFactory.getLogger + (BaseToscaEnrichmentTest.class.getName()); + public static ToscaServiceModel loadToscaServiceModel(String serviceTemplatesPath, String globalServiceTemplatesPath, String entryDefinitionServiceTemplate) @@ -93,6 +98,7 @@ public class BaseToscaEnrichmentTest { try { yamlFile.close(); } catch (IOException ignore) { + log.debug("",ignore); } } catch (FileNotFoundException exception) { throw exception; diff --git a/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-api/src/main/java/org/openecomp/core/model/dao/ServiceModelDao.java b/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-api/src/main/java/org/openecomp/core/model/dao/ServiceModelDao.java index 1c13fbe760..2ef31d4597 100644 --- a/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-api/src/main/java/org/openecomp/core/model/dao/ServiceModelDao.java +++ b/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-api/src/main/java/org/openecomp/core/model/dao/ServiceModelDao.java @@ -20,12 +20,9 @@ package org.openecomp.core.model.dao; -import org.openecomp.core.model.types.ServiceArtifact; import org.openecomp.sdc.versioning.dao.VersionableDao; import org.openecomp.sdc.versioning.dao.types.Version; -import java.util.List; - public interface ServiceModelDao<M, E> extends VersionableDao { M getServiceModel(String vspId, Version version); diff --git a/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-core/src/main/java/org/openecomp/sdc/model/impl/AbstractServiceModelDao.java b/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-core/src/main/java/org/openecomp/sdc/model/impl/AbstractServiceModelDao.java index e774eb6b1d..965bc89ca8 100644 --- a/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-core/src/main/java/org/openecomp/sdc/model/impl/AbstractServiceModelDao.java +++ b/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-core/src/main/java/org/openecomp/sdc/model/impl/AbstractServiceModelDao.java @@ -27,13 +27,14 @@ import org.openecomp.core.model.types.ServiceElement; import org.openecomp.core.model.types.ServiceTemplate; import org.openecomp.core.utilities.file.FileContentHandler; import org.openecomp.core.utilities.file.FileUtils; +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.Import; import org.openecomp.sdc.tosca.datatypes.model.Old1610ServiceTemplate; import org.openecomp.sdc.tosca.services.ToscaExtensionYamlUtil; import org.openecomp.sdc.versioning.dao.VersionableDao; import org.openecomp.sdc.versioning.dao.types.Version; -import sun.misc.IOUtils; import java.io.InputStream; import java.util.ArrayList; @@ -48,6 +49,8 @@ public class AbstractServiceModelDao implements VersionableDao { protected ServiceTemplateDaoInter templateDao; protected ServiceArtifactDaoInter artifactDao; + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @Override public void registerVersioning(String versionableEntityType) { templateDao.registerVersioning(versionableEntityType); @@ -170,6 +173,7 @@ public class AbstractServiceModelDao implements VersionableDao { return new ToscaExtensionYamlUtil().yamlToObject(serviceTemplateContent, org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate.class); }catch (Exception e){ + log.debug("",e); System.out.println("Found vsp with old-versioned tosca service template"); Old1610ServiceTemplate old1610ServiceTemplate = new ToscaExtensionYamlUtil().yamlToObject(serviceTemplateContent, diff --git a/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-impl/src/main/java/org/openecomp/sdc/model/impl/zusammen/EnrichedServiceModelDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-impl/src/main/java/org/openecomp/sdc/model/impl/zusammen/EnrichedServiceModelDaoZusammenImpl.java index b038c70372..d018c9a87c 100644 --- a/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-impl/src/main/java/org/openecomp/sdc/model/impl/zusammen/EnrichedServiceModelDaoZusammenImpl.java +++ b/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-impl/src/main/java/org/openecomp/sdc/model/impl/zusammen/EnrichedServiceModelDaoZusammenImpl.java @@ -14,7 +14,6 @@ import org.openecomp.core.zusammen.api.ZusammenUtil; 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.versioning.dao.types.Version; public class EnrichedServiceModelDaoZusammenImpl extends ServiceModelDaoZusammenImpl implements EnrichedServiceModelDao<ToscaServiceModel, ServiceElement> { diff --git a/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-impl/src/main/java/org/openecomp/sdc/model/impl/zusammen/ServiceModelDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-impl/src/main/java/org/openecomp/sdc/model/impl/zusammen/ServiceModelDaoZusammenImpl.java index a7fecdd806..88a1c756c9 100644 --- a/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-impl/src/main/java/org/openecomp/sdc/model/impl/zusammen/ServiceModelDaoZusammenImpl.java +++ b/openecomp-be/lib/openecomp-sdc-model-lib/openecomp-sdc-model-impl/src/main/java/org/openecomp/sdc/model/impl/zusammen/ServiceModelDaoZusammenImpl.java @@ -186,6 +186,7 @@ public class ServiceModelDaoZusammenImpl return new ToscaExtensionYamlUtil(). yamlToObject(yamlContent, ServiceTemplate.class); }catch (Exception e){ + logger.debug("",e); return null; } } diff --git a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/ComputeFlavor.java b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/ComputeFlavor.java index d888bd311b..e34627d62b 100644 --- a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/ComputeFlavor.java +++ b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/ComputeFlavor.java @@ -41,21 +41,23 @@ public class ComputeFlavor { public boolean equals(Object obj) { if (this == obj) return true; - if (getClass() != obj.getClass()) + if (obj != null && getClass() != obj.getClass()) return false; ComputeFlavor other = (ComputeFlavor) obj; - if (num_cpus != other.num_cpus) - return false; - if (this.disk_size == null) { - if (other.disk_size != null) + if(other != null) { + if (num_cpus != other.num_cpus) return false; - } else if (!disk_size.equals(other.disk_size)) - return false; - if (this.mem_size == null) { - if (other.mem_size != null) + if (this.disk_size == null) { + if (other.disk_size != null) + return false; + } else if (!disk_size.equals(other.disk_size)) return false; - } else if (!mem_size.equals(other.mem_size)) - return false; + if (this.mem_size == null) { + if (other.mem_size != null) + return false; + } else if (!mem_size.equals(other.mem_size)) + return false; + } return true; } diff --git a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/DeploymentFlavorModel.java b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/DeploymentFlavorModel.java index a0d5f40b8c..3bc338361e 100644 --- a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/DeploymentFlavorModel.java +++ b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/DeploymentFlavorModel.java @@ -53,29 +53,31 @@ public class DeploymentFlavorModel { public boolean equals(Object obj) { if (this == obj) return true; - if (getClass() != obj.getClass()) + if (obj != null && getClass() != obj.getClass()) return false; DeploymentFlavorModel other = (DeploymentFlavorModel) obj; - if (this.sp_part_number == null) { - if (other.sp_part_number != null) + if (other != null) { + if (this.sp_part_number == null) { + if (other.sp_part_number != null) + return false; + } else if (!sp_part_number.equals(other.sp_part_number)) return false; - } else if (!sp_part_number.equals(other.sp_part_number)) - return false; - if (this.vendor_info == null) { - if (other.vendor_info != null) + if (this.vendor_info == null) { + if (other.vendor_info != null) + return false; + } else if (!vendor_info.equals(other.vendor_info)) return false; - } else if (!vendor_info.equals(other.vendor_info)) - return false; - if (this.compute_flavor == null) { - if (other.compute_flavor != null) + if (this.compute_flavor == null) { + if (other.compute_flavor != null) + return false; + } else if (!compute_flavor.equals(other.compute_flavor)) return false; - } else if (!compute_flavor.equals(other.compute_flavor)) - return false; - if (this.license_flavor == null) { - if (other.license_flavor != null) + if (this.license_flavor == null) { + if (other.license_flavor != null) + return false; + } else if (!license_flavor.equals(other.license_flavor)) return false; - } else if (!license_flavor.equals(other.license_flavor)) - return false; + } return true; } diff --git a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/LicenseFlavor.java b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/LicenseFlavor.java index f459d9e993..1cdeaca562 100644 --- a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/LicenseFlavor.java +++ b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/LicenseFlavor.java @@ -24,14 +24,16 @@ public class LicenseFlavor { public boolean equals(Object obj) { if (this == obj) return true; - if (getClass() != obj.getClass()) + if (obj != null && getClass() != obj.getClass()) return false; LicenseFlavor other = (LicenseFlavor) obj; - if (this.feature_group_uuid == null) { - if (other.feature_group_uuid != null) + if (other != null) { + if (this.feature_group_uuid == null) { + if (other.feature_group_uuid != null) + return false; + } else if (!feature_group_uuid.equals(other.feature_group_uuid)) return false; - } else if (!feature_group_uuid.equals(other.feature_group_uuid)) - return false; + } return true; } diff --git a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/MultiFlavorVfcImage.java b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/MultiFlavorVfcImage.java index 6cd713e2d1..560a7765f2 100644 --- a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/MultiFlavorVfcImage.java +++ b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/MultiFlavorVfcImage.java @@ -54,29 +54,31 @@ public class MultiFlavorVfcImage { public boolean equals(Object obj) { if (this == obj) return true; - if (getClass() != obj.getClass()) + if (obj != null && getClass() != obj.getClass()) return false; MultiFlavorVfcImage other = (MultiFlavorVfcImage) obj; - if (this.file_name == null) { - if (other.file_name != null) + if (other != null) { + if (this.file_name == null) { + if (other.file_name != null) + return false; + } else if (!file_name.equals(other.file_name)) return false; - } else if (!file_name.equals(other.file_name)) - return false; - if (this.file_hash == null) { - if (other.file_hash != null) + if (this.file_hash == null) { + if (other.file_hash != null) + return false; + } else if (!file_hash.equals(other.file_hash)) return false; - } else if (!file_hash.equals(other.file_hash)) - return false; - if (this.file_hash_type == null) { - if (other.file_hash_type != null) + if (this.file_hash_type == null) { + if (other.file_hash_type != null) + return false; + } else if (!file_hash_type.equals(other.file_hash_type)) return false; - } else if (!file_hash_type.equals(other.file_hash_type)) - return false; - if (this.software_version == null) { - if (other.software_version != null) + if (this.software_version == null) { + if (other.software_version != null) + return false; + } else if (!software_version.equals(other.software_version)) return false; - } else if (!software_version.equals(other.software_version)) - return false; + } return true; } diff --git a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/VendorInfo.java b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/VendorInfo.java index 22348f3083..0c2be2508c 100644 --- a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/VendorInfo.java +++ b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/VendorInfo.java @@ -32,19 +32,21 @@ public class VendorInfo { public boolean equals(Object obj) { if (this == obj) return true; - if (getClass() != obj.getClass()) + if (obj != null && getClass() != obj.getClass()) return false; VendorInfo other = (VendorInfo) obj; - if (this.manufacturer_reference_number == null) { - if (other.manufacturer_reference_number != null) + if (other != null) { + if (this.manufacturer_reference_number == null) { + if (other.manufacturer_reference_number != null) + return false; + } else if (!manufacturer_reference_number.equals(other.manufacturer_reference_number)) return false; - } else if (!manufacturer_reference_number.equals(other.manufacturer_reference_number)) - return false; - if (this.vendor_model == null) { - if (other.vendor_model != null) + if (this.vendor_model == null) { + if (other.vendor_model != null) + return false; + } else if (!vendor_model.equals(other.vendor_model)) return false; - } else if (!vendor_model.equals(other.vendor_model)) - return false; + } return true; } diff --git a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/VspModelInfo.java b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/VspModelInfo.java index 025db1cafc..4372e7f98a 100644 --- a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/VspModelInfo.java +++ b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-api/src/main/java/org/openecomp/sdc/generator/datatypes/tosca/VspModelInfo.java @@ -82,51 +82,53 @@ public class VspModelInfo { if (this == obj) { return true; } - if (getClass() != obj.getClass()) { + if (obj != null && getClass() != obj.getClass()) { return false; } VspModelInfo other = (VspModelInfo) obj; - if (this.releaseVendor == null) { - if (other.releaseVendor != null) { + if(other != null) { + if (this.releaseVendor == null) { + if (other.releaseVendor != null) { + return false; + } + } else if (!releaseVendor.equals(other.releaseVendor)) { return false; } - } else if (!releaseVendor.equals(other.releaseVendor)) { - return false; - } - if (this.components == null) { - if (other.components != null) { + if (this.components == null) { + if (other.components != null) { + return false; + } + } else if (!components.equals(other.components)) { return false; } - } else if (!components.equals(other.components)) { - return false; - } - if (this.allowedFlavors == null) { - if (other.allowedFlavors != null) { + if (this.allowedFlavors == null) { + if (other.allowedFlavors != null) { + return false; + } + } else if (!allowedFlavors.equals(other.allowedFlavors)) { return false; } - } else if (!allowedFlavors.equals(other.allowedFlavors)) { - return false; - } - if (this.multiFlavorVfcImages == null) { - if (other.multiFlavorVfcImages != null) { + if (this.multiFlavorVfcImages == null) { + if (other.multiFlavorVfcImages != null) { + return false; + } + } else if (!multiFlavorVfcImages.equals(other.multiFlavorVfcImages)) { return false; } - } else if (!multiFlavorVfcImages.equals(other.multiFlavorVfcImages)) { - return false; - } - if (this.multiFlavorVfcImages == null) { - if (other.multiFlavorVfcImages != null) { + if (this.multiFlavorVfcImages == null) { + if (other.multiFlavorVfcImages != null) { + return false; + } + } else if (!multiFlavorVfcImages.equals(other.multiFlavorVfcImages)) { return false; } - } else if (!multiFlavorVfcImages.equals(other.multiFlavorVfcImages)) { - return false; - } - if (this.nics == null) { - if (other.nics != null) { + if (this.nics == null) { + if (other.nics != null) { + return false; + } + } else if (!nics.equals(other.nics)) { return false; } - } else if (!nics.equals(other.nics)) { - return false; } return true; } diff --git a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-core/src/main/java/org/openecomp/sdc/generator/core/utils/GeneratorUtils.java b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-core/src/main/java/org/openecomp/sdc/generator/core/utils/GeneratorUtils.java index 59b06ba7a8..7e493f2151 100644 --- a/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-core/src/main/java/org/openecomp/sdc/generator/core/utils/GeneratorUtils.java +++ b/openecomp-be/lib/openecomp-sdc-tosca-generator-lib/openecomp-sdc-tosca-generator-core/src/main/java/org/openecomp/sdc/generator/core/utils/GeneratorUtils.java @@ -18,12 +18,9 @@ import org.openecomp.sdc.tosca.datatypes.model.RequirementDefinition; 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.ToscaExtensionYamlUtil; import org.openecomp.sdc.tosca.services.ToscaUtil; import org.openecomp.sdc.tosca.services.impl.ToscaAnalyzerServiceImpl; -import org.openecomp.sdc.tosca.services.ToscaExtensionYamlUtil; -import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.PackageInfo; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; import java.util.ArrayList; import java.util.Arrays; @@ -37,8 +34,8 @@ import java.util.Map; */ public class GeneratorUtils { - public static List<String> supportedCapabilities = new ArrayList<>(); - public static List<String> supportedRequirements = new ArrayList<>(); + private static List<String> supportedCapabilities = new ArrayList<>(); + private static List<String> supportedRequirements = new ArrayList<>(); protected static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); static { diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/tosca/datatypes/AttToscaPolicyType.java b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/tosca/datatypes/AttToscaPolicyType.java index 8881ec5e40..fd893730c4 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/tosca/datatypes/AttToscaPolicyType.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/tosca/datatypes/AttToscaPolicyType.java @@ -10,12 +10,14 @@ import org.openecomp.sdc.tosca.services.ConfigConstants; public class AttToscaPolicyType { private static Configuration config = ConfigurationManager.lookup(); - public static String POLICY_TYPE_PREFIX = + public static final String POLICY_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_POLICY_TYPE); - public static String PLACEMENT_VALET_AFFINITY = POLICY_TYPE_PREFIX + "placement.valet.Affinity"; - public static String PLACEMENT_VALET_EXCLUSIVITY = + public static final String PLACEMENT_VALET_AFFINITY = POLICY_TYPE_PREFIX + "placement.valet" + + ".Affinity"; + public static final String PLACEMENT_VALET_EXCLUSIVITY = POLICY_TYPE_PREFIX + "placement.valet.Exclusivity"; - public static String PLACEMENT_VALET_DIVERSITY = POLICY_TYPE_PREFIX + "placement.valet.Diversity"; + public static final String PLACEMENT_VALET_DIVERSITY = POLICY_TYPE_PREFIX + "placement.valet" + + ".Diversity"; } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationValetGroupAssignmentImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationValetGroupAssignmentImpl.java index e303276538..176c7c5e65 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationValetGroupAssignmentImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/main/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationValetGroupAssignmentImpl.java @@ -289,7 +289,7 @@ public class ResourceTranslationValetGroupAssignmentImpl extends ResourceTransla groupName = (String) groupNameProperty; } - if (!Strings.isNullOrEmpty(groupName)) { + if (groupName != null && !Strings.isNullOrEmpty(groupName)) { groupName = groupName.replace(" ", "_"); resourceId += "_" + groupName; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/test/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseResourceTranslationTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/test/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseResourceTranslationTest.java index e8fddc3108..05bc7cb5f1 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/test/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseResourceTranslationTest.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/att-sdc-translator-impl/src/test/java/com/att/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseResourceTranslationTest.java @@ -36,6 +36,8 @@ import org.openecomp.sdc.datatypes.error.ErrorMessage; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent; import org.openecomp.sdc.heat.datatypes.manifest.ManifestFile; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerErrorCode; @@ -86,6 +88,8 @@ public class BaseResourceTranslationTest { private final String MANIFEST_NAME = SdcCommon.MANIFEST_NAME; private String validationFilename = "validationOutput.json"; + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @Before public void setUp() throws IOException { initTranslatorAndTranslate(); @@ -286,6 +290,7 @@ public class BaseResourceTranslationTest { } } catch (Exception e) { + log.debug("",e); Assert.fail(e.getMessage()); } return serviceTemplateMap; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java index f5ad2a1d3c..a0034a3828 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java @@ -587,6 +587,15 @@ public class TranslationContext { } + public Set<String> getServiceTemplatesWithoutNodeTemplateSection() { + return serviceTemplatesWithoutNodeTemplateSection; + } + + public void setServiceTemplatesWithoutNodeTemplateSection( + Set<String> serviceTemplatesWithoutNodeTemplateSection) { + this.serviceTemplatesWithoutNodeTemplateSection = serviceTemplatesWithoutNodeTemplateSection; + } + public void addServiceTemplateWithoutNodeTemplates(String serviceTemplateName){ this.serviceTemplatesWithoutNodeTemplateSection.add(serviceTemplateName); } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/NodeTemplateInformation.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/NodeTemplateInformation.java index bd1263da5f..cbcf02e9a6 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/NodeTemplateInformation.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/NodeTemplateInformation.java @@ -1,7 +1,6 @@ package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; -import org.openecomp.sdc.translator.services.heattotosca.UnifiedCompositionService; /** * Created by Talio on 4/4/2017. diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/NestedTemplateConsolidationData.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/NestedTemplateConsolidationData.java index b07c2039b8..0f41b00309 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/NestedTemplateConsolidationData.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/consolidation/NestedTemplateConsolidationData.java @@ -1,8 +1,5 @@ package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation; -import java.util.List; - - /** * The type nested template consolidation data. */ diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/impl/heattotosca/HeatToToscaTranslatorImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/impl/heattotosca/HeatToToscaTranslatorImpl.java index e09be6cdd9..54a0285026 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/impl/heattotosca/HeatToToscaTranslatorImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/impl/heattotosca/HeatToToscaTranslatorImpl.java @@ -21,8 +21,6 @@ package org.openecomp.sdc.translator.impl.heattotosca; import org.apache.commons.collections4.MapUtils; -import org.openecomp.config.api.Configuration; -import org.openecomp.config.api.ConfigurationManager; import org.openecomp.core.translator.api.HeatToToscaTranslator; import org.openecomp.core.translator.datatypes.TranslatorOutput; import org.openecomp.core.utilities.file.FileUtils; @@ -32,7 +30,6 @@ import org.openecomp.core.validation.factory.ValidationManagerFactory; import org.openecomp.core.validation.util.MessageContainerUtil; import org.openecomp.sdc.common.errors.Messages; import org.openecomp.sdc.common.utils.SdcCommon; -import org.openecomp.sdc.datatypes.configuration.ImplementationConfiguration; import org.openecomp.sdc.datatypes.error.ErrorLevel; import org.openecomp.sdc.datatypes.error.ErrorMessage; import org.openecomp.sdc.heat.datatypes.manifest.FileData; @@ -40,7 +37,6 @@ import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent; import org.openecomp.sdc.heat.datatypes.manifest.ManifestFile; import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel; import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; -import org.openecomp.sdc.translator.services.heattotosca.ConfigConstants; import org.openecomp.sdc.translator.services.heattotosca.ConsolidationService; import org.openecomp.sdc.translator.services.heattotosca.TranslationService; import org.openecomp.sdc.translator.services.heattotosca.UnifiedCompositionManager; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java index 74deb0487a..b86038d175 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtil.java @@ -340,14 +340,15 @@ public class ConsolidationDataUtil { if(Objects.isNull(entityConsolidationData)){ return; } + if (entityConsolidationData != null) { + if (entityConsolidationData.getNodesConnectedOut() == null) { + entityConsolidationData.setNodesConnectedOut(new HashMap<>()); + } - if (entityConsolidationData.getNodesConnectedOut() == null) { - entityConsolidationData.setNodesConnectedOut(new HashMap<>()); + entityConsolidationData.getNodesConnectedOut() + .computeIfAbsent(nodeTemplateId, k -> new ArrayList<>()) + .add(requirementAssignmentData); } - - entityConsolidationData.getNodesConnectedOut() - .computeIfAbsent(nodeTemplateId, k -> new ArrayList<>()) - .add(requirementAssignmentData); } /** @@ -398,14 +399,16 @@ public class ConsolidationDataUtil { serviceTemplate, translateTo.getHeatFileName(), dependentNodeTemplateId); } - if (entityConsolidationData.getNodesConnectedIn() == null) { - entityConsolidationData.setNodesConnectedIn(new HashMap<>()); - } + if (entityConsolidationData != null) { + if (entityConsolidationData.getNodesConnectedIn() == null) { + entityConsolidationData.setNodesConnectedIn(new HashMap<>()); + } - entityConsolidationData.getNodesConnectedIn() - .computeIfAbsent(sourceNodeTemplateId, k -> new ArrayList<>()) - .add(requirementAssignmentData); + entityConsolidationData.getNodesConnectedIn() + .computeIfAbsent(sourceNodeTemplateId, k -> new ArrayList<>()) + .add(requirementAssignmentData); + } } /** diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractor.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractor.java index fc4c3f8841..e732080cb5 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractor.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractor.java @@ -21,11 +21,6 @@ package org.openecomp.sdc.translator.services.heattotosca; import org.openecomp.sdc.heat.datatypes.model.Resource; -import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo; - -import java.util.List; -import java.util.Map; -import java.util.Optional; public interface NameExtractor { diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractorUtil.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractorUtil.java index 8241603fed..b4d41f5b6c 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractorUtil.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/NameExtractorUtil.java @@ -20,13 +20,10 @@ package org.openecomp.sdc.translator.services.heattotosca; -import org.openecomp.sdc.translator.datatypes.heattotosca.AttachedPropertyVal; -import org.openecomp.sdc.translator.datatypes.heattotosca.AttachedResourceId; import org.openecomp.sdc.translator.datatypes.heattotosca.PropertyRegexMatcher; import java.util.List; import java.util.Map; -import java.util.Objects; import java.util.Optional; import java.util.regex.Pattern; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ContrailTranslationHelper.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ContrailTranslationHelper.java index a86f584bf0..d194a70e97 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ContrailTranslationHelper.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ContrailTranslationHelper.java @@ -21,16 +21,14 @@ package org.openecomp.sdc.translator.services.heattotosca.helper; import org.openecomp.core.utilities.file.FileUtils; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.HeatBoolean; import org.openecomp.sdc.heat.datatypes.model.Resource; import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; -import org.openecomp.sdc.tosca.services.ToscaConstants; import org.openecomp.sdc.tosca.datatypes.ToscaFunctions; import org.openecomp.sdc.translator.datatypes.heattotosca.PropertyRegexMatcher; +import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; import org.openecomp.sdc.translator.services.heattotosca.ConfigConstants; import org.openecomp.sdc.translator.services.heattotosca.NameExtractor; -import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; import java.util.ArrayList; import java.util.Collections; @@ -127,17 +125,17 @@ public class ContrailTranslationHelper { tokenPropertyValue.get("token").add(stringWithToken); } else if (refParameter instanceof String) { if (includeBooleanValue) { - StringBuffer booleanBuffer = new StringBuffer(); + StringBuilder booleanBuilder = new StringBuilder(); String[] booleanValueList = ((String) refParameter).split(tokenChar); for (int i = 0; i < booleanValueList.length; i++) { if (i == 0) { - booleanBuffer.append(HeatBoolean.eval(booleanValueList[i])); + booleanBuilder.append(HeatBoolean.eval(booleanValueList[i])); } else { - booleanBuffer.append(tokenChar); - booleanBuffer.append(HeatBoolean.eval(booleanValueList[i])); + booleanBuilder.append(tokenChar); + booleanBuilder.append(HeatBoolean.eval(booleanValueList[i])); } } - tokenPropertyValue.get("token").add(booleanBuffer.toString()); + tokenPropertyValue.get("token").add(booleanBuilder.toString()); } else { tokenPropertyValue.get("token").add(refParameter); } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ResourceTranslationNeutronPortHelper.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ResourceTranslationNeutronPortHelper.java index a99c95c148..23f8e3695d 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ResourceTranslationNeutronPortHelper.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/ResourceTranslationNeutronPortHelper.java @@ -2,7 +2,6 @@ package org.openecomp.sdc.translator.services.heattotosca.helper; import java.util.ArrayList; import java.util.HashMap; -import java.util.LinkedList; import java.util.List; import java.util.Map; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/VolumeTranslationHelper.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/VolumeTranslationHelper.java index f1cb33372e..ef75f315f6 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/VolumeTranslationHelper.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/helper/VolumeTranslationHelper.java @@ -23,19 +23,18 @@ package org.openecomp.sdc.translator.services.heattotosca.helper; import static org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes.CINDER_VOLUME_RESOURCE_TYPE; import org.apache.commons.collections4.CollectionUtils; -import org.openecomp.sdc.common.utils.CommonUtil; -import org.openecomp.sdc.logging.api.Logger; -import org.openecomp.sdc.tosca.services.YamlUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.Output; import org.openecomp.sdc.heat.datatypes.model.Resource; +import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; +import org.openecomp.sdc.tosca.services.YamlUtil; import org.openecomp.sdc.translator.datatypes.heattotosca.AttachedResourceId; +import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; import org.openecomp.sdc.translator.datatypes.heattotosca.to.ResourceFileDataAndIDs; import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo; import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil; -import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.ResourceTranslationBase; import java.util.ArrayList; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/functiontranslation/FunctionTranslationGetAttrImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/functiontranslation/FunctionTranslationGetAttrImpl.java index 6f7d7a921e..b2909d15b3 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/functiontranslation/FunctionTranslationGetAttrImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/functiontranslation/FunctionTranslationGetAttrImpl.java @@ -20,6 +20,7 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.functiontranslation; +import org.apache.commons.lang3.StringUtils; import org.openecomp.sdc.tosca.services.YamlUtil; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.Resource; @@ -323,7 +324,7 @@ public class FunctionTranslationGetAttrImpl implements FunctionTranslation { if (attributeParamList.size() < 3) { return null; } - StringBuffer attributeFullPath = new StringBuffer(); + StringBuilder attributeFullPath = new StringBuilder(); attributeFullPath.append(attributeParamList.get(1)); for (int j = 2; j <= attributeIndex; j++) { if (isInteger(attributeParamList.get(j))) { @@ -340,11 +341,16 @@ public class FunctionTranslationGetAttrImpl implements FunctionTranslation { return false; } - try { + /*try { Integer.parseInt(String.valueOf(inputNumber)); return true; } catch (NumberFormatException exception) { return false; + }*/ + if(StringUtils.isNumeric(String.valueOf(inputNumber))){ + return true; + } else { + return false; } } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailPortToNetResourceConnection.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailPortToNetResourceConnection.java index efa0ddd8a9..272211f7cf 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailPortToNetResourceConnection.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailPortToNetResourceConnection.java @@ -21,7 +21,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnection.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnection.java index a757730cb1..65b1d469ab 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnection.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VlanToInterfaceResourceConnection.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VmInterfaceToNetResourceConnection.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VmInterfaceToNetResourceConnection.java index 944afb0fc3..5afbf5be54 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VmInterfaceToNetResourceConnection.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ContrailV2VmInterfaceToNetResourceConnection.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/PortToNetResourceConnection.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/PortToNetResourceConnection.java index d3e8676ca1..25a604469e 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/PortToNetResourceConnection.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/PortToNetResourceConnection.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceConnectionUsingRequirementHelper.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceConnectionUsingRequirementHelper.java index 6ddd0c7334..d1962d8196 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceConnectionUsingRequirementHelper.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceConnectionUsingRequirementHelper.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.datatypes.model.NodeType; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationCinderVolumeImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationCinderVolumeImpl.java index 04e71cc2c7..78d09577d9 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationCinderVolumeImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationCinderVolumeImpl.java @@ -20,14 +20,12 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.heat.datatypes.HeatBoolean; import org.openecomp.sdc.heat.services.HeatConstants; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.services.DataModelUtil; import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo; -import org.openecomp.sdc.translator.services.heattotosca.Constants; import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil; import org.openecomp.sdc.translator.services.heattotosca.mapping.TranslatorHeatToToscaPropertyConverter; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailNetworkPolicyImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailNetworkPolicyImpl.java index 374858be0c..999441deb7 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailNetworkPolicyImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailNetworkPolicyImpl.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailServiceInstanceImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailServiceInstanceImpl.java index 3b9eb08f53..0b7e9eacfe 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailServiceInstanceImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailServiceInstanceImpl.java @@ -638,7 +638,7 @@ public class ResourceTranslationContrailServiceInstanceImpl extends ResourceTran NodeTemplate computeNodeTemplate = new NodeTemplate(); computeNodeTemplate.setType(computeNodeTypeId); - if (!computeNodeTemplateProperties.isEmpty()) { + if (computeNodeTemplateProperties != null && !computeNodeTemplateProperties.isEmpty()) { computeNodeTemplate.setProperties(computeNodeTemplateProperties); } String computeNodeTemplateId = translateTo.getTranslatedId(); diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VirtualNetworkImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VirtualNetworkImpl.java index d39d0f1c45..10ccf0f560 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VirtualNetworkImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VirtualNetworkImpl.java @@ -21,11 +21,10 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; import org.apache.commons.collections.CollectionUtils; -import org.openecomp.sdc.common.utils.CommonUtil; -import org.openecomp.sdc.logging.api.Logger; -import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; import org.openecomp.sdc.heat.datatypes.model.Resource; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.tosca.datatypes.ToscaCapabilityType; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.tosca.datatypes.ToscaRelationshipType; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VlanSubInterfaceImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VlanSubInterfaceImpl.java index e0e6c459a1..76396f77bc 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VlanSubInterfaceImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailV2VlanSubInterfaceImpl.java @@ -20,12 +20,11 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; -import org.openecomp.sdc.logging.api.Logger; -import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; import org.openecomp.sdc.heat.datatypes.model.Resource; import org.openecomp.sdc.heat.services.HeatConstants; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.services.DataModelUtil; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailVirtualNetworkImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailVirtualNetworkImpl.java index a6fc9ac2c1..f0c3c8b3f1 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailVirtualNetworkImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationContrailVirtualNetworkImpl.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.services.DataModelUtil; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNestedImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNestedImpl.java index 843d9fabc6..c29409fe48 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNestedImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNestedImpl.java @@ -20,6 +20,7 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; +import org.apache.commons.collections4.MapUtils; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.sdc.heat.datatypes.manifest.FileData; import org.openecomp.sdc.logging.api.Logger; @@ -31,12 +32,15 @@ import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate; import org.openecomp.sdc.tosca.services.DataModelUtil; import org.openecomp.sdc.tosca.services.ToscaUtil; import org.openecomp.sdc.tosca.services.impl.ToscaAnalyzerServiceImpl; +import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo; import org.openecomp.sdc.translator.services.heattotosca.ConsolidationDataUtil; import org.openecomp.sdc.translator.services.heattotosca.Constants; import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil; import org.openecomp.sdc.translator.services.heattotosca.TranslationService; +import java.util.Objects; + public class ResourceTranslationNestedImpl extends ResourceTranslationBase { protected static Logger logger = @@ -46,8 +50,9 @@ public class ResourceTranslationNestedImpl extends ResourceTranslationBase { public void translate(TranslateTo translateTo) { mdcDataDebugMessage.debugEntryMessage(null, null); + TranslationContext context = translateTo.getContext(); FileData nestedFileData = - HeatToToscaUtil.getFileData(translateTo.getResource().getType(), translateTo.getContext()); + HeatToToscaUtil.getFileData(translateTo.getResource().getType(), context); if (nestedFileData == null) { logger.warn("Nested File '" + translateTo.getResource().getType() + "' is not exist, therefore, the nested resource with the ID '" @@ -58,7 +63,7 @@ public class ResourceTranslationNestedImpl extends ResourceTranslationBase { String substitutionNodeTypeKey = ToscaNodeType.ABSTRACT_NODE_TYPE_PREFIX + "heat." + templateName; - if (!translateTo.getContext().getTranslatedServiceTemplates() + if (!context.getTranslatedServiceTemplates() .containsKey(translateTo.getResource().getType())) { //substitution service template @@ -68,7 +73,7 @@ public class ResourceTranslationNestedImpl extends ResourceTranslationBase { //global substitution service template ServiceTemplate globalSubstitutionServiceTemplate = new HeatToToscaUtil() .fetchGlobalSubstitutionServiceTemplate(translateTo.getServiceTemplate(), - translateTo.getContext()); + context); //substitution node type NodeType substitutionNodeType = new ToscaAnalyzerServiceImpl() @@ -78,14 +83,22 @@ public class ResourceTranslationNestedImpl extends ResourceTranslationBase { substitutionNodeType); //substitution mapping HeatToToscaUtil - .handleSubstitutionMapping(translateTo.getContext(), substitutionNodeTypeKey, + .handleSubstitutionMapping(context, substitutionNodeTypeKey, nestedSubstitutionServiceTemplate, substitutionNodeType); //add new nested service template - translateTo.getContext().getTranslatedServiceTemplates() + context.getTranslatedServiceTemplates() .put(translateTo.getResource().getType(), nestedSubstitutionServiceTemplate); } + ServiceTemplate substitutionServiceTemplate = context.getTranslatedServiceTemplates() + .get(translateTo.getResource().getType()); + + if(DataModelUtil.isNodeTemplateSectionMissingFromServiceTemplate(substitutionServiceTemplate)){ + handleSubstitutionServiceTemplateWithoutNodeTemplates(translateTo, context, templateName); + mdcDataDebugMessage.debugExitMessage(null, null); + return; + } NodeTemplate substitutionNodeTemplate = HeatToToscaUtil.createAbstractSubstitutionNodeTemplate(translateTo, templateName, substitutionNodeTypeKey); @@ -100,6 +113,13 @@ public class ResourceTranslationNestedImpl extends ResourceTranslationBase { mdcDataDebugMessage.debugExitMessage(null, null); } + private void handleSubstitutionServiceTemplateWithoutNodeTemplates(TranslateTo translateTo, + TranslationContext context, + String templateName) { + context.addServiceTemplateWithoutNodeTemplates(templateName); + context.getTranslatedServiceTemplates().remove(translateTo.getResource().getType()); + } + private ServiceTemplate createSubstitutionServiceTemplate(TranslateTo translateTo, FileData nestedFileData, String templateName) { diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronPortImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronPortImpl.java index f1bd6790c2..76a900f32e 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronPortImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronPortImpl.java @@ -33,14 +33,13 @@ import org.openecomp.sdc.translator.datatypes.heattotosca.AttachedResourceId; import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslateTo; import org.openecomp.sdc.translator.datatypes.heattotosca.to.TranslatedHeatResource; import org.openecomp.sdc.translator.services.heattotosca.ConsolidationDataUtil; -import org.openecomp.sdc.translator.services.heattotosca.Constants; import org.openecomp.sdc.translator.services.heattotosca.ConsolidationEntityType; +import org.openecomp.sdc.translator.services.heattotosca.Constants; import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil; import org.openecomp.sdc.translator.services.heattotosca.ResourceTranslationFactory; import org.openecomp.sdc.translator.services.heattotosca.helper.ResourceTranslationNeutronPortHelper; import org.openecomp.sdc.translator.services.heattotosca.mapping.TranslatorHeatToToscaPropertyConverter; -import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSecurityGroupImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSecurityGroupImpl.java index 96e79aca60..94c853f750 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSecurityGroupImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSecurityGroupImpl.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.tosca.datatypes.ToscaNodeType; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.services.DataModelUtil; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSubnetImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSubnetImpl.java index 76a8c447d1..5f8aead6e5 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSubnetImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationNeutronSubnetImpl.java @@ -153,6 +153,7 @@ public class ResourceTranslationNeutronSubnetImpl extends ResourceTranslationBas Boolean booleanValue = HeatBoolean.eval(defaultVal); dhcpParameterDefinition.set_default(booleanValue); } catch (CoreException coreException) { + logger.debug("",coreException); //if value is not valid value for boolean set with dhcp_enabled default value = true dhcpParameterDefinition.set_default(true); logger.warn("Parameter '" + dhcpEnabledParameterName + "' used for " diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationResourceGroupImpl.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationResourceGroupImpl.java index 5d25c7ef25..7083ae0449 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationResourceGroupImpl.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/ResourceTranslationResourceGroupImpl.java @@ -21,7 +21,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation; import org.openecomp.sdc.common.errors.CoreException; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.datatypes.error.ErrorLevel; import org.openecomp.sdc.heat.datatypes.model.HeatResourcesTypes; import org.openecomp.sdc.heat.datatypes.model.Resource; @@ -45,6 +44,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Optional; public class ResourceTranslationResourceGroupImpl extends ResourceTranslationBase { @@ -72,7 +72,7 @@ public class ResourceTranslationResourceGroupImpl extends ResourceTranslationBas logger.warn("Resource '" + translateTo.getResourceId() + "' of type'" + HeatResourcesTypes.RESOURCE_GROUP_RESOURCE_TYPE.getHeatResource() + "' with resourceDef which is not pointing to nested heat file is not supported and " - + "will be ignored in the translation "); + + "will be ignored in the translation "); mdcDataDebugMessage.debugExitMessage(null, null); return; @@ -88,17 +88,19 @@ public class ResourceTranslationResourceGroupImpl extends ResourceTranslationBas translateTo.getHeatOrchestrationTemplate(), nestedResource, translateTo.getResourceId(), translateTo.getContext()); if (substitutionNodeTemplateId.isPresent()) { - NodeTemplate substitutionNodeTemplate = DataModelUtil - .getNodeTemplate(translateTo.getServiceTemplate(), substitutionNodeTemplateId.get()); - Map serviceTemplateFilter = (Map<String, Object>) substitutionNodeTemplate.getProperties() - .get(ToscaConstants.SERVICE_TEMPLATE_FILTER_PROPERTY_NAME); - - populateServiceTemplateFilterProperties(translateTo, substitutionNodeTemplate, - serviceTemplateFilter); - handlingIndexVar(translateTo, substitutionNodeTemplate); - DataModelUtil - .addNodeTemplate(translateTo.getServiceTemplate(), substitutionNodeTemplateId.get(), - substitutionNodeTemplate); + NodeTemplate substitutionNodeTemplate = + DataModelUtil.getNodeTemplate(translateTo.getServiceTemplate(), substitutionNodeTemplateId.get()); + if(!Objects.isNull(substitutionNodeTemplate)) { + Map serviceTemplateFilter = (Map<String, Object>) substitutionNodeTemplate.getProperties() + .get(ToscaConstants.SERVICE_TEMPLATE_FILTER_PROPERTY_NAME); + + populateServiceTemplateFilterProperties(translateTo, substitutionNodeTemplate, + serviceTemplateFilter); + handlingIndexVar(translateTo, substitutionNodeTemplate); + DataModelUtil + .addNodeTemplate(translateTo.getServiceTemplate(), substitutionNodeTemplateId.get(), + substitutionNodeTemplate); + } } mdcDataDebugMessage.debugExitMessage(null, null); @@ -151,7 +153,7 @@ public class ResourceTranslationResourceGroupImpl extends ResourceTranslationBas mdcDataDebugMessage.debugEntryMessage(null, null); - if (propertyValue instanceof String && propertyValue != null) { + if (propertyValue != null && propertyValue instanceof String) { if (propertyValue.equals(indexVarValue)) { return getNewIndexVarValue(); } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java index 23a4d7317b..35b617be99 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/mapping/TranslatorHeatToToscaParameterConverter.java @@ -26,13 +26,10 @@ import org.openecomp.sdc.heat.datatypes.model.Output; import org.openecomp.sdc.heat.datatypes.model.Parameter; import org.openecomp.sdc.tosca.datatypes.model.Constraint; import org.openecomp.sdc.tosca.datatypes.model.EntrySchema; -import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; import org.openecomp.sdc.tosca.datatypes.model.ParameterDefinition; import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate; -import org.openecomp.sdc.tosca.datatypes.model.Template; import org.openecomp.sdc.tosca.datatypes.model.heatextend.ParameterDefinitionExt; import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; -import org.openecomp.sdc.translator.services.heattotosca.ConsolidationDataUtil; import org.openecomp.sdc.translator.services.heattotosca.FunctionTranslationFactory; import java.util.ArrayList; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java index 43f4065044..27298ff9b4 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/TestUtils.java @@ -27,6 +27,8 @@ import org.junit.Assert; import org.openecomp.core.translator.api.HeatToToscaTranslator; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.sdc.common.utils.SdcCommon; +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.GroupDefinition; import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate; @@ -50,6 +52,8 @@ public class TestUtils { private static String zipFilename = "VSP.zip"; private static String validationFilename = "validationOutput.json"; + private static Logger logger = (Logger) LoggerFactory.getLogger(TestUtils.class); + private TestUtils() { } @@ -105,6 +109,7 @@ public class TestUtils { serviceTemplateMap.put(fileList[i], serviceTemplate); } } catch (Exception e) { + logger.debug("",e); Assert.fail(e.getMessage()); } return serviceTemplateMap; @@ -162,6 +167,7 @@ public class TestUtils { try { yamlFile.close(); } catch (IOException ignore) { + logger.debug("",ignore); } } catch (FileNotFoundException e) { throw e; @@ -207,6 +213,7 @@ public class TestUtils { try { yamlFile.close(); } catch (IOException ignore) { + logger.debug("",ignore); } } catch (FileNotFoundException e) { throw e; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/impl/heattotosca/nested/single/TranslateHeatNestedSingle.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/impl/heattotosca/nested/single/TranslateHeatNestedSingle.java index f81da11bc9..640da0c12b 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/impl/heattotosca/nested/single/TranslateHeatNestedSingle.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/impl/heattotosca/nested/single/TranslateHeatNestedSingle.java @@ -20,21 +20,38 @@ package org.openecomp.sdc.translator.impl.heattotosca.nested.single; +import org.junit.Before; import org.junit.Test; -import org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.ConsolidationDataTestUtil; import org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.TestConstants; import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseResourceTranslationTest; +import java.io.IOException; + public class TranslateHeatNestedSingle extends BaseResourceTranslationTest { - { - inputFilesPath = "/mock/heat/nested/single/inputs"; - outputFilesPath = "/mock/heat/nested/single/expectedoutputfiles"; + @Override + @Before + public void setUp() throws IOException { + // do not delete this function. it prevents the superclass setup from running } + @Test public void testTranslate() throws Exception { + inputFilesPath = "/mock/heat/nested/single/inputs"; + outputFilesPath = "/mock/heat/nested/single/expectedoutputfiles"; + + initTranslatorAndTranslate(); testTranslation(); validateNestedTemplateConsolidationData(TestConstants.TEST_SINGLE_NESTED_RESOURCE); } + + @Test + public void testTranslateNestedWithoutNodeTemplates() throws IOException { + inputFilesPath = "/mock/heat/nested/nestedwithoutNodeTemplates/inputs"; + outputFilesPath = "/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles"; + + initTranslatorAndTranslate(); + testTranslation(); + } } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java index 03dd30fd09..085c329e7f 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationServiceTest.java @@ -1,10 +1,14 @@ package org.openecomp.sdc.translator.services.heattotosca; +import static org.mockito.Matchers.any; +import static org.mockito.Matchers.eq; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + import org.apache.commons.lang3.tuple.ImmutablePair; import org.apache.commons.lang3.tuple.Pair; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Captor; @@ -30,11 +34,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import static org.mockito.Matchers.any; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; - /** * Created by TALIO on 3/7/2017. */ diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java index c333391b9b..53dd79e5c8 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/buildconsolidationdata/ConsolidationDataTestUtil.java @@ -125,11 +125,14 @@ public class ConsolidationDataTestUtil { } for(String consolidatedKey : consolidatedMap.keySet()){ List<String> consolidatedList = consolidatedMap.get(consolidatedKey); - List<String> expectedList = expectedMap.get(consolidatedKey); - if(expectedList == null ){ - Assert.fail(); - } if(!CollectionUtils.isEqualCollection(consolidatedList,expectedList)){ - Assert.fail(); + if (expectedMap != null) { + List<String> expectedList = expectedMap.get(consolidatedKey); + if (expectedList == null) { + Assert.fail(); + } + if (!CollectionUtils.isEqualCollection(consolidatedList, expectedList)) { + Assert.fail(); + } } } } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionMixPatternFullTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionMixPatternFullTest.java index 149f276903..b1946b3f9b 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionMixPatternFullTest.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionMixPatternFullTest.java @@ -2,14 +2,17 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest; import java.io.IOException; public class UnifiedCompositionMixPatternFullTest extends BaseFullTranslationTest { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @Override @Before public void setUp() throws IOException { @@ -55,6 +58,7 @@ public class UnifiedCompositionMixPatternFullTest extends BaseFullTranslationTes try { testTranslationWithInit(); }catch(Exception e){ + log.debug("",e); Assert.assertEquals(e.getMessage(), "Resource with id lb_0_int_oam_int_0_port occures more " + "than once in different addOn files"); } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java index cebe9ec505..a0ef039100 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java @@ -1,7 +1,6 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java index 9f0a6d79b9..5de07203a1 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java @@ -25,8 +25,6 @@ import static org.junit.Assert.assertEquals; import org.apache.commons.collections4.MapUtils; import org.junit.Assert; import org.junit.Before; -import org.openecomp.config.api.Configuration; -import org.openecomp.config.api.ConfigurationManager; import org.openecomp.core.translator.api.HeatToToscaTranslator; import org.openecomp.core.translator.datatypes.TranslatorOutput; import org.openecomp.core.translator.factory.HeatToToscaTranslatorFactory; @@ -45,7 +43,6 @@ import org.openecomp.sdc.tosca.services.ToscaFileOutputService; import org.openecomp.sdc.tosca.services.impl.ToscaFileOutputServiceCsarImpl; import org.openecomp.sdc.translator.TestUtils; import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext; -import org.openecomp.sdc.translator.services.heattotosca.ConfigConstants; import java.io.BufferedInputStream; import java.io.File; diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml new file mode 100644 index 0000000000..306576bed5 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/GlobalSubstitutionTypesServiceTemplate.yaml @@ -0,0 +1,3462 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: GlobalSubstitutionTypes +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +node_types: + org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_a_child: + derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute + properties: + vf_module_id: + type: string + description: Unique ID for this VF Module instance + required: true + status: SUPPORTED + ssc_a_name_0: + type: string + description: Name of Perimeta VM A instance + required: true + status: SUPPORTED + int_ha_network_plen: + type: float + description: Prefix length of subnet associated with internal HA network + required: true + status: SUPPORTED + constraints: + - in_range: + - 0 + - 31 + unused_port_net_id: + type: string + description: Service network unused port network UUID + required: true + status: SUPPORTED + perimeta_server_group: + type: string + description: Server group to use for these VMs + required: true + status: SUPPORTED + perimeta_config: + type: string + description: JSON orchestration template configuration for instance. + required: true + status: SUPPORTED + ssc_a_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IP of A instance. + required: true + status: SUPPORTED + vnf_name: + type: string + description: Unique name for this VNF instance + required: true + status: SUPPORTED + perimeta_untrusted_vlan_ids: + type: list + description: List of VLAN IDs to use on the untrusted/access network + required: true + status: SUPPORTED + entry_schema: + type: string + int_ha_net_id: + type: string + description: HA network id + required: true + status: SUPPORTED + ssc_b_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IPs of B instance. + required: true + status: SUPPORTED + ssc_mgmt_vip_0: + type: string + description: Management virtual IP address. + required: true + status: SUPPORTED + ssc_a_trusted_ip_0: + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of A instance. + required: true + status: SUPPORTED + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + required: true + status: SUPPORTED + vnf_id: + type: string + description: VNF ID of this deployment + required: true + status: SUPPORTED + availability_zone_0: + type: string + description: Availability zone for A instances. + required: true + status: SUPPORTED + ssc_trusted_vip_0: + type: string + description: Trusted/core virtual IP address. + required: true + status: SUPPORTED + ssc_untrusted_vip_0: + type: string + description: Untrusted/access virtual IP address + required: true + status: SUPPORTED + perimeta_sec_groups: + type: list + description: List of security groups to add on trusted interfaces. + required: true + status: SUPPORTED + entry_schema: + type: string + ssc_a_untrusted_v6_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of A instance. + required: true + status: SUPPORTED + perimeta_untrusted_num_vlans: + type: float + description: number of VLANs to connect to the untrusted/access interface + required: true + status: SUPPORTED + constraints: + - in_range: + - 1 + - 1001 + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + required: true + status: SUPPORTED + ssc_a_mgmt_ip_0: + type: string + description: Fixed IP address to use as management IP of A instance. + required: true + status: SUPPORTED + trusted_net_id: + type: string + description: Trusted/core network UUID + required: true + status: SUPPORTED + ssc_untrusted_parent_vip_0: + type: string + description: Untrusted/access parent virtual IP address + required: true + status: SUPPORTED + ssc_untrusted_v6_vip_0: + type: string + description: Untrusted/access alternate virtual IP address + required: true + status: SUPPORTED + ssc_a_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC A. + required: true + status: SUPPORTED + vm_role: + type: string + description: Role of these VMs + required: true + status: SUPPORTED + ssc_a_untrusted_parent_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A parent instance. + required: true + status: SUPPORTED + perimeta_untrusted_vlan_networks: + type: list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + required: true + status: SUPPORTED + entry_schema: + type: string + ssc_a_untrusted_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A instance. + required: true + status: SUPPORTED + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + required: true + status: SUPPORTED + mgmt_net_id: + type: string + description: Management network id + required: true + status: SUPPORTED + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + required: true + status: SUPPORTED + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + required: true + status: SUPPORTED + requirements: + - dependency_perimeta_ssc_a_ha_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_ha_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_untrusted_parent_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_mgmt_1_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_mgmt_1_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_trusted_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_trusted_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_unused_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_unused_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_mgmt_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_a_mgmt_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_a_server_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_perimeta_ssc_a_server_0: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + capabilities: + disk.ephemeral.size_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + instance_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_mgmt_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_mgmt_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + endpoint_perimeta_ssc_a_server_0: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.usage_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_mgmt_1_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_mgmt_1_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_server_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.iops_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_mgmt_1_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_trusted_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.capacity_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + os_perimeta_ssc_a_server_0: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_util_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_untrusted_parent_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.allocation_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_unused_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_trusted_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.latency_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_server_0: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + disk.read.requests_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_ha_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + scalable_perimeta_ssc_a_server_0: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.usage_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_untrusted_parent_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_ha_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + cpu.delta_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.usage_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.iops_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_trusted_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_untrusted_parent_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.root.size_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.allocation_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_unused_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_a_unused_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + host_perimeta_ssc_a_server_0: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_a_mgmt_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_a_ha_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + vcpus_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.latency_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.resident_perimeta_ssc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_b_child: + derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute + properties: + vf_module_id: + type: string + description: Unique ID for this VF Module instance + required: true + status: SUPPORTED + int_ha_network_plen: + type: float + description: Prefix length of subnet associated with internal HA network + required: true + status: SUPPORTED + constraints: + - in_range: + - 0 + - 31 + unused_port_net_id: + type: string + description: Service network unused port network UUID + required: true + status: SUPPORTED + perimeta_server_group: + type: string + description: Server group to use for these VMs + required: true + status: SUPPORTED + ssc_b_name_0: + type: string + description: Name of Perimeta VM B instance + required: true + status: SUPPORTED + ssc_a_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IPs of A instance. + required: true + status: SUPPORTED + ssc_b_untrusted_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B instance. + required: true + status: SUPPORTED + ssc_b_mgmt_ip_0: + type: string + description: Fixed IP address to use as management IP of B instance. + required: true + status: SUPPORTED + ssc_b_untrusted_parent_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B parent instance. + required: true + status: SUPPORTED + vnf_name: + type: string + description: Unique name for this VNF instance + required: true + status: SUPPORTED + perimeta_untrusted_vlan_ids: + type: list + description: List of VLAN IDs to use on the untrusted/access network + required: true + status: SUPPORTED + entry_schema: + type: string + int_ha_net_id: + type: string + description: HA network id + required: true + status: SUPPORTED + ssc_b_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IP of B instance. + required: true + status: SUPPORTED + ssc_mgmt_vip_0: + type: string + description: Management virtual IP address. + required: true + status: SUPPORTED + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + required: true + status: SUPPORTED + vnf_id: + type: string + description: VNF ID of this deployment + required: true + status: SUPPORTED + availability_zone_1: + type: string + description: Availability zone for B instances. May be the same as A instance. + required: true + status: SUPPORTED + ssc_trusted_vip_0: + type: string + description: Trusted/core virtual IP address. + required: true + status: SUPPORTED + ssc_untrusted_vip_0: + type: string + description: Untrusted/access virtual IP address + required: true + status: SUPPORTED + perimeta_sec_groups: + type: list + description: List of security groups to add on trusted interfaces. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_untrusted_num_vlans: + type: float + description: number of VLANs to connect to the untrusted/access interface + required: true + status: SUPPORTED + constraints: + - in_range: + - 1 + - 1001 + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + required: true + status: SUPPORTED + ssc_b_trusted_ip_0: + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of B instance. + required: true + status: SUPPORTED + trusted_net_id: + type: string + description: Trusted/core network UUID + required: true + status: SUPPORTED + ssc_untrusted_parent_vip_0: + type: string + description: Untrusted/access parent virtual IP address + required: true + status: SUPPORTED + ssc_untrusted_v6_vip_0: + type: string + description: Untrusted/access alternate virtual IP address + required: true + status: SUPPORTED + ssc_b_untrusted_v6_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of B instance. + required: true + status: SUPPORTED + vm_role: + type: string + description: Role of these VMs + required: true + status: SUPPORTED + perimeta_untrusted_vlan_networks: + type: list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + required: true + status: SUPPORTED + ssc_b_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC B. + required: true + status: SUPPORTED + mgmt_net_id: + type: string + description: Management network id + required: true + status: SUPPORTED + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + required: true + status: SUPPORTED + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + required: true + status: SUPPORTED + requirements: + - dependency_perimeta_ssc_b_trusted_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_trusted_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_b_untrusted_parent_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_b_mgmt_1_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_mgmt_1_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_b_unused_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_unused_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_b_server_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_perimeta_ssc_b_server_0: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_perimeta_ssc_b_mgmt_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_mgmt_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_ssc_b_ha_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_ssc_b_ha_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + host_perimeta_ssc_b_server_0: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + vcpus_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_mgmt_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + os_perimeta_ssc_b_server_0: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + memory_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.allocation_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_trusted_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.device.iops_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.usage_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_mgmt_1_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_unused_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + endpoint_perimeta_ssc_b_server_0: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_server_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_mgmt_1_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + cpu.delta_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.root.size_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.resident_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.ephemeral.size_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + instance_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_untrusted_parent_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_trusted_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_mgmt_1_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.latency_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_unused_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_ha_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_ha_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_untrusted_parent_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + binding_perimeta_ssc_b_server_0: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + scalable_perimeta_ssc_b_server_0: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + disk.device.latency_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.requests_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_untrusted_parent_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.usage_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_ha_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_trusted_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.allocation_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.iops_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.usage_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_unused_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_util_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.capacity_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_ssc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests.rate_perimeta_ssc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_ssc_b_mgmt_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_ssc_b_mgmt_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_ssc_b_unused_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + org.openecomp.resource.abstract.nodes.heat.module_2_perimeta_sw_a_child: + derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute + properties: + vf_module_id: + type: string + description: Unique ID for this VF Module instance + required: true + status: SUPPORTED + int_ha_network_plen: + type: float + description: Prefix length of subnet associated with internal HA network + required: true + status: SUPPORTED + constraints: + - in_range: + - 0 + - 31 + perimeta_config: + type: string + description: JSON orchestration template configuration for instance. + required: true + status: SUPPORTED + vnf_name: + type: string + description: Unique name for this VNF instance + required: true + status: SUPPORTED + perimeta_untrusted_vlan_ids: + type: list + description: List of VLAN IDs to use on the untrusted/access network + required: true + status: SUPPORTED + entry_schema: + type: string + int_ha_net_id: + type: string + description: HA network id + required: true + status: SUPPORTED + perimeta_instance_index: + type: float + description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances. + required: true + status: SUPPORTED + constraints: + - in_range: + - 0 + - 19 + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + required: true + status: SUPPORTED + perimeta_server_groups: + type: list + description: Server groups to use for these VMs + required: true + status: SUPPORTED + entry_schema: + type: string + vnf_id: + type: string + description: VNF ID of this deployment + required: true + status: SUPPORTED + availability_zone_0: + type: string + description: Availability zone for A instances. + required: true + status: SUPPORTED + rtp_msc_mgmt_vips: + type: list + description: List of management virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_sec_groups: + type: list + description: List of security groups to add on trusted interfaces. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_untrusted_parent_vips: + type: list + description: List of Untrusted/access parent virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_untrusted_num_vlans: + type: float + description: number of VLANs to connect to the untrusted/access interface + required: true + status: SUPPORTED + constraints: + - in_range: + - 1 + - 1001 + rtp_msc_a_int_ha_ips: + type: list + description: List of fixed IP addresses to use as HA IPs of A instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_a_untrusted_parent_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of A instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_a_trusted_ips: + type: list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of A instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_untrusted_vips: + type: list + description: List of Untrusted/access virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + trusted_net_id: + type: string + description: Trusted/core network UUID + required: true + status: SUPPORTED + rtp_msc_b_int_ha_ips: + type: list + description: List of fixed IP addresses to use as HA IPs of B instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_a_mgmt_ips: + type: list + description: List of fixed IP addresses to use as management IPs of A instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_a_untrusted_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access fixed IPs of A instances. + required: true + status: SUPPORTED + entry_schema: + type: string + vm_role: + type: string + description: Role of these VMs + required: true + status: SUPPORTED + rtp_msc_untrusted_v6_vips: + type: list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_untrusted_vlan_networks: + type: list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_a_untrusted_v6_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of A instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + required: true + status: SUPPORTED + mgmt_net_id: + type: string + description: Management network id + required: true + status: SUPPORTED + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + required: true + status: SUPPORTED + rtp_msc_a_names: + type: list + description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + required: true + status: SUPPORTED + rtp_msc_trusted_vips: + type: list + description: List of Trusted/core virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + requirements: + - dependency_perimeta_rtp_msc_a_trusted_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_a_trusted_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_a_ha_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_a_ha_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_a_untrusted_parent_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_a_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_a_server_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_perimeta_rtp_msc_a_server_0: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_perimeta_rtp_msc_a_mgmt_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_a_mgmt_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + attachment_perimeta_rtp_msc_a_ha_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_a_mgmt_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_a_trusted_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.device.latency_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + vcpus_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.resident_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + cpu_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.capacity_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + os_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_a_ha_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.allocation_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.iops_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_a_mgmt_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.usage_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_a_trusted_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.usage_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_a_ha_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.iops_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.allocation_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.ephemeral.size_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_util_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + scalable_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + host_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.root.size_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + endpoint_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_a_server_0: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_a_trusted_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + instance_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_a_mgmt_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.latency_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.requests_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu.delta_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.usage_perimeta_rtp_msc_a_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + org.openecomp.resource.abstract.nodes.heat.vlan_subinterface_dual: + derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute + properties: + perimeta_parent_interface: + type: string + description: Parent Contrail interface + required: true + status: SUPPORTED + perimeta_v6_vip_0: + type: string + description: virtual IPv6 address associated with subinterfaces + required: true + status: SUPPORTED + perimeta_subinterface_name_prefix: + type: string + description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource + required: true + status: SUPPORTED + perimeta_vlan_networks: + type: list + description: List of Contrail VLAN networks to use for the subinterfaces. The order and number of these must match the VLAN ID list + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_subinterface_instance_index: + type: float + description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances. + required: true + status: SUPPORTED + constraints: + - in_range: + - 1 + - 1001 + perimeta_ip_0: + type: string + description: IPv4 address associated with subinterfaces + required: true + status: SUPPORTED + perimeta_vip_0: + type: string + description: virtual IPv4 address associated with subinterfaces + required: true + status: SUPPORTED + perimeta_vlan_ids: + type: list + description: List of VLAN IDs to use for subinterfaces + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_mac_address: + type: string + description: MAC address to use for subinterface + required: true + status: SUPPORTED + perimeta_v6_ip_0: + type: string + description: IPv6 address associated with subinterfaces + required: true + status: SUPPORTED + org.openecomp.resource.abstract.nodes.heat.module_2_perimeta_sw_b_child: + derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute + properties: + vf_module_id: + type: string + description: Unique ID for this VF Module instance + required: true + status: SUPPORTED + int_ha_network_plen: + type: float + description: Prefix length of subnet associated with internal HA network + required: true + status: SUPPORTED + constraints: + - in_range: + - 0 + - 31 + rtp_msc_b_untrusted_v6_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of B instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_b_mgmt_ips: + type: list + description: List of fixed IP addresses to use as management IPs of B instances. + required: true + status: SUPPORTED + entry_schema: + type: string + vnf_name: + type: string + description: Unique name for this VNF instance + required: true + status: SUPPORTED + perimeta_untrusted_vlan_ids: + type: list + description: List of VLAN IDs to use on the untrusted/access network + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_b_names: + type: list + description: List of names of Perimeta VM B instances, indexed by perimeta_instance_index + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_b_untrusted_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access fixed IPs of B instances. + required: true + status: SUPPORTED + entry_schema: + type: string + int_ha_net_id: + type: string + description: HA network id + required: true + status: SUPPORTED + perimeta_instance_index: + type: float + description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances. + required: true + status: SUPPORTED + constraints: + - in_range: + - 0 + - 19 + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + required: true + status: SUPPORTED + perimeta_server_groups: + type: list + description: Server groups to use for these VMs + required: true + status: SUPPORTED + entry_schema: + type: string + vnf_id: + type: string + description: VNF ID of this deployment + required: true + status: SUPPORTED + availability_zone_1: + type: string + description: Availability zone for B instances. May be the same as A instance. + required: true + status: SUPPORTED + rtp_msc_mgmt_vips: + type: list + description: List of management virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_sec_groups: + type: list + description: List of security groups to add on trusted interfaces. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_untrusted_parent_vips: + type: list + description: List of Untrusted/access parent virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_untrusted_num_vlans: + type: float + description: number of VLANs to connect to the untrusted/access interface + required: true + status: SUPPORTED + constraints: + - in_range: + - 1 + - 1001 + rtp_msc_a_int_ha_ips: + type: list + description: List of fixed IP addresses to use as HA IPs of A instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_b_trusted_ips: + type: list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of B instances. + required: true + status: SUPPORTED + entry_schema: + type: string + rtp_msc_untrusted_vips: + type: list + description: List of Untrusted/access virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + trusted_net_id: + type: string + description: Trusted/core network UUID + required: true + status: SUPPORTED + rtp_msc_b_int_ha_ips: + type: list + description: List of fixed IP addresses to use as HA IPs of B instances. + required: true + status: SUPPORTED + entry_schema: + type: string + vm_role: + type: string + description: Role of these VMs + required: true + status: SUPPORTED + rtp_msc_untrusted_v6_vips: + type: list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_untrusted_vlan_networks: + type: list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + required: true + status: SUPPORTED + entry_schema: + type: string + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + required: true + status: SUPPORTED + rtp_msc_b_untrusted_parent_ips: + type: list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of B instances. + required: true + status: SUPPORTED + entry_schema: + type: string + mgmt_net_id: + type: string + description: Management network id + required: true + status: SUPPORTED + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + required: true + status: SUPPORTED + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + required: true + status: SUPPORTED + rtp_msc_trusted_vips: + type: list + description: List of Trusted/core virtual IP addresses for all instances. + required: true + status: SUPPORTED + entry_schema: + type: string + requirements: + - dependency_perimeta_rtp_msc_b_trusted_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_b_trusted_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_b_mgmt_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_b_mgmt_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_b_server_0: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - local_storage_perimeta_rtp_msc_b_server_0: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: + - 0 + - UNBOUNDED + - dependency_perimeta_rtp_msc_b_ha_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_b_ha_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + - dependency_perimeta_rtp_msc_b_untrusted_parent_0_port: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: + - 0 + - UNBOUNDED + - link_perimeta_rtp_msc_b_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + occurrences: + - 1 + - 1 + capabilities: + attachment_perimeta_rtp_msc_b_mgmt_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.read.requests_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_b_trusted_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.latency_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.ephemeral.size_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_b_ha_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + disk.capacity_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.capacity_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_b_ha_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + disk.device.usage_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.allocation_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.root.size_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + cpu_util_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.latency_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + attachment_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: tosca.capabilities.Attachment + occurrences: + - 1 + - UNBOUNDED + os_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.OperatingSystem + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.bytes_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.iops_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + instance_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.requests.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + vcpus_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.resident_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_b_mgmt_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + endpoint_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.Endpoint.Admin + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.requests_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.write.bytes.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.packets.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + memory.usage_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + scalable_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.Scalable + occurrences: + - 1 + - UNBOUNDED + cpu.delta_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.write.bytes_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.allocation_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + disk.usage_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_b_mgmt_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + host_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.Container + valid_source_types: + - tosca.nodes.SoftwareComponent + occurrences: + - 1 + - UNBOUNDED + network.outpoing.packets_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_b_trusted_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_b_trusted_0_port: + type: tosca.capabilities.network.Bindable + valid_source_types: + - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface + occurrences: + - 0 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.outgoing.bytes.rate_perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.iops_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.device.read.requests_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + network.incoming.bytes.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + feature_perimeta_rtp_msc_b_ha_0_port: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + binding_perimeta_rtp_msc_b_server_0: + type: tosca.capabilities.network.Bindable + occurrences: + - 1 + - UNBOUNDED + network.outgoing.packets.rate_perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED + disk.read.bytes.rate_perimeta_rtp_msc_b_server_0: + type: org.openecomp.capabilities.metric.Ceilometer + description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer. + occurrences: + - 1 + - UNBOUNDED
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/MainServiceTemplate.yaml new file mode 100644 index 0000000000..1993eeaf1a --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/MainServiceTemplate.yaml @@ -0,0 +1,1302 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: Main +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- GlobalSubstitutionTypes: + file: GlobalSubstitutionTypesServiceTemplate.yaml +topology_template: + inputs: + ssc_a_name_0: + hidden: false + immutable: false + type: string + description: Name of VM A of SSC + constraints: + - pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,29}$' + mgmt_net_plen: + hidden: false + immutable: false + type: float + description: Management network prefix length + constraints: + - in_range: + - 0 + - 32 + ssc_b_name_0: + hidden: false + immutable: false + type: string + description: Name of VM B of SSC + constraints: + - pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,29}$' + ssc_b_untrusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv4 address on Untrusted/access network for SSC B. + ssc_b_untrusted_parent_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv4 address on Untrusted/access parent network for SSC B. + perimeta_untrusted_vlan_ids: + hidden: false + immutable: false + type: list + description: List of VLAN IDs to use on the untrusted/access network + entry_schema: + type: string + ssc_json_radius_servername: + hidden: false + immutable: false + type: string + description: IP Address or hostname of RADIUS server + ssc_mgmt_vip_0: + hidden: false + immutable: false + type: string + description: Management virtual IP address to use for SSC. + rtp_msc_json_use_radius_authentication: + hidden: false + immutable: false + type: string + description: Json prefix, used to indicate if user account authentication is done externally through Radius + constraints: + - valid_values: + - ' ' + - '// not using Radius ' + ssc_trusted_vip_0: + hidden: false + immutable: false + type: string + description: Virtual IPv4 address on Trusted/core network for SSC. + ssc_untrusted_vip_0: + hidden: false + immutable: false + type: string + description: Virtual IPv4 address on Untrusted/access network for SSC. + perimeta_untrusted_num_vlans: + hidden: false + immutable: false + type: float + description: number of VLANs to connect to the untrusted/access interface + constraints: + - in_range: + - 1 + - 1001 + rtp_msc_mgmt_vips: + hidden: false + immutable: false + type: list + description: List of management virtual IP addresses to use for RTP MSC. + entry_schema: + type: string + ssc_a_json_prefix: + hidden: false + immutable: false + type: string + description: Json prefix, used to create the correct json file depending on the operation being performed + default: ' ' + constraints: + - valid_values: + - ' ' + - '// healing, not required ' + rtp_msc_a_untrusted_parent_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Untrusted/access parent network for RTP MSC A. + entry_schema: + type: string + ssc_b_trusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv4 address on Trusted/core network for SSC B. + shared_perimeta_ssc_server_group: + hidden: false + immutable: false + type: string + description: Server group to use for these VMs + ssc_json_radius_timeout: + hidden: false + immutable: false + type: float + description: Timeout for connect requests to RADIUS server + constraints: + - in_range: + - 1 + - 60 + rtp_msc_untrusted_vips: + hidden: false + immutable: false + type: list + description: List of virtual IPv4 addresses on Untrusted/access network for RTP MSC. + entry_schema: + type: string + rtp_msc_json_radius_servername: + hidden: false + immutable: false + type: string + description: IP Address or hostname of RADIUS server + rtp_msc_vnfcnames: + hidden: false + immutable: false + type: list + description: List of vnfc names of the RTP MSC. This is the name associated with the perimeta pair and corresponds to the VIP + entry_schema: + type: string + ssc_image_name: + hidden: false + immutable: false + type: string + description: Glance image to use for launching SSC Perimeta instances. + default: ISBC_SBC_v4.0.40_SU12.qcow2 + constraints: [ + ] + perimeta_max_rtp_msc_count: + hidden: false + immutable: false + type: float + description: Max number of RTP MSCs in a site. + default: 8 + constraints: + - in_range: + - 0 + - 20 + trusted_net_id: + hidden: false + immutable: false + type: string + description: Network ID of Trusted/core network. + constraints: [ + ] + ntp_server_ip_addrs: + hidden: false + immutable: false + type: string + description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network + constraints: + - pattern: ((?:\d{1,3}\.){3}\d{1,3},)*((?:\d{1,3}\.){3}\d{1,3}) + rtp_msc_json_radius_default: + hidden: false + immutable: false + type: string + description: Default authentication level for RADIUS users + constraints: + - valid_values: + - no-access + - read-only + - support + - restricted-admin + - admin + rtp_msc_a_vnfcnames: + hidden: false + immutable: false + type: list + description: List of vnfc names of the A of RTP MSC + entry_schema: + type: string + ssc_b_untrusted_v6_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv6 address on Untrusted/access network for SSC B. + rtp_msc_b_index: + hidden: false + immutable: false + type: float + description: Index of RTP MSC to instantiate / heal. + constraints: + - in_range: + - 0 + - 19 + rtp_msc_untrusted_v6_vips: + hidden: false + immutable: false + type: list + description: List of virtual IPv6 addresses on Untrusted/access network for RTP MSC. + entry_schema: + type: string + shared_ssc_unused_net_id: + hidden: false + immutable: false + type: string + description: Unused network ID + ssc_b_rf_ip_0: + hidden: false + immutable: false + type: string + description: RF fixed IP address to use for SSC B. + rtp_msc_b_untrusted_parent_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Untrusted/access parent network for RTP MSC B. + entry_schema: + type: string + ssc_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating SSC VM instance + default: gv.c8r16d160 + constraints: [ + ] + mgmt_net_id: + hidden: false + immutable: false + type: string + description: Management network ID + constraints: [ + ] + ssc_json_radius_secret: + hidden: false + immutable: false + type: string + description: Shared secret to use for the RADIUS Server + rtp_msc_a_names: + hidden: false + immutable: false + type: list + description: List of names of VM A of RTP MSC + entry_schema: + type: string + shared_int_ha_net_id: + hidden: false + immutable: false + type: string + description: HA network id + constraints: [ + ] + ssc_vnfcname_0: + hidden: false + immutable: false + type: string + description: Name of vnfc of SSC. This is the name associated with the perimeta pair and corresponds to the VIP + constraints: + - pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + rtp_msc_trusted_vips: + hidden: false + immutable: false + type: list + description: List of virtual IPv4 addresses on Trusted/core network for RTP MSC. + entry_schema: + type: string + rtp_msc_json_radius_port: + hidden: false + immutable: false + type: float + description: Port to use to connect to RADIUS server + constraints: + - in_range: + - 0 + - 65535 + vf_module_id: + hidden: false + immutable: false + type: string + description: Unique ID for this VF Module instance + ssc_json_radius_port: + hidden: false + immutable: false + type: float + description: Port to use to connect to RADIUS server + constraints: + - in_range: + - 0 + - 65535 + rtp_msc_b_untrusted_v6_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv6 addresses on Untrusted/access network for RTP MSC B. + entry_schema: + type: string + rtp_msc_b_mgmt_ips: + hidden: false + immutable: false + type: list + description: List of management fixed IP addresses to use for RTP MSC B. + entry_schema: + type: string + ssc_a_int_ha_ip_0: + hidden: false + immutable: false + type: string + description: HA fixed IP address to use for SSC A. + ssc_b_mgmt_ip_0: + hidden: false + immutable: false + type: string + description: Management fixed IP address to use for SSC B. + vnf_name: + hidden: false + immutable: false + type: string + description: Unique name for this VNF instance + rtp_msc_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating RTP MSC VM instance + default: gv.c8r16d160 + constraints: [ + ] + perimeta_int_ha_net_prefix_v4: + hidden: false + immutable: false + type: string + description: IPv4 subnet prefix for internal HA network + default: 172.26.1.4 + rtp_msc_b_names: + hidden: false + immutable: false + type: list + description: List of names of VM B of RTP MSC + entry_schema: + type: string + rtp_msc_b_untrusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Untrusted/access network for RTP MSC B. + entry_schema: + type: string + perimeta_ssh_key: + hidden: false + immutable: false + type: string + description: SSH public key + default: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXvSadEWp+nsz3gEAAAAAAAAAAbggQ3t06mqFIauHfUYMiKZ3EUX3jDFf/uGQoNsIZU6SNE/gl3tY4fFvO8Yzj8OY/vstHHvEadbY5aXNE6kd39ik20uRNbeZLT+pRllBwVKBSVnFqG3kBDvNWmBIenlPZzu3Ay0LYT/aDq6fZaz8Mqy8hzhpAAAAAAAAAAEmS/ESYY4UMs/aF2fVGmCLqudSjLpSsyD8lXag2dmeiT7cTdwRkgtDNTULXCPVucolVZwZF9BxXPNK++B+fL/ZY4MrXHXgZYGEElrMCFYkQFb3jQv3XQtxZ6gVByrzgGc9eiU7tkCgY2cVfb22iIs9n Generated-by-Nova + rtp_msc_a_index: + hidden: false + immutable: false + type: float + description: Index of RTP MSC to instantiate / heal. + constraints: + - in_range: + - 0 + - 19 + rtp_msc_json_v41: + hidden: false + immutable: false + type: string + description: Json prefix, used to ensure that the json tags will be recognised by the server loading them + default: ' ' + constraints: + - valid_values: + - ' ' + - '// older perimeta, parameter not required ' + shared_perimeta_rtp_msc_server_groups: + hidden: false + immutable: false + type: list + description: Server group to use for these VMs + entry_schema: + type: string + rtp_msc_a_json_prefix: + hidden: false + immutable: false + type: string + description: Json prefix, used to create the correct json file depending on the operation being performed + default: ' ' + constraints: + - valid_values: + - ' ' + - '// healing, not required ' + ssc_b_int_ha_ip_0: + hidden: false + immutable: false + type: string + description: HA fixed IP address to use for SSC B. + rtp_msc_b_vnfcnames: + hidden: false + immutable: false + type: list + description: List of vnfc names of VM B of RTP MSC + entry_schema: + type: string + ssc_a_trusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv4 address on Trusted/core network for SSC A. + vnf_id: + hidden: false + immutable: false + type: string + description: ID of VNF + availability_zone_0: + hidden: false + immutable: false + type: string + description: Availability zone for A instances. + availability_zone_1: + hidden: false + immutable: false + type: string + description: Availability zone for B instances. + perimeta_int_ha_net_prefix_len_v4: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + default: 26 + constraints: + - in_range: + - 0 + - 31 + ssc_a_untrusted_v6_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv6 address on Untrusted/access network for SSC A. + rtp_msc_untrusted_parent_vips: + hidden: false + immutable: false + type: list + description: List of virtual IPv4 addresses on Untrusted/access parent network for RTP MSC. + entry_schema: + type: string + shared_int_ha_net_prefix_len_v4: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + constraints: + - in_range: + - 0 + - 31 + ssc_rf_vip_0: + hidden: false + immutable: false + type: string + description: RF virtual IP address to use for SSC. + rtp_msc_a_int_ha_ips: + hidden: false + immutable: false + type: list + description: List of HA fixed IP addresses to use for RTP MSC A. + entry_schema: + type: string + shared_perimeta_keypair: + hidden: false + immutable: false + type: string + description: Keypair to use for accessing this Perimeta instance + shared_int_untrusted_parent_net_id: + hidden: false + immutable: false + type: string + description: untrusted parent network id + ssc_a_vnfcname_0: + hidden: false + immutable: false + type: string + description: vnfc name of VM A of SSC + constraints: + - pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + rtp_msc_json_radius_secret: + hidden: false + immutable: false + type: string + description: Shared secret to use for the RADIUS Server + rtp_msc_b_trusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Trusted/core network for RTP MSC B. + entry_schema: + type: string + rtp_msc_a_trusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Trusted/core network for RTP MSC A. + entry_schema: + type: string + rtp_msc_image_name: + hidden: false + immutable: false + type: string + description: Glance image to use for launching RTP MSC Perimeta instances. + default: ISBC_SBC_v4.0.40_SU12.qcow2 + constraints: [ + ] + ssc_a_mgmt_ip_0: + hidden: false + immutable: false + type: string + description: Management fixed IP address to use for SSC A. + ssc_untrusted_parent_vip_0: + hidden: false + immutable: false + type: string + description: Virtual IPv4 address on Untrusted/access parent network for SSC. + rtp_msc_b_int_ha_ips: + hidden: false + immutable: false + type: list + description: List of HA fixed IP addresses to use for RTP MSC B. + entry_schema: + type: string + ssc_untrusted_v6_vip_0: + hidden: false + immutable: false + type: string + description: Virtual IPv6 address on Untrusted/access network for SSC. + rtp_msc_a_mgmt_ips: + hidden: false + immutable: false + type: list + description: List of management fixed IP addresses to use for RTP MSC A. + entry_schema: + type: string + rtp_msc_a_untrusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv4 addresses on Untrusted/access network for RTP MSC A. + entry_schema: + type: string + ssc_a_rf_ip_0: + hidden: false + immutable: false + type: string + description: RF fixed IP address to use for SSC A. + ssc_json_use_radius_authentication: + hidden: false + immutable: false + type: string + description: Json prefix, used to indicate if user account authentication is done externally through Radius + constraints: + - valid_values: + - ' ' + - '// not using Radius ' + ssc_a_untrusted_parent_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv4 address on Untrusted/access parent network for SSC A. + perimeta_untrusted_vlan_networks: + hidden: false + immutable: false + type: list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + entry_schema: + type: string + ssc_a_untrusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IPv4 address on Untrusted/access network for SSC A. + rtp_msc_a_untrusted_v6_ips: + hidden: false + immutable: false + type: list + description: List of fixed IPv6 addresses on Untrusted/access network for RTP MSC A. + entry_schema: + type: string + mgmt_net_default_gateway: + hidden: false + immutable: false + type: string + description: Default gateway for management network + rtp_msc_json_radius_timeout: + hidden: false + immutable: false + type: float + description: Timeout for connect requests to RADIUS server + constraints: + - in_range: + - 1 + - 60 + ssc_b_vnfcname_0: + hidden: false + immutable: false + type: string + description: vnfc name of VM B of SSC + constraints: + - pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + ssc_json_v41: + hidden: false + immutable: false + type: string + description: Json prefix, used to ensure that the json tags will be recognised by the server loading them + default: ' ' + constraints: + - valid_values: + - ' ' + - '// older perimeta, parameter not required ' + ssc_json_radius_default: + hidden: false + immutable: false + type: string + description: Default authentication level for RADIUS users + constraints: + - valid_values: + - no-access + - read-only + - support + - restricted-admin + - admin + shared_perimeta_sec_groups: + hidden: false + immutable: false + type: list + description: List of security groups to add on all interfaces. + entry_schema: + type: string + node_templates: + perimeta_rtp_msc_a: + type: org.openecomp.resource.abstract.nodes.heat.module_2_perimeta_sw_a_child + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + int_ha_network_plen: + get_input: shared_int_ha_net_prefix_len_v4 + perimeta_config: + str_replace: + template: + get_artifact: + - SELF + - rtp_msc_a_template + params: + $RADIUS_SERVERNAME: + get_input: rtp_msc_json_radius_servername + $REMOTE_MGMT_IP_ADDR: + get_input: + - rtp_msc_b_mgmt_ips + - get_input: rtp_msc_a_index + $VIRT_MGMT_IP_ADDR: + get_input: + - rtp_msc_mgmt_vips + - get_input: rtp_msc_a_index + $LOCAL_MGMT_IP_ADDR: + get_input: + - rtp_msc_a_mgmt_ips + - get_input: rtp_msc_a_index + $MGMT_NETWORK_DEFAULT_GATEWAY: + get_input: mgmt_net_default_gateway + $RADIUS_DEFAULT: + get_input: rtp_msc_json_radius_default + $COMPLETION_PARAMS: '' + $RADIUS_PORT: + get_input: rtp_msc_json_radius_port + $NTP_SERVER_IP_ADDRS: + get_input: ntp_server_ip_addrs + $HEALING_OR_INSTANTIATION: + get_input: rtp_msc_a_json_prefix + $RADIUS_SECRET: + get_input: rtp_msc_json_radius_secret + $RADIUS_TIMEOUT: + get_input: rtp_msc_json_radius_timeout + $41ORABOVE: + get_input: rtp_msc_json_v41 + $SYSTEM_NAME: + get_input: + - rtp_msc_vnfcnames + - get_input: rtp_msc_a_index + $USERADIUSAUTH: + get_input: rtp_msc_json_use_radius_authentication + $MGMT_NETWORK_PLEN: + get_input: mgmt_net_plen + $VM_NAME_A: + get_input: + - rtp_msc_a_vnfcnames + - get_input: rtp_msc_a_index + $VM_NAME_B: + get_input: + - rtp_msc_b_vnfcnames + - get_input: rtp_msc_a_index + vnf_name: + get_input: vnf_name + perimeta_untrusted_vlan_ids: + get_input: perimeta_untrusted_vlan_ids + int_ha_net_id: + get_input: shared_int_ha_net_id + perimeta_instance_index: + get_input: rtp_msc_a_index + service_template_filter: + substitute_service_template: module_2_perimeta_sw_a_childServiceTemplate.yaml + perimeta_keypair: + get_input: shared_perimeta_keypair + perimeta_server_groups: + get_input: shared_perimeta_rtp_msc_server_groups + vnf_id: + get_input: vnf_id + availability_zone_0: + get_input: availability_zone_0 + rtp_msc_mgmt_vips: + get_input: rtp_msc_mgmt_vips + perimeta_sec_groups: + get_input: shared_perimeta_sec_groups + rtp_msc_untrusted_parent_vips: + get_input: rtp_msc_untrusted_parent_vips + perimeta_untrusted_num_vlans: + get_input: perimeta_untrusted_num_vlans + rtp_msc_a_int_ha_ips: + get_input: rtp_msc_a_int_ha_ips + rtp_msc_a_untrusted_parent_ips: + get_input: rtp_msc_a_untrusted_parent_ips + rtp_msc_a_trusted_ips: + get_input: rtp_msc_a_trusted_ips + rtp_msc_untrusted_vips: + get_input: rtp_msc_untrusted_vips + trusted_net_id: + get_input: trusted_net_id + rtp_msc_b_int_ha_ips: + get_input: rtp_msc_b_int_ha_ips + rtp_msc_a_mgmt_ips: + get_input: rtp_msc_a_mgmt_ips + rtp_msc_a_untrusted_ips: + get_input: rtp_msc_a_untrusted_ips + vm_role: msc + rtp_msc_untrusted_v6_vips: + get_input: rtp_msc_untrusted_v6_vips + perimeta_untrusted_vlan_networks: + get_input: perimeta_untrusted_vlan_networks + rtp_msc_a_untrusted_v6_ips: + get_input: rtp_msc_a_untrusted_v6_ips + perimeta_image_name: + get_input: rtp_msc_image_name + mgmt_net_id: + get_input: mgmt_net_id + int_untrusted_parent_net_id: + get_input: shared_int_untrusted_parent_net_id + rtp_msc_a_names: + get_input: rtp_msc_a_names + perimeta_flavor_name: + get_input: rtp_msc_flavor_name + rtp_msc_trusted_vips: + get_input: rtp_msc_trusted_vips + requirements: + - link_perimeta_rtp_msc_a_ha_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_internal_ha_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_rtp_msc_a_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_int_untrusted_parent_net_0 + relationship: tosca.relationships.network.LinksTo + artifacts: + rtp_msc_a_template: + type: tosca.artifacts.Deployment + file: ../Artifacts/rtp_msc_a_template.json + shared_perimeta_internal_ha_net_0: + type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork + properties: + network_ipam_refs_data: + - network_ipam_refs_data_ipam_subnets: + - network_ipam_refs_data_ipam_subnets_enable_dhcp: false + network_ipam_refs_data_ipam_subnets_subnet: + network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len: + get_input: perimeta_int_ha_net_prefix_len_v4 + network_ipam_refs_data_ipam_subnets_subnet_ip_prefix: + get_input: perimeta_int_ha_net_prefix_v4 + network_name: + str_replace: + template: $VF_NAME_int_ha_net_0 + params: + $VF_NAME: + get_input: vnf_name + network_ipam_refs: + - UNSUPPORTED_RESOURCE_perimeta_internal_ha_ipam_net_0 + perimeta_rtp_msc_b: + type: org.openecomp.resource.abstract.nodes.heat.module_2_perimeta_sw_b_child + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + int_ha_network_plen: + get_input: shared_int_ha_net_prefix_len_v4 + rtp_msc_b_untrusted_v6_ips: + get_input: rtp_msc_b_untrusted_v6_ips + rtp_msc_b_mgmt_ips: + get_input: rtp_msc_b_mgmt_ips + vnf_name: + get_input: vnf_name + perimeta_untrusted_vlan_ids: + get_input: perimeta_untrusted_vlan_ids + rtp_msc_b_names: + get_input: rtp_msc_b_names + rtp_msc_b_untrusted_ips: + get_input: rtp_msc_b_untrusted_ips + int_ha_net_id: + get_input: shared_int_ha_net_id + perimeta_instance_index: + get_input: rtp_msc_b_index + service_template_filter: + substitute_service_template: module_2_perimeta_sw_b_childServiceTemplate.yaml + perimeta_keypair: + get_input: shared_perimeta_keypair + perimeta_server_groups: + get_input: shared_perimeta_rtp_msc_server_groups + vnf_id: + get_input: vnf_id + availability_zone_1: + get_input: availability_zone_1 + rtp_msc_mgmt_vips: + get_input: rtp_msc_mgmt_vips + perimeta_sec_groups: + get_input: shared_perimeta_sec_groups + rtp_msc_untrusted_parent_vips: + get_input: rtp_msc_untrusted_parent_vips + perimeta_untrusted_num_vlans: + get_input: perimeta_untrusted_num_vlans + rtp_msc_a_int_ha_ips: + get_input: rtp_msc_a_int_ha_ips + rtp_msc_b_trusted_ips: + get_input: rtp_msc_b_trusted_ips + rtp_msc_untrusted_vips: + get_input: rtp_msc_untrusted_vips + trusted_net_id: + get_input: trusted_net_id + rtp_msc_b_int_ha_ips: + get_input: rtp_msc_b_int_ha_ips + vm_role: msc + rtp_msc_untrusted_v6_vips: + get_input: rtp_msc_untrusted_v6_vips + perimeta_untrusted_vlan_networks: + get_input: perimeta_untrusted_vlan_networks + perimeta_image_name: + get_input: rtp_msc_image_name + rtp_msc_b_untrusted_parent_ips: + get_input: rtp_msc_b_untrusted_parent_ips + mgmt_net_id: + get_input: mgmt_net_id + int_untrusted_parent_net_id: + get_input: shared_int_untrusted_parent_net_id + perimeta_flavor_name: + get_input: rtp_msc_flavor_name + rtp_msc_trusted_vips: + get_input: rtp_msc_trusted_vips + requirements: + - link_perimeta_rtp_msc_b_ha_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_internal_ha_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_rtp_msc_b_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_int_untrusted_parent_net_0 + relationship: tosca.relationships.network.LinksTo + perimeta_ssc_a: + type: org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_a_child + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + ssc_a_name_0: + get_input: ssc_a_name_0 + int_ha_network_plen: + get_input: shared_int_ha_net_prefix_len_v4 + perimeta_server_group: + get_input: shared_perimeta_ssc_server_group + unused_port_net_id: + get_input: shared_ssc_unused_net_id + perimeta_config: + str_replace: + template: + get_artifact: + - SELF + - ssc_a_template + params: + $RADIUS_SERVERNAME: + get_input: ssc_json_radius_servername + $REMOTE_MGMT_IP_ADDR: + get_input: ssc_b_mgmt_ip_0 + $VIRT_MGMT_IP_ADDR: + get_input: ssc_mgmt_vip_0 + $LOCAL_MGMT_IP_ADDR: + get_input: ssc_a_mgmt_ip_0 + $MGMT_NETWORK_DEFAULT_GATEWAY: + get_input: mgmt_net_default_gateway + $RADIUS_DEFAULT: + get_input: ssc_json_radius_default + $COMPLETION_PARAMS: '' + $RADIUS_PORT: + get_input: ssc_json_radius_port + $NTP_SERVER_IP_ADDRS: + get_input: ntp_server_ip_addrs + $HEALING_OR_INSTANTIATION: + get_input: ssc_a_json_prefix + $RADIUS_SECRET: + get_input: ssc_json_radius_secret + $RADIUS_TIMEOUT: + get_input: ssc_json_radius_timeout + $41ORABOVE: + get_input: ssc_json_v41 + $SYSTEM_NAME: + get_input: ssc_vnfcname_0 + $USERADIUSAUTH: + get_input: ssc_json_use_radius_authentication + $MGMT_NETWORK_PLEN: + get_input: mgmt_net_plen + $VM_NAME_A: + get_input: ssc_a_vnfcname_0 + $VM_NAME_B: + get_input: ssc_b_vnfcname_0 + ssc_a_int_ha_ip_0: + get_input: ssc_a_int_ha_ip_0 + vnf_name: + get_input: vnf_name + perimeta_untrusted_vlan_ids: + get_input: perimeta_untrusted_vlan_ids + int_ha_net_id: + get_input: shared_int_ha_net_id + ssc_b_int_ha_ip_0: + get_input: ssc_b_int_ha_ip_0 + ssc_mgmt_vip_0: + get_input: ssc_mgmt_vip_0 + service_template_filter: + substitute_service_template: module_1_perimeta_swmu_a_childServiceTemplate.yaml + ssc_a_trusted_ip_0: + get_input: ssc_a_trusted_ip_0 + perimeta_keypair: + get_input: shared_perimeta_keypair + vnf_id: + get_input: vnf_id + availability_zone_0: + get_input: availability_zone_0 + ssc_trusted_vip_0: + get_input: ssc_trusted_vip_0 + ssc_untrusted_vip_0: + get_input: ssc_untrusted_vip_0 + perimeta_sec_groups: + get_input: shared_perimeta_sec_groups + ssc_a_untrusted_v6_ip_0: + get_input: ssc_a_untrusted_v6_ip_0 + perimeta_untrusted_num_vlans: + get_input: perimeta_untrusted_num_vlans + ssc_rf_vip_0: + get_input: ssc_rf_vip_0 + ssc_a_mgmt_ip_0: + get_input: ssc_a_mgmt_ip_0 + trusted_net_id: + get_input: trusted_net_id + ssc_untrusted_parent_vip_0: + get_input: ssc_untrusted_parent_vip_0 + ssc_untrusted_v6_vip_0: + get_input: ssc_untrusted_v6_vip_0 + ssc_a_rf_ip_0: + get_input: ssc_a_rf_ip_0 + vm_role: ssc + ssc_a_untrusted_parent_ip_0: + get_input: ssc_a_untrusted_parent_ip_0 + perimeta_untrusted_vlan_networks: + get_input: perimeta_untrusted_vlan_networks + ssc_a_untrusted_ip_0: + get_input: ssc_a_untrusted_ip_0 + perimeta_image_name: + get_input: ssc_image_name + mgmt_net_id: + get_input: mgmt_net_id + int_untrusted_parent_net_id: + get_input: shared_int_untrusted_parent_net_id + perimeta_flavor_name: + get_input: ssc_flavor_name + requirements: + - link_perimeta_ssc_a_ha_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_internal_ha_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_ssc_a_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_int_untrusted_parent_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_ssc_a_unused_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_unused_net_0 + relationship: tosca.relationships.network.LinksTo + artifacts: + ssc_a_template: + type: tosca.artifacts.Deployment + file: ../Artifacts/ssc_a_template.json + shared_perimeta_rsg: + type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules + properties: + name: + str_replace: + template: $VNF_NAME_shared_perimeta_RSG + params: + $VNF_NAME: + get_input: vnf_name + description: Security Group for Perimeta networks + rules: + - protocol: tcp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + port_range_max: 65535 + direction: egress + port_range_min: 1 + - protocol: udp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + port_range_max: 65535 + direction: egress + port_range_min: 1 + - protocol: icmp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + direction: egress + - protocol: icmp + ethertype: IPv6 + remote_ip_prefix: ::/0 + direction: egress + - protocol: tcp + ethertype: IPv6 + remote_ip_prefix: ::/0 + port_range_max: 65535 + direction: egress + port_range_min: 1 + - protocol: udp + ethertype: IPv6 + remote_ip_prefix: ::/0 + port_range_max: 65535 + direction: egress + port_range_min: 1 + - protocol: tcp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + port_range_max: 65535 + direction: ingress + port_range_min: 1 + - protocol: udp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + port_range_max: 65535 + direction: ingress + port_range_min: 1 + - protocol: icmp + ethertype: IPv4 + remote_ip_prefix: 0.0.0.0/0 + direction: ingress + - protocol: icmp + ethertype: IPv6 + remote_ip_prefix: ::/0 + direction: ingress + - protocol: tcp + ethertype: IPv6 + remote_ip_prefix: ::/0 + port_range_max: 65535 + direction: ingress + port_range_min: 1 + - protocol: udp + ethertype: IPv6 + remote_ip_prefix: ::/0 + port_range_max: 65535 + direction: ingress + port_range_min: 1 + shared_perimeta_unused_net_0: + type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net + properties: + dhcp_enabled: false + ip_version: 4 + network_name: + str_replace: + template: $VF_NAME_int_unused_net + params: + $VF_NAME: + get_input: vnf_name + subnets: + shared_perimeta_unused_net_0_subnet: + enable_dhcp: false + ip_version: 4 + cidr: 10.0.0.0/29 + gateway_ip: '' + requirements: + - dependency: + capability: tosca.capabilities.Node + node: shared_perimeta_unused_net_0 + relationship: tosca.relationships.DependsOn + perimeta_ssc_b: + type: org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_b_child + directives: + - substitutable + properties: + vf_module_id: + get_input: vf_module_id + int_ha_network_plen: + get_input: shared_int_ha_net_prefix_len_v4 + perimeta_server_group: + get_input: shared_perimeta_ssc_server_group + unused_port_net_id: + get_input: shared_ssc_unused_net_id + ssc_b_name_0: + get_input: ssc_b_name_0 + ssc_a_int_ha_ip_0: + get_input: ssc_a_int_ha_ip_0 + ssc_b_untrusted_ip_0: + get_input: ssc_b_untrusted_ip_0 + ssc_b_mgmt_ip_0: + get_input: ssc_b_mgmt_ip_0 + ssc_b_untrusted_parent_ip_0: + get_input: ssc_b_untrusted_parent_ip_0 + vnf_name: + get_input: vnf_name + perimeta_untrusted_vlan_ids: + get_input: perimeta_untrusted_vlan_ids + int_ha_net_id: + get_input: shared_int_ha_net_id + ssc_b_int_ha_ip_0: + get_input: ssc_b_int_ha_ip_0 + ssc_mgmt_vip_0: + get_input: ssc_mgmt_vip_0 + service_template_filter: + substitute_service_template: module_1_perimeta_swmu_b_childServiceTemplate.yaml + perimeta_keypair: + get_input: shared_perimeta_keypair + vnf_id: + get_input: vnf_id + availability_zone_1: + get_input: availability_zone_1 + ssc_trusted_vip_0: + get_input: ssc_trusted_vip_0 + ssc_untrusted_vip_0: + get_input: ssc_untrusted_vip_0 + perimeta_sec_groups: + get_input: shared_perimeta_sec_groups + perimeta_untrusted_num_vlans: + get_input: perimeta_untrusted_num_vlans + ssc_rf_vip_0: + get_input: ssc_rf_vip_0 + ssc_b_trusted_ip_0: + get_input: ssc_b_trusted_ip_0 + trusted_net_id: + get_input: trusted_net_id + ssc_untrusted_parent_vip_0: + get_input: ssc_untrusted_parent_vip_0 + ssc_untrusted_v6_vip_0: + get_input: ssc_untrusted_v6_vip_0 + ssc_b_untrusted_v6_ip_0: + get_input: ssc_b_untrusted_v6_ip_0 + vm_role: ssc + perimeta_untrusted_vlan_networks: + get_input: perimeta_untrusted_vlan_networks + perimeta_image_name: + get_input: ssc_image_name + ssc_b_rf_ip_0: + get_input: ssc_b_rf_ip_0 + mgmt_net_id: + get_input: mgmt_net_id + int_untrusted_parent_net_id: + get_input: shared_int_untrusted_parent_net_id + perimeta_flavor_name: + get_input: ssc_flavor_name + requirements: + - link_perimeta_ssc_b_untrusted_parent_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_int_untrusted_parent_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_ssc_b_unused_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_unused_net_0 + relationship: tosca.relationships.network.LinksTo + - link_perimeta_ssc_b_ha_0_port: + capability: tosca.capabilities.network.Linkable + node: shared_perimeta_internal_ha_net_0 + relationship: tosca.relationships.network.LinksTo + shared_perimeta_int_untrusted_parent_net_0: + type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net + properties: + dhcp_enabled: false + ip_version: 4 + network_name: + str_replace: + template: $VF_NAME_int_untrusted_parent_net + params: + $VF_NAME: + get_input: vnf_name + subnets: + shared_perimeta_int_untrusted_parent_net_0_subnet: + enable_dhcp: false + ip_version: 4 + cidr: 11.0.0.0/24 + gateway_ip: '' + requirements: + - dependency: + capability: tosca.capabilities.Node + node: shared_perimeta_int_untrusted_parent_net_0 + relationship: tosca.relationships.DependsOn + groups: + base_perimeta_deployment_create_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/base_perimeta_deployment_create.yaml + description: | + HOT template to instantiate base shared resources for a Perimeta deployment + members: + - shared_perimeta_internal_ha_net_0 + - shared_perimeta_rsg + - shared_perimeta_unused_net_0 + - shared_perimeta_int_untrusted_parent_net_0 + module_2_perimeta_rtp_msc_a_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_2_perimeta_rtp_msc_a.yaml + description: | + HOT template to instantiate an A side Perimeta RTP MSC and optionally partner it with the corresponding B side + members: + - perimeta_rtp_msc_a + module_1_perimeta_ssc_b_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_1_perimeta_ssc_b.yaml + description: "HOT template to instantiate an B side Perimeta SSC \n" + members: + - perimeta_ssc_b + shared_perimeta_ssc_server_gp_group: + type: tosca.groups.Root + members: [ + ] + module_2_perimeta_rtp_msc_b_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_2_perimeta_rtp_msc_b.yaml + description: "HOT template to instantiate an B side Perimeta RTP MSC \n" + members: + - perimeta_rtp_msc_b + module_1_perimeta_ssc_a_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_1_perimeta_ssc_a.yaml + description: | + HOT template to instantiate an A side Perimeta SSC and optionally partner it with the corresponding B side + members: + - perimeta_ssc_a + outputs: + shared_int_ha_net_prefix_len_v4: + description: HA internal network IPv4 prefix length + value: + get_input: perimeta_int_ha_net_prefix_len_v4 + shared_perimeta_keypair: + description: SSH keypair for deployment + value: UNSUPPORTED_RESOURCE_shared_perimeta_keypair + shared_perimeta_rtp_msc_server_groups: + description: Perimeta RTP MSC Server groups + value: + list_join: + - ',' + - get_attr: + - shared_perimeta_rtp_msc_server_gps + - refs + policies: + shared_perimeta_ssc_server_gp_policy: + type: org.openecomp.policies.placement.Antilocate + properties: + name: + str_replace: + template: $VNF_NAME_shared_ssc_RSG_name_0 + params: + $VNF_NAME: + get_input: vnf_name + container_type: host + targets: + - shared_perimeta_ssc_server_gp_group diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_a_childServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_a_childServiceTemplate.yaml new file mode 100644 index 0000000000..8f8aae3642 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_a_childServiceTemplate.yaml @@ -0,0 +1,831 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: module_1_perimeta_swmu_a_child +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- GlobalSubstitutionTypes: + file: GlobalSubstitutionTypesServiceTemplate.yaml +node_types: + org.openecomp.resource.vfc.nodes.heat.ssc_a: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server +topology_template: + inputs: + vf_module_id: + hidden: false + immutable: false + type: string + description: Unique ID for this VF Module instance + ssc_a_name_0: + hidden: false + immutable: false + type: string + description: Name of Perimeta VM A instance + int_ha_network_plen: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + constraints: + - in_range: + - 0 + - 31 + unused_port_net_id: + hidden: false + immutable: false + type: string + description: Service network unused port network UUID + perimeta_server_group: + hidden: false + immutable: false + type: string + description: Server group to use for these VMs + perimeta_config: + hidden: false + immutable: false + type: string + description: JSON orchestration template configuration for instance. + ssc_a_int_ha_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as HA IP of A instance. + vnf_name: + hidden: false + immutable: false + type: string + description: Unique name for this VNF instance + perimeta_untrusted_vlan_ids: + hidden: false + immutable: false + type: list + description: List of VLAN IDs to use on the untrusted/access network + entry_schema: + type: string + int_ha_net_id: + hidden: false + immutable: false + type: string + description: HA network id + ssc_b_int_ha_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as HA IPs of B instance. + ssc_mgmt_vip_0: + hidden: false + immutable: false + type: string + description: Management virtual IP address. + ssc_a_trusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of A instance. + perimeta_keypair: + hidden: false + immutable: false + type: string + description: Keypair to use for accessing this Perimeta instance + vnf_id: + hidden: false + immutable: false + type: string + description: VNF ID of this deployment + availability_zone_0: + hidden: false + immutable: false + type: string + description: Availability zone for A instances. + ssc_trusted_vip_0: + hidden: false + immutable: false + type: string + description: Trusted/core virtual IP address. + ssc_untrusted_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access virtual IP address + perimeta_sec_groups: + hidden: false + immutable: false + type: list + description: List of security groups to add on trusted interfaces. + entry_schema: + type: string + ssc_a_untrusted_v6_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of A instance. + perimeta_untrusted_num_vlans: + hidden: false + immutable: false + type: float + description: number of VLANs to connect to the untrusted/access interface + constraints: + - in_range: + - 1 + - 1001 + ssc_rf_vip_0: + hidden: false + immutable: false + type: string + description: RF virtual IP address to use for SSC. + ssc_a_mgmt_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as management IP of A instance. + trusted_net_id: + hidden: false + immutable: false + type: string + description: Trusted/core network UUID + ssc_untrusted_parent_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access parent virtual IP address + ssc_untrusted_v6_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access alternate virtual IP address + ssc_a_rf_ip_0: + hidden: false + immutable: false + type: string + description: RF fixed IP address to use for SSC A. + vm_role: + hidden: false + immutable: false + type: string + description: Role of these VMs + ssc_a_untrusted_parent_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A parent instance. + perimeta_untrusted_vlan_networks: + hidden: false + immutable: false + type: list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + entry_schema: + type: string + ssc_a_untrusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A instance. + perimeta_image_name: + hidden: false + immutable: false + type: string + description: Glance image for Perimeta instance + mgmt_net_id: + hidden: false + immutable: false + type: string + description: Management network id + int_untrusted_parent_net_id: + hidden: false + immutable: false + type: string + description: internal Untrusted/access parent network id + perimeta_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating VM instances + node_templates: + perimeta_ssc_a_ha_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_a_int_ha_ip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_ha + network: + get_input: int_ha_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_untrusted_parent_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_a_untrusted_parent_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_untrusted_parent_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_untrusted_parent + network: + get_input: int_untrusted_parent_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_mgmt_1_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_a_rf_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_rf_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_1_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_trusted_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_a_trusted_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_trusted_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: trusted + network: + get_input: trusted_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_unused_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: false + floating_ip_count_required: + is_required: false + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_unused_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: unused_port + network: + get_input: unused_port_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_mgmt_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_a_mgmt_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_mgmt_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VM: + get_input: ssc_a_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_a_server_0: + type: org.openecomp.resource.vfc.nodes.heat.ssc_a + properties: + flavor: + get_input: perimeta_flavor_name + key_name: + get_input: perimeta_keypair + availability_zone: + get_input: availability_zone_0 + image: + get_input: perimeta_image_name + metadata: + vf_module_id: + get_input: vf_module_id + vm_role: + str_replace: + template: $ROLE_a + params: + $ROLE: + get_input: vm_role + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + msw_template_version: 17.07.04 - 2017-09-01 + config_drive: true + personality: + /opt/MetaSwitch/init/custom.ini: + get_artifact: + - SELF + - custom + user_data_format: RAW + name: + get_input: ssc_a_name_0 + scheduler_hints: + group: + get_input: perimeta_server_group + artifacts: + custom: + type: tosca.artifacts.Deployment + file: ../Artifacts/custom.ini + groups: + module_1_perimeta_swmu_a_child_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_1_perimeta_swmu_a_child.yaml + description: | + HOT template to instantiate an A side Perimeta SSC instance with 6 vNICs as part of a nested template + members: + - perimeta_ssc_a_ha_0_port + - perimeta_ssc_a_untrusted_parent_0_port + - perimeta_ssc_a_mgmt_1_port + - perimeta_ssc_a_trusted_0_port + - perimeta_ssc_a_unused_0_port + - perimeta_ssc_a_mgmt_0_port + - perimeta_ssc_a_server_0 + substitution_mappings: + node_type: org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_a_child + capabilities: + disk.ephemeral.size_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.ephemeral.size + network.outgoing.packets.rate_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.outgoing.packets.rate + network.incoming.bytes.rate_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.incoming.bytes.rate + network.outgoing.bytes.rate_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.outgoing.bytes.rate + network.incoming.bytes.rate_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.incoming.bytes.rate + network.incoming.packets_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.incoming.packets + instance_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - instance + network.incoming.packets_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.incoming.packets + network.outgoing.packets.rate_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.outgoing.packets.rate + feature_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - feature + binding_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - binding + network.outpoing.packets_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.outpoing.packets + network.incoming.packets_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.incoming.packets + endpoint_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - endpoint + network.outgoing.bytes_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.outgoing.bytes + memory.usage_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - memory.usage + network.incoming.packets.rate_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.incoming.packets.rate + disk.device.read.requests.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.read.requests.rate + network.incoming.bytes_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.incoming.bytes + network.outgoing.bytes.rate_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.outgoing.bytes.rate + network.outgoing.packets.rate_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.outgoing.packets.rate + feature_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - feature + disk.read.bytes_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.read.bytes + network.outpoing.packets_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.outpoing.packets + attachment_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - attachment + disk.write.bytes.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.write.bytes.rate + disk.device.write.requests.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.write.requests.rate + network.incoming.packets_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.incoming.packets + memory_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - memory + network.outgoing.packets.rate_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.outgoing.packets.rate + feature_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - feature + disk.device.iops_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.iops + binding_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - binding + network.outgoing.bytes_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.outgoing.bytes + attachment_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - attachment + network.outgoing.bytes.rate_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.outgoing.bytes.rate + network.outgoing.bytes_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.outgoing.bytes + disk.write.requests_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.write.requests + network.outgoing.bytes_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.outgoing.bytes + disk.capacity_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.capacity + os_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - os + disk.read.bytes.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.read.bytes.rate + network.outgoing.bytes.rate_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.outgoing.bytes.rate + network.incoming.bytes.rate_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.incoming.bytes.rate + network.outgoing.bytes.rate_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.outgoing.bytes.rate + network.outgoing.bytes_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.outgoing.bytes + network.outpoing.packets_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - network.outpoing.packets + cpu_util_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - cpu_util + attachment_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - attachment + network.outgoing.bytes.rate_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.outgoing.bytes.rate + disk.allocation_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.allocation + disk.write.bytes_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.write.bytes + attachment_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - attachment + feature_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - feature + network.outpoing.packets_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.outpoing.packets + network.incoming.bytes_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.incoming.bytes + network.incoming.packets_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.incoming.packets + disk.device.latency_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.latency + network.incoming.bytes.rate_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.incoming.bytes.rate + binding_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - binding + disk.read.requests_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.read.requests + attachment_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - attachment + scalable_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - scalable + disk.usage_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.usage + feature_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - feature + network.incoming.packets.rate_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.incoming.packets.rate + feature_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - feature + cpu.delta_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - cpu.delta + disk.device.usage_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.usage + disk.iops_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.iops + binding_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - binding + network.incoming.bytes_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.incoming.bytes + network.incoming.packets_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.incoming.packets + disk.device.read.bytes.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.read.bytes.rate + network.incoming.packets.rate_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.incoming.packets.rate + binding_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - binding + disk.root.size_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.root.size + network.incoming.bytes_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.incoming.bytes + network.incoming.packets.rate_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.incoming.packets.rate + disk.device.allocation_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.allocation + disk.device.write.requests_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.write.requests + disk.device.write.bytes_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.write.bytes + disk.write.requests.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.write.requests.rate + network.outpoing.packets_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.outpoing.packets + disk.device.read.bytes_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.read.bytes + network.outgoing.bytes_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.outgoing.bytes + network.incoming.bytes_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.incoming.bytes + cpu_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - cpu + binding_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - binding + network.outgoing.packets.rate_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - network.outgoing.packets.rate + disk.device.read.requests_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.read.requests + network.outgoing.packets.rate_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.outgoing.packets.rate + disk.device.write.bytes.rate_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.write.bytes.rate + feature_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - feature + host_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - host + network.incoming.packets.rate_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.incoming.packets.rate + network.outpoing.packets_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.outpoing.packets + network.incoming.packets.rate_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - network.incoming.packets.rate + attachment_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - attachment + disk.device.capacity_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.device.capacity + binding_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - binding + vcpus_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - vcpus + network.incoming.bytes_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - network.incoming.bytes + network.incoming.bytes.rate_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - network.incoming.bytes.rate + disk.latency_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - disk.latency + memory.resident_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - memory.resident + network.incoming.bytes.rate_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - network.incoming.bytes.rate + requirements: + dependency_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - dependency + dependency_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - dependency + dependency_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - dependency + link_perimeta_ssc_a_mgmt_1_port: + - perimeta_ssc_a_mgmt_1_port + - link + local_storage_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - local_storage + link_perimeta_ssc_a_untrusted_parent_0_port: + - perimeta_ssc_a_untrusted_parent_0_port + - link + dependency_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - dependency + dependency_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - dependency + link_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - link + link_perimeta_ssc_a_trusted_0_port: + - perimeta_ssc_a_trusted_0_port + - link + link_perimeta_ssc_a_ha_0_port: + - perimeta_ssc_a_ha_0_port + - link + link_perimeta_ssc_a_unused_0_port: + - perimeta_ssc_a_unused_0_port + - link + dependency_perimeta_ssc_a_mgmt_0_port: + - perimeta_ssc_a_mgmt_0_port + - dependency + dependency_perimeta_ssc_a_server_0: + - perimeta_ssc_a_server_0 + - dependency
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_b_childServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_b_childServiceTemplate.yaml new file mode 100644 index 0000000000..99285a3be6 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_1_perimeta_swmu_b_childServiceTemplate.yaml @@ -0,0 +1,817 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: module_1_perimeta_swmu_b_child +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- GlobalSubstitutionTypes: + file: GlobalSubstitutionTypesServiceTemplate.yaml +node_types: + org.openecomp.resource.vfc.nodes.heat.ssc_b: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server +topology_template: + inputs: + vf_module_id: + hidden: false + immutable: false + type: string + description: Unique ID for this VF Module instance + int_ha_network_plen: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + constraints: + - in_range: + - 0 + - 31 + unused_port_net_id: + hidden: false + immutable: false + type: string + description: Service network unused port network UUID + perimeta_server_group: + hidden: false + immutable: false + type: string + description: Server group to use for these VMs + ssc_b_name_0: + hidden: false + immutable: false + type: string + description: Name of Perimeta VM B instance + ssc_a_int_ha_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as HA IPs of A instance. + ssc_b_untrusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B instance. + ssc_b_mgmt_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as management IP of B instance. + ssc_b_untrusted_parent_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B parent instance. + vnf_name: + hidden: false + immutable: false + type: string + description: Unique name for this VNF instance + perimeta_untrusted_vlan_ids: + hidden: false + immutable: false + type: list + description: List of VLAN IDs to use on the untrusted/access network + entry_schema: + type: string + int_ha_net_id: + hidden: false + immutable: false + type: string + description: HA network id + ssc_b_int_ha_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as HA IP of B instance. + ssc_mgmt_vip_0: + hidden: false + immutable: false + type: string + description: Management virtual IP address. + perimeta_keypair: + hidden: false + immutable: false + type: string + description: Keypair to use for accessing this Perimeta instance + vnf_id: + hidden: false + immutable: false + type: string + description: VNF ID of this deployment + availability_zone_1: + hidden: false + immutable: false + type: string + description: Availability zone for B instances. May be the same as A instance. + ssc_trusted_vip_0: + hidden: false + immutable: false + type: string + description: Trusted/core virtual IP address. + ssc_untrusted_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access virtual IP address + perimeta_sec_groups: + hidden: false + immutable: false + type: list + description: List of security groups to add on trusted interfaces. + entry_schema: + type: string + perimeta_untrusted_num_vlans: + hidden: false + immutable: false + type: float + description: number of VLANs to connect to the untrusted/access interface + constraints: + - in_range: + - 1 + - 1001 + ssc_rf_vip_0: + hidden: false + immutable: false + type: string + description: RF virtual IP address to use for SSC. + ssc_b_trusted_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of B instance. + trusted_net_id: + hidden: false + immutable: false + type: string + description: Trusted/core network UUID + ssc_untrusted_parent_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access parent virtual IP address + ssc_untrusted_v6_vip_0: + hidden: false + immutable: false + type: string + description: Untrusted/access alternate virtual IP address + ssc_b_untrusted_v6_ip_0: + hidden: false + immutable: false + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of B instance. + vm_role: + hidden: false + immutable: false + type: string + description: Role of these VMs + perimeta_untrusted_vlan_networks: + hidden: false + immutable: false + type: list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + entry_schema: + type: string + perimeta_image_name: + hidden: false + immutable: false + type: string + description: Glance image for Perimeta instance + ssc_b_rf_ip_0: + hidden: false + immutable: false + type: string + description: RF fixed IP address to use for SSC B. + mgmt_net_id: + hidden: false + immutable: false + type: string + description: Management network id + int_untrusted_parent_net_id: + hidden: false + immutable: false + type: string + description: internal Untrusted/access parent network id + perimeta_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating VM instances + node_templates: + perimeta_ssc_b_trusted_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_b_trusted_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_trusted_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: trusted + network: + get_input: trusted_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_b_untrusted_parent_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_b_untrusted_parent_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_untrusted_parent_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_untrusted_parent + network: + get_input: int_untrusted_parent_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_b_mgmt_1_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_b_rf_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_rf_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_1_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_b_unused_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: false + floating_ip_count_required: + is_required: false + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_unused_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: unused_port + network: + get_input: unused_port_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_b_server_0: + type: org.openecomp.resource.vfc.nodes.heat.ssc_b + properties: + flavor: + get_input: perimeta_flavor_name + key_name: + get_input: perimeta_keypair + availability_zone: + get_input: availability_zone_1 + image: + get_input: perimeta_image_name + metadata: + vf_module_id: + get_input: vf_module_id + vm_role: + str_replace: + template: $ROLE_b + params: + $ROLE: + get_input: vm_role + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + msw_template_version: 17.07.04 - 2017-09-01 + config_drive: true + user_data_format: RAW + name: + get_input: ssc_b_name_0 + scheduler_hints: + group: + get_input: perimeta_server_group + perimeta_ssc_b_mgmt_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: true + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_b_mgmt_ip_0 + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: ssc_mgmt_vip_0 + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_ssc_b_ha_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: ssc_b_int_ha_ip_0 + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VM: + get_input: ssc_b_name_0 + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_ha + network: + get_input: int_ha_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_ssc_b_server_0 + relationship: tosca.relationships.network.BindsTo + groups: + module_1_perimeta_swmu_b_child_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_1_perimeta_swmu_b_child.yaml + description: | + HOT template to instantiate an B side Perimeta SSC instance with 6 vNICs as part of a nested template + members: + - perimeta_ssc_b_trusted_0_port + - perimeta_ssc_b_untrusted_parent_0_port + - perimeta_ssc_b_mgmt_1_port + - perimeta_ssc_b_unused_0_port + - perimeta_ssc_b_server_0 + - perimeta_ssc_b_mgmt_0_port + - perimeta_ssc_b_ha_0_port + substitution_mappings: + node_type: org.openecomp.resource.abstract.nodes.heat.module_1_perimeta_swmu_b_child + capabilities: + host_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - host + network.outgoing.packets.rate_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.outgoing.packets.rate + vcpus_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - vcpus + binding_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - binding + network.incoming.bytes_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.incoming.bytes + network.outpoing.packets_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.outpoing.packets + disk.write.requests_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.write.requests + os_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - os + memory_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - memory + disk.device.write.bytes.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.write.bytes.rate + network.outgoing.bytes.rate_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.outgoing.bytes.rate + disk.read.bytes_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.read.bytes + network.outpoing.packets_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.outpoing.packets + network.outgoing.packets.rate_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.outgoing.packets.rate + disk.device.allocation_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.allocation + network.outgoing.packets.rate_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.outgoing.packets.rate + disk.write.requests.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.write.requests.rate + network.incoming.bytes.rate_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.incoming.bytes.rate + binding_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - binding + disk.device.iops_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.iops + network.outgoing.packets.rate_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.outgoing.packets.rate + disk.device.usage_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.usage + cpu_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - cpu + feature_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - feature + network.outgoing.bytes.rate_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.outgoing.bytes.rate + feature_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - feature + endpoint_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - endpoint + feature_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - feature + disk.device.read.requests_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.read.requests + attachment_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - attachment + cpu.delta_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - cpu.delta + network.incoming.packets_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.incoming.packets + disk.device.write.requests_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.write.requests + disk.device.write.bytes_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.write.bytes + disk.root.size_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.root.size + network.incoming.bytes.rate_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.incoming.bytes.rate + memory.resident_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - memory.resident + network.incoming.packets.rate_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.incoming.packets.rate + disk.ephemeral.size_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.ephemeral.size + network.incoming.packets_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.incoming.packets + instance_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - instance + attachment_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - attachment + network.incoming.bytes_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.incoming.bytes + network.incoming.bytes_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.incoming.bytes + network.incoming.packets_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.incoming.packets + feature_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - feature + binding_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - binding + network.outpoing.packets_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.outpoing.packets + disk.device.read.bytes_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.read.bytes + network.outgoing.bytes.rate_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.outgoing.bytes.rate + disk.latency_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.latency + network.outgoing.bytes_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.outgoing.bytes + attachment_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - attachment + binding_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - binding + network.outgoing.bytes.rate_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.outgoing.bytes.rate + network.outgoing.bytes_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.outgoing.bytes + network.incoming.packets.rate_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.incoming.packets.rate + disk.device.capacity_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.capacity + feature_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - feature + network.incoming.bytes.rate_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.incoming.bytes.rate + binding_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - binding + binding_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - binding + scalable_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - scalable + disk.device.latency_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.latency + network.incoming.packets_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.incoming.packets + disk.write.bytes.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.write.bytes.rate + disk.read.requests_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.read.requests + feature_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - feature + disk.usage_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.usage + attachment_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - attachment + attachment_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - attachment + network.outgoing.bytes.rate_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.outgoing.bytes.rate + disk.allocation_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.allocation + network.incoming.bytes.rate_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.incoming.bytes.rate + network.outgoing.bytes_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.outgoing.bytes + disk.iops_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.iops + disk.write.bytes_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.write.bytes + network.outpoing.packets_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.outpoing.packets + network.incoming.bytes_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.incoming.bytes + network.incoming.packets_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.incoming.packets + disk.device.read.requests.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.read.requests.rate + network.incoming.packets.rate_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.incoming.packets.rate + network.incoming.packets_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.incoming.packets + network.outpoing.packets_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.outpoing.packets + network.outgoing.bytes_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.outgoing.bytes + network.incoming.bytes_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.incoming.bytes + network.incoming.packets.rate_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - network.incoming.packets.rate + memory.usage_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - memory.usage + network.incoming.bytes.rate_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.incoming.bytes.rate + network.incoming.packets.rate_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.incoming.packets.rate + network.outgoing.packets.rate_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.outgoing.packets.rate + network.incoming.bytes_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.incoming.bytes + network.outgoing.bytes_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - network.outgoing.bytes + network.outgoing.bytes.rate_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - network.outgoing.bytes.rate + network.outgoing.packets.rate_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.outgoing.packets.rate + cpu_util_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - cpu_util + disk.device.read.bytes.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.read.bytes.rate + disk.capacity_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.capacity + network.incoming.packets.rate_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - network.incoming.packets.rate + network.outgoing.bytes_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.outgoing.bytes + network.outpoing.packets_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - network.outpoing.packets + disk.read.bytes.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.read.bytes.rate + disk.device.write.requests.rate_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - disk.device.write.requests.rate + attachment_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - attachment + feature_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - feature + network.incoming.bytes.rate_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - network.incoming.bytes.rate + binding_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - binding + requirements: + link_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - link + dependency_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - dependency + dependency_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - dependency + dependency_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - dependency + local_storage_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - local_storage + link_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - link + dependency_perimeta_ssc_b_trusted_0_port: + - perimeta_ssc_b_trusted_0_port + - dependency + dependency_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - dependency + link_perimeta_ssc_b_mgmt_1_port: + - perimeta_ssc_b_mgmt_1_port + - link + link_perimeta_ssc_b_untrusted_parent_0_port: + - perimeta_ssc_b_untrusted_parent_0_port + - link + dependency_perimeta_ssc_b_server_0: + - perimeta_ssc_b_server_0 + - dependency + link_perimeta_ssc_b_unused_0_port: + - perimeta_ssc_b_unused_0_port + - link + dependency_perimeta_ssc_b_mgmt_0_port: + - perimeta_ssc_b_mgmt_0_port + - dependency + link_perimeta_ssc_b_ha_0_port: + - perimeta_ssc_b_ha_0_port + - link
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_a_childServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_a_childServiceTemplate.yaml new file mode 100644 index 0000000000..e1c87c0ea3 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_a_childServiceTemplate.yaml @@ -0,0 +1,735 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: module_2_perimeta_sw_a_child +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- GlobalSubstitutionTypes: + file: GlobalSubstitutionTypesServiceTemplate.yaml +node_types: + org.openecomp.resource.vfc.nodes.heat.rtp_msc_a: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server +topology_template: + inputs: + vf_module_id: + hidden: false + immutable: false + type: string + description: Unique ID for this VF Module instance + int_ha_network_plen: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + constraints: + - in_range: + - 0 + - 31 + perimeta_config: + hidden: false + immutable: false + type: string + description: JSON orchestration template configuration for instance. + vnf_name: + hidden: false + immutable: false + type: string + description: Unique name for this VNF instance + perimeta_untrusted_vlan_ids: + hidden: false + immutable: false + type: list + description: List of VLAN IDs to use on the untrusted/access network + entry_schema: + type: string + int_ha_net_id: + hidden: false + immutable: false + type: string + description: HA network id + perimeta_instance_index: + hidden: false + immutable: false + type: float + description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances. + constraints: + - in_range: + - 0 + - 19 + perimeta_keypair: + hidden: false + immutable: false + type: string + description: Keypair to use for accessing this Perimeta instance + perimeta_server_groups: + hidden: false + immutable: false + type: list + description: Server groups to use for these VMs + entry_schema: + type: string + vnf_id: + hidden: false + immutable: false + type: string + description: VNF ID of this deployment + availability_zone_0: + hidden: false + immutable: false + type: string + description: Availability zone for A instances. + rtp_msc_mgmt_vips: + hidden: false + immutable: false + type: list + description: List of management virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_sec_groups: + hidden: false + immutable: false + type: list + description: List of security groups to add on trusted interfaces. + entry_schema: + type: string + rtp_msc_untrusted_parent_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access parent virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_untrusted_num_vlans: + hidden: false + immutable: false + type: float + description: number of VLANs to connect to the untrusted/access interface + constraints: + - in_range: + - 1 + - 1001 + rtp_msc_a_int_ha_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as HA IPs of A instances. + entry_schema: + type: string + rtp_msc_a_untrusted_parent_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of A instances. + entry_schema: + type: string + rtp_msc_a_trusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of A instances. + entry_schema: + type: string + rtp_msc_untrusted_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access virtual IP addresses for all instances. + entry_schema: + type: string + trusted_net_id: + hidden: false + immutable: false + type: string + description: Trusted/core network UUID + rtp_msc_b_int_ha_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as HA IPs of B instances. + entry_schema: + type: string + rtp_msc_a_mgmt_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as management IPs of A instances. + entry_schema: + type: string + rtp_msc_a_untrusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access fixed IPs of A instances. + entry_schema: + type: string + vm_role: + hidden: false + immutable: false + type: string + description: Role of these VMs + rtp_msc_untrusted_v6_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_untrusted_vlan_networks: + hidden: false + immutable: false + type: list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + entry_schema: + type: string + rtp_msc_a_untrusted_v6_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of A instances. + entry_schema: + type: string + perimeta_image_name: + hidden: false + immutable: false + type: string + description: Glance image for Perimeta instance + mgmt_net_id: + hidden: false + immutable: false + type: string + description: Management network id + int_untrusted_parent_net_id: + hidden: false + immutable: false + type: string + description: internal Untrusted/access parent network id + rtp_msc_a_names: + hidden: false + immutable: false + type: list + description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index + entry_schema: + type: string + perimeta_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating VM instances + rtp_msc_trusted_vips: + hidden: false + immutable: false + type: list + description: List of Trusted/core virtual IP addresses for all instances. + entry_schema: + type: string + node_templates: + perimeta_rtp_msc_a_trusted_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_a_trusted_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_trusted_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VM: + get_input: + - rtp_msc_a_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: trusted + network: + get_input: trusted_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_a_ha_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_a_int_ha_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VM: + get_input: + - rtp_msc_a_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_ha + network: + get_input: int_ha_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_a_untrusted_parent_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_a_untrusted_parent_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_untrusted_parent_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VM: + get_input: + - rtp_msc_a_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_untrusted_parent + network: + get_input: int_untrusted_parent_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_a_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_a_server_0: + type: org.openecomp.resource.vfc.nodes.heat.rtp_msc_a + properties: + flavor: + get_input: perimeta_flavor_name + key_name: + get_input: perimeta_keypair + availability_zone: + get_input: availability_zone_0 + image: + get_input: perimeta_image_name + metadata: + vf_module_id: + get_input: vf_module_id + vm_role: + str_replace: + template: $ROLE_a + params: + $ROLE: + get_input: vm_role + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + msw_template_version: 17.07.04 - 2017-09-01 + config_drive: true + personality: + /opt/MetaSwitch/init/custom.ini: + get_artifact: + - SELF + - custom + user_data_format: RAW + name: + get_input: + - rtp_msc_a_names + - get_input: perimeta_instance_index + scheduler_hints: + group: + get_input: + - perimeta_server_groups + - get_input: perimeta_instance_index + artifacts: + custom: + type: tosca.artifacts.Deployment + file: ../Artifacts/custom.ini + perimeta_rtp_msc_a_mgmt_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_a_mgmt_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_mgmt_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VM: + get_input: + - rtp_msc_a_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_a_server_0 + relationship: tosca.relationships.network.BindsTo + groups: + module_2_perimeta_sw_a_child_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_2_perimeta_sw_a_child.yaml + description: | + HOT template to instantiate an A side Perimeta RTP MSC instance with 4 vNICs as part of a nested template + members: + - perimeta_rtp_msc_a_trusted_0_port + - perimeta_rtp_msc_a_ha_0_port + - perimeta_rtp_msc_a_untrusted_parent_0_port + - perimeta_rtp_msc_a_server_0 + - perimeta_rtp_msc_a_mgmt_0_port + substitution_mappings: + node_type: org.openecomp.resource.abstract.nodes.heat.module_2_perimeta_sw_a_child + capabilities: + attachment_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - attachment + disk.device.read.requests_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.read.requests + attachment_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - attachment + feature_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - feature + disk.device.latency_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.latency + vcpus_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - vcpus + memory.resident_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - memory.resident + binding_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - binding + network.outgoing.packets.rate_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.outgoing.packets.rate + network.incoming.bytes_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.incoming.bytes + attachment_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - attachment + cpu_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - cpu + disk.capacity_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.capacity + network.outgoing.bytes_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.outgoing.bytes + network.outgoing.bytes.rate_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.outgoing.bytes.rate + disk.read.bytes_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.read.bytes + network.outgoing.bytes.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.outgoing.bytes.rate + network.outpoing.packets_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.outpoing.packets + os_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - os + feature_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - feature + network.incoming.packets_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.incoming.packets + disk.device.allocation_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.allocation + disk.write.requests.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.write.requests.rate + network.incoming.bytes.rate_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.incoming.bytes.rate + network.incoming.bytes_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.incoming.bytes + disk.device.iops_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.iops + feature_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - feature + network.incoming.bytes_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.incoming.bytes + network.incoming.bytes.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.incoming.bytes.rate + network.incoming.bytes.rate_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.incoming.bytes.rate + disk.device.usage_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.usage + disk.write.bytes_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.write.bytes + attachment_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - attachment + network.outgoing.bytes_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.outgoing.bytes + feature_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - feature + disk.usage_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.usage + binding_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - binding + disk.iops_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.iops + disk.allocation_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.allocation + disk.device.write.bytes.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.write.bytes.rate + disk.device.capacity_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.capacity + network.outpoing.packets_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.outpoing.packets + disk.ephemeral.size_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.ephemeral.size + network.incoming.packets_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.incoming.packets + cpu_util_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - cpu_util + network.outgoing.bytes.rate_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.outgoing.bytes.rate + network.outgoing.bytes.rate_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.outgoing.bytes.rate + network.incoming.packets_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.incoming.packets + scalable_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - scalable + host_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - host + disk.device.read.requests.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.read.requests.rate + network.incoming.packets.rate_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.incoming.packets.rate + network.incoming.packets.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.incoming.packets.rate + network.outgoing.bytes_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.outgoing.bytes + network.outpoing.packets_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.outpoing.packets + network.outpoing.packets_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.outpoing.packets + network.incoming.bytes_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.incoming.bytes + disk.root.size_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.root.size + network.incoming.packets.rate_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.incoming.packets.rate + network.outgoing.packets.rate_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.outgoing.packets.rate + disk.write.bytes.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.write.bytes.rate + network.outgoing.packets.rate_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.outgoing.packets.rate + endpoint_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - endpoint + feature_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - feature + network.incoming.packets_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.incoming.packets + binding_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - binding + disk.device.write.requests.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.write.requests.rate + binding_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - binding + instance_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - instance + disk.read.bytes.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.read.bytes.rate + binding_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - binding + disk.latency_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.latency + network.incoming.packets.rate_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - network.incoming.packets.rate + disk.device.read.bytes_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.read.bytes + network.outgoing.packets.rate_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - network.outgoing.packets.rate + disk.read.requests_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.read.requests + disk.device.read.bytes.rate_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.read.bytes.rate + disk.device.write.bytes_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.write.bytes + network.incoming.bytes.rate_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - network.incoming.bytes.rate + memory_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - memory + network.outgoing.bytes_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - network.outgoing.bytes + disk.device.write.requests_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.device.write.requests + disk.write.requests_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - disk.write.requests + cpu.delta_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - cpu.delta + memory.usage_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - memory.usage + requirements: + link_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - link + local_storage_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - local_storage + dependency_perimeta_rtp_msc_a_server_0: + - perimeta_rtp_msc_a_server_0 + - dependency + dependency_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - dependency + dependency_perimeta_rtp_msc_a_trusted_0_port: + - perimeta_rtp_msc_a_trusted_0_port + - dependency + dependency_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - dependency + link_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - link + link_perimeta_rtp_msc_a_ha_0_port: + - perimeta_rtp_msc_a_ha_0_port + - link + link_perimeta_rtp_msc_a_untrusted_parent_0_port: + - perimeta_rtp_msc_a_untrusted_parent_0_port + - link + dependency_perimeta_rtp_msc_a_mgmt_0_port: + - perimeta_rtp_msc_a_mgmt_0_port + - dependency
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_b_childServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_b_childServiceTemplate.yaml new file mode 100644 index 0000000000..ce9748e1f7 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/expectedoutputfiles/module_2_perimeta_sw_b_childServiceTemplate.yaml @@ -0,0 +1,721 @@ +tosca_definitions_version: tosca_simple_yaml_1_0_0 +metadata: + template_name: module_2_perimeta_sw_b_child +imports: +- openecomp_heat_index: + file: openecomp-heat/_index.yml +- GlobalSubstitutionTypes: + file: GlobalSubstitutionTypesServiceTemplate.yaml +node_types: + org.openecomp.resource.vfc.nodes.heat.rtp_msc_b: + derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server +topology_template: + inputs: + vf_module_id: + hidden: false + immutable: false + type: string + description: Unique ID for this VF Module instance + int_ha_network_plen: + hidden: false + immutable: false + type: float + description: Prefix length of subnet associated with internal HA network + constraints: + - in_range: + - 0 + - 31 + rtp_msc_b_untrusted_v6_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of B instances. + entry_schema: + type: string + rtp_msc_b_mgmt_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as management IPs of B instances. + entry_schema: + type: string + vnf_name: + hidden: false + immutable: false + type: string + description: Unique name for this VNF instance + perimeta_untrusted_vlan_ids: + hidden: false + immutable: false + type: list + description: List of VLAN IDs to use on the untrusted/access network + entry_schema: + type: string + rtp_msc_b_names: + hidden: false + immutable: false + type: list + description: List of names of Perimeta VM B instances, indexed by perimeta_instance_index + entry_schema: + type: string + rtp_msc_b_untrusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access fixed IPs of B instances. + entry_schema: + type: string + int_ha_net_id: + hidden: false + immutable: false + type: string + description: HA network id + perimeta_instance_index: + hidden: false + immutable: false + type: float + description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances. + constraints: + - in_range: + - 0 + - 19 + perimeta_keypair: + hidden: false + immutable: false + type: string + description: Keypair to use for accessing this Perimeta instance + perimeta_server_groups: + hidden: false + immutable: false + type: list + description: Server groups to use for these VMs + entry_schema: + type: string + vnf_id: + hidden: false + immutable: false + type: string + description: VNF ID of this deployment + availability_zone_1: + hidden: false + immutable: false + type: string + description: Availability zone for B instances. May be the same as A instance. + rtp_msc_mgmt_vips: + hidden: false + immutable: false + type: list + description: List of management virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_sec_groups: + hidden: false + immutable: false + type: list + description: List of security groups to add on trusted interfaces. + entry_schema: + type: string + rtp_msc_untrusted_parent_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access parent virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_untrusted_num_vlans: + hidden: false + immutable: false + type: float + description: number of VLANs to connect to the untrusted/access interface + constraints: + - in_range: + - 1 + - 1001 + rtp_msc_a_int_ha_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as HA IPs of A instances. + entry_schema: + type: string + rtp_msc_b_trusted_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of B instances. + entry_schema: + type: string + rtp_msc_untrusted_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access virtual IP addresses for all instances. + entry_schema: + type: string + trusted_net_id: + hidden: false + immutable: false + type: string + description: Trusted/core network UUID + rtp_msc_b_int_ha_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as HA IPs of B instances. + entry_schema: + type: string + vm_role: + hidden: false + immutable: false + type: string + description: Role of these VMs + rtp_msc_untrusted_v6_vips: + hidden: false + immutable: false + type: list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + entry_schema: + type: string + perimeta_untrusted_vlan_networks: + hidden: false + immutable: false + type: list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + entry_schema: + type: string + perimeta_image_name: + hidden: false + immutable: false + type: string + description: Glance image for Perimeta instance + rtp_msc_b_untrusted_parent_ips: + hidden: false + immutable: false + type: list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of B instances. + entry_schema: + type: string + mgmt_net_id: + hidden: false + immutable: false + type: string + description: Management network id + int_untrusted_parent_net_id: + hidden: false + immutable: false + type: string + description: internal Untrusted/access parent network id + perimeta_flavor_name: + hidden: false + immutable: false + type: string + description: Flavor to use for creating VM instances + rtp_msc_trusted_vips: + hidden: false + immutable: false + type: list + description: List of Trusted/core virtual IP addresses for all instances. + entry_schema: + type: string + node_templates: + perimeta_rtp_msc_b_trusted_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_b_trusted_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_trusted_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VM: + get_input: + - rtp_msc_b_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: trusted + network: + get_input: trusted_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_b_mgmt_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_b_mgmt_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_mgmt_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VM: + get_input: + - rtp_msc_b_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: mgmt + network: + get_input: mgmt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_b_server_0: + type: org.openecomp.resource.vfc.nodes.heat.rtp_msc_b + properties: + flavor: + get_input: perimeta_flavor_name + key_name: + get_input: perimeta_keypair + availability_zone: + get_input: availability_zone_1 + image: + get_input: perimeta_image_name + metadata: + vf_module_id: + get_input: vf_module_id + vm_role: + str_replace: + template: $ROLE_b + params: + $ROLE: + get_input: vm_role + vnf_id: + get_input: vnf_id + vnf_name: + get_input: vnf_name + msw_template_version: 17.07.04 - 2017-09-01 + config_drive: true + user_data_format: RAW + name: + get_input: + - rtp_msc_b_names + - get_input: perimeta_instance_index + scheduler_hints: + group: + get_input: + - perimeta_server_groups + - get_input: perimeta_instance_index + perimeta_rtp_msc_b_ha_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_b_int_ha_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VM: + get_input: + - rtp_msc_b_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_ha + network: + get_input: int_ha_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_b_server_0 + relationship: tosca.relationships.network.BindsTo + perimeta_rtp_msc_b_untrusted_parent_0_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + properties: + ip_requirements: + - ip_version: 4 + ip_count_required: + is_required: true + floating_ip_count_required: + is_required: false + security_groups: + get_input: perimeta_sec_groups + fixed_ips: + - ip_address: + get_input: + - rtp_msc_b_untrusted_parent_ips + - get_input: perimeta_instance_index + mac_requirements: + mac_count_required: + is_required: false + allowed_address_pairs: + - ip_address: + get_input: + - rtp_msc_untrusted_parent_vips + - get_input: perimeta_instance_index + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VM: + get_input: + - rtp_msc_b_names + - get_input: perimeta_instance_index + $VNF_NAME: + get_input: vnf_name + network_role_tag: int_untrusted_parent + network: + get_input: int_untrusted_parent_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: perimeta_rtp_msc_b_server_0 + relationship: tosca.relationships.network.BindsTo + groups: + module_2_perimeta_sw_b_child_group: + type: org.openecomp.groups.heat.HeatStack + properties: + heat_file: ../Artifacts/module_2_perimeta_sw_b_child.yaml + description: | + HOT template to instantiate an B side Perimeta RTP MSC instance with 4 vNICs as part of a nested template + members: + - perimeta_rtp_msc_b_trusted_0_port + - perimeta_rtp_msc_b_mgmt_0_port + - perimeta_rtp_msc_b_server_0 + - perimeta_rtp_msc_b_ha_0_port + - perimeta_rtp_msc_b_untrusted_parent_0_port + substitution_mappings: + node_type: org.openecomp.resource.abstract.nodes.heat.module_2_perimeta_sw_b_child + capabilities: + attachment_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - attachment + disk.read.requests_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.read.requests + network.incoming.bytes.rate_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.incoming.bytes.rate + network.incoming.packets_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.incoming.packets + attachment_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - attachment + disk.device.read.requests.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.read.requests.rate + network.outgoing.packets.rate_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.outgoing.packets.rate + network.incoming.bytes_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.incoming.bytes + network.incoming.bytes.rate_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.incoming.bytes.rate + disk.latency_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.latency + network.incoming.packets.rate_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.incoming.packets.rate + disk.device.write.requests_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.write.requests + disk.device.read.bytes.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.read.bytes.rate + memory_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - memory + network.outgoing.bytes.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.outgoing.bytes.rate + feature_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - feature + network.incoming.packets_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.incoming.packets + disk.ephemeral.size_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.ephemeral.size + network.outgoing.bytes.rate_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.outgoing.bytes.rate + attachment_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - attachment + disk.capacity_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.capacity + network.incoming.bytes_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.incoming.bytes + cpu_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - cpu + disk.device.capacity_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.capacity + binding_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - binding + disk.device.usage_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.usage + disk.device.allocation_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.allocation + disk.write.requests.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.write.requests.rate + network.outpoing.packets_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.outpoing.packets + disk.root.size_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.root.size + cpu_util_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - cpu_util + disk.device.latency_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.latency + attachment_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - attachment + os_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - os + disk.device.write.bytes.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.write.bytes.rate + network.outgoing.bytes_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.outgoing.bytes + disk.device.read.bytes_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.read.bytes + network.outgoing.packets.rate_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.outgoing.packets.rate + network.incoming.packets_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.incoming.packets + disk.device.iops_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.iops + network.incoming.packets.rate_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.incoming.packets.rate + network.incoming.packets_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.incoming.packets + disk.write.bytes_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.write.bytes + network.incoming.bytes_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.incoming.bytes + network.outgoing.bytes.rate_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.outgoing.bytes.rate + network.outgoing.bytes_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.outgoing.bytes + instance_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - instance + disk.device.write.requests.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.write.requests.rate + network.outgoing.packets.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.outgoing.packets.rate + network.incoming.bytes_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.incoming.bytes + network.outgoing.bytes_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.outgoing.bytes + vcpus_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - vcpus + memory.resident_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - memory.resident + network.outgoing.bytes_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.outgoing.bytes + feature_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - feature + endpoint_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - endpoint + network.outpoing.packets_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.outpoing.packets + disk.write.requests_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.write.requests + network.incoming.packets.rate_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.incoming.packets.rate + disk.read.bytes_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.read.bytes + disk.write.bytes.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.write.bytes.rate + network.incoming.packets.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.incoming.packets.rate + memory.usage_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - memory.usage + binding_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - binding + scalable_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - scalable + cpu.delta_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - cpu.delta + disk.device.write.bytes_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.write.bytes + network.outpoing.packets_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.outpoing.packets + disk.allocation_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.allocation + feature_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - feature + disk.usage_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.usage + binding_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - binding + host_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - host + network.outpoing.packets_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.outpoing.packets + feature_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - feature + binding_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - binding + network.incoming.bytes.rate_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - network.incoming.bytes.rate + network.outgoing.bytes.rate_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - network.outgoing.bytes.rate + disk.iops_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.iops + disk.device.read.requests_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.device.read.requests + network.incoming.bytes.rate_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - network.incoming.bytes.rate + feature_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - feature + binding_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - binding + network.outgoing.packets.rate_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - network.outgoing.packets.rate + disk.read.bytes.rate_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - disk.read.bytes.rate + requirements: + link_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - link + dependency_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - dependency + link_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - link + dependency_perimeta_rtp_msc_b_trusted_0_port: + - perimeta_rtp_msc_b_trusted_0_port + - dependency + dependency_perimeta_rtp_msc_b_ha_0_port: + - perimeta_rtp_msc_b_ha_0_port + - dependency + dependency_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - dependency + dependency_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - dependency + local_storage_perimeta_rtp_msc_b_server_0: + - perimeta_rtp_msc_b_server_0 + - local_storage + link_perimeta_rtp_msc_b_mgmt_0_port: + - perimeta_rtp_msc_b_mgmt_0_port + - link + link_perimeta_rtp_msc_b_untrusted_parent_0_port: + - perimeta_rtp_msc_b_untrusted_parent_0_port + - link
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/MANIFEST.json new file mode 100644 index 0000000000..95370a29a8 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/MANIFEST.json @@ -0,0 +1,86 @@ +{ + "name": "xbi test TSBC 0905", + "description": "test", + "version": "0.1", + "data": [ + { + "isBase": false, + "file": "module_2_perimeta_rtp_msc_b.yaml", + "type": "HEAT", + "data": [ + { + "file": "module_2_perimeta_rtp_msc_b.env", + "type": "HEAT_ENV" + } + ] + }, + { + "isBase": false, + "file": "module_2_perimeta_rtp_msc_a.yaml", + "type": "HEAT", + "data": [ + { + "file": "module_2_perimeta_rtp_msc_a.env", + "type": "HEAT_ENV" + } + ] + }, + { + "isBase": false, + "file": "module_1_perimeta_ssc_b.yaml", + "type": "HEAT", + "data": [ + { + "file": "module_1_perimeta_ssc_b.env", + "type": "HEAT_ENV" + } + ] + }, + { + "isBase": false, + "file": "module_1_perimeta_ssc_a.yaml", + "type": "HEAT", + "data": [ + { + "file": "module_1_perimeta_ssc_a.env", + "type": "HEAT_ENV" + } + ] + }, + { + "isBase": true, + "file": "base_perimeta_deployment_create.yaml", + "type": "HEAT", + "data": [ + { + "file": "base_perimeta_deployment_create.env", + "type": "HEAT_ENV" + } + ] + }, + { + "file": "module_2_perimeta_sw_b_child.yaml", + "type": "HEAT" + }, + { + "file": "vlan_subinterface_dual.yaml", + "type": "HEAT" + }, + { + "file": "module_2_perimeta_sw_a_child.yaml", + "type": "HEAT" + }, + { + "file": "module_1_perimeta_swmu_b_child.yaml", + "type": "HEAT" + }, + { + "file": "module_1_perimeta_swmu_a_child.yaml", + "type": "HEAT" + }, + { + "file": "custom.ini", + "type": "OTHER" + } + ] +}
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.env new file mode 100644 index 0000000000..03aa1aed5e --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.env @@ -0,0 +1,34 @@ +# Environment file for heat template which instantiates base resources for a +# Perimeta deployment +# +parameters: + # + # General ECOMP VNF parameters + # + + # Unique VNF name + #vnf_name: tsbc0002 + + # + # General deployment parameters. + # + + # SSH public key to upload to Perimeta instances for ssh access. + perimeta_ssh_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXvSadEWp+nsz3gEAAAAAAAAAAbggQ3t06mqFIauHfUYMiKZ3EUX3jDFf/uGQoNsIZU6SNE/gl3tY4fFvO8Yzj8OY/vstHHvEadbY5aXNE6kd39ik20uRNbeZLT+pRllBwVKBSVnFqG3kBDvNWmBIenlPZzu3Ay0LYT/aDq6fZaz8Mqy8hzhpAAAAAAAAAAEmS/ESYY4UMs/aF2fVGmCLqudSjLpSsyD8lXag2dmeiT7cTdwRkgtDNTULXCPVucolVZwZF9BxXPNK++B+fL/ZY4MrXHXgZYGEElrMCFYkQFb3jQv3XQtxZ6gVByrzgGc9eiU7tkCgY2cVfb22iIs9n Generated-by-Nova" + + + # Max number of RTP MSC pair in the site. This is used to create the correct + # number of MSRP specific server groups. These are used by the appropriate + # module_2 yaml files to associate the server group with the particular + # perimeta RTP VF pair + perimeta_max_rtp_msc_count: 8 + + # + # Shared internal HA network related parameters + # + + # IPv4 network prefix for internal HA network + perimeta_int_ha_net_prefix_v4: 172.26.1.4 + + # IPv4 network prefix length for internal HA network + perimeta_int_ha_net_prefix_len_v4: 26 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml new file mode 100644 index 0000000000..4b97d04fd7 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/base_perimeta_deployment_create.yaml @@ -0,0 +1,222 @@ +# Heat template which instantiates base resources for a Perimeta deployment, +# namely. +# - keypair +# - security group +# - SSC server group +# - RTP MSC server group +# - Internal HA network +# - Internal unused network +# - Internal parent network for the untrusted VLANs +# +# Template version 17.07.04 - 2017-09-01 +# +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate base shared resources for a Perimeta deployment + +parameters: + vnf_name: + type: string + description: Unique name for this VNF instance + perimeta_ssh_key: + type: string + description: SSH public key + # Deployment scaling parameters + perimeta_max_rtp_msc_count: + type: number + description: Max number of RTP MSCs in a site. + constraints: + - range: { min: 0, max: 20 } + description: perimeta_max_rtp_msc_count must be between 0 and 20 + # Internal high availability network parameters + perimeta_int_ha_net_prefix_v4: + type: string + description: IPv4 subnet prefix for internal HA network + perimeta_int_ha_net_prefix_len_v4: + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: int_ha_net_plen must be between 0 and 31 + +resources: + # Resource Security Group + shared_perimeta_rsg: + type: OS::Neutron::SecurityGroup + properties: + description: Security Group for Perimeta networks + name: + str_replace: + template: $VNF_NAME_shared_perimeta_RSG + params: + $VNF_NAME: { get_param: vnf_name } + rules: + - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"} + - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "icmp", "ethertype": "IPv6"} + - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"} + - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "icmp", "ethertype": "IPv6"} + - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1} + - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1} + + # Keypair for use by Perimeta instances. + shared_perimeta_keypair: + type: OS::Nova::KeyPair + properties: + name: + str_replace: + template: $VNF_NAME_key_pair + params: + $VNF_NAME: { get_param: vnf_name } + public_key: {get_param: perimeta_ssh_key} + save_private_key: false + + # Create the server groups. We need one per pair of perimeta VFs in the site + # We only have one SSC + # We can have multiple RTP MSCs + + shared_perimeta_ssc_server_gp: + type: OS::Nova::ServerGroup + properties: + name: + str_replace: + template: $VNF_NAME_shared_ssc_RSG_name_0 + params: + $VNF_NAME: { get_param: vnf_name } + policies: ['anti-affinity'] + + + shared_perimeta_rtp_msc_server_gps: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: perimeta_max_rtp_msc_count } + resource_def: + type: OS::Nova::ServerGroup + properties: + name: + str_replace: + template: $VNF_NAME_shared_rtp_msc_RSG_name_"%index%" + params: + $VNF_NAME: { get_param: vnf_name } + policies: ['anti-affinity'] + + # Internal HA network for deployment. + # This is a private network with all instances on the same isolated L2 + # L2 subnet. There is no requirement for routing in an IP sense which + # means that there is no need for a default gateway + perimeta_internal_ha_ipam_net_0: + type: OS::ContrailV2::NetworkIpam + properties: + name: + str_replace: + template: $VF_NAME_int_ha_ipam_net_0 + params: + $VF_NAME: { get_param: vnf_name } + + shared_perimeta_internal_ha_net_0: + type: OS::ContrailV2::VirtualNetwork + depends_on: [ perimeta_internal_ha_ipam_net_0 ] + properties: + name: + str_replace: + template: $VF_NAME_int_ha_net_0 + params: + $VF_NAME: { get_param: vnf_name } + virtual_network_properties: + virtual_network_properties_rpf: enable + is_shared: false + flood_unknown_unicast: true + network_ipam_refs: + - get_resource: perimeta_internal_ha_ipam_net_0 + network_ipam_refs_data: + - network_ipam_refs_data_ipam_subnets: + - network_ipam_refs_data_ipam_subnets_subnet: + network_ipam_refs_data_ipam_subnets_subnet_ip_prefix: { get_param: perimeta_int_ha_net_prefix_v4 } + network_ipam_refs_data_ipam_subnets_subnet_ip_prefix_len: { get_param: perimeta_int_ha_net_prefix_len_v4 } + network_ipam_refs_data_ipam_subnets_enable_dhcp: false + + # Internal unused network - required for unused ports on SSC. + shared_perimeta_unused_net_0: + type: OS::Neutron::Net + properties: + name: + str_replace: + template: $VF_NAME_int_unused_net + params: + $VF_NAME: { get_param: vnf_name } + + # A subnet is required for unused network but we just use arbitrary IP addresses + # as these will never be used. + shared_perimeta_unused_net_0_subnet: + type: OS::Neutron::Subnet + depends_on: [ shared_perimeta_unused_net_0 ] + properties: + network: { get_resource: shared_perimeta_unused_net_0 } + cidr: "10.0.0.0/29" + ip_version: 4 + enable_dhcp: false + gateway_ip: "" + + # Internal parent network - required for untrusted network to anchor the VLANs + shared_perimeta_int_untrusted_parent_net_0: + type: OS::Neutron::Net + properties: + name: + str_replace: + template: $VF_NAME_int_untrusted_parent_net + params: + $VF_NAME: { get_param: vnf_name } + + # A subnet is required for untrusted parent network but we just use arbitrary IP addresses + # as these will never be used to route traffic. + shared_perimeta_int_untrusted_parent_net_0_subnet: + type: OS::Neutron::Subnet + depends_on: [ shared_perimeta_int_untrusted_parent_net_0 ] + properties: + network: { get_resource: shared_perimeta_int_untrusted_parent_net_0 } + cidr: "11.0.0.0/24" + ip_version: 4 + enable_dhcp: false + gateway_ip: "" + +outputs: + + shared_perimeta_ssc_server_group: + description: Perimeta SSC Server group + value: { get_resource: shared_perimeta_ssc_server_gp} + + + shared_perimeta_rtp_msc_server_groups: + description: Perimeta RTP MSC Server groups + value: { list_join: [ ',' , { get_attr: [shared_perimeta_rtp_msc_server_gps, refs ] } ] } + + shared_perimeta_keypair: + description: SSH keypair for deployment + value: { get_resource: shared_perimeta_keypair } + + shared_perimeta_sec_groups: + description: List of security groups to use for all network interfaces + value: { get_resource: shared_perimeta_rsg } + + shared_int_ha_net_id: + description: HA internal network for deployment + value: { get_resource: shared_perimeta_internal_ha_net_0 } + + shared_int_ha_net_prefix_len_v4: + description: HA internal network IPv4 prefix length + value: { get_param: perimeta_int_ha_net_prefix_len_v4 } + + shared_ssc_unused_net_id: + description: Unused internal network for deployment + value: { get_resource: shared_perimeta_unused_net_0 } + + shared_int_untrusted_parent_net_id: + description: Internal untrusted parent network for deployment + value: { get_resource: shared_perimeta_int_untrusted_parent_net_0 } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/custom.ini b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/custom.ini new file mode 100644 index 0000000000..1d18c706f9 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/custom.ini @@ -0,0 +1,21 @@ +;****************************************************************************** +;* Perimeta Custom Initialization File. * +;* * +;* ***** IMPORTANT ***** * +;* * +;* Background: * +;* - This file is maintained across Software Upgrade. * +;* - The format is similar to nbase.ini but it is only for parameters that * +;* are read by NBB_GET_CUSTOM_INT_INT/STRING(). * +;* - Comments begin with the character ';' * +;* * +;* To make a change to this file: * +;* - Edit only the copy in /opt/MetaSwitch/init. * +;* - After editing, run mslu_config_change to backup this file. * +;* - Repeat the above two bullets on the other controller. * +;* * +;****************************************************************************** +; Set max_dlow_pairs to limit the number of flowpairs supported by an MSC or +; ISC. This actually counts in unidirectional flows, so to limit to say +; 100 flowpairs, then you would set the limit to 200 +mpf_max_flow_pairs=10000 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.env new file mode 100644 index 0000000000..9c0153efaa --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.env @@ -0,0 +1,208 @@ +# Environment file for instantiating +# - 1 x HA SSC pair - A instance +# +# During initial instantiation, the Perimeta A instance is configured with +# minimal configuration, commissioned as an SSC and started. In addition, it +# will attempt partnering with the B instance when it becomes availble. +# +# During healing, the Perimeta A instance is only configured with sufficient +# configuration to allow partnering from the B instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# + +parameters: + # + # General VNF parameters + # + # Unique VNF name + #vnf_name: tsbc0002 + # ID of VNF + #vnf_id: ibcx0002 + # Unique ID for this VF Module instance + #vf_module_id: ibcx + # Availability zone for A instances. + #availability_zone_0: DPA3_D2_AZ1 + # + # Shared parameters from base template + # + # Internal HA network UUID + #shared_int_ha_net_id: "c8994bb0-9dbd-43e7-a8f9-658c54e35d23" + # Internal HA network IPv4 prefix length + #shared_int_ha_net_prefix_len_v4: 26 + # Keypair UUID + #shared_perimeta_keypair: "atttest_key_pair" + # List of security groups to use for all interfaces + #shared_perimeta_sec_groups: [ "2412dd6a-d784-40a5-a195-7a7da2349178" ] + # Anti-affinity server groups to use for SSCs + #shared_perimeta_ssc_server_group: "308e8e5b-fac5-4964-b86c-47d8b439fe44" + # Unused network parameters + #shared_ssc_unused_net_id: "dd410626-5658-445c-8f97-1142e2d521ab" + + # + # SSC parameters + # + # Flavor to use for creating SSC VM instance + ssc_flavor_name: gv.c8r16d160 + # Glance image to use for launching SSC Perimeta instances. + ssc_image_name: ISBC_SBC_v4.0.40_SU12.qcow2 + + + # VNFC of the SSC VIP + #ssc_vnfcname_0: ibcx0002vm001ssc001pair + # VNFCs of the servers + #ssc_a_vnfcname_0: ibcx0002vm001ssc001 + #ssc_b_vnfcname_0: ibcx0002vm002ssc001 + + # Name of VM A of SSC + #ssc_a_name_0: ibcx0002vm001 + + # + # HA network parameters + # + # HA fixed IPv4 address to use for SSC A. + #ssc_a_int_ha_ip_0: 172.26.1.4 + # HA fixed IPv4 address to use for SSC B. + #ssc_b_int_ha_ip_0: 172.26.1.5 + + # + # Management network parameters + # + # Management network ID + #mgmt_net_id: 4b5621b0-4ca4-4ea0-8511-860318c4fc3b + # Management network prefix length + #mgmt_net_plen: 26 + # Default gateway for management network + #mgmt_net_default_gateway: 135.144.188.131 + # Management virtual IPv4 address to use for SSC. + #ssc_mgmt_vip_0: 135.144.188.133 + # Management fixed IPv4 address to use for SSC A. + #ssc_a_mgmt_ip_0: 135.144.188.132 + # Management fixed IPv4 address to use for SSC B. + #ssc_b_mgmt_ip_0: 135.144.188.136 + + # + # Trusted/core network parameters + # + # Network ID of Trusted/core network. + #trusted_net_id: 3d584971-4ec6-408c-92fe-3073666fbcb9 + # Virtual IPv4 address on Trusted/core network for SSC. + #ssc_trusted_vip_0: 10.1.1.5 + # Fixed IPv4 address on Trusted/core network for SSC A. + #ssc_a_trusted_ip_0: 10.1.1.4 + + # + # Untrusted/access network parameters + # + # Using VLANs on Untrusted/access + #shared_int_untrusted_parent_net_id: a0ddd409-f6a7-465a-a091-827a12402252 + # Virtual IPv4 address on Untrusted/access parent network for SSC. + #ssc_untrusted_parent_vip_0: 11.0.0.6 + # Fixed IPv4 address on Untrusted/access parent network for SSC A. + #ssc_a_untrusted_parent_ip_0: 11.0.0.4 + + #perimeta_untrusted_num_vlans: 5 + #perimeta_untrusted_vlan_ids: ["81", "1001", "1002", "1003", "1004"] + #perimeta_untrusted_vlan_networks: [95c74fbb-0650-4ac2-bd4f-7b4fb50b4b5d,aa1a5096-61fd-421b-a74b-0b4a72c47856,ced72584-9c09-4d67-9b9f-8faf4c081c45,6311c9db-c4ba-41f5-85e5-4a3cc85d7f55,79391429-9c52-44f5-b9a9-4547fec0e9d4] + + + + # Virtual IPv4 address on Untrusted/access network for SSC. + #ssc_untrusted_vip_0: 12.121.106.133 + # Virtual IPv6 address on Untrusted/access network for SSC. + #ssc_untrusted_v6_vip_0: 2001:1890:1001:2B38::2D:2 + # Fixed IPv4 address on Untrusted/access network for SSC A. + #ssc_a_untrusted_ip_0: 12.121.106.132 + # Fixed IPv6 address on Untrusted/access network for SSC A. + #ssc_a_untrusted_v6_ip_0: 2001:1890:1001:2B38::2D:1 + + # + # management/Rf network parameters + # + # Virtual IPv4 address on management/Rf network for SSC. + #ssc_rf_vip_0: 135.144.188.135 + # Fixed IPv4 address on management/Rf network for SSC A. + #ssc_a_rf_ip_0: 135.144.188.134 + + # + # A side healing / instantiation parameters + # + # + # Healing or instantiation? This is used to ensure that the json file passed + # to the VF is correct for the operation being carried out. + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // not required for healing + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # Uncomment for instantiation, comment for healing + ssc_a_json_prefix: " " + # Uncomment for healing, comment for instantiation + # ssc_a_json_prefix: "// healing, not required " + + # Orchestrating a perimeta version 41 or above. Used to ensure that the + # tags in the json file are supported by the version of perimeta that is + # being instantiated. + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // older perimeta, parameter not required + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # + # Uncomment for V4.1.00 or above, comment for V4.0.40 + ssc_json_v41: " " + # Uncomment for V4.0.40, comment for V4.1.00 or above + # ssc_json_v41: "// older perimeta, parameter not required " + + # Using Radius for user account authentication? Used to ensure that the json + # file is configured correctly depending on whether we are using Radius or + # local authentication + # + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // older perimeta, parameter not required + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # Uncomment for Local authentication + #ssc_json_use_radius_authentication: "// not using Radius " + # Uncomment for Radius authentication + ## ssc_json_use_radius_authentication: " " + + # + # Radius server parameters + # + # + # IP Address or hostname of RADIUS Server. + # Value is ignored if RADIUS is not being used but it still must be set + #ssc_json_radius_servername: "192.0.0.1" + # Radius Server port configuration - value between 0 and 65535 + # Normal Radius Server port is 1812 + # Value is ignored if RADIUS is not being used but it still must be set + #ssc_json_radius_port: 1812 + # Radius Server shared secret + # Value is ignored if RADIUS is not being used but it still must be set + #ssc_json_radius_secret: "TopSecret" + # Radius Server connection timeout - value between 1 and 60 + # Value is ignored if RADIUS is not being used but it still must be set + #ssc_json_radius_timeout: 3 + # Radius Server default user authentication level. + # must be set to one of 'no-access', 'read-only', 'support', 'restricted-admin' or 'admin' + # Value is ignored if RADIUS is not being used but it still must be set + #ssc_json_radius_default: "no-access" + + # + # NTP server IPv4 addresses, separated by commas. These must be accessible from the management network + # + #ntp_server_ip_addrs: 132.201.84.13,155.179.58.11,155.179.59.249,155.179.82.25 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.yaml new file mode 100644 index 0000000000..ace080e7e7 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_a.yaml @@ -0,0 +1,322 @@ +# Template for instantiating +# - 1 x HA SSC pair - A instance +# +# During initial instantiation, the Perimeta A instance is configured with +# minimal configuration, commissioned as an SSC and started. In addition, it +# will attempt partnering with the B instance when it becomes availble. +# +# During healing, the Perimeta A instance is only configured with sufficient +# configuration to allow partnering from the B instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an A side Perimeta SSC and optionally partner it with the corresponding B side + +parameters: + # General VNF parameters + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: ID of VNF + vf_module_id: + type: string + description: Unique ID for this VF Module instance + # Availability zones + availability_zone_0: + type: string + description: Availability zone for A instances. + shared_perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + shared_perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on all interfaces. + shared_perimeta_ssc_server_group: + type: string + description: Server group to use for these VMs + # Internal network parameters + shared_int_ha_net_id: + type: string + description: HA network id + constraints: + - custom_constraint: neutron.network + + # Constraint below is copied from base module + shared_int_ha_net_prefix_len_v4: + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: shared_int_ha_net_prefix_len_v4 must be between 0 and 31 + # Unused network parameters + # + # This is used for connecting the unused 4th SSC service interface. + shared_ssc_unused_net_id: + type: string + description: Unused network ID + # Management network parameters + mgmt_net_id: + type: string + description: Management network ID + constraints: + - custom_constraint: neutron.network + mgmt_net_plen: + type: number + description: Management network prefix length + constraints: + - range: { min: 0, max: 32 } + description: mgmt_net_plen must be between 0 and 32 + mgmt_net_default_gateway: + type: string + description: Default gateway for management network + # Trusted/core network parameters + trusted_net_id: + type: string + description: Network ID of Trusted/core network. + constraints: + - custom_constraint: neutron.network + # untrusted parent network parameters + shared_int_untrusted_parent_net_id: + type: string + description: untrusted parent network id + # SSC IP addresses on Untrusted/access parent network + ssc_untrusted_parent_vip_0: + type: string + description: Virtual IPv4 address on Untrusted/access parent network for SSC. + ssc_a_untrusted_parent_ip_0: + type: string + description: Fixed IPv4 address on Untrusted/access parent network for SSC A. + perimeta_untrusted_num_vlans: + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_untrusted_vlan_networks: + type: comma_delimited_list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + # SSC parameters + ssc_flavor_name: + type: string + description: Flavor to use for creating SSC VM instance + constraints: + - custom_constraint: nova.flavor + ssc_image_name: + type: string + description: Glance image to use for launching SSC Perimeta instances. + constraints: + - custom_constraint: glance.image + # Hostames of the VIP and servers + ssc_vnfcname_0: + type: string + description: Name of vnfc of SSC. This is the name associated with the perimeta pair and corresponds to the VIP + constraints: + - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + description: vnfc name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed. + ssc_a_vnfcname_0: + type: string + description: vnfc name of VM A of SSC + constraints: + - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + description: vnfc name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed. + ssc_b_vnfcname_0: + type: string + description: vnfc name of VM B of SSC + constraints: + - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,31}$' + description: vnfc name must be 32 characters or less and a valid hostname. Only alphanumeric characters plus hyphen are allowed. + # SSC names of the physical A instance + ssc_a_name_0: + type: string + description: Name of VM A of SSC + constraints: + - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,29}$' + description: VM name must be 30 characters or less. Only alphanumeric characters plus hyphen are allowed. + # SSC IP addresses on management network + ssc_mgmt_vip_0: + type: string + description: Management virtual IP address to use for SSC. + ssc_a_mgmt_ip_0: + type: string + description: Management fixed IP address to use for SSC A. + ssc_b_mgmt_ip_0: + type: string + description: Management fixed IP address to use for SSC B. + # SSC IP addresses on internal HA network + ssc_a_int_ha_ip_0: + type: string + description: HA fixed IP address to use for SSC A. + ssc_b_int_ha_ip_0: + type: string + description: HA fixed IP address to use for SSC B. + # SSC IP addresses on Trusted/core network + ssc_trusted_vip_0: + type: string + description: Virtual IPv4 address on Trusted/core network for SSC. + ssc_a_trusted_ip_0: + type: string + description: Fixed IPv4 address on Trusted/core network for SSC A. + # SSC IP addresses on Untrusted/access network + ssc_untrusted_vip_0: + type: string + description: Virtual IPv4 address on Untrusted/access network for SSC. + ssc_untrusted_v6_vip_0: + type: string + description: Virtual IPv6 address on Untrusted/access network for SSC. + ssc_a_untrusted_ip_0: + type: string + description: Fixed IPv4 address on Untrusted/access network for SSC A. + ssc_a_untrusted_v6_ip_0: + type: string + description: Fixed IPv6 address on Untrusted/access network for SSC A. + # + # RF virtual IPv4 address on management/Rf network for SSC. + # + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + + ssc_a_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC A. + ntp_server_ip_addrs: + type: string + description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network + constraints: + - allowed_pattern: "((?:\\d{1,3}\\.){3}\\d{1,3},)*((?:\\d{1,3}\\.){3}\\d{1,3})" + description: ntp_server_ip_addrs must be a comma separated list of IPv4 addresses (with no spaces) + # Healing or instantiating? Used to build the correct json file + ssc_a_json_prefix: + type: string + description: Json prefix, used to create the correct json file depending on the operation being performed + constraints: + - allowed_values: + - " " + - "// healing, not required " + description: ssc_a_json_prefix must be set to ' ' or '// healing, not required ' + # Running V4.1 perimeta or greater. Used to ensure that newer json tags are + # not included if the server will not recognize them + ssc_json_v41: + type: string + description: Json prefix, used to ensure that the json tags will be recognised by the server loading them + constraints: + - allowed_values: + - " " + - "// older perimeta, parameter not required " + description: ssc_json_v41 must be set to ' ' or '// older perimeta, parameter not required ' + # Use Radius for user account authentication. + ssc_json_use_radius_authentication: + type: string + description: Json prefix, used to indicate if user account authentication is done externally through Radius + constraints: + - allowed_values: + - " " + - "// not using Radius " + description: ssc_json_use_radius_authentication must be set to ' ' or '// not using Radius ' + # Radius Server address configuration + ssc_json_radius_servername: + type: string + description: IP Address or hostname of RADIUS server + # Radius Server port configuration + ssc_json_radius_port: + type: number + description: Port to use to connect to RADIUS server + constraints: + - range: { min: 0, max: 65535 } + description: ssc_json_radius_port must be between 0 and 65535 + # Radius Server shared secret + ssc_json_radius_secret: + type: string + description: Shared secret to use for the RADIUS Server + # Radius Server connection timeout + ssc_json_radius_timeout: + type: number + description: Timeout for connect requests to RADIUS server + constraints: + - range: { min: 1, max: 60 } + description: ssc_json_timeout must be between 1 and 60 + # Radius Server default user authentication level + ssc_json_radius_default: + type: string + description: Default authentication level for RADIUS users + constraints: + - allowed_values: + - "no-access" + - "read-only" + - "support" + - "restricted-admin" + - "admin" + description: ssc_json_radius_default must be set to one of 'no-access', 'read-only', 'support', 'restricted-admin' or 'admin' + +resources: + # Perimeta SSC + perimeta_ssc_a: + type: module_1_perimeta_swmu_a_child.yaml + properties: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vm_role: 'ssc' + vf_module_id: { get_param: vf_module_id } + ssc_a_name_0: { get_param: ssc_a_name_0 } + perimeta_image_name: { get_param: ssc_image_name } + perimeta_flavor_name: { get_param: ssc_flavor_name } + perimeta_keypair: { get_param: shared_perimeta_keypair } + availability_zone_0: { get_param: availability_zone_0 } + mgmt_net_id: { get_param: mgmt_net_id } + ssc_mgmt_vip_0: { get_param: ssc_mgmt_vip_0 } + ssc_a_mgmt_ip_0: { get_param: ssc_a_mgmt_ip_0 } + perimeta_sec_groups: { get_param: shared_perimeta_sec_groups } + int_ha_net_id: { get_param: shared_int_ha_net_id } + int_ha_network_plen: { get_param: shared_int_ha_net_prefix_len_v4 } + ssc_a_int_ha_ip_0: { get_param: ssc_a_int_ha_ip_0 } + ssc_b_int_ha_ip_0: { get_param: ssc_b_int_ha_ip_0 } + trusted_net_id: { get_param: trusted_net_id } + ssc_trusted_vip_0: { get_param: ssc_trusted_vip_0 } + ssc_a_trusted_ip_0: { get_param: ssc_a_trusted_ip_0 } + ssc_untrusted_vip_0: { get_param: ssc_untrusted_vip_0 } + ssc_untrusted_v6_vip_0: { get_param: ssc_untrusted_v6_vip_0 } + ssc_a_untrusted_ip_0: { get_param: ssc_a_untrusted_ip_0 } + ssc_a_untrusted_v6_ip_0: { get_param: ssc_a_untrusted_v6_ip_0 } + int_untrusted_parent_net_id: { get_param: shared_int_untrusted_parent_net_id } + ssc_untrusted_parent_vip_0: { get_param: ssc_untrusted_parent_vip_0 } + ssc_a_untrusted_parent_ip_0: { get_param: ssc_a_untrusted_parent_ip_0 } + perimeta_untrusted_num_vlans: { get_param: perimeta_untrusted_num_vlans } + perimeta_untrusted_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_untrusted_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + perimeta_server_group: { get_param: shared_perimeta_ssc_server_group } + ssc_rf_vip_0: { get_param: ssc_rf_vip_0 } + ssc_a_rf_ip_0: { get_param: ssc_a_rf_ip_0 } + unused_port_net_id: { get_param: shared_ssc_unused_net_id } + perimeta_config: + str_replace: + template: {get_file: ssc_a_template.json} + params: + $HEALING_OR_INSTANTIATION: { get_param: ssc_a_json_prefix } + $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs } + $41ORABOVE: { get_param: ssc_json_v41 } + $USERADIUSAUTH: { get_param: ssc_json_use_radius_authentication } + $RADIUS_SERVERNAME: { get_param: ssc_json_radius_servername } + $RADIUS_PORT: { get_param: ssc_json_radius_port } + $RADIUS_SECRET: { get_param: ssc_json_radius_secret } + $RADIUS_TIMEOUT: { get_param: ssc_json_radius_timeout } + $RADIUS_DEFAULT: { get_param: ssc_json_radius_default } + $LOCAL_MGMT_IP_ADDR: { get_param: ssc_a_mgmt_ip_0 } + $REMOTE_MGMT_IP_ADDR: { get_param: ssc_b_mgmt_ip_0 } + $MGMT_NETWORK_PLEN: { get_param: mgmt_net_plen } + $MGMT_NETWORK_DEFAULT_GATEWAY: { get_param: mgmt_net_default_gateway } + $VIRT_MGMT_IP_ADDR: { get_param: ssc_mgmt_vip_0 } + $VM_NAME_A: { get_param: ssc_a_vnfcname_0 } + $VM_NAME_B: { get_param: ssc_b_vnfcname_0 } + $SYSTEM_NAME: { get_param: ssc_vnfcname_0 } + $COMPLETION_PARAMS: '' diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.env new file mode 100644 index 0000000000..7806bd1692 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.env @@ -0,0 +1,115 @@ +# Environment file for instantiating +# - 1 x HA SSC pair - B instance +# +# The Perimeta B instance is only configured with sufficient +# configuration to allow partnering from the A instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# + +parameters: + # + # General VNF parameters + # + # Unique VNF name + #vnf_name: tsbc0002 + # ID of VNF + #vnf_id: ibcx0002 + # Unique ID for this VF Module instance + #vf_module_id: ibcx + # Availability zone for B instances. + #availability_zone_1: DPA3_D2_AZ2 + + # + # Shared parameters from base template + # + # Internal HA network UUID + #shared_int_ha_net_id: "c8994bb0-9dbd-43e7-a8f9-658c54e35d23" + # Internal HA network IPv4 prefix length + #shared_int_ha_net_prefix_len_v4: 26 + # Keypair UUID + #shared_perimeta_keypair: "atttest_key_pair" + # List of security groups to use for all interfaces + #shared_perimeta_sec_groups: [ "2412dd6a-d784-40a5-a195-7a7da2349178" ] + # Anti-affinity server groups to use for SSCs + #shared_perimeta_ssc_server_group: "308e8e5b-fac5-4964-b86c-47d8b439fe44" + # Unused network parameters + #shared_ssc_unused_net_id: "dd410626-5658-445c-8f97-1142e2d521ab" + + # + # SSC parameters + # + # Flavor to use for creating SSC VM instance + ssc_flavor_name: gv.c8r16d160 + # Glance image to use for launching SSC Perimeta instances. + ssc_image_name: ISBC_SBC_v4.0.40_SU12.qcow2 + + + + # Name of VM B of SSC + #ssc_b_name_0: ibcx0002vm002 + + # + # HA network parameters + # + # HA fixed IPv4 address to use for SSC B. + #ssc_b_int_ha_ip_0: 172.26.1.5 + # HA fixed IPv4 address to use for SSC A. + #ssc_a_int_ha_ip_0: 172.26.1.4 + + # + # Management network parameters + # + # Management network ID + #mgmt_net_id: 4b5621b0-4ca4-4ea0-8511-860318c4fc3b + # Management virtual IPv4 address to use for SSC. + #ssc_mgmt_vip_0: 135.144.188.133 + # Management fixed IPv4 address to use for SSC B. + #ssc_b_mgmt_ip_0: 135.144.188.136 + + # + # Trusted/core network parameters + # + # Network ID of Trusted/core network. + #trusted_net_id: 3d584971-4ec6-408c-92fe-3073666fbcb9 + # Virtual IPv4 address on Trusted/core network for SSC. + #ssc_trusted_vip_0: 10.1.1.5 + # Fixed IPv4 address on Trusted/core network for SSC B. + #ssc_b_trusted_ip_0: 10.1.1.6 + + # + # Untrusted/access network parameters + # + # Using VLANs on Untrusted/access + #shared_int_untrusted_parent_net_id: a0ddd409-f6a7-465a-a091-827a12402252 + # Virtual IPv4 address on Untrusted/access parent network for SSC. + #ssc_untrusted_parent_vip_0: 11.0.0.6 + # Fixed IPv4 address on Untrusted/access parent network for SSC B. + #ssc_b_untrusted_parent_ip_0: 11.0.0.5 + + #perimeta_untrusted_num_vlans: 5 + #perimeta_untrusted_vlan_ids: ["81", "1001", "1002", "1003", "1004"] + #perimeta_untrusted_vlan_networks: [95c74fbb-0650-4ac2-bd4f-7b4fb50b4b5d,aa1a5096-61fd-421b-a74b-0b4a72c47856,ced72584-9c09-4d67-9b9f-8faf4c081c45,6311c9db-c4ba-41f5-85e5-4a3cc85d7f55,79391429-9c52-44f5-b9a9-4547fec0e9d4] + + + + # Virtual IPv4 address on Untrusted/access network for SSC. + #ssc_untrusted_vip_0: 12.121.106.133 + # Virtual IPv6 address on Untrusted/access network for SSC. + #ssc_untrusted_v6_vip_0: 2001:1890:1001:2B38::2D:2 + # Fixed IPv4 address on Untrusted/access network for SSC B. + #ssc_b_untrusted_ip_0: 12.121.106.134 + # Fixed IPv6 address on Untrusted/access network for SSC B. + #ssc_b_untrusted_v6_ip_0: 2001:1890:1001:2B38::2D:3 + + # + # management/Rf network parameters + # + # Virtual IPv4 address on management/Rf network for SSC. + #ssc_rf_vip_0: 135.144.188.135 + # Fixed IPv4 address on management/Rf network for SSC B. + #ssc_b_rf_ip_0: 135.144.188.136 + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.yaml new file mode 100644 index 0000000000..ba2407e533 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_ssc_b.yaml @@ -0,0 +1,197 @@ +# Template for instantiating +# - 1 x HA SSC pair - B instance +# +# The Perimeta B instance is only configured with sufficient +# configuration to allow partnering from the A instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an B side Perimeta SSC + +parameters: + # General VNF parameters + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: ID of VNF + vf_module_id: + type: string + description: Unique ID for this VF Module instance + # Availability zones + availability_zone_1: + type: string + description: Availability zone for B instances. + shared_perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + shared_perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on all interfaces. + shared_perimeta_ssc_server_group: + type: string + description: Server group to use for these VMs + # Internal network parameters + shared_int_ha_net_id: + type: string + description: HA network id + constraints: + - custom_constraint: neutron.network + + # Constraint below is copied from base module + shared_int_ha_net_prefix_len_v4: + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: shared_int_ha_net_prefix_len_v4 must be between 0 and 31 + # Unused network parameters + # + # This is used for connecting the unused 4th SSC service interface. + shared_ssc_unused_net_id: + type: string + description: Unused network ID + # Management network parameters + mgmt_net_id: + type: string + description: Management network ID + constraints: + - custom_constraint: neutron.network + # Trusted/core network parameters + trusted_net_id: + type: string + description: Network ID of Trusted/core network. + constraints: + - custom_constraint: neutron.network + # untrusted parent network parameters + shared_int_untrusted_parent_net_id: + type: string + description: untrusted parent network id + # SSC IP addresses on Untrusted/access parent network + ssc_untrusted_parent_vip_0: + type: string + description: Virtual IPv4 address on Untrusted/access parent network for SSC. + ssc_b_untrusted_parent_ip_0: + type: string + description: Fixed IPv4 address on Untrusted/access parent network for SSC B. + perimeta_untrusted_num_vlans: + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_untrusted_vlan_networks: + type: comma_delimited_list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + # SSC parameters + ssc_flavor_name: + type: string + description: Flavor to use for creating SSC VM instance + constraints: + - custom_constraint: nova.flavor + ssc_image_name: + type: string + description: Glance image to use for launching SSC Perimeta instances. + constraints: + - custom_constraint: glance.image + # SSC names of the physical B instance + ssc_b_name_0: + type: string + description: Name of VM B of SSC + constraints: + - allowed_pattern: '[a-zA-Z0-9][a-zA-Z0-9-]{0,29}$' + description: VM name must be 30 characters or less. Only alphanumeric characters plus hyphen are allowed. + # SSC IP addresses on management network + ssc_mgmt_vip_0: + type: string + description: Management virtual IP address to use for SSC. + ssc_b_mgmt_ip_0: + type: string + description: Management fixed IP address to use for SSC B. + # SSC IP addresses on internal HA network + ssc_b_int_ha_ip_0: + type: string + description: HA fixed IP address to use for SSC B. + ssc_a_int_ha_ip_0: + type: string + description: HA fixed IP address to use for SSC A. + # SSC IP addresses on Trusted/core network + ssc_trusted_vip_0: + type: string + description: Virtual IPv4 address on Trusted/core network for SSC. + ssc_b_trusted_ip_0: + type: string + description: Fixed IPv4 address on Trusted/core network for SSC B. + # SSC IP addresses on Untrusted/access network + ssc_untrusted_vip_0: + type: string + description: Virtual IPv4 address on Untrusted/access network for SSC. + ssc_untrusted_v6_vip_0: + type: string + description: Virtual IPv6 address on Untrusted/access network for SSC. + ssc_b_untrusted_ip_0: + type: string + description: Fixed IPv4 address on Untrusted/access network for SSC B. + ssc_b_untrusted_v6_ip_0: + type: string + description: Fixed IPv6 address on Untrusted/access network for SSC B. + # + # RF virtual IPv4 address on management/Rf network for SSC. + # + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + + ssc_b_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC B. + +resources: + # Perimeta SSC + perimeta_ssc_b: + type: module_1_perimeta_swmu_b_child.yaml + properties: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vm_role: 'ssc' + vf_module_id: { get_param: vf_module_id } + ssc_b_name_0: { get_param: ssc_b_name_0 } + perimeta_image_name: { get_param: ssc_image_name } + perimeta_flavor_name: { get_param: ssc_flavor_name } + perimeta_keypair: { get_param: shared_perimeta_keypair } + availability_zone_1: { get_param: availability_zone_1 } + mgmt_net_id: { get_param: mgmt_net_id } + ssc_mgmt_vip_0: { get_param: ssc_mgmt_vip_0 } + ssc_b_mgmt_ip_0: { get_param: ssc_b_mgmt_ip_0 } + perimeta_sec_groups: { get_param: shared_perimeta_sec_groups } + int_ha_net_id: { get_param: shared_int_ha_net_id } + int_ha_network_plen: { get_param: shared_int_ha_net_prefix_len_v4 } + ssc_b_int_ha_ip_0: { get_param: ssc_b_int_ha_ip_0 } + ssc_a_int_ha_ip_0: { get_param: ssc_a_int_ha_ip_0 } + trusted_net_id: { get_param: trusted_net_id } + ssc_trusted_vip_0: { get_param: ssc_trusted_vip_0 } + ssc_b_trusted_ip_0: { get_param: ssc_b_trusted_ip_0 } + ssc_untrusted_vip_0: { get_param: ssc_untrusted_vip_0 } + ssc_untrusted_v6_vip_0: { get_param: ssc_untrusted_v6_vip_0 } + ssc_b_untrusted_ip_0: { get_param: ssc_b_untrusted_ip_0 } + ssc_b_untrusted_v6_ip_0: { get_param: ssc_b_untrusted_v6_ip_0 } + int_untrusted_parent_net_id: { get_param: shared_int_untrusted_parent_net_id } + ssc_untrusted_parent_vip_0: { get_param: ssc_untrusted_parent_vip_0 } + ssc_b_untrusted_parent_ip_0: { get_param: ssc_b_untrusted_parent_ip_0 } + perimeta_untrusted_num_vlans: { get_param: perimeta_untrusted_num_vlans } + perimeta_untrusted_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_untrusted_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + perimeta_server_group: { get_param: shared_perimeta_ssc_server_group } + ssc_rf_vip_0: { get_param: ssc_rf_vip_0 } + ssc_b_rf_ip_0: { get_param: ssc_b_rf_ip_0 } + unused_port_net_id: { get_param: shared_ssc_unused_net_id } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_a_child.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_a_child.yaml new file mode 100644 index 0000000000..8be774c1d3 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_a_child.yaml @@ -0,0 +1,313 @@ +# Heat template which intstantiates an A side Perimeta SSC instance with +# 6 vNICs. +# +# This is designed to be included in a higher level template. +# +# This template puts the Perimeta configuration in place using userdata +# injected via OpenStack's ConfigDrive mechanism. +# +# Host anti-affinity is achieved using different availability zones for +# the Perimeta instance or server group anti-affinity if they are in the +# same availability zone. +# +# Template requires Juno or above and has been tested on Kilo. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an A side Perimeta SSC instance with 6 vNICs as part of a nested template + +parameters: + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: VNF ID of this deployment + vm_role: + type: string + description: Role of these VMs + vf_module_id: + type: string + description: Unique ID for this VF Module instance + ssc_a_name_0: + type: string + description: Name of Perimeta VM A instance + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + availability_zone_0: + # Can be commented out along with references if always using a single availability zone + type: string + description: Availability zone for A instances. + mgmt_net_id: + type: string + description: Management network id + ssc_mgmt_vip_0: + type: string + description: Management virtual IP address. + ssc_a_mgmt_ip_0: + type: string + description: Fixed IP address to use as management IP of A instance. + int_ha_net_id: + type: string + description: HA network id + int_ha_network_plen: + # Constraint copied from base module + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: int_ha_network_plen must be between 0 and 31 + ssc_a_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IP of A instance. + ssc_b_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IPs of B instance. + trusted_net_id: + type: string + description: Trusted/core network UUID + ssc_trusted_vip_0: + type: string + description: Trusted/core virtual IP address. + ssc_a_trusted_ip_0: + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of A instance. + perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on trusted interfaces. + ssc_untrusted_vip_0: + type: string + description: Untrusted/access virtual IP address + ssc_untrusted_v6_vip_0: + type: string + description: Untrusted/access alternate virtual IP address + ssc_a_untrusted_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A instance. + ssc_a_untrusted_v6_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of A instance. + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + ssc_untrusted_parent_vip_0: + type: string + description: Untrusted/access parent virtual IP address + ssc_a_untrusted_parent_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of A parent instance. + perimeta_untrusted_num_vlans: + # constraint copied from parent module + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_untrusted_vlan_networks: + type: comma_delimited_list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + unused_port_net_id: + type: string + description: Service network unused port network UUID + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + ssc_a_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC A. + perimeta_server_group: + type: string + description: Server group to use for these VMs + perimeta_config: + type: string + description: JSON orchestration template configuration for instance. + +resources: + # Perimeta management ports + perimeta_ssc_a_mgmt_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: ssc_a_mgmt_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_mgmt_vip_0 } + + # Perimeta HA ports + perimeta_ssc_a_ha_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: int_ha_net_id } + fixed_ips: + - ip_address: { get_param: ssc_a_int_ha_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + + # Perimeta Trusted/core service network ports + # + # Dual stack core network + # - if only IPv4 required comment out second entry in fixed_ips and allowed_addess_pairs parameters. + # - if only IPv6 required comment out first entry in fixed_ips and allowed_addess_pairs parameters. + perimeta_ssc_a_trusted_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: trusted_net_id } + fixed_ips: + - ip_address: { get_param: ssc_a_trusted_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_trusted_vip_0 } + + # Perimeta Untrusted/access service network ports + # VLAN being used on this service interface. + # The parent network port is used to anchor the VLANs and is not used to + # route actual traffic for the service interface. This means that we can + # create a dummy network in the base module and use that instead of the + # real untrusted network + + perimeta_ssc_a_untrusted_parent_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: int_untrusted_parent_net_id } + fixed_ips: + - ip_address: { get_param: ssc_a_untrusted_parent_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_untrusted_parent_vip_0 } + + + # Contrail VLAN subinterfaces + perimeta_ssc_a_untrusted_0_vlan_ports: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: perimeta_untrusted_num_vlans } + resource_def: + type: vlan_subinterface_dual.yaml + properties: + perimeta_subinterface_instance_index: "%index%" + perimeta_subinterface_name_prefix: + str_replace: + template: $VNF_NAME_$VM_untrusted_port_vlan + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + perimeta_parent_interface: { get_resource: perimeta_ssc_a_untrusted_parent_0_port } + perimeta_mac_address: { get_attr: [ perimeta_ssc_a_untrusted_parent_0_port, mac_address ] } + perimeta_ip_0: { get_param: ssc_a_untrusted_ip_0 } + perimeta_v6_ip_0: { get_param: ssc_a_untrusted_v6_ip_0 } + perimeta_vip_0: { get_param: ssc_untrusted_vip_0 } + perimeta_v6_vip_0: { get_param: ssc_untrusted_v6_vip_0 } + perimeta_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + + # Perimeta Rf service network ports + # + # This uses the management network and is IPv4 only + perimeta_ssc_a_mgmt_1_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_1_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: ssc_a_rf_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_rf_vip_0 } + + # need the unused port to balance out the NICs + perimeta_ssc_a_unused_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_unused_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_a_name_0 } + network: { get_param: unused_port_net_id } + + # Add any additional service ports here. + + perimeta_ssc_a_server_0: + type: OS::Nova::Server + properties: + name: { get_param: ssc_a_name_0 } + image: { get_param: perimeta_image_name } + flavor: { get_param: perimeta_flavor_name } + key_name: { get_param: perimeta_keypair } + scheduler_hints: { group: { get_param: perimeta_server_group } } + metadata: + 'vnf_name': { get_param: vnf_name } + 'vnf_id': { get_param: vnf_id } + 'vm_role': + str_replace: + template: $ROLE_a + params: + $ROLE: { get_param: vm_role } + 'vf_module_id': { get_param: vf_module_id } + 'msw_template_version': '17.07.04 - 2017-09-01' + personality: + '/opt/MetaSwitch/init/custom.ini': { get_file: custom.ini } + networks: + - port: { get_resource: perimeta_ssc_a_mgmt_0_port } + - port: { get_resource: perimeta_ssc_a_ha_0_port } + - port: { get_resource: perimeta_ssc_a_trusted_0_port } + - port: { get_resource: perimeta_ssc_a_untrusted_parent_0_port } + - port: { get_resource: perimeta_ssc_a_mgmt_1_port } + - port: { get_resource: perimeta_ssc_a_unused_0_port } + availability_zone: { get_param: availability_zone_0 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: { get_param: perimeta_config } + params: + $MGMT_MACADDR: { get_attr: [perimeta_ssc_a_mgmt_0_port, mac_address] } + $HA_MACADDR: { get_attr: [perimeta_ssc_a_ha_0_port, mac_address] } + $TRUSTED_MACADDR: { get_attr: [perimeta_ssc_a_trusted_0_port, mac_address] } + $UNTRUSTED_MACADDR: { get_attr: [perimeta_ssc_a_untrusted_parent_0_port, mac_address] } + $SERV3_MACADDR: { get_attr: [perimeta_ssc_a_mgmt_1_port, mac_address] } + $SERV4_MACADDR: { get_attr: [perimeta_ssc_a_unused_0_port, mac_address] } + $LOCAL_HA_IP_ADDR: { get_param: ssc_a_int_ha_ip_0 } + $REMOTE_HA_IP_ADDR: { get_param: ssc_b_int_ha_ip_0 } + $HA_NETWORK_PLEN: { get_param: int_ha_network_plen }
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_b_child.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_b_child.yaml new file mode 100644 index 0000000000..a0ac2fe178 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_1_perimeta_swmu_b_child.yaml @@ -0,0 +1,321 @@ +# Heat template which intstantiates an B side Perimeta SSC instance with +# 6 vNICs. +# +# This is designed to be included in a higher level template. +# +# This template puts the Perimeta configuration in place using userdata +# injected via OpenStack's ConfigDrive mechanism. +# +# Host anti-affinity is achieved using different availability zones for +# the Perimeta instance or server group anti-affinity if they are in the +# same availability zone. +# +# Template requires Juno or above and has been tested on Kilo. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an B side Perimeta SSC instance with 6 vNICs as part of a nested template + +parameters: + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: VNF ID of this deployment + vm_role: + type: string + description: Role of these VMs + vf_module_id: + type: string + description: Unique ID for this VF Module instance + ssc_b_name_0: + type: string + description: Name of Perimeta VM B instance + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + availability_zone_1: + # Can be commented out along with references if always using a single availability zone + type: string + description: Availability zone for B instances. May be the same as A instance. + mgmt_net_id: + type: string + description: Management network id + ssc_mgmt_vip_0: + type: string + description: Management virtual IP address. + ssc_b_mgmt_ip_0: + type: string + description: Fixed IP address to use as management IP of B instance. + int_ha_net_id: + type: string + description: HA network id + int_ha_network_plen: + # Constraint copied from base module + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: int_ha_network_plen must be between 0 and 31 + ssc_b_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IP of B instance. + ssc_a_int_ha_ip_0: + type: string + description: Fixed IP address to use as HA IPs of A instance. + trusted_net_id: + type: string + description: Trusted/core network UUID + ssc_trusted_vip_0: + type: string + description: Trusted/core virtual IP address. + ssc_b_trusted_ip_0: + type: string + description: Fixed IP address to use as Trusted/core fixed IPs of B instance. + perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on trusted interfaces. + ssc_untrusted_vip_0: + type: string + description: Untrusted/access virtual IP address + ssc_untrusted_v6_vip_0: + type: string + description: Untrusted/access alternate virtual IP address + ssc_b_untrusted_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B instance. + ssc_b_untrusted_v6_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access alternate fixed IP of B instance. + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + ssc_untrusted_parent_vip_0: + type: string + description: Untrusted/access parent virtual IP address + ssc_b_untrusted_parent_ip_0: + type: string + description: Fixed IP address to use as Untrusted/access fixed IP of B parent instance. + perimeta_untrusted_num_vlans: + # constraint copied from parent module + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_untrusted_vlan_networks: + type: comma_delimited_list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + unused_port_net_id: + type: string + description: Service network unused port network UUID + ssc_rf_vip_0: + type: string + description: RF virtual IP address to use for SSC. + ssc_b_rf_ip_0: + type: string + description: RF fixed IP address to use for SSC B. + perimeta_server_group: + type: string + description: Server group to use for these VMs + +resources: + # Perimeta management ports + perimeta_ssc_b_mgmt_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: ssc_b_mgmt_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_mgmt_vip_0 } + + # Perimeta HA ports + perimeta_ssc_b_ha_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: int_ha_net_id } + fixed_ips: + - ip_address: { get_param: ssc_b_int_ha_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + + # Perimeta Trusted/core service network ports + # + # Dual stack core network + # - if only IPv4 required comment out second entry in fixed_ips and allowed_addess_pairs parameters. + # - if only IPv6 required comment out first entry in fixed_ips and allowed_addess_pairs parameters. + perimeta_ssc_b_trusted_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: trusted_net_id } + fixed_ips: + - ip_address: { get_param: ssc_b_trusted_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_trusted_vip_0 } + + # Perimeta Untrusted/access service network ports + # VLAN being used on this service interface. + # The parent network port is used to anchor the VLANs and is not used to + # route actual traffic for the service interface. This means that we can + # create a dummy network in the base module and use that instead of the + # real untrusted network + + perimeta_ssc_b_untrusted_parent_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: int_untrusted_parent_net_id } + fixed_ips: + - ip_address: { get_param: ssc_b_untrusted_parent_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_untrusted_parent_vip_0 } + + + # Contrail VLAN subinterfaces + perimeta_ssc_b_untrusted_0_vlan_ports: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: perimeta_untrusted_num_vlans } + resource_def: + type: vlan_subinterface_dual.yaml + properties: + perimeta_subinterface_instance_index: "%index%" + perimeta_subinterface_name_prefix: + str_replace: + template: $VNF_NAME_$VM_untrusted_port_vlan + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + perimeta_parent_interface: { get_resource: perimeta_ssc_b_untrusted_parent_0_port } + perimeta_mac_address: { get_attr: [ perimeta_ssc_b_untrusted_parent_0_port, mac_address ] } + perimeta_ip_0: { get_param: ssc_b_untrusted_ip_0 } + perimeta_v6_ip_0: { get_param: ssc_b_untrusted_v6_ip_0 } + perimeta_vip_0: { get_param: ssc_untrusted_vip_0 } + perimeta_v6_vip_0: { get_param: ssc_untrusted_v6_vip_0 } + perimeta_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + + # Perimeta Rf service network ports + # + # This uses the management network and is IPv4 only + perimeta_ssc_b_mgmt_1_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_1_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: ssc_b_rf_ip_0 } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: ssc_rf_vip_0 } + + # need the unused port to balance out the NICs + perimeta_ssc_b_unused_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_unused_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: ssc_b_name_0 } + network: { get_param: unused_port_net_id } + + # Add any additional service ports here. + + perimeta_ssc_b_server_0: + type: OS::Nova::Server + properties: + name: { get_param: ssc_b_name_0 } + image: { get_param: perimeta_image_name } + flavor: { get_param: perimeta_flavor_name } + key_name: { get_param: perimeta_keypair } + scheduler_hints: { group: { get_param: perimeta_server_group } } + metadata: + 'vnf_name': { get_param: vnf_name } + 'vnf_id': { get_param: vnf_id } + 'vm_role': + str_replace: + template: $ROLE_b + params: + $ROLE: { get_param: vm_role } + 'vf_module_id': { get_param: vf_module_id } + 'msw_template_version': '17.07.04 - 2017-09-01' + networks: + - port: { get_resource: perimeta_ssc_b_mgmt_0_port } + - port: { get_resource: perimeta_ssc_b_ha_0_port } + - port: { get_resource: perimeta_ssc_b_trusted_0_port } + - port: { get_resource: perimeta_ssc_b_untrusted_parent_0_port } + - port: { get_resource: perimeta_ssc_b_mgmt_1_port } + - port: { get_resource: perimeta_ssc_b_unused_0_port } + availability_zone: { get_param: availability_zone_1 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + { + "vnic_assignment": { + "IBG1mgmt": {"mac": "$MGMT_MACADDR"}, + "IPG1": {"mac": "$HA_MACADDR"}, + "RPG1": {"mac": "$TRUSTED_MACADDR"}, + "RPG2": {"mac": "$UNTRUSTED_MACADDR"}, + "RPG3": {"mac": "$SERV3_MACADDR"}, + "RPG4": {"mac": "$SERV4_MACADDR"} + }, + "ip_ha_local": "$LOCAL_HA_IP_ADDR", + "ip_ha_remote": "$REMOTE_HA_IP_ADDR", + "ip_ha_plen": "$HA_NETWORK_PLEN" + } + params: + $MGMT_MACADDR: { get_attr: [perimeta_ssc_b_mgmt_0_port, mac_address] } + $HA_MACADDR: { get_attr: [perimeta_ssc_b_ha_0_port, mac_address] } + $TRUSTED_MACADDR: { get_attr: [perimeta_ssc_b_trusted_0_port, mac_address] } + $UNTRUSTED_MACADDR: { get_attr: [perimeta_ssc_b_untrusted_parent_0_port, mac_address] } + $SERV3_MACADDR: { get_attr: [perimeta_ssc_b_mgmt_1_port, mac_address] } + $SERV4_MACADDR: { get_attr: [perimeta_ssc_b_unused_0_port, mac_address] } + $LOCAL_HA_IP_ADDR: { get_param: ssc_b_int_ha_ip_0 } + $REMOTE_HA_IP_ADDR: { get_param: ssc_a_int_ha_ip_0 } + $HA_NETWORK_PLEN: { get_param: int_ha_network_plen }
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.env new file mode 100644 index 0000000000..015a95f262 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.env @@ -0,0 +1,206 @@ +# Environment file for instantiating +# - 1 x HA RTP MSC pair - A instance +# +# During initial instantiation, the Perimeta A instance is configured with +# minimal configuration, commissioned as an RTP MSC and started. In addition, it +# will attempt partnering with the B instance when it becomes availble. +# +# During healing, the Perimeta A instance is only configured with sufficient +# configuration to allow partnering from the B instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +# A perimeta deployment can support one or more RTP MSCs. The parameter +# rtp_msc_a_index is used to make sure that the appropriate settings for this +# RTP MSC are extracted from the various address and server group arrays. +# + +parameters: + # + # General VNF parameters + # + # Unique VNF name + #vnf_name: tsbc0002 + # ID of VNF + #vnf_id: ibcx0002 + # Unique ID for this VF Module instance + #vf_module_id: ibcx + # Availability zone for A instances. + #availability_zone_0: DPA3_D2_AZ1 + # + # Shared parameters from base template + # + # Internal HA network UUID + #shared_int_ha_net_id: "c8994bb0-9dbd-43e7-a8f9-658c54e35d23" + # Internal HA network IPv4 prefix length + #shared_int_ha_net_prefix_len_v4: 26 + # Keypair UUID + #shared_perimeta_keypair: "atttest_key_pair" + # List of security groups to use for all interfaces + #shared_perimeta_sec_groups: [ "2412dd6a-d784-40a5-a195-7a7da2349178" ] + # Anti-affinity server groups to use for RTP MSCs + #shared_perimeta_rtp_msc_server_groups: ["be4b3fa9-112d-454e-952f-146e45202130","bcdd96eb-b3fc-42ee-9ae8-e13ad0a4f0b8","b293e29f-c101-4b4e-80d6-7a1b4173e4e2","fd791679-6b71-4c3a-b8b7-1d586559976e","98171a69-8956-4ce6-b303-1a15444ee47b","a35ba80b-c0c2-4c29-a9ae-4df26d33323f","2192327a-6a31-43b6-84c4-49abc597b4e6","b2843fa5-9f25-49b0-9dc6-5c1c0472e8d4"] + + # + # RTP MSC parameters + # + # Index of RTP MSC to instantiate / heal. This is used as the index into the + # various address and service group arrays to get the information associated + # with that specific instance + #rtp_msc_a_index: 0 + # Flavor to use for creating RTP MSC VM instance + rtp_msc_flavor_name: gv.c8r16d160 + # Glance image to use for launching RTP MSC Perimeta instances. + rtp_msc_image_name: ISBC_SBC_v4.0.40_SU12.qcow2 + + + # VNFC of the RTP MSC VIP + #rtp_msc_vnfcnames: ["ibcx0002vm003msc001pair","ibcx0002vm005msc001pair","ibcx0002vm007msc001pair","ibcx0002vm009msc001pair","ibcx0002vm011msc001pair","ibcx0002vm013msc001pair","ibcx0002vm015msc001pair","ibcx0002vm017msc001pair"] + # VNFCs of the servers + #rtp_msc_a_vnfcnames: ["ibcx0002vm003msc001","ibcx0002vm005msc001","ibcx0002vm007msc001","ibcx0002vm009msc001","ibcx0002vm011msc001","ibcx0002vm013msc001","ibcx0002vm015msc001","ibcx0002vm017msc001"] + #rtp_msc_b_vnfcnames: ["ibcx0002vm004msc001","ibcx0002vm006msc001","ibcx0002vm008msc001","ibcx0002vm010msc001","ibcx0002vm012msc001","ibcx0002vm014msc001","ibcx0002vm016msc001","ibcx0002vm018msc001"] + + # Name of VM A of RTP MSC + #rtp_msc_a_names: ["ibcx0002vm003","ibcx0002vm005","ibcx0002vm007","ibcx0002vm009","ibcx0002vm011","ibcx0002vm013","ibcx0002vm015","ibcx0002vm017"] + + # + # HA network parameters + # + # HA fixed IPv4 address to use for RTP MSC A. + #rtp_msc_a_int_ha_ips: ["172.26.1.6","172.26.1.8","172.26.1.10","172.26.1.12","172.26.1.14","172.26.1.16","172.26.1.18","172.26.1.20"] + # HA fixed IPv4 address to use for RTP MSC B. + #rtp_msc_b_int_ha_ips: ["172.26.1.7","172.26.1.9","172.26.1.11","172.26.1.13","172.26.1.15","172.26.1.17","172.26.1.19","172.26.1.21"] + + # + # Management network parameters + # + # Management network ID + #mgmt_net_id: 4b5621b0-4ca4-4ea0-8511-860318c4fc3b + # Management network prefix length + #mgmt_net_plen: 26 + # Default gateway for management network + #mgmt_net_default_gateway: 135.144.188.131 + # Management virtual IPv4 address to use for RTP MSC. + #rtp_msc_mgmt_vips: ["135.144.188.139","135.144.188.142","135.144.188.145","135.144.188.148","135.144.188.151","135.144.188.154","135.144.188.157","135.144.188.160"] + # Management fixed IPv4 address to use for RTP MSC A. + #rtp_msc_a_mgmt_ips: ["135.144.188.138","135.144.188.141","135.144.188.144","135.144.188.147","135.144.188.150","135.144.188.153","135.144.188.156","135.144.188.159"] + # Management fixed IPv4 address to use for RTP MSC B. + #rtp_msc_b_mgmt_ips: ["135.144.188.140","135.144.188.143","135.144.188.146","135.144.188.149","135.144.188.152","135.144.188.155","135.144.188.158","135.144.188.161"] + + # + # Trusted/core network parameters + # + # Network ID of Trusted/core network. + #trusted_net_id: 3d584971-4ec6-408c-92fe-3073666fbcb9 + # Virtual IPv4 address on Trusted/core network for RTP MSC. + #rtp_msc_trusted_vips: ["10.1.1.8","10.1.1.11","10.1.1.14","10.1.1.17","10.1.1.20","10.1.1.23","10.1.1.26","10.1.1.29"] + # Fixed IPv4 address on Trusted/core network for RTP MSC A. + #rtp_msc_a_trusted_ips: ["10.1.1.7","10.1.1.10","10.1.1.13","10.1.1.16","10.1.1.19","10.1.1.22","10.1.1.25","10.1.1.28"] + + # + # Untrusted/access network parameters + # + # Using VLANs on Untrusted/access + #shared_int_untrusted_parent_net_id: a0ddd409-f6a7-465a-a091-827a12402252 + # Virtual IPv4 address on Untrusted/access parent network for RTP MSC. + #rtp_msc_untrusted_parent_vips: ["11.0.0.9","11.0.0.12","11.0.0.15","11.0.0.18","11.0.0.21","11.0.0.24","11.0.0.27","11.0.0.30"] + # Fixed IPv4 address on Untrusted/access parent network for RTP MSC A. + #rtp_msc_a_untrusted_parent_ips: ["11.0.0.7","11.0.0.10","11.0.0.13","11.0.0.16","11.0.0.19","11.0.0.22","11.0.0.25","11.0.0.28"] + + #perimeta_untrusted_num_vlans: 5 + #perimeta_untrusted_vlan_ids: ["81", "1001", "1002", "1003", "1004"] + #perimeta_untrusted_vlan_networks: [95c74fbb-0650-4ac2-bd4f-7b4fb50b4b5d,aa1a5096-61fd-421b-a74b-0b4a72c47856,ced72584-9c09-4d67-9b9f-8faf4c081c45,6311c9db-c4ba-41f5-85e5-4a3cc85d7f55,79391429-9c52-44f5-b9a9-4547fec0e9d4] + + + + # Virtual IPv4 address on Untrusted/access network for RTP MSC. + #rtp_msc_untrusted_vips: ["12.121.106.136","12.121.106.139","12.121.106.142","12.121.106.145","12.121.106.148","12.121.106.151","12.121.106.154","12.121.106.157"] + # Virtual IPv6 address on Untrusted/access network for RTP MSC. + #rtp_msc_untrusted_v6_vips: ["2001:1890:1001:2B38::2D:5","2001:1890:1001:2B38::2D:8","2001:1890:1001:2B38::2D:B","2001:1890:1001:2B38::2D:E","2001:1890:1001:2B38::2D:11","2001:1890:1001:2B38::2D:14","2001:1890:1001:2B38::2D:17","2001:1890:1001:2B38::2D:1A"] + # Fixed IPv4 address on Untrusted/access network for RTP MSC A. + #rtp_msc_a_untrusted_ips: ["12.121.106.135","12.121.106.138","12.121.106.141","12.121.106.144","12.121.106.147","12.121.106.150","12.121.106.153","12.121.106.156"] + # Fixed IPv6 address on Untrusted/access network for RTP MSC A. + #rtp_msc_a_untrusted_v6_ips: ["2001:1890:1001:2B38::2D:4","2001:1890:1001:2B38::2D:7","2001:1890:1001:2B38::2D:A","2001:1890:1001:2B38::2D:D","2001:1890:1001:2B38::2D:10","2001:1890:1001:2B38::2D:13","2001:1890:1001:2B38::2D:16","2001:1890:1001:2B38::2D:19"] + + # + # A side healing / instantiation parameters + # + # + # Healing or instantiation? This is used to ensure that the json file passed + # to the VF is correct for the operation being carried out. + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // not required for healing + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # Uncomment for instantiation, comment for healing + rtp_msc_a_json_prefix: " " + # Uncomment for healing, comment for instantiation + # rtp_msc_a_json_prefix: "// healing, not required " + + # Orchestrating a perimeta version 41 or above. Used to ensure that the + # tags in the json file are supported by the version of perimeta that is + # being instantiated. + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // older perimeta, parameter not required + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # + # Uncomment for V4.1.00 or above, comment for V4.0.40 + rtp_msc_json_v41: " " + # Uncomment for V4.0.40, comment for V4.1.00 or above + # rtp_msc_json_v41: "// older perimeta, parameter not required " + + # Using Radius for user account authentication? Used to ensure that the json + # file is configured correctly depending on whether we are using Radius or + # local authentication + # + # This parameter must be set to one of the following values + # - single whitespace character + # - the string // older perimeta, parameter not required + # Simply uncomment the required value from the pair below + # + # Note that we need to do this because we cannot parmeterize the file name + # passed to get_file (which would be the more obvious way to do this) + # + # Uncomment for Local authentication + #rtp_msc_json_use_radius_authentication: "// not using Radius " + # Uncomment for Radius authentication + ## rtp_msc_json_use_radius_authentication: " " + + # + # Radius server parameters + # + # + # IP Address or hostname of RADIUS Server. + # Value is ignored if RADIUS is not being used but it still must be set + #rtp_msc_json_radius_servername: "192.0.0.1" + # Radius Server port configuration - value between 0 and 65535 + # Normal Radius Server port is 1812 + # Value is ignored if RADIUS is not being used but it still must be set + #rtp_msc_json_radius_port: 1812 + # Radius Server shared secret + # Value is ignored if RADIUS is not being used but it still must be set + #rtp_msc_json_radius_secret: "TopSecret" + # Radius Server connection timeout - value between 1 and 60 + # Value is ignored if RADIUS is not being used but it still must be set + #rtp_msc_json_radius_timeout: 3 + # Radius Server default user authentication level. + # must be set to one of 'no-access', 'read-only', 'support', 'restricted-admin' or 'admin' + # Value is ignored if RADIUS is not being used but it still must be set + #rtp_msc_json_radius_default: "no-access" + + # + # NTP server IPv4 addresses, separated by commas. These must be accessible from the management network + # + #ntp_server_ip_addrs: 132.201.84.13,155.179.58.11,155.179.59.249,155.179.82.25 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.yaml new file mode 100644 index 0000000000..fbadb47a9d --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_a.yaml @@ -0,0 +1,313 @@ +# Template for instantiating +# - 1 x HA RTP MSC pair - A instance +# +# During initial instantiation, the Perimeta A instance is configured with +# minimal configuration, commissioned as an RTP MSC and started. In addition, it +# will attempt partnering with the B instance when it becomes availble. +# +# During healing, the Perimeta A instance is only configured with sufficient +# configuration to allow partnering from the B instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +# A perimeta deployment can support one or more RTP MSCs. The parameter +# rtp_msc_a_index is used to make sure that the appropriate settings for this +# RTP MSC are extracted from the various address and server group arrays. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an A side Perimeta RTP MSC and optionally partner it with the corresponding B side + +parameters: + # General VNF parameters + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: ID of VNF + vf_module_id: + type: string + description: Unique ID for this VF Module instance + # Availability zones + availability_zone_0: + type: string + description: Availability zone for A instances. + shared_perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + shared_perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on all interfaces. + shared_perimeta_rtp_msc_server_groups: + type: comma_delimited_list + description: Server group to use for these VMs + # Internal network parameters + shared_int_ha_net_id: + type: string + description: HA network id + constraints: + - custom_constraint: neutron.network + + # Constraint below is copied from base module + shared_int_ha_net_prefix_len_v4: + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: shared_int_ha_net_prefix_len_v4 must be between 0 and 31 + # Management network parameters + mgmt_net_id: + type: string + description: Management network ID + constraints: + - custom_constraint: neutron.network + mgmt_net_plen: + type: number + description: Management network prefix length + constraints: + - range: { min: 0, max: 32 } + description: mgmt_net_plen must be between 0 and 32 + mgmt_net_default_gateway: + type: string + description: Default gateway for management network + # Trusted/core network parameters + trusted_net_id: + type: string + description: Network ID of Trusted/core network. + constraints: + - custom_constraint: neutron.network + # untrusted parent network parameters + shared_int_untrusted_parent_net_id: + type: string + description: untrusted parent network id + # RTP MSC IP addresses on Untrusted/access parent network + rtp_msc_untrusted_parent_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Untrusted/access parent network for RTP MSC. + rtp_msc_a_untrusted_parent_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Untrusted/access parent network for RTP MSC A. + perimeta_untrusted_num_vlans: + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_untrusted_vlan_networks: + type: comma_delimited_list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + # RTP MSC parameters + rtp_msc_flavor_name: + type: string + description: Flavor to use for creating RTP MSC VM instance + constraints: + - custom_constraint: nova.flavor + rtp_msc_image_name: + type: string + description: Glance image to use for launching RTP MSC Perimeta instances. + constraints: + - custom_constraint: glance.image + # Index of the instance to instantiate / heal. This is used to access the + # various address / name / server group arrays to extract the information + # specific to this server. + # + # The constraints need to be co-ordinated with the parameter + # perimeta_max_rtp_msc_count in the base template. Unfortunately we cannot + # use a get_param call to get a constraint so it has to be a number. + # + # We also need to account for the fact that arrays start at zero and we are + # specifying the index in this parameter so the maximum constraint is 1 less + # than the maximum in the base template + rtp_msc_a_index: + type: number + description: Index of RTP MSC to instantiate / heal. + constraints: + - range: { min: 0, max: 19 } + description: rtp_msc_a_index must be between 0 and 19 + # Hostames of the VIP and servers + rtp_msc_vnfcnames: + type: comma_delimited_list + description: List of vnfc names of the RTP MSC. This is the name associated with the perimeta pair and corresponds to the VIP + rtp_msc_a_vnfcnames: + type: comma_delimited_list + description: List of vnfc names of the A of RTP MSC + rtp_msc_b_vnfcnames: + type: comma_delimited_list + description: List of vnfc names of VM B of RTP MSC + # RTP MSC names of the physical A instance + rtp_msc_a_names: + type: comma_delimited_list + description: List of names of VM A of RTP MSC + # RTP MSC IP addresses on management network + rtp_msc_mgmt_vips: + type: comma_delimited_list + description: List of management virtual IP addresses to use for RTP MSC. + rtp_msc_a_mgmt_ips: + type: comma_delimited_list + description: List of management fixed IP addresses to use for RTP MSC A. + rtp_msc_b_mgmt_ips: + type: comma_delimited_list + description: List of management fixed IP addresses to use for RTP MSC B. + # RTP MSC IP addresses on internal HA network + rtp_msc_a_int_ha_ips: + type: comma_delimited_list + description: List of HA fixed IP addresses to use for RTP MSC A. + rtp_msc_b_int_ha_ips: + type: comma_delimited_list + description: List of HA fixed IP addresses to use for RTP MSC B. + # RTP MSC IP addresses on Trusted/core network + rtp_msc_trusted_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Trusted/core network for RTP MSC. + rtp_msc_a_trusted_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Trusted/core network for RTP MSC A. + # RTP MSC IP addresses on Untrusted/access network + rtp_msc_untrusted_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Untrusted/access network for RTP MSC. + rtp_msc_untrusted_v6_vips: + type: comma_delimited_list + description: List of virtual IPv6 addresses on Untrusted/access network for RTP MSC. + rtp_msc_a_untrusted_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Untrusted/access network for RTP MSC A. + rtp_msc_a_untrusted_v6_ips: + type: comma_delimited_list + description: List of fixed IPv6 addresses on Untrusted/access network for RTP MSC A. + ntp_server_ip_addrs: + type: string + description: NTP server IPv4 addresses, separated by commas. These must be accessible from the management network + constraints: + - allowed_pattern: "((?:\\d{1,3}\\.){3}\\d{1,3},)*((?:\\d{1,3}\\.){3}\\d{1,3})" + description: ntp_server_ip_addrs must be a comma separated list of IPv4 addresses (with no spaces) + # Healing or instantiating? Used to build the correct json file + rtp_msc_a_json_prefix: + type: string + description: Json prefix, used to create the correct json file depending on the operation being performed + constraints: + - allowed_values: + - " " + - "// healing, not required " + description: rtp_msc_a_json_prefix must be set to ' ' or '// healing, not required ' + # Running V4.1 perimeta or greater. Used to ensure that newer json tags are + # not included if the server will not recognize them + rtp_msc_json_v41: + type: string + description: Json prefix, used to ensure that the json tags will be recognised by the server loading them + constraints: + - allowed_values: + - " " + - "// older perimeta, parameter not required " + description: rtp_msc_json_v41 must be set to ' ' or '// older perimeta, parameter not required ' + # Use Radius for user account authentication. + rtp_msc_json_use_radius_authentication: + type: string + description: Json prefix, used to indicate if user account authentication is done externally through Radius + constraints: + - allowed_values: + - " " + - "// not using Radius " + description: rtp_msc_json_use_radius_authentication must be set to ' ' or '// not using Radius ' + # Radius Server address configuration + rtp_msc_json_radius_servername: + type: string + description: IP Address or hostname of RADIUS server + # Radius Server port configuration + rtp_msc_json_radius_port: + type: number + description: Port to use to connect to RADIUS server + constraints: + - range: { min: 0, max: 65535 } + description: rtp_msc_json_radius_port must be between 0 and 65535 + # Radius Server shared secret + rtp_msc_json_radius_secret: + type: string + description: Shared secret to use for the RADIUS Server + # Radius Server connection timeout + rtp_msc_json_radius_timeout: + type: number + description: Timeout for connect requests to RADIUS server + constraints: + - range: { min: 1, max: 60 } + description: rtp_msc_json_timeout must be between 1 and 60 + # Radius Server default user authentication level + rtp_msc_json_radius_default: + type: string + description: Default authentication level for RADIUS users + constraints: + - allowed_values: + - "no-access" + - "read-only" + - "support" + - "restricted-admin" + - "admin" + description: rtp_msc_json_radius_default must be set to one of 'no-access', 'read-only', 'support', 'restricted-admin' or 'admin' + +resources: + # Perimeta RTP MSC + perimeta_rtp_msc_a: + type: module_2_perimeta_sw_a_child.yaml + properties: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vm_role: 'msc' + vf_module_id: { get_param: vf_module_id } + rtp_msc_a_names: { get_param: rtp_msc_a_names } + perimeta_instance_index: { get_param: rtp_msc_a_index } + perimeta_image_name: { get_param: rtp_msc_image_name } + perimeta_flavor_name: { get_param: rtp_msc_flavor_name } + perimeta_keypair: { get_param: shared_perimeta_keypair } + availability_zone_0: { get_param: availability_zone_0 } + mgmt_net_id: { get_param: mgmt_net_id } + rtp_msc_mgmt_vips: { get_param: rtp_msc_mgmt_vips } + rtp_msc_a_mgmt_ips: { get_param: rtp_msc_a_mgmt_ips } + perimeta_sec_groups: { get_param: shared_perimeta_sec_groups } + int_ha_net_id: { get_param: shared_int_ha_net_id } + int_ha_network_plen: { get_param: shared_int_ha_net_prefix_len_v4 } + rtp_msc_a_int_ha_ips: { get_param: rtp_msc_a_int_ha_ips } + rtp_msc_b_int_ha_ips: { get_param: rtp_msc_b_int_ha_ips } + trusted_net_id: { get_param: trusted_net_id } + rtp_msc_trusted_vips: { get_param: rtp_msc_trusted_vips } + rtp_msc_a_trusted_ips: { get_param: rtp_msc_a_trusted_ips } + rtp_msc_untrusted_vips: { get_param: rtp_msc_untrusted_vips } + rtp_msc_untrusted_v6_vips: { get_param: rtp_msc_untrusted_v6_vips } + rtp_msc_a_untrusted_ips: { get_param: rtp_msc_a_untrusted_ips } + rtp_msc_a_untrusted_v6_ips: { get_param: rtp_msc_a_untrusted_v6_ips } + int_untrusted_parent_net_id: { get_param: shared_int_untrusted_parent_net_id } + rtp_msc_untrusted_parent_vips: { get_param: rtp_msc_untrusted_parent_vips } + rtp_msc_a_untrusted_parent_ips: { get_param: rtp_msc_a_untrusted_parent_ips } + perimeta_untrusted_num_vlans: { get_param: perimeta_untrusted_num_vlans } + perimeta_untrusted_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_untrusted_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + perimeta_server_groups: { get_param: shared_perimeta_rtp_msc_server_groups } + perimeta_config: + str_replace: + template: {get_file: rtp_msc_a_template.json} + params: + $HEALING_OR_INSTANTIATION: { get_param: rtp_msc_a_json_prefix } + $NTP_SERVER_IP_ADDRS: { get_param: ntp_server_ip_addrs } + $41ORABOVE: { get_param: rtp_msc_json_v41 } + $USERADIUSAUTH: { get_param: rtp_msc_json_use_radius_authentication } + $RADIUS_SERVERNAME: { get_param: rtp_msc_json_radius_servername } + $RADIUS_PORT: { get_param: rtp_msc_json_radius_port } + $RADIUS_SECRET: { get_param: rtp_msc_json_radius_secret } + $RADIUS_TIMEOUT: { get_param: rtp_msc_json_radius_timeout } + $RADIUS_DEFAULT: { get_param: rtp_msc_json_radius_default } + $LOCAL_MGMT_IP_ADDR: { get_param: [ rtp_msc_a_mgmt_ips, { get_param: rtp_msc_a_index } ] } + $REMOTE_MGMT_IP_ADDR: { get_param: [ rtp_msc_b_mgmt_ips, { get_param: rtp_msc_a_index } ] } + $MGMT_NETWORK_PLEN: { get_param: mgmt_net_plen } + $MGMT_NETWORK_DEFAULT_GATEWAY: { get_param: mgmt_net_default_gateway } + $VIRT_MGMT_IP_ADDR: { get_param: [ rtp_msc_mgmt_vips, { get_param: rtp_msc_a_index } ] } + $VM_NAME_A: { get_param: [ rtp_msc_a_vnfcnames, { get_param: rtp_msc_a_index } ] } + $VM_NAME_B: { get_param: [ rtp_msc_b_vnfcnames, { get_param: rtp_msc_a_index } ] } + $SYSTEM_NAME: { get_param: [ rtp_msc_vnfcnames, { get_param: rtp_msc_a_index } ] } + $COMPLETION_PARAMS: '' diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.env new file mode 100644 index 0000000000..0a98f80305 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.env @@ -0,0 +1,113 @@ +# Environment file for instantiating +# - 1 x HA RTP MSC pair - B instance +# +# The Perimeta B instance is only configured with sufficient +# configuration to allow partnering from the A instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +# A perimeta deployment can support one or more RTP MSCs. The parameter +# rtp_msc_b_index is used to make sure that the appropriate settings for this +# RTP MSC are extracted from the various address and server group arrays. +# + +parameters: + # + # General VNF parameters + # + # Unique VNF name + #vnf_name: tsbc0002 + # ID of VNF + #vnf_id: ibcx0002 + # Unique ID for this VF Module instance + #vf_module_id: ibcx + # Availability zone for B instances. + #availability_zone_1: DPA3_D2_AZ2 + + # + # Shared parameters from base template + # + # Internal HA network UUID + #shared_int_ha_net_id: "c8994bb0-9dbd-43e7-a8f9-658c54e35d23" + # Internal HA network IPv4 prefix length + #shared_int_ha_net_prefix_len_v4: 26 + # Keypair UUID + #shared_perimeta_keypair: "atttest_key_pair" + # List of security groups to use for all interfaces + #shared_perimeta_sec_groups: [ "2412dd6a-d784-40a5-a195-7a7da2349178" ] + # Anti-affinity server groups to use for RTP MSCs + #shared_perimeta_rtp_msc_server_groups: ["be4b3fa9-112d-454e-952f-146e45202130","bcdd96eb-b3fc-42ee-9ae8-e13ad0a4f0b8","b293e29f-c101-4b4e-80d6-7a1b4173e4e2","fd791679-6b71-4c3a-b8b7-1d586559976e","98171a69-8956-4ce6-b303-1a15444ee47b","a35ba80b-c0c2-4c29-a9ae-4df26d33323f","2192327a-6a31-43b6-84c4-49abc597b4e6","b2843fa5-9f25-49b0-9dc6-5c1c0472e8d4"] + + # + # RTP MSC parameters + # + # Index of RTP MSC to instantiate / heal. This is used as the index into the + # various address and service group arrays to get the information associated + # with that specific instance + #rtp_msc_b_index: 0 + # Flavor to use for creating RTP MSC VM instance + rtp_msc_flavor_name: gv.c8r16d160 + # Glance image to use for launching RTP MSC Perimeta instances. + rtp_msc_image_name: ISBC_SBC_v4.0.40_SU12.qcow2 + + + + # Name of VM B of RTP MSC + #rtp_msc_b_names: ["ibcx0002vm004","ibcx0002vm006","ibcx0002vm008","ibcx0002vm010","ibcx0002vm012","ibcx0002vm014","ibcx0002vm016","ibcx0002vm018"] + + # + # HA network parameters + # + # HA fixed IPv4 address to use for RTP MSC B. + #rtp_msc_b_int_ha_ips: ["172.26.1.7","172.26.1.9","172.26.1.11","172.26.1.13","172.26.1.15","172.26.1.17","172.26.1.19","172.26.1.21"] + # HA fixed IPv4 address to use for RTP MSC A. + #rtp_msc_a_int_ha_ips: ["172.26.1.6","172.26.1.8","172.26.1.10","172.26.1.12","172.26.1.14","172.26.1.16","172.26.1.18","172.26.1.20"] + + # + # Management network parameters + # + # Management network ID + #mgmt_net_id: 4b5621b0-4ca4-4ea0-8511-860318c4fc3b + # Management virtual IPv4 address to use for RTP MSC. + #rtp_msc_mgmt_vips: ["135.144.188.139","135.144.188.142","135.144.188.145","135.144.188.148","135.144.188.151","135.144.188.154","135.144.188.157","135.144.188.160"] + # Management fixed IPv4 address to use for RTP MSC B. + #rtp_msc_b_mgmt_ips: ["135.144.188.140","135.144.188.143","135.144.188.146","135.144.188.149","135.144.188.152","135.144.188.155","135.144.188.158","135.144.188.161"] + + # + # Trusted/core network parameters + # + # Network ID of Trusted/core network. + #trusted_net_id: 3d584971-4ec6-408c-92fe-3073666fbcb9 + # Virtual IPv4 address on Trusted/core network for RTP MSC. + #rtp_msc_trusted_vips: ["10.1.1.8","10.1.1.11","10.1.1.14","10.1.1.17","10.1.1.20","10.1.1.23","10.1.1.26","10.1.1.29"] + # Fixed IPv4 address on Trusted/core network for RTP MSC B. + #rtp_msc_b_trusted_ips: ["10.1.1.9","10.1.1.12","10.1.1.15","10.1.1.18","10.1.1.21","10.1.1.24","10.1.1.27","10.1.1.30"] + + # + # Untrusted/access network parameters + # + # Using VLANs on Untrusted/access + #shared_int_untrusted_parent_net_id: a0ddd409-f6a7-465a-a091-827a12402252 + # Virtual IPv4 address on Untrusted/access parent network for RTP MSC. + #rtp_msc_untrusted_parent_vips: ["11.0.0.9","11.0.0.12","11.0.0.15","11.0.0.18","11.0.0.21","11.0.0.24","11.0.0.27","11.0.0.30"] + # Fixed IPv4 address on Untrusted/access parent network for RTP MSC B. + #rtp_msc_b_untrusted_parent_ips: ["11.0.0.8","11.0.0.11","11.0.0.14","11.0.0.17","11.0.0.20","11.0.0.23","11.0.0.26","11.0.0.29"] + + #perimeta_untrusted_num_vlans: 5 + #perimeta_untrusted_vlan_ids: ["81", "1001", "1002", "1003", "1004"] + #perimeta_untrusted_vlan_networks: [95c74fbb-0650-4ac2-bd4f-7b4fb50b4b5d,aa1a5096-61fd-421b-a74b-0b4a72c47856,ced72584-9c09-4d67-9b9f-8faf4c081c45,6311c9db-c4ba-41f5-85e5-4a3cc85d7f55,79391429-9c52-44f5-b9a9-4547fec0e9d4] + + + + # Virtual IPv4 address on Untrusted/access network for RTP MSC. + #rtp_msc_untrusted_vips: ["12.121.106.136","12.121.106.139","12.121.106.142","12.121.106.145","12.121.106.148","12.121.106.151","12.121.106.154","12.121.106.157"] + # Virtual IPv6 address on Untrusted/access network for RTP MSC. + #rtp_msc_untrusted_v6_vips: ["2001:1890:1001:2B38::2D:5","2001:1890:1001:2B38::2D:8","2001:1890:1001:2B38::2D:B","2001:1890:1001:2B38::2D:E","2001:1890:1001:2B38::2D:11","2001:1890:1001:2B38::2D:14","2001:1890:1001:2B38::2D:17","2001:1890:1001:2B38::2D:1A"] + # Fixed IPv4 address on Untrusted/access network for RTP MSC B. + #rtp_msc_b_untrusted_ips: ["12.121.106.137","12.121.106.140","12.121.106.143","12.121.106.146","12.121.106.149","12.121.106.152","12.121.106.155","12.121.106.158"] + # Fixed IPv6 address on Untrusted/access network for RTP MSC B. + #rtp_msc_b_untrusted_v6_ips: ["2001:1890:1001:2B38::2D:6","2001:1890:1001:2B38::2D:9","2001:1890:1001:2B38::2D:C","2001:1890:1001:2B38::2D:F","2001:1890:1001:2B38::2D:12","2001:1890:1001:2B38::2D:15","2001:1890:1001:2B38::2D:18","2001:1890:1001:2B38::2D:1B"] + diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.yaml new file mode 100644 index 0000000000..d3866bff77 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_rtp_msc_b.yaml @@ -0,0 +1,197 @@ +# Template for instantiating +# - 1 x HA RTP MSC pair - B instance +# +# The Perimeta B instance is only configured with sufficient +# configuration to allow partnering from the A instance (which will complete +# the configuration). +# +# This template assumes that a base template stack has previously been +# created so that deployment wide resources such as server-groups have been +# defined. +# +# A perimeta deployment can support one or more RTP MSCs. The parameter +# rtp_msc_b_index is used to make sure that the appropriate settings for this +# RTP MSC are extracted from the various address and server group arrays. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an B side Perimeta RTP MSC + +parameters: + # General VNF parameters + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: ID of VNF + vf_module_id: + type: string + description: Unique ID for this VF Module instance + # Availability zones + availability_zone_1: + type: string + description: Availability zone for B instances. + shared_perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + shared_perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on all interfaces. + shared_perimeta_rtp_msc_server_groups: + type: comma_delimited_list + description: Server group to use for these VMs + # Internal network parameters + shared_int_ha_net_id: + type: string + description: HA network id + constraints: + - custom_constraint: neutron.network + + # Constraint below is copied from base module + shared_int_ha_net_prefix_len_v4: + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: shared_int_ha_net_prefix_len_v4 must be between 0 and 31 + # Management network parameters + mgmt_net_id: + type: string + description: Management network ID + constraints: + - custom_constraint: neutron.network + # Trusted/core network parameters + trusted_net_id: + type: string + description: Network ID of Trusted/core network. + constraints: + - custom_constraint: neutron.network + # untrusted parent network parameters + shared_int_untrusted_parent_net_id: + type: string + description: untrusted parent network id + # RTP MSC IP addresses on Untrusted/access parent network + rtp_msc_untrusted_parent_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Untrusted/access parent network for RTP MSC. + rtp_msc_b_untrusted_parent_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Untrusted/access parent network for RTP MSC B. + perimeta_untrusted_num_vlans: + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_untrusted_vlan_networks: + type: comma_delimited_list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + # RTP MSC parameters + rtp_msc_flavor_name: + type: string + description: Flavor to use for creating RTP MSC VM instance + constraints: + - custom_constraint: nova.flavor + rtp_msc_image_name: + type: string + description: Glance image to use for launching RTP MSC Perimeta instances. + constraints: + - custom_constraint: glance.image + # Index of the instance to instantiate / heal. This is used to access the + # various address / name / server group arrays to extract the information + # specific to this server. + # + # The constraints need to be co-ordinated with the parameter + # perimeta_max_rtp_msc_count in the base template. Unfortunately we cannot + # use a get_param call to get a constraint so it has to be a number. + # + # We also need to account for the fact that arrays start at zero and we are + # specifying the index in this parameter so the maximum constraint is 1 less + # than the maximum in the base template + rtp_msc_b_index: + type: number + description: Index of RTP MSC to instantiate / heal. + constraints: + - range: { min: 0, max: 19 } + description: rtp_msc_b_index must be between 0 and 19 + # RTP MSC names of the physical B instance + rtp_msc_b_names: + type: comma_delimited_list + description: List of names of VM B of RTP MSC + # RTP MSC IP addresses on management network + rtp_msc_mgmt_vips: + type: comma_delimited_list + description: List of management virtual IP addresses to use for RTP MSC. + rtp_msc_b_mgmt_ips: + type: comma_delimited_list + description: List of management fixed IP addresses to use for RTP MSC B. + # RTP MSC IP addresses on internal HA network + rtp_msc_b_int_ha_ips: + type: comma_delimited_list + description: List of HA fixed IP addresses to use for RTP MSC B. + rtp_msc_a_int_ha_ips: + type: comma_delimited_list + description: List of HA fixed IP addresses to use for RTP MSC A. + # RTP MSC IP addresses on Trusted/core network + rtp_msc_trusted_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Trusted/core network for RTP MSC. + rtp_msc_b_trusted_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Trusted/core network for RTP MSC B. + # RTP MSC IP addresses on Untrusted/access network + rtp_msc_untrusted_vips: + type: comma_delimited_list + description: List of virtual IPv4 addresses on Untrusted/access network for RTP MSC. + rtp_msc_untrusted_v6_vips: + type: comma_delimited_list + description: List of virtual IPv6 addresses on Untrusted/access network for RTP MSC. + rtp_msc_b_untrusted_ips: + type: comma_delimited_list + description: List of fixed IPv4 addresses on Untrusted/access network for RTP MSC B. + rtp_msc_b_untrusted_v6_ips: + type: comma_delimited_list + description: List of fixed IPv6 addresses on Untrusted/access network for RTP MSC B. + +resources: + # Perimeta RTP MSC + perimeta_rtp_msc_b: + type: module_2_perimeta_sw_b_child.yaml + properties: + vnf_name: { get_param: vnf_name } + vnf_id: { get_param: vnf_id } + vm_role: 'msc' + vf_module_id: { get_param: vf_module_id } + rtp_msc_b_names: { get_param: rtp_msc_b_names } + perimeta_instance_index: { get_param: rtp_msc_b_index } + perimeta_image_name: { get_param: rtp_msc_image_name } + perimeta_flavor_name: { get_param: rtp_msc_flavor_name } + perimeta_keypair: { get_param: shared_perimeta_keypair } + availability_zone_1: { get_param: availability_zone_1 } + mgmt_net_id: { get_param: mgmt_net_id } + rtp_msc_mgmt_vips: { get_param: rtp_msc_mgmt_vips } + rtp_msc_b_mgmt_ips: { get_param: rtp_msc_b_mgmt_ips } + perimeta_sec_groups: { get_param: shared_perimeta_sec_groups } + int_ha_net_id: { get_param: shared_int_ha_net_id } + int_ha_network_plen: { get_param: shared_int_ha_net_prefix_len_v4 } + rtp_msc_b_int_ha_ips: { get_param: rtp_msc_b_int_ha_ips } + rtp_msc_a_int_ha_ips: { get_param: rtp_msc_a_int_ha_ips } + trusted_net_id: { get_param: trusted_net_id } + rtp_msc_trusted_vips: { get_param: rtp_msc_trusted_vips } + rtp_msc_b_trusted_ips: { get_param: rtp_msc_b_trusted_ips } + rtp_msc_untrusted_vips: { get_param: rtp_msc_untrusted_vips } + rtp_msc_untrusted_v6_vips: { get_param: rtp_msc_untrusted_v6_vips } + rtp_msc_b_untrusted_ips: { get_param: rtp_msc_b_untrusted_ips } + rtp_msc_b_untrusted_v6_ips: { get_param: rtp_msc_b_untrusted_v6_ips } + int_untrusted_parent_net_id: { get_param: shared_int_untrusted_parent_net_id } + rtp_msc_untrusted_parent_vips: { get_param: rtp_msc_untrusted_parent_vips } + rtp_msc_b_untrusted_parent_ips: { get_param: rtp_msc_b_untrusted_parent_ips } + perimeta_untrusted_num_vlans: { get_param: perimeta_untrusted_num_vlans } + perimeta_untrusted_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_untrusted_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + perimeta_server_groups: { get_param: shared_perimeta_rtp_msc_server_groups } diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_a_child.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_a_child.yaml new file mode 100644 index 0000000000..fdf5b2a662 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_a_child.yaml @@ -0,0 +1,286 @@ +# Heat template which intstantiates an A side Perimeta RTP MSC instance with +# 4 vNICs. +# +# This is designed to be included in a higher level template. +# +# This template puts the Perimeta configuration in place using userdata +# injected via OpenStack's ConfigDrive mechanism. +# +# Host anti-affinity is achieved using different availability zones for +# the Perimeta instance or server group anti-affinity if they are in the +# same availability zone. +# +# Template requires Juno or above and has been tested on Kilo. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an A side Perimeta RTP MSC instance with 4 vNICs as part of a nested template + +parameters: + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: VNF ID of this deployment + vm_role: + type: string + description: Role of these VMs + vf_module_id: + type: string + description: Unique ID for this VF Module instance + # Index of the instance to instantiate / heal. This is used to access the + # various address / name / server group arrays to extract the information + # specific to this server. + # + # The constraints need to be co-ordinated with the parameter + # perimeta_max_rtp_msc_count in the base template. Unfortunately we cannot + # use a get_param call to get a constraint so it has to be a number. + # + # We also need to account for the fact that arrays start at zero and we are + # specifying the index in this parameter so the maximum constraint is 1 less + # than the maximum in the base template + perimeta_instance_index: + type: number + description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances. + constraints: + - range: { min: 0, max: 19 } + description: perimeta_instance_index must be between 0 and 19 + rtp_msc_a_names: + type: comma_delimited_list + description: List of names of Perimeta VM A instances, indexed by perimeta_instance_index + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + availability_zone_0: + # Can be commented out along with references if always using a single availability zone + type: string + description: Availability zone for A instances. + mgmt_net_id: + type: string + description: Management network id + rtp_msc_mgmt_vips: + type: comma_delimited_list + description: List of management virtual IP addresses for all instances. + rtp_msc_a_mgmt_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as management IPs of A instances. + int_ha_net_id: + type: string + description: HA network id + int_ha_network_plen: + # Constraint copied from base module + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: int_ha_network_plen must be between 0 and 31 + rtp_msc_a_int_ha_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as HA IPs of A instances. + rtp_msc_b_int_ha_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as HA IPs of B instances. + trusted_net_id: + type: string + description: Trusted/core network UUID + rtp_msc_trusted_vips: + type: comma_delimited_list + description: List of Trusted/core virtual IP addresses for all instances. + rtp_msc_a_trusted_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of A instances. + perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on trusted interfaces. + rtp_msc_untrusted_vips: + type: comma_delimited_list + description: List of Untrusted/access virtual IP addresses for all instances. + rtp_msc_untrusted_v6_vips: + type: comma_delimited_list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + rtp_msc_a_untrusted_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access fixed IPs of A instances. + rtp_msc_a_untrusted_v6_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of A instances. + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + rtp_msc_untrusted_parent_vips: + type: comma_delimited_list + description: List of Untrusted/access parent virtual IP addresses for all instances. + rtp_msc_a_untrusted_parent_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of A instances. + perimeta_untrusted_num_vlans: + # constraint copied from parent module + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_untrusted_vlan_networks: + type: comma_delimited_list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + perimeta_server_groups: + type: comma_delimited_list + description: Server groups to use for these VMs + perimeta_config: + type: string + description: JSON orchestration template configuration for instance. + +resources: + # Perimeta management ports + perimeta_rtp_msc_a_mgmt_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_a_names, { get_param: perimeta_instance_index } ] } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_a_mgmt_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_mgmt_vips, { get_param: perimeta_instance_index } ] } + + # Perimeta HA ports + perimeta_rtp_msc_a_ha_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_a_names, { get_param: perimeta_instance_index } ] } + network: { get_param: int_ha_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_a_int_ha_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + + # Perimeta Trusted/core service network ports + # + # Dual stack core network + # - if only IPv4 required comment out second entry in fixed_ips and allowed_addess_pairs parameters. + # - if only IPv6 required comment out first entry in fixed_ips and allowed_addess_pairs parameters. + perimeta_rtp_msc_a_trusted_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_a_names, { get_param: perimeta_instance_index } ] } + network: { get_param: trusted_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_a_trusted_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_trusted_vips, { get_param: perimeta_instance_index } ] } + + # Perimeta Untrusted/access service network ports + # VLAN being used on this service interface. + # The parent network port is used to anchor the VLANs and is not used to + # route actual traffic for the service interface. This means that we can + # create a dummy network in the base module and use that instead of the + # real untrusted network + + perimeta_rtp_msc_a_untrusted_parent_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_a_names, { get_param: perimeta_instance_index } ] } + network: { get_param: int_untrusted_parent_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_a_untrusted_parent_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_untrusted_parent_vips, { get_param: perimeta_instance_index } ] } + + + # Contrail VLAN subinterfaces + perimeta_rtp_msc_a_untrusted_0_vlan_ports: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: perimeta_untrusted_num_vlans } + resource_def: + type: vlan_subinterface_dual.yaml + properties: + perimeta_subinterface_instance_index: "%index%" + perimeta_subinterface_name_prefix: + str_replace: + template: $VNF_NAME_$VM_untrusted_port_vlan + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_a_names, { get_param: perimeta_instance_index } ] } + perimeta_parent_interface: { get_resource: perimeta_rtp_msc_a_untrusted_parent_0_port } + perimeta_mac_address: { get_attr: [ perimeta_rtp_msc_a_untrusted_parent_0_port, mac_address ] } + perimeta_ip_0: { get_param: [ rtp_msc_a_untrusted_ips, { get_param: perimeta_instance_index } ] } + perimeta_v6_ip_0: { get_param: [ rtp_msc_a_untrusted_v6_ips, { get_param: perimeta_instance_index } ] } + perimeta_vip_0: { get_param: [ rtp_msc_untrusted_vips, { get_param: perimeta_instance_index } ] } + perimeta_v6_vip_0: { get_param: [ rtp_msc_untrusted_v6_vips, { get_param: perimeta_instance_index } ] } + perimeta_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + + # Add any additional service ports here. + + perimeta_rtp_msc_a_server_0: + type: OS::Nova::Server + properties: + name: { get_param: [ rtp_msc_a_names, { get_param: perimeta_instance_index } ] } + image: { get_param: perimeta_image_name } + flavor: { get_param: perimeta_flavor_name } + key_name: { get_param: perimeta_keypair } + scheduler_hints: { group: { get_param: [ perimeta_server_groups, { get_param: perimeta_instance_index } ] } } + metadata: + 'vnf_name': { get_param: vnf_name } + 'vnf_id': { get_param: vnf_id } + 'vm_role': + str_replace: + template: $ROLE_a + params: + $ROLE: { get_param: vm_role } + 'vf_module_id': { get_param: vf_module_id } + 'msw_template_version': '17.07.04 - 2017-09-01' + personality: + '/opt/MetaSwitch/init/custom.ini': { get_file: custom.ini } + networks: + - port: { get_resource: perimeta_rtp_msc_a_mgmt_0_port } + - port: { get_resource: perimeta_rtp_msc_a_ha_0_port } + - port: { get_resource: perimeta_rtp_msc_a_trusted_0_port } + - port: { get_resource: perimeta_rtp_msc_a_untrusted_parent_0_port } + availability_zone: { get_param: availability_zone_0 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: { get_param: perimeta_config } + params: + $MGMT_MACADDR: { get_attr: [perimeta_rtp_msc_a_mgmt_0_port, mac_address] } + $HA_MACADDR: { get_attr: [perimeta_rtp_msc_a_ha_0_port, mac_address] } + $TRUSTED_MACADDR: { get_attr: [perimeta_rtp_msc_a_trusted_0_port, mac_address] } + $UNTRUSTED_MACADDR: { get_attr: [perimeta_rtp_msc_a_untrusted_parent_0_port, mac_address] } + $LOCAL_HA_IP_ADDR: { get_param: [ rtp_msc_a_int_ha_ips, { get_param: perimeta_instance_index } ] } + $REMOTE_HA_IP_ADDR: { get_param: [ rtp_msc_b_int_ha_ips, { get_param: perimeta_instance_index } ] } + $HA_NETWORK_PLEN: { get_param: int_ha_network_plen }
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_b_child.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_b_child.yaml new file mode 100644 index 0000000000..3aa1a66ba1 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/module_2_perimeta_sw_b_child.yaml @@ -0,0 +1,292 @@ +# Heat template which intstantiates an B side Perimeta RTP MSC instance with +# 4 vNICs. +# +# This is designed to be included in a higher level template. +# +# This template puts the Perimeta configuration in place using userdata +# injected via OpenStack's ConfigDrive mechanism. +# +# Host anti-affinity is achieved using different availability zones for +# the Perimeta instance or server group anti-affinity if they are in the +# same availability zone. +# +# Template requires Juno or above and has been tested on Kilo. +# +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate an B side Perimeta RTP MSC instance with 4 vNICs as part of a nested template + +parameters: + vnf_name: + type: string + description: Unique name for this VNF instance + vnf_id: + type: string + description: VNF ID of this deployment + vm_role: + type: string + description: Role of these VMs + vf_module_id: + type: string + description: Unique ID for this VF Module instance + # Index of the instance to instantiate / heal. This is used to access the + # various address / name / server group arrays to extract the information + # specific to this server. + # + # The constraints need to be co-ordinated with the parameter + # perimeta_max_rtp_msc_count in the base template. Unfortunately we cannot + # use a get_param call to get a constraint so it has to be a number. + # + # We also need to account for the fact that arrays start at zero and we are + # specifying the index in this parameter so the maximum constraint is 1 less + # than the maximum in the base template + perimeta_instance_index: + type: number + description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances. + constraints: + - range: { min: 0, max: 19 } + description: perimeta_instance_index must be between 0 and 19 + rtp_msc_b_names: + type: comma_delimited_list + description: List of names of Perimeta VM B instances, indexed by perimeta_instance_index + perimeta_image_name: + type: string + description: Glance image for Perimeta instance + perimeta_flavor_name: + type: string + description: Flavor to use for creating VM instances + perimeta_keypair: + type: string + description: Keypair to use for accessing this Perimeta instance + availability_zone_1: + # Can be commented out along with references if always using a single availability zone + type: string + description: Availability zone for B instances. May be the same as A instance. + mgmt_net_id: + type: string + description: Management network id + rtp_msc_mgmt_vips: + type: comma_delimited_list + description: List of management virtual IP addresses for all instances. + rtp_msc_b_mgmt_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as management IPs of B instances. + int_ha_net_id: + type: string + description: HA network id + int_ha_network_plen: + # Constraint copied from base module + type: number + description: Prefix length of subnet associated with internal HA network + constraints: + - range: { min: 0, max: 31 } + description: int_ha_network_plen must be between 0 and 31 + rtp_msc_b_int_ha_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as HA IPs of B instances. + rtp_msc_a_int_ha_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as HA IPs of A instances. + trusted_net_id: + type: string + description: Trusted/core network UUID + rtp_msc_trusted_vips: + type: comma_delimited_list + description: List of Trusted/core virtual IP addresses for all instances. + rtp_msc_b_trusted_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Trusted/core fixed IPs of B instances. + perimeta_sec_groups: + type: comma_delimited_list + description: List of security groups to add on trusted interfaces. + rtp_msc_untrusted_vips: + type: comma_delimited_list + description: List of Untrusted/access virtual IP addresses for all instances. + rtp_msc_untrusted_v6_vips: + type: comma_delimited_list + description: List of Untrusted/access alternate virtual IP addresses for all instances. + rtp_msc_b_untrusted_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access fixed IPs of B instances. + rtp_msc_b_untrusted_v6_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access alternate fixed IPs of B instances. + int_untrusted_parent_net_id: + type: string + description: internal Untrusted/access parent network id + rtp_msc_untrusted_parent_vips: + type: comma_delimited_list + description: List of Untrusted/access parent virtual IP addresses for all instances. + rtp_msc_b_untrusted_parent_ips: + type: comma_delimited_list + description: List of fixed IP addresses to use as Untrusted/access parent fixed IPs of B instances. + perimeta_untrusted_num_vlans: + # constraint copied from parent module + type: number + description: number of VLANs to connect to the untrusted/access interface + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_untrusted_num_vlans (number of VLANs to connect to the untrusted/access interface) must be between 1 and 1001 + perimeta_untrusted_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use on the untrusted/access network + perimeta_untrusted_vlan_networks: + type: comma_delimited_list + description: List of Contrail VLAN networks to use on the untrusted/access network. The order and number of these must match the VLAN ID list. + perimeta_server_groups: + type: comma_delimited_list + description: Server groups to use for these VMs + +resources: + # Perimeta management ports + perimeta_rtp_msc_b_mgmt_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_mgmt_0_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] } + network: { get_param: mgmt_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_b_mgmt_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_mgmt_vips, { get_param: perimeta_instance_index } ] } + + # Perimeta HA ports + perimeta_rtp_msc_b_ha_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_ha_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] } + network: { get_param: int_ha_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_b_int_ha_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + + # Perimeta Trusted/core service network ports + # + # Dual stack core network + # - if only IPv4 required comment out second entry in fixed_ips and allowed_addess_pairs parameters. + # - if only IPv6 required comment out first entry in fixed_ips and allowed_addess_pairs parameters. + perimeta_rtp_msc_b_trusted_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_trusted_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] } + network: { get_param: trusted_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_b_trusted_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_trusted_vips, { get_param: perimeta_instance_index } ] } + + # Perimeta Untrusted/access service network ports + # VLAN being used on this service interface. + # The parent network port is used to anchor the VLANs and is not used to + # route actual traffic for the service interface. This means that we can + # create a dummy network in the base module and use that instead of the + # real untrusted network + + perimeta_rtp_msc_b_untrusted_parent_0_port: + type: OS::Neutron::Port + properties: + name: + str_replace: + template: $VNF_NAME_$VM_untrusted_parent_port + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] } + network: { get_param: int_untrusted_parent_net_id } + fixed_ips: + - ip_address: { get_param: [ rtp_msc_b_untrusted_parent_ips, { get_param: perimeta_instance_index } ] } + security_groups: { get_param: perimeta_sec_groups } + allowed_address_pairs: + - ip_address: { get_param: [ rtp_msc_untrusted_parent_vips, { get_param: perimeta_instance_index } ] } + + + # Contrail VLAN subinterfaces + perimeta_rtp_msc_b_untrusted_0_vlan_ports: + type: OS::Heat::ResourceGroup + properties: + count: { get_param: perimeta_untrusted_num_vlans } + resource_def: + type: vlan_subinterface_dual.yaml + properties: + perimeta_subinterface_instance_index: "%index%" + perimeta_subinterface_name_prefix: + str_replace: + template: $VNF_NAME_$VM_untrusted_port_vlan + params: + $VNF_NAME : { get_param: vnf_name } + $VM: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] } + perimeta_parent_interface: { get_resource: perimeta_rtp_msc_b_untrusted_parent_0_port } + perimeta_mac_address: { get_attr: [ perimeta_rtp_msc_b_untrusted_parent_0_port, mac_address ] } + perimeta_ip_0: { get_param: [ rtp_msc_b_untrusted_ips, { get_param: perimeta_instance_index } ] } + perimeta_v6_ip_0: { get_param: [ rtp_msc_b_untrusted_v6_ips, { get_param: perimeta_instance_index } ] } + perimeta_vip_0: { get_param: [ rtp_msc_untrusted_vips, { get_param: perimeta_instance_index } ] } + perimeta_v6_vip_0: { get_param: [ rtp_msc_untrusted_v6_vips, { get_param: perimeta_instance_index } ] } + perimeta_vlan_ids: { get_param: perimeta_untrusted_vlan_ids } + perimeta_vlan_networks: { get_param: perimeta_untrusted_vlan_networks } + + # Add any additional service ports here. + + perimeta_rtp_msc_b_server_0: + type: OS::Nova::Server + properties: + name: { get_param: [ rtp_msc_b_names, { get_param: perimeta_instance_index } ] } + image: { get_param: perimeta_image_name } + flavor: { get_param: perimeta_flavor_name } + key_name: { get_param: perimeta_keypair } + scheduler_hints: { group: { get_param: [ perimeta_server_groups, { get_param: perimeta_instance_index } ] } } + metadata: + 'vnf_name': { get_param: vnf_name } + 'vnf_id': { get_param: vnf_id } + 'vm_role': + str_replace: + template: $ROLE_b + params: + $ROLE: { get_param: vm_role } + 'vf_module_id': { get_param: vf_module_id } + 'msw_template_version': '17.07.04 - 2017-09-01' + networks: + - port: { get_resource: perimeta_rtp_msc_b_mgmt_0_port } + - port: { get_resource: perimeta_rtp_msc_b_ha_0_port } + - port: { get_resource: perimeta_rtp_msc_b_trusted_0_port } + - port: { get_resource: perimeta_rtp_msc_b_untrusted_parent_0_port } + availability_zone: { get_param: availability_zone_1 } + config_drive: True + user_data_format: RAW + user_data: + str_replace: + template: | + { + "vnic_assignment": { + "IBG1mgmt": {"mac": "$MGMT_MACADDR"}, + "IPG1": {"mac": "$HA_MACADDR"}, + "RPG1": {"mac": "$TRUSTED_MACADDR"}, + "RPG2": {"mac": "$UNTRUSTED_MACADDR"} + }, + "ip_ha_local": "$LOCAL_HA_IP_ADDR", + "ip_ha_remote": "$REMOTE_HA_IP_ADDR", + "ip_ha_plen": "$HA_NETWORK_PLEN" + } + params: + $MGMT_MACADDR: { get_attr: [perimeta_rtp_msc_b_mgmt_0_port, mac_address] } + $HA_MACADDR: { get_attr: [perimeta_rtp_msc_b_ha_0_port, mac_address] } + $TRUSTED_MACADDR: { get_attr: [perimeta_rtp_msc_b_trusted_0_port, mac_address] } + $UNTRUSTED_MACADDR: { get_attr: [perimeta_rtp_msc_b_untrusted_parent_0_port, mac_address] } + $LOCAL_HA_IP_ADDR: { get_param: [ rtp_msc_b_int_ha_ips, { get_param: perimeta_instance_index } ] } + $REMOTE_HA_IP_ADDR: { get_param: [ rtp_msc_a_int_ha_ips, { get_param: perimeta_instance_index } ] } + $HA_NETWORK_PLEN: { get_param: int_ha_network_plen }
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/vlan_subinterface_dual.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/vlan_subinterface_dual.yaml new file mode 100644 index 0000000000..8ee34a1265 --- /dev/null +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/heat/nested/nestedwithoutNodeTemplates/inputs/vlan_subinterface_dual.yaml @@ -0,0 +1,102 @@ +heat_template_version: 2014-10-16 + +description: > + HOT template to instantiate a single Contrail VLAN sub-interface with associated instance IP addresses and allowed address pairs + +parameters: + perimeta_subinterface_instance_index: + # constraint copied from parent module + type: number + description: Index of instance among multiple instances. Use to retrieve correct parameter for this instance when passed all parameters for all instances. + constraints: + - range: { min: 1, max: 1001 } + description: perimeta_subinterface_instance_index must be between 1 and 1001 + perimeta_subinterface_name_prefix: + type: string + description: Combined with subinterface_instance_index, this is used as the name of the subinterface resource + perimeta_parent_interface: + type: string + description: Parent Contrail interface + perimeta_mac_address: + type: string + description: MAC address to use for subinterface + perimeta_ip_0: + type: string + description: IPv4 address associated with subinterfaces + perimeta_v6_ip_0: + type: string + description: IPv6 address associated with subinterfaces + perimeta_vip_0: + type: string + description: virtual IPv4 address associated with subinterfaces + perimeta_v6_vip_0: + type: string + description: virtual IPv6 address associated with subinterfaces + perimeta_vlan_ids: + type: comma_delimited_list + description: List of VLAN IDs to use for subinterfaces + perimeta_vlan_networks: + type: comma_delimited_list + description: List of Contrail VLAN networks to use for the subinterfaces. The order and number of these must match the VLAN ID list + +resources: + contrail_vmi_subinterface: + type: OS::ContrailV2::VirtualMachineInterface + properties: + name: + str_replace: + template: $NAME_$VLAN + params: + $NAME: { get_param: perimeta_subinterface_name_prefix } + $VLAN: { get_param: [ perimeta_vlan_ids, { get_param: perimeta_subinterface_instance_index } ] } + virtual_machine_interface_properties: + { + virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: [ perimeta_vlan_ids, { get_param: perimeta_subinterface_instance_index } ] } + } + virtual_machine_interface_mac_addresses: + { + virtual_machine_interface_mac_addresses_mac_address: [{ get_param: perimeta_mac_address }], + } + virtual_machine_interface_allowed_address_pairs: + { + virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [ + { + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby, + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: perimeta_mac_address }, + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + { + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: perimeta_vip_0 }, + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32 + } + }, + { + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby, + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: perimeta_mac_address }, + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip: + { + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: perimeta_v6_vip_0 }, + virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128 + } + } + ] + } + virtual_network_refs: [{ get_param: [ perimeta_vlan_networks, { get_param: perimeta_subinterface_instance_index } ] }] + virtual_machine_interface_refs: [{ get_param: perimeta_parent_interface }] + + contrail_vmi_ip: + type: OS::ContrailV2::InstanceIp + depends_on: [ contrail_vmi_subinterface ] + properties: + virtual_machine_interface_refs: [{ get_resource: contrail_vmi_subinterface }] + virtual_network_refs: [{ get_param: [ perimeta_vlan_networks, { get_param: perimeta_subinterface_instance_index } ] }] + instance_ip_address: { get_param: perimeta_ip_0 } + instance_ip_family: v4 + + contrail_vmi_ipv6: + type: OS::ContrailV2::InstanceIp + depends_on: [ contrail_vmi_subinterface ] + properties: + virtual_machine_interface_refs: [{ get_resource: contrail_vmi_subinterface }] + virtual_network_refs: [{ get_param: [ perimeta_vlan_networks, { get_param: perimeta_subinterface_instance_index } ] }] + instance_ip_address: { get_param: perimeta_v6_ip_0 } + instance_ip_family: v6 diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml index 6e2aebc9c2..4744837987 100644 --- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml +++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml @@ -508,152 +508,6 @@ topology_template: capability: tosca.capabilities.Node node: NOKIA-LCP-Base relationship: tosca.relationships.DependsOn - FORMATXLATE: - type: org.openecomp.resource.abstract.nodes.heat.LCP-OPENECOMP.template - directives: - - substitutable - properties: - net_ids: - ? '' - : null - access: - get_input: access_net_id - oam: - get_input: oam_net_id - flavors: - ? '' - : '' - oam: - get_input: oam_flavor_name - ims: - get_input: ims_flavor_name - v4_ntp_server: - get_input: v4_ntp_server - vnf_name: - get_input: vnf_name - vmtype_list: - - oam - - ims - name_lists: - ? '' - : [ - ] - oam: - get_input: oam_names - ims: - get_input: ims_names - service_template_filter: - substitute_service_template: LCP-OPENECOMP.templateServiceTemplate.yaml - vm_counts: - get_input: vm_counts - v6_dns_server: - get_input: v6_dns_server - v6_ntp_server: - get_input: v6_ntp_server - vnf_id: - get_input: vnf_id - lcm_keypair: - get_input: lcm_keypair - subnet_ids: - ? '' - : null - access: - get_input: access_subnet_id - oam: - get_input: oam_subnet_id - cidrs: - ? '' - : null - access: - get_input: access_cidr - oam: - get_input: oam_cidr - default_gateways: - ? '' - : null - access: - get_input: access_default_gateway - oam: - get_input: oam_default_gateway - net_types: - get_input: net_types - ssh_access_key: - get_input: ssh_access_key - images: - ? '' - : '' - oam: - get_input: oam_image_name - ims: - get_input: ims_image_name - v4_enum_server: - get_input: v4_enum_server - availability_zones: - - get_input: availability_zone_0 - - get_input: availability_zone_1 - ip_lists: - ? '' - : [ - ] - ims_access_ips: - get_input: ims_access_ips - oam_oam_ips: - get_input: oam_oam_ips - vnf_module_id: - get_input: vnf_module_id - backup_file: - get_input: backup_file - v6_enum_server: - get_input: v6_enum_server - default_action: - get_input: default_action - v4_dns_server: - get_input: v4_dns_server - install_config: - get_input: install_config - cloud_name_delimiter: - get_input: cloud_name_delimiter - vnf_module_name: - get_input: vnf_module_name - vm_info: - get_input: vm_info - vmtype_count: 2 - NOKIA-LCP-Base: - type: org.openecomp.resource.abstract.nodes.heat.LCP-Base.template - directives: - - substitutable - properties: - default_prefix: - str_replace: - template: | - {"": "$stk$delimiter"} - params: - $stk: - get_input: OS::stack_name - $delimiter: - get_attribute: - - FORMATXLATE - - usage_info - - cloud_name_delimiter - total_vm_pairs: - get_attribute: - - FORMATXLATE - - total_vm_pairs - service_template_filter: - substitute_service_template: LCP-Base.templateServiceTemplate.yaml - ext_net_list: - - oam - - access - int_net_count: 2 - ext_net_info: - get_attribute: - - FORMATXLATE - - ext_net_info - requirements: - - dependency: - capability: tosca.capabilities.Node - node: FORMATXLATE - relationship: tosca.relationships.DependsOn IMS_RRG: type: org.openecomp.resource.abstract.nodes.heat.LCP-PairGroup.template directives: @@ -828,8 +682,6 @@ topology_template: Example HOT file illustrating elasticity groups. members: - OAM_RRG - - FORMATXLATE - - NOKIA-LCP-Base - IMS_RRG outputs: oam_management_v4_address: diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/att-sdc-validation-impl/src/test/java/com/att/sdc/validation/impl/validators/AttValetGroupAssignmentResourceValidatorTest.java b/openecomp-be/lib/openecomp-sdc-validation-lib/att-sdc-validation-impl/src/test/java/com/att/sdc/validation/impl/validators/AttValetGroupAssignmentResourceValidatorTest.java index 76e10215e3..acb54f4140 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/att-sdc-validation-impl/src/test/java/com/att/sdc/validation/impl/validators/AttValetGroupAssignmentResourceValidatorTest.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/att-sdc-validation-impl/src/test/java/com/att/sdc/validation/impl/validators/AttValetGroupAssignmentResourceValidatorTest.java @@ -1,8 +1,6 @@ package com.att.sdc.validation.impl.validators; import com.att.sdc.validation.datatypes.AttHeatResourceTypes; -import com.att.sdc.validation.datatypes.AttValetGroupTypeValues; -import org.openecomp.sdc.validation.Validator; import org.openecomp.core.validation.api.ValidationManager; import org.openecomp.core.validation.factory.ValidationManagerFactory; import org.openecomp.core.validation.types.GlobalValidationContext; diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-core/src/test/java/org/openecomp/sdc/heat/services/tree/HeatTreeManagerTest.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-core/src/test/java/org/openecomp/sdc/heat/services/tree/HeatTreeManagerTest.java index 8bb95afacd..e3464db8d8 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-core/src/test/java/org/openecomp/sdc/heat/services/tree/HeatTreeManagerTest.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-core/src/test/java/org/openecomp/sdc/heat/services/tree/HeatTreeManagerTest.java @@ -24,6 +24,8 @@ import org.openecomp.config.ConfigurationUtils; import org.openecomp.core.utilities.file.FileContentHandler; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.sdc.heat.datatypes.structure.HeatStructureTree; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.testng.Assert; import org.testng.annotations.Test; @@ -38,6 +40,8 @@ import java.util.stream.Collectors; public class HeatTreeManagerTest { + private Logger logger = LoggerFactory.getLogger(HeatTreeManagerTest.class); + @Test public void testHeatTreeCreation() { @@ -66,7 +70,7 @@ public class HeatTreeManagerTest { try { return FileUtils.toByteArray(new FileInputStream(file)); } catch (IOException e) { - e.printStackTrace(); + logger.debug("",e); } return new byte[0]; diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/util/HeatValidationService.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/util/HeatValidationService.java index 485b4204c7..39362c7e10 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/util/HeatValidationService.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/util/HeatValidationService.java @@ -225,6 +225,7 @@ public class HeatValidationService { throw new Exception("The file '" + nestedFileName + "' has no content"); } } catch (Exception exception) { + logger.debug("",exception); mdcDataDebugMessage.debugExitMessage("file", parentFileName); return; } @@ -242,6 +243,7 @@ public class HeatValidationService { throw new Exception("The file '" + parentFileName + "' has no content"); } } catch (Exception exception) { + logger.debug("",exception); mdcDataDebugMessage.debugExitMessage("file", parentFileName); return; } @@ -374,6 +376,7 @@ public class HeatValidationService { } } catch (Exception exception) { + logger.debug("",exception); logger.warn("HEAT Validator will not be executed on file " + nestedFileName + " due to illegal HEAT format"); @@ -462,6 +465,7 @@ public class HeatValidationService { throw new Exception("The file '" + resourceType + "' has no content"); } } catch (Exception exception) { + logger.debug("",exception); return; } nestedOutputMap = nestedHeatOrchestrationTemplate.getOutputs(); @@ -511,6 +515,7 @@ public class HeatValidationService { throw new Exception("The file '" + envFileName + "' has no content"); } } catch (Exception exception) { + logger.debug("",exception); mdcDataDebugMessage.debugExitMessage("env file", envFileName); return null; } diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ContrailValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ContrailValidator.java index 39556795c7..7d90726dd1 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ContrailValidator.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ContrailValidator.java @@ -48,7 +48,7 @@ import java.util.Optional; public class ContrailValidator implements Validator { - public static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + public static final MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); protected static Logger logger = (Logger) LoggerFactory.getLogger(ContrailValidator.class); @Override @@ -59,6 +59,7 @@ public class ContrailValidator implements Validator { try { manifestContent = ValidationUtil.checkValidationPreCondition(globalContext); } catch (Exception exception) { + logger.debug("",exception); return; } Map<String, FileData.Type> fileTypeMap = ManifestUtil.getFileTypeMap(manifestContent); @@ -148,6 +149,7 @@ public class ContrailValidator implements Validator { heatOrchestrationTemplate = new YamlUtil().yamlToObject(fileContent, HeatOrchestrationTemplate.class); } catch (Exception ignored) { + logger.debug("",ignored); // the HeatValidator should handle file that is failing to parse mdcDataDebugMessage.debugExitMessage("file", fileName); return Optional.empty(); diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ForbiddenResourceGuideLineValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ForbiddenResourceGuideLineValidator.java index 2531150eab..569f2bb760 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ForbiddenResourceGuideLineValidator.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ForbiddenResourceGuideLineValidator.java @@ -1,7 +1,6 @@ package org.openecomp.sdc.validation.impl.validators; import org.apache.commons.collections4.MapUtils; -import org.openecomp.sdc.validation.Validator; import org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder; import org.openecomp.core.validation.types.GlobalValidationContext; import org.openecomp.sdc.common.errors.Messages; @@ -11,12 +10,14 @@ import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent; import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.Resource; import org.openecomp.sdc.heat.services.manifest.ManifestUtil; +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.logging.types.LoggerErrorDescription; import org.openecomp.sdc.logging.types.LoggerTragetServiceName; +import org.openecomp.sdc.validation.Validator; import org.openecomp.sdc.validation.util.ValidationUtil; -import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Objects; @@ -29,6 +30,8 @@ public class ForbiddenResourceGuideLineValidator implements Validator { private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); private static Set<String> forbiddenResources = new HashSet<>(); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @Override public void init(Map<String, Object> properties) { Map<String, Map<String, Object>> forbiddenResourcesMap = @@ -62,6 +65,7 @@ public class ForbiddenResourceGuideLineValidator implements Validator { try { manifestContent = ValidationUtil.checkValidationPreCondition(globalContext); } catch (Exception exception) { + log.debug("",exception); return; } diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/HeatResourceValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/HeatResourceValidator.java index 2712dab11c..1fda0ed783 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/HeatResourceValidator.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/HeatResourceValidator.java @@ -27,7 +27,6 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Objects; -import java.util.Optional; import java.util.Set; public class HeatResourceValidator extends ResourceBaseValidator { @@ -48,7 +47,7 @@ public class HeatResourceValidator extends ResourceBaseValidator { try { manifestContent = ValidationUtil.checkValidationPreCondition(globalContext); } catch (Exception exception) { - + logger.debug("",exception); } Set<String> baseFiles = ManifestUtil.getBaseFiles(manifestContent); String baseFileName = CollectionUtils.isEmpty(baseFiles) ? null : baseFiles.iterator().next(); diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/HeatValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/HeatValidator.java index ddc1bb49b9..5297453369 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/HeatValidator.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/HeatValidator.java @@ -55,7 +55,7 @@ import java.util.Objects; import java.util.Set; public class HeatValidator implements Validator { - public static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + public static final MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); protected static Logger logger = (Logger) LoggerFactory.getLogger(HeatValidator.class); private static void validateAllRequiredArtifactsExist(String fileName, @@ -244,7 +244,7 @@ public class HeatValidator implements Validator { if (CollectionUtils.isNotEmpty(parametersNames)) { for (Map.Entry<String, Object> envEntry : envContent.getParameters().entrySet()) { String envParameter = envEntry.getKey(); - if (!parametersNames.contains(envParameter)) { + if (parametersNames != null && !parametersNames.contains(envParameter)) { globalContext.addMessage(envFile, ErrorLevel.ERROR, ErrorMessagesFormatBuilder .getErrorWithParameters( Messages.ENV_INCLUDES_PARAMETER_NOT_IN_HEAT.getErrorMessage(), envFile, @@ -278,7 +278,7 @@ public class HeatValidator implements Validator { Map<String, Parameter> parametersMap = heatOrchestrationTemplate.getParameters() == null ? null : heatOrchestrationTemplate.getParameters(); - if (MapUtils.isNotEmpty(parametersMap)) { + if (parametersMap != null && MapUtils.isNotEmpty(parametersMap)) { for (Map.Entry<String, Parameter> parameterEntry : parametersMap.entrySet()) { Parameter parameter = parameterEntry.getValue(); String parameterType = parameter.getType(); @@ -343,6 +343,7 @@ public class HeatValidator implements Validator { try { manifestContent = ValidationUtil.checkValidationPreCondition(globalContext); } catch (Exception exception) { + logger.debug("",exception); return; } String baseFileName; @@ -370,7 +371,8 @@ public class HeatValidator implements Validator { Set<String> manifestArtifacts = ManifestUtil.getArtifacts(manifestContent); globalContext.getFiles().stream() - .filter(fileName -> manifestArtifacts.contains(fileName) && !artifacts.contains(fileName)) + .filter(fileName -> isManifestArtifact(manifestArtifacts, fileName) && + isNotArtifact(artifacts, fileName)) .forEach(fileName -> globalContext.addMessage(fileName, ErrorLevel.WARNING, Messages.ARTIFACT_FILE_NOT_REFERENCED.getErrorMessage(), LoggerTragetServiceName.CHECK_FOR_ORPHAN_ARTIFACTS, @@ -380,6 +382,14 @@ public class HeatValidator implements Validator { } + private boolean isManifestArtifact(Set<String> manifestArtifacts, String fileName) { + return manifestArtifacts.contains(fileName); + } + + private boolean isNotArtifact(Set<String> artifacts, String fileName) { + return !artifacts.contains(fileName); + } + private void validate(String fileName, String envFileName, String baseFileName, Set<String> artifacts, Set<String> securityGroupsNamesFromBaseFileOutputs, GlobalValidationContext globalContext) { diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ManifestValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ManifestValidator.java index 43cafb494c..79c4dc2d96 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ManifestValidator.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/ManifestValidator.java @@ -45,7 +45,7 @@ import java.util.Optional; public class ManifestValidator implements Validator { - public static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + public static final MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); private static Logger logger = (Logger) LoggerFactory.getLogger(YamlValidator.class); @Override @@ -65,6 +65,7 @@ public class ManifestValidator implements Validator { throw new Exception("The manifest file '" + SdcCommon.MANIFEST_NAME + "' has no content"); } } catch (Exception re) { + logger.debug("",re); globalContext.addMessage(SdcCommon.MANIFEST_NAME, ErrorLevel.ERROR, Messages.INVALID_MANIFEST_FILE.getErrorMessage(), LoggerTragetServiceName.VALIDATE_MANIFEST_CONTENT, @@ -80,7 +81,7 @@ public class ManifestValidator implements Validator { LoggerTragetServiceName.VALIDATE_FILE_IN_ZIP, LoggerErrorDescription.MISSING_FILE)); globalContext.getFileContextMap().keySet().stream().filter(name -> - !manifestFiles.contains(name) && !SdcCommon.MANIFEST_NAME.equals(name) + isNotManifestFiles(manifestFiles, name) && isNotManifestName(name) ).forEach(name -> globalContext.addMessage(name, ErrorLevel.WARNING, Messages.MISSING_FILE_IN_MANIFEST.getErrorMessage(), @@ -90,6 +91,14 @@ public class ManifestValidator implements Validator { mdcDataDebugMessage.debugExitMessage(null, null); } + private boolean isNotManifestFiles(List<String> manifestFiles, String name) { + return !manifestFiles.contains(name); + } + + private boolean isNotManifestName(String name) { + return !SdcCommon.MANIFEST_NAME.equals(name); + } + private List<String> getManifestFileList(ManifestContent manifestContent, GlobalValidationContext context) { diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/SharedResourceGuideLineValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/SharedResourceGuideLineValidator.java index f3af7d7e48..04771e023e 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/SharedResourceGuideLineValidator.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/SharedResourceGuideLineValidator.java @@ -1,6 +1,8 @@ package org.openecomp.sdc.validation.impl.validators; import org.apache.commons.collections4.CollectionUtils; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.validation.Validator; import org.openecomp.core.validation.errors.ErrorMessagesFormatBuilder; import org.openecomp.core.validation.types.GlobalValidationContext; @@ -26,7 +28,8 @@ import java.util.Set; * Created by TALIO on 2/15/2017. */ public class SharedResourceGuideLineValidator implements Validator { - public static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + public static final MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); @Override public void validate(GlobalValidationContext globalContext) { @@ -34,6 +37,7 @@ public class SharedResourceGuideLineValidator implements Validator { try { manifestContent = ValidationUtil.checkValidationPreCondition(globalContext); } catch (Exception exception) { + log.debug("",exception); return; } diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/YamlValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/YamlValidator.java index 445e1c2e3d..0fded4f58e 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/YamlValidator.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/YamlValidator.java @@ -39,7 +39,7 @@ import java.util.Map; import java.util.Optional; public class YamlValidator implements Validator { - public static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + public static final MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); private static final Logger logger = (Logger) LoggerFactory.getLogger(YamlValidator.class); @Override diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/heatresource/NovaServerResourceValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/heatresource/NovaServerResourceValidator.java index 5dc42c9b9a..d05f2813ff 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/heatresource/NovaServerResourceValidator.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/heatresource/NovaServerResourceValidator.java @@ -90,25 +90,26 @@ public class NovaServerResourceValidator implements ResourceValidator { return; } - for (Object serverGroupValue : schedulerHintsMap.values()) { - if(!(serverGroupValue instanceof Map)){ - continue; - } - Map<String, Object> currentServerMap = (Map<String, Object>) serverGroupValue; - String serverResourceName = - currentServerMap == null ? null : (String) currentServerMap - .get(ResourceReferenceFunctions.GET_RESOURCE.getFunction()); - Resource serverResource = - serverResourceName == null || resourcesMap == null ? null - : resourcesMap.get(serverResourceName); - - if (serverResource != null && !serverResource.getType() - .equals(HeatResourcesTypes.NOVA_SERVER_GROUP_RESOURCE_TYPE.getHeatResource())) { - globalContext.addMessage(fileName, ErrorLevel.ERROR, ErrorMessagesFormatBuilder - .getErrorWithParameters(Messages.SERVER_NOT_DEFINED_FROM_NOVA.getErrorMessage(), - serverResourceName, resourceEntry.getKey()), - LoggerTragetServiceName.VALIDATE_SERVER_GROUP_EXISTENCE, - LoggerErrorDescription.SERVER_NOT_DEFINED_NOVA); + if (schedulerHintsMap != null) { + for (Object serverGroupValue : schedulerHintsMap.values()) { + if (!(serverGroupValue instanceof Map)) { + continue; + } + Map<String, Object> currentServerMap = (Map<String, Object>) serverGroupValue; + String serverResourceName = (String) currentServerMap + .get(ResourceReferenceFunctions.GET_RESOURCE.getFunction()); + Resource serverResource = + serverResourceName == null || resourcesMap == null ? null + : resourcesMap.get(serverResourceName); + + if (serverResource != null && !serverResource.getType() + .equals(HeatResourcesTypes.NOVA_SERVER_GROUP_RESOURCE_TYPE.getHeatResource())) { + globalContext.addMessage(fileName, ErrorLevel.ERROR, ErrorMessagesFormatBuilder + .getErrorWithParameters(Messages.SERVER_NOT_DEFINED_FROM_NOVA.getErrorMessage(), + serverResourceName, resourceEntry.getKey()), + LoggerTragetServiceName.VALIDATE_SERVER_GROUP_EXISTENCE, + LoggerErrorDescription.SERVER_NOT_DEFINED_NOVA); + } } } diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/namingconvention/NovaServerNamingConventionGuideLineValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/namingconvention/NovaServerNamingConventionGuideLineValidator.java index 6016ba0cb8..299eabf4e5 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/namingconvention/NovaServerNamingConventionGuideLineValidator.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-impl/src/main/java/org/openecomp/sdc/validation/impl/validators/namingconvention/NovaServerNamingConventionGuideLineValidator.java @@ -564,11 +564,12 @@ public class NovaServerNamingConventionGuideLineValidator implements ResourceVal private String getVmName(String nameToGetVmNameFrom, String stringToGetIndexOf) { int vmIndex = nameToGetVmNameFrom == null ? -1 : nameToGetVmNameFrom.indexOf(stringToGetIndexOf); - String vmName = vmIndex < 0 ? null - : trimNonAlphaNumericCharactersFromEndOfString(nameToGetVmNameFrom.substring(0, vmIndex)); - + String vmName = null; + if (nameToGetVmNameFrom != null) { + vmName = vmIndex < 0 ? null + : trimNonAlphaNumericCharactersFromEndOfString(nameToGetVmNameFrom.substring(0, vmIndex)); + } return vmName; - } private boolean isVmNameSync(List<String> namesToCompare) { diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java index 1a5b373833..f5d01d90e8 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/base/ResourceBaseValidator.java @@ -53,6 +53,7 @@ public class ResourceBaseValidator implements Validator { try { manifestContent = ValidationUtil.checkValidationPreCondition(globalContext); } catch (Exception exception) { + logger.debug("",exception); return; } diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/util/ValidationTestUtil.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/util/ValidationTestUtil.java index 3702e9253f..fa1946f987 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/util/ValidationTestUtil.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/util/ValidationTestUtil.java @@ -15,6 +15,8 @@ import org.openecomp.sdc.heat.datatypes.model.HeatOrchestrationTemplate; import org.openecomp.sdc.heat.datatypes.model.Resource; import org.openecomp.sdc.heat.services.HeatStructureUtil; import org.openecomp.sdc.heat.services.manifest.ManifestUtil; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.validation.ResourceValidator; import org.openecomp.sdc.validation.ValidationContext; import org.openecomp.sdc.validation.Validator; @@ -36,6 +38,9 @@ import java.util.Objects; */ public class ValidationTestUtil { + private final static Logger log = (Logger) LoggerFactory.getLogger(ValidationTestUtil.class + .getName()); + public static GlobalValidationContext createGlobalContextFromPath(String path) { GlobalValidationContext globalValidationContext = new GlobalValidationContext(); Map<String, byte[]> contentMap = getContentMapByPath(path); @@ -71,7 +76,7 @@ public class ValidationTestUtil { fileContent = FileUtils.toByteArray(fis); contentMap.put(file.getName(), fileContent); } catch (IOException e) { - e.printStackTrace(); + log.debug("",e); } } return contentMap; @@ -178,6 +183,7 @@ public class ValidationTestUtil { CommonMethods.newInstance(validatorConf.getImplementationClass(), Validator.class); validator.init(validatorConf.getProperties()); } catch (IllegalArgumentException iae) { + log.debug("",iae); return null; } return validator; diff --git a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/util/ValidationUtil.java b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/util/ValidationUtil.java index 3dcc7da876..41300f3852 100644 --- a/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/util/ValidationUtil.java +++ b/openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/util/ValidationUtil.java @@ -17,6 +17,8 @@ import org.openecomp.sdc.heat.datatypes.model.Resource; import org.openecomp.sdc.heat.datatypes.model.ResourceReferenceFunctions; import org.openecomp.sdc.heat.services.HeatStructureUtil; import org.openecomp.sdc.heat.services.manifest.ManifestUtil; +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.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; @@ -37,6 +39,7 @@ import static java.util.Objects.nonNull; public class ValidationUtil { private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + private final static Logger log = (Logger) LoggerFactory.getLogger(ValidationUtil.class.getName()); public static void removeExposedResourcesCalledByGetResource(String fileName, Set<String> actualExposedResources, @@ -138,6 +141,7 @@ public class ValidationUtil { throw new Exception("The file '" + envFileName + "' has no content"); } } catch (Exception exception) { + log.debug("",exception); mdcDataDebugMessage.debugExitMessage("file", envFileName); return null; } @@ -186,6 +190,7 @@ public class ValidationUtil { try { manifestContent = JsonUtil.json2Object(manifest.get(), ManifestContent.class); } catch (Exception exception) { + log.debug("",exception); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API, LoggerTragetServiceName.VALIDATE_MANIFEST_CONTENT, ErrorLevel.ERROR.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), LoggerErrorDescription.INVALID_MANIFEST); diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/LicenseAgreementDao.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/LicenseAgreementDao.java index 8e2e4889ba..25fd68b057 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/LicenseAgreementDao.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/LicenseAgreementDao.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.vendorlicense.dao; -import org.openecomp.core.dao.BaseDao; import org.openecomp.sdc.vendorlicense.dao.types.LicenseAgreementEntity; import org.openecomp.sdc.versioning.dao.VersionableDao; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/ChoiceOrOther.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/ChoiceOrOther.java index 4483c67b65..7f5fc66ef4 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/ChoiceOrOther.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/ChoiceOrOther.java @@ -26,6 +26,8 @@ import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCategory; import org.openecomp.sdc.common.errors.ErrorCode; import org.openecomp.sdc.datatypes.error.ErrorLevel; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerErrorCode; @@ -41,6 +43,8 @@ public class ChoiceOrOther<E extends Enum<E>> { "Enum used as part of ChoiceOrOther type must contain the value 'Other'"; public static final String OTHER_ENUM_VALUE = "Other"; + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @Transient private E choice; @@ -117,9 +121,11 @@ public class ChoiceOrOther<E extends Enum<E>> { try { choice = E.valueOf(enumClass, result); } catch (IllegalArgumentException exception) { + log.debug("",exception); try { choice = E.valueOf(enumClass, OTHER_ENUM_VALUE); } catch (IllegalArgumentException ex) { + log.debug("",ex); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.VALIDATE_CHOICE_VALUE, ErrorLevel.ERROR.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), LoggerErrorDescription.INVALID_VALUE); diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/LimitType.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/LimitType.java index ff0eff8042..399cf28201 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/LimitType.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/LimitType.java @@ -1,8 +1,5 @@ package org.openecomp.sdc.vendorlicense.dao.types; -import java.util.ArrayList; -import java.util.List; - public enum LimitType { ServiceProvider, Vendor; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/MultiChoiceOrOther.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/MultiChoiceOrOther.java index 36f54ac45e..2f28142470 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/MultiChoiceOrOther.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-api/src/main/java/org/openecomp/sdc/vendorlicense/dao/types/MultiChoiceOrOther.java @@ -26,6 +26,8 @@ import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCategory; import org.openecomp.sdc.common.errors.ErrorCode; import org.openecomp.sdc.datatypes.error.ErrorLevel; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerErrorCode; @@ -43,6 +45,8 @@ public class MultiChoiceOrOther<E extends Enum<E>> { "Enum used as part of MultiChoiceOrOther type must contain the value 'Other'"; public static final String OTHER_ENUM_VALUE = "Other"; + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @Transient private Set<E> choices; @Transient @@ -136,10 +140,11 @@ public class MultiChoiceOrOther<E extends Enum<E>> { try { choices.add(E.valueOf(enumClass, result)); } catch (IllegalArgumentException exception) { + log.debug("",exception); try { choices.add(E.valueOf(enumClass, OTHER_ENUM_VALUE)); } catch (IllegalArgumentException ex) { - + log.debug("",ex); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.VALIDATE_CHOICE_VALUE, ErrorLevel.ERROR.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), LoggerErrorDescription.INVALID_VALUE); diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/LimitZusammenDaoImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/LimitZusammenDaoImpl.java index c36d255b31..78c26c83d3 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/LimitZusammenDaoImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/LimitZusammenDaoImpl.java @@ -12,8 +12,6 @@ import org.openecomp.core.zusammen.api.ZusammenAdaptor; import org.openecomp.core.zusammen.api.ZusammenUtil; import org.openecomp.sdc.vendorlicense.dao.LimitDao; import org.openecomp.sdc.vendorlicense.dao.types.AggregationFunction; -import org.openecomp.sdc.vendorlicense.dao.types.EntitlementMetric; -import org.openecomp.sdc.vendorlicense.dao.types.EntitlementTime; import org.openecomp.sdc.vendorlicense.dao.types.LimitEntity; import org.openecomp.sdc.vendorlicense.dao.types.LimitType; import org.openecomp.sdc.versioning.dao.types.Version; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/facade/impl/VendorLicenseFacadeImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/facade/impl/VendorLicenseFacadeImpl.java index 2f7e0ea50e..b2f2d488e9 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/facade/impl/VendorLicenseFacadeImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/facade/impl/VendorLicenseFacadeImpl.java @@ -30,6 +30,8 @@ import org.openecomp.core.utilities.CommonMethods; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCode; import org.openecomp.sdc.datatypes.error.ErrorLevel; +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.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; @@ -89,6 +91,7 @@ public class VendorLicenseFacadeImpl implements VendorLicenseFacade { licenseKeyGroupDao = LicenseKeyGroupDaoFactory.getInstance().createInterface(); private static final LimitDao limitDao = LimitDaoFactory.getInstance().createInterface(); private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); /** * Instantiates a new Vendor license facade. @@ -409,6 +412,7 @@ public class VendorLicenseFacadeImpl implements VendorLicenseFacade { return Collections.singletonList(new RequestedVersionInvalidErrorBuilder().build()); } } catch (CoreException exception) { + log.debug("",exception); return Collections.singletonList(exception.code()); } @@ -417,6 +421,7 @@ public class VendorLicenseFacadeImpl implements VendorLicenseFacade { try { getLicenseAgreement(vlmId, licenseAgreementId, version); } catch (CoreException exception) { + log.debug("",exception); errorMessages.add(exception.code()); } @@ -433,6 +438,7 @@ public class VendorLicenseFacadeImpl implements VendorLicenseFacade { version).build()); } } catch (CoreException exception) { + log.debug("",exception); errorMessages.add(exception.code()); } } diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/VendorLicenseArtifactsServiceImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/VendorLicenseArtifactsServiceImpl.java index 282b4e6743..6dbed22db5 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/VendorLicenseArtifactsServiceImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/VendorLicenseArtifactsServiceImpl.java @@ -20,6 +20,9 @@ package org.openecomp.sdc.vendorlicense.licenseartifacts.impl; +import static org.openecomp.sdc.vendorlicense.VendorLicenseConstants.VENDOR_LICENSE_MODEL_ARTIFACT_NAME_WITH_PATH; +import static org.openecomp.sdc.vendorlicense.VendorLicenseConstants.VNF_ARTIFACT_NAME_WITH_PATH; + import org.apache.commons.collections.CollectionUtils; import org.openecomp.core.utilities.file.FileContentHandler; import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/XmlArtifact.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/XmlArtifact.java index 3a3fbd16a3..5f71565843 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/XmlArtifact.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/XmlArtifact.java @@ -23,6 +23,8 @@ package org.openecomp.sdc.vendorlicense.licenseartifacts.impl.types; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.datatypes.error.ErrorLevel; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerErrorCode; @@ -34,6 +36,7 @@ import org.openecomp.sdc.vendorlicense.errors.JsonErrorBuilder; public abstract class XmlArtifact { XmlMapper xmlMapper = new XmlMapper(); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); abstract void initMapper(); @@ -49,6 +52,7 @@ public abstract class XmlArtifact { try { xml = xmlMapper.writeValueAsString(this); } catch (com.fasterxml.jackson.core.JsonProcessingException exception) { + log.debug("",exception); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.WRITE_ARTIFACT_XML, ErrorLevel.ERROR.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), LoggerErrorDescription.INVALID_JSON); diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinEntitlementPoolEntityForVendorLicenseArtifact.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinEntitlementPoolEntityForVendorLicenseArtifact.java index dc0db0d96c..ac45528acd 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinEntitlementPoolEntityForVendorLicenseArtifact.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinEntitlementPoolEntityForVendorLicenseArtifact.java @@ -21,23 +21,20 @@ package org.openecomp.sdc.vendorlicense.licenseartifacts.impl.types.mixins; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import org.openecomp.sdc.vendorlicense.dao.types.AggregationFunction; import org.openecomp.sdc.vendorlicense.dao.types.ChoiceOrOther; import org.openecomp.sdc.vendorlicense.dao.types.EntitlementMetric; import org.openecomp.sdc.vendorlicense.dao.types.EntitlementTime; import org.openecomp.sdc.vendorlicense.dao.types.LimitEntity; import org.openecomp.sdc.vendorlicense.dao.types.OperationalScope; -import org.openecomp.sdc.vendorlicense.dao.types.AggregationFunction; import org.openecomp.sdc.vendorlicense.dao.types.xml.AggregationFunctionForXml; import org.openecomp.sdc.vendorlicense.dao.types.xml.EntitlementMetricForXml; import org.openecomp.sdc.vendorlicense.dao.types.xml.EntitlementTimeForXml; +import org.openecomp.sdc.vendorlicense.dao.types.xml.LimitForXml; import org.openecomp.sdc.vendorlicense.dao.types.xml.OperationalScopeForXml; import org.openecomp.sdc.vendorlicense.dao.types.xml.ThresholdForXml; -import org.openecomp.sdc.vendorlicense.dao.types.xml.LimitForXml; import java.util.Collection; import java.util.Set; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinEntitlementPoolEntityForVnfArtifact.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinEntitlementPoolEntityForVnfArtifact.java index 8a2d17d9ff..ad1a9a6bdf 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinEntitlementPoolEntityForVnfArtifact.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinEntitlementPoolEntityForVnfArtifact.java @@ -21,10 +21,7 @@ package org.openecomp.sdc.vendorlicense.licenseartifacts.impl.types.mixins; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import org.openecomp.sdc.vendorlicense.dao.types.AggregationFunction; import org.openecomp.sdc.vendorlicense.dao.types.ChoiceOrOther; import org.openecomp.sdc.vendorlicense.dao.types.EntitlementMetric; @@ -34,9 +31,9 @@ import org.openecomp.sdc.vendorlicense.dao.types.OperationalScope; import org.openecomp.sdc.vendorlicense.dao.types.xml.AggregationFunctionForXml; import org.openecomp.sdc.vendorlicense.dao.types.xml.EntitlementMetricForXml; import org.openecomp.sdc.vendorlicense.dao.types.xml.EntitlementTimeForXml; +import org.openecomp.sdc.vendorlicense.dao.types.xml.LimitForXml; import org.openecomp.sdc.vendorlicense.dao.types.xml.OperationalScopeForXml; import org.openecomp.sdc.vendorlicense.dao.types.xml.ThresholdForXml; -import org.openecomp.sdc.vendorlicense.dao.types.xml.LimitForXml; import java.util.Collection; import java.util.Set; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinLicenseKeyGroupEntityForVendorLicenseArtifact.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinLicenseKeyGroupEntityForVendorLicenseArtifact.java index 78bf531e82..5a8e9966cc 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinLicenseKeyGroupEntityForVendorLicenseArtifact.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinLicenseKeyGroupEntityForVendorLicenseArtifact.java @@ -21,17 +21,14 @@ package org.openecomp.sdc.vendorlicense.licenseartifacts.impl.types.mixins; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import org.openecomp.sdc.vendorlicense.dao.types.ChoiceOrOther; import org.openecomp.sdc.vendorlicense.dao.types.LimitEntity; import org.openecomp.sdc.vendorlicense.dao.types.OperationalScope; import org.openecomp.sdc.vendorlicense.dao.types.xml.LicenseKeyTypeForXml; +import org.openecomp.sdc.vendorlicense.dao.types.xml.LimitForXml; import org.openecomp.sdc.vendorlicense.dao.types.xml.OperationalScopeForXml; import org.openecomp.sdc.vendorlicense.dao.types.xml.ThresholdForXml; -import org.openecomp.sdc.vendorlicense.dao.types.xml.LimitForXml; import java.util.Collection; import java.util.Set; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinLicenseKeyGroupEntityForVnfArtifact.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinLicenseKeyGroupEntityForVnfArtifact.java index b25b93ff7c..4af4b592a9 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinLicenseKeyGroupEntityForVnfArtifact.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/licenseartifacts/impl/types/mixins/MixinLicenseKeyGroupEntityForVnfArtifact.java @@ -21,10 +21,7 @@ package org.openecomp.sdc.vendorlicense.licenseartifacts.impl.types.mixins; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import org.openecomp.sdc.vendorlicense.dao.types.ChoiceOrOther; import org.openecomp.sdc.vendorlicense.dao.types.LimitEntity; import org.openecomp.sdc.vendorlicense.dao.types.OperationalScope; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDao.java index 1be4a5cda5..a980918c36 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDao.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ComponentDependencyModelDao.java @@ -2,7 +2,6 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao; import org.openecomp.core.dao.BaseDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity; import org.openecomp.sdc.versioning.dao.VersionableDao; import org.openecomp.sdc.versioning.dao.types.Version; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NetworkDao.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NetworkDao.java index 348b777fe6..da57b0a2b4 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NetworkDao.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/NetworkDao.java @@ -21,13 +21,10 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao; import org.openecomp.core.dao.BaseDao; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity; import org.openecomp.sdc.versioning.dao.VersionableDao; import org.openecomp.sdc.versioning.dao.types.Version; -import java.util.Collection; - public interface NetworkDao extends VersionableDao, BaseDao<NetworkEntity> { diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ImageEntity.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ImageEntity.java index 4950229486..7d22cdd13f 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ImageEntity.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/type/ImageEntity.java @@ -9,7 +9,6 @@ import org.openecomp.core.utilities.json.JsonUtil; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Image; -import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Nic; import org.openecomp.sdc.versioning.dao.types.Version; @Table(keyspace = "dox", name = "vsp_component_image") diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnnaireDataServiceFactory.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnnaireDataServiceFactory.java index a1b9430e41..a45eb3db6f 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnnaireDataServiceFactory.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnnaireDataServiceFactory.java @@ -22,7 +22,6 @@ package org.openecomp.sdc.vendorsoftwareproduct.factory; import org.openecomp.core.factory.api.AbstractComponentFactory; import org.openecomp.core.factory.api.AbstractFactory; -import org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.InformationArtifactGenerator; import org.openecomp.sdc.vendorsoftwareproduct.questionnaire.QuestionnaireDataService; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactGenerator.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactGenerator.java index 11d8e7b501..5813a18bd7 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactGenerator.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/InformationArtifactGenerator.java @@ -23,7 +23,6 @@ package org.openecomp.sdc.vendorsoftwareproduct.informationArtifact; import org.openecomp.sdc.versioning.dao.types.Version; import java.io.IOException; -import java.nio.ByteBuffer; /** * @author katyr diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGenerator.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGenerator.java index 6b1837fa10..edfbd8c94f 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGenerator.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/schemagenerator/SchemaGenerator.java @@ -25,6 +25,8 @@ import freemarker.template.TemplateException; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.common.errors.ErrorCategory; import org.openecomp.sdc.common.errors.ErrorCode; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType; import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext; import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateInput; @@ -35,6 +37,7 @@ import java.io.Writer; public class SchemaGenerator { public static final String SCHEMA_GENERATION_ERROR = "SCHEMA_GENERATION_ERROR"; + private final static Logger log = (Logger) LoggerFactory.getLogger(SchemaGenerator.class.getName()); /** * Generate string. @@ -56,6 +59,7 @@ public class SchemaGenerator { schemaTemplate.process(input, writer); return writer.toString(); } catch (IOException | TemplateException exception) { + log.debug("",exception); throw new CoreException( new ErrorCode.ErrorCodeBuilder().withCategory(ErrorCategory.APPLICATION) .withId(SCHEMA_GENERATION_ERROR).withMessage(exception.getMessage()).build()); diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/AnalyzedZipHeatFiles.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/AnalyzedZipHeatFiles.java index 5e04a1683c..3d652607ce 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/AnalyzedZipHeatFiles.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/candidateheat/AnalyzedZipHeatFiles.java @@ -24,7 +24,6 @@ import org.apache.commons.collections4.CollectionUtils; import java.util.Collection; import java.util.HashSet; -import java.util.Objects; import java.util.Set; /** diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/errors/VendorSoftwareProductCreationFailedBuilder.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/errors/VendorSoftwareProductCreationFailedBuilder.java index 45989ddbf0..6ca694364e 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/errors/VendorSoftwareProductCreationFailedBuilder.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/errors/VendorSoftwareProductCreationFailedBuilder.java @@ -3,9 +3,6 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao.errors; import org.openecomp.sdc.common.errors.ErrorCategory; import org.openecomp.sdc.common.errors.ErrorCode; import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes; -import org.openecomp.sdc.versioning.dao.types.Version; - -import java.text.MessageFormat; public class VendorSoftwareProductCreationFailedBuilder { private static final String VSP_CREATION_FAILED = "Failed to create VSP; %s"; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComponentDependencyModelDaoCassandraImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComponentDependencyModelDaoCassandraImpl.java index b46486eb32..aa611c0bd2 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComponentDependencyModelDaoCassandraImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ComponentDependencyModelDaoCassandraImpl.java @@ -13,8 +13,6 @@ import org.openecomp.core.nosqldb.factory.NoSqlDbFactory; import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDependencyModelDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity; import org.openecomp.sdc.versioning.VersioningManagerFactory; import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdc.versioning.types.UniqueValueMetadata; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoFactoryImpl.java index e4f13b3ee1..7f3ae7531a 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoFactoryImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/ImageDaoFactoryImpl.java @@ -3,7 +3,6 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao.impl; import org.openecomp.core.zusammen.api.ZusammenAdaptorFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDaoFactory; -import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.ImageDaoZusammenImpl; public class ImageDaoFactoryImpl extends ImageDaoFactory { diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/PackageInfoDaoImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/PackageInfoDaoImpl.java index 37917284e0..0b29fdab27 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/PackageInfoDaoImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/PackageInfoDaoImpl.java @@ -29,7 +29,6 @@ import com.datastax.driver.mapping.annotations.Query; import org.openecomp.core.dao.impl.CassandraBaseDao; import org.openecomp.core.nosqldb.api.NoSqlDb; import org.openecomp.core.nosqldb.factory.NoSqlDbFactory; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; import org.openecomp.sdc.vendorsoftwareproduct.dao.PackageInfoDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.PackageInfo; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductDaoFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductDaoFactoryImpl.java index 96bb16ca70..0a80b2ae51 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductDaoFactoryImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/VendorSoftwareProductDaoFactoryImpl.java @@ -20,7 +20,6 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao.impl; -import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/NetworkDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/NetworkDaoZusammenImpl.java index 898ee434e8..b22c9f32ed 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/NetworkDaoZusammenImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/NetworkDaoZusammenImpl.java @@ -14,7 +14,6 @@ import org.openecomp.core.zusammen.api.ZusammenUtil; import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.dao.types.VersionStatus; import java.io.ByteArrayInputStream; import java.util.Collection; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/OrchestrationTemplateCandidateDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/OrchestrationTemplateCandidateDaoZusammenImpl.java index c101955292..ea51b770bf 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/OrchestrationTemplateCandidateDaoZusammenImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/OrchestrationTemplateCandidateDaoZusammenImpl.java @@ -16,7 +16,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateCandidat import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateData; import org.openecomp.sdc.vendorsoftwareproduct.types.candidateheat.FilesDataStructure; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.dao.types.VersionStatus; import java.io.ByteArrayInputStream; import java.nio.ByteBuffer; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java index 7ad7929ccb..517a01e58d 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VendorSoftwareProductInfoDaoZusammenImpl.java @@ -1,6 +1,5 @@ package org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen; -import com.amdocs.zusammen.adaptor.inbound.api.types.item.ElementInfo; import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement; import com.amdocs.zusammen.datatypes.Id; import com.amdocs.zusammen.datatypes.SessionContext; @@ -22,7 +21,6 @@ import org.openecomp.sdc.versioning.types.VersionableEntityStoreType; import java.io.ByteArrayInputStream; import java.util.Collection; import java.util.Date; -import java.util.Optional; import java.util.stream.Collectors; public class VendorSoftwareProductInfoDaoZusammenImpl implements VendorSoftwareProductInfoDao { diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VspZusammenUtil.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VspZusammenUtil.java index dde3603896..5e80d4c355 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VspZusammenUtil.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/dao/impl/zusammen/VspZusammenUtil.java @@ -51,8 +51,10 @@ class VspZusammenUtil { if (Objects.isNull(head)) { head = father = element; } else { - father.getSubElements().add(element); - father = element; + if (father != null) { + father.getSubElements().add(element); + father = element; + } } } diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnaireDataServiceFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnaireDataServiceFactoryImpl.java index 5c569dbf08..865c7f1189 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnaireDataServiceFactoryImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/QuestionnaireDataServiceFactoryImpl.java @@ -21,7 +21,6 @@ package org.openecomp.sdc.vendorsoftwareproduct.factory; -import org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.InformationArtifactGenerator; import org.openecomp.sdc.vendorsoftwareproduct.questionnaire.QuestionnaireDataService; import org.openecomp.sdc.vendorsoftwareproduct.quiestionnaire.QuestionnaireDataServiceImpl; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/impl/CompositionEntityDataManagerFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/impl/CompositionEntityDataManagerFactoryImpl.java index 393325d437..a7e55bd290 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/impl/CompositionEntityDataManagerFactoryImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/impl/CompositionEntityDataManagerFactoryImpl.java @@ -21,15 +21,11 @@ package org.openecomp.sdc.vendorsoftwareproduct.factory.impl; 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.NetworkDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory; -import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/quiestionnaire/QuestionnaireDataServiceImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/quiestionnaire/QuestionnaireDataServiceImpl.java index 76d8210ca5..de29d5b8f0 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/quiestionnaire/QuestionnaireDataServiceImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/quiestionnaire/QuestionnaireDataServiceImpl.java @@ -22,13 +22,16 @@ package org.openecomp.sdc.vendorsoftwareproduct.quiestionnaire; import org.openecomp.core.utilities.json.JsonUtil; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.*; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.CompositionEntity; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspQuestionnaireEntity; import org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.InformationArtifactData; import org.openecomp.sdc.vendorsoftwareproduct.questionnaire.QuestionnaireDataService; import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.ComponentQuestionnaire; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/ManualVspDataCollectionService.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/ManualVspDataCollectionService.java index 1499bccec2..100425858f 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/ManualVspDataCollectionService.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/ManualVspDataCollectionService.java @@ -9,6 +9,8 @@ import org.openecomp.sdc.generator.datatypes.tosca.DeploymentFlavorModel; import org.openecomp.sdc.generator.datatypes.tosca.LicenseFlavor; import org.openecomp.sdc.generator.datatypes.tosca.MultiFlavorVfcImage; import org.openecomp.sdc.generator.datatypes.tosca.VendorInfo; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerErrorCode; @@ -71,6 +73,8 @@ public class ManualVspDataCollectionService { private static final VendorLicenseFacade vendorLicenseFacade = VendorLicenseFacadeFactory.getInstance().createInterface(); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + /** * Gets vendor name for the vsp. @@ -312,26 +316,28 @@ public class ManualVspDataCollectionService { computeQuestionnaire = computeDao.getQuestionnaireData(vspId, version, componentId, computeFlavorId); } catch (Exception ex) { + log.debug("",ex); computeQuestionnaire = null; MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API, LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), "Failed to get compute questionnaire : " + ex.getMessage()); } - if (Objects.nonNull(computeQuestionnaire)) { + if (computeQuestionnaire != null && Objects.nonNull(computeQuestionnaire)) { String computeQuestionnaireData = computeQuestionnaire.getQuestionnaireData(); if (Objects.nonNull(computeQuestionnaireData)) { Compute compute; try { compute = JsonUtil.json2Object(computeQuestionnaireData, Compute.class); } catch (Exception ex) { + log.debug("",ex); compute = null; MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API, LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to parse compute questionnaire : " + ex.getMessage()); } - if (Objects.nonNull(compute.getVmSizing())) { + if (compute != null && Objects.nonNull(compute.getVmSizing())) { computeFlavor = new ComputeFlavor(); if (Objects.nonNull(compute.getVmSizing().getNumOfCPUs())) { computeFlavor.setNum_cpus(compute.getVmSizing().getNumOfCPUs()); @@ -392,13 +398,14 @@ public class ManualVspDataCollectionService { imageDetails = JsonUtil.json2Object(imageQuestionnaireDataEntity .getQuestionnaireData(), ImageDetails.class); } catch (Exception ex) { + log.debug("",ex); imageDetails = null; MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API, LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to parse image questionnaire : " + ex.getMessage()); } - if (Objects.nonNull(imageDetails) + if (imageDetails != null && Objects.nonNull(imageDetails) && Objects.nonNull(imageDetails.getVersion())) { //Image version is used as a key for the image block //So excluding the population if questionnaire data is absent or invalid diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionDataExtractorImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionDataExtractorImpl.java index a16fea19ab..93b95240d1 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionDataExtractorImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionDataExtractorImpl.java @@ -391,6 +391,7 @@ public class CompositionDataExtractorImpl implements CompositionDataExtractor { try { value= (String) inputEntry.getValue().get_default(); } catch (Exception e) { + logger.debug(e.getMessage(), e); value = inputEntry.getValue().get_default().toString(); } return value; diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionEntityDataManagerImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionEntityDataManagerImpl.java index c76b15d221..39534cf9b7 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionEntityDataManagerImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionEntityDataManagerImpl.java @@ -51,14 +51,12 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspQuestionnaireEntity; import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager; import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Component; -import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentComputeAssociation; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityType; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComputeData; -import org.openecomp.sdc.vendorsoftwareproduct.types.composition.DeploymentFlavor; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Image; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Network; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.NetworkType; @@ -69,6 +67,7 @@ import org.openecomp.sdc.versioning.dao.types.Version; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -82,6 +81,8 @@ public class CompositionEntityDataManagerImpl implements CompositionEntityDataMa "COMPOSITION_ENTITY_DATA_MANAGER_ERR"; private static final String COMPOSITION_ENTITY_DATA_MANAGER_ERR_MSG = "Invalid input: %s may not be null"; + private static final String MISSING_OR_INVALID_QUESTIONNAIRE_MSG = + "Data is missing/invalid for this %s. Please refill and resubmit."; private static final Logger logger = LoggerFactory.getLogger(CompositionEntityDataManagerImpl.class); @@ -105,7 +106,7 @@ public class CompositionEntityDataManagerImpl implements CompositionEntityDataMa NicDao nicDao, NetworkDao networkDao, ImageDao imageDao, ComputeDao computeDao, DeploymentFlavorDao deploymentFlavorDao, - VendorSoftwareProductDao vendorSoftwareProductDao ) { + VendorSoftwareProductDao vendorSoftwareProductDao) { this.vspInfoDao = vspInfoDao; this.componentDao = componentDao; this.nicDao = nicDao; @@ -272,7 +273,7 @@ public class CompositionEntityDataManagerImpl implements CompositionEntityDataMa return true; } - result = result || isThereErrorsInSubTree(subEntity); + result = isThereErrorsInSubTree(subEntity) || result; if (result) { return true; } @@ -588,12 +589,10 @@ public class CompositionEntityDataManagerImpl implements CompositionEntityDataMa compositionEntityData.entity.getCompositionEntityId().toString(), compositionEntityData.entity.getQuestionnaireData())); - if(Objects.isNull(compositionEntityData.entity.getQuestionnaireData()) || !JsonUtil.isValidJson - (compositionEntityData.entity.getQuestionnaireData())){ - List<String> errors = new ArrayList<>(); - errors.add("Data is missing for the above " + compositionEntityData.entity.getType() + - ". Complete the mandatory fields and resubmit."); - return errors; + if (Objects.isNull(compositionEntityData.entity.getQuestionnaireData()) || + !JsonUtil.isValidJson(compositionEntityData.entity.getQuestionnaireData())) { + return Collections.singletonList(String + .format(MISSING_OR_INVALID_QUESTIONNAIRE_MSG, compositionEntityData.entity.getType())); } return JsonUtil.validate( @@ -677,8 +676,8 @@ public class CompositionEntityDataManagerImpl implements CompositionEntityDataMa return compute; } - public void saveComputesFlavorByComponent(String vspId, Version version, Component component, String - componentId) { + public void saveComputesFlavorByComponent(String vspId, Version version, Component component, + String componentId) { if (CollectionUtils.isNotEmpty(component.getCompute())) { for (ComputeData flavor : component.getCompute()) { ComputeEntity computeEntity = new ComputeEntity(vspId, version, componentId, null); diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java index e5f1a4c3ac..c18a0cbedd 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java @@ -107,6 +107,7 @@ public class CandidateServiceImpl implements CandidateService { Messages.NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST.getErrorMessage())); } } catch (IOException e) { + logger.debug(e.getMessage(), e); mdcDataDebugMessage.debugExitMessage(null); return Optional.of(new ErrorMessage(ErrorLevel.ERROR, Messages.NO_ZIP_FILE_WAS_UPLOADED_OR_ZIP_NOT_EXIST.getErrorMessage())); @@ -141,12 +142,16 @@ public class CandidateServiceImpl implements CandidateService { (SdcCommon.MANIFEST_NAME)); List<String> structureArtifacts = structure.getArtifacts(); structureArtifacts.addAll(fileDataStructureFromManifest.getArtifacts().stream().filter - (artifact -> !structureArtifacts.contains(artifact)).collect((Collectors.toList()))); + (artifact -> isNotStrctureArtifact(structureArtifacts, artifact)).collect((Collectors.toList()))); handleArtifactsFromTree(tree, structure); return JsonUtil.object2Json(structure); } + private boolean isNotStrctureArtifact(List<String> structureArtifacts, String artifact) { + return !structureArtifacts.contains(artifact); + } + @Override public OrchestrationTemplateCandidateData createCandidateDataEntity( CandidateDataEntityTo candidateDataEntityTo, InputStream zipFileManifest, diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ServiceModelDaoFactoryTest.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ServiceModelDaoFactoryTest.java index fe42f6ccd3..39c14e64fd 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ServiceModelDaoFactoryTest.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/dao/ServiceModelDaoFactoryTest.java @@ -122,12 +122,15 @@ public class ServiceModelDaoFactoryTest { Assert.assertTrue(model instanceof ToscaServiceModel); if (model instanceof ToscaServiceModel) { - artifact001 = - (String) ((ToscaServiceModel) model).getArtifactFiles().getFileList().toArray()[0]; + setArtifact((ToscaServiceModel) model); } } - + private static void setArtifact(ToscaServiceModel model) + { + artifact001 = + (String) (model).getArtifactFiles().getFileList().toArray()[0]; + } private ToscaServiceModel getToscaServiceModel() { Map<String, ServiceTemplate> serviceTemplates = getServiceTemplates(baseServiceTemplateName); diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/impl/TxtInformationArtifactGeneratorImplTest.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/impl/TxtInformationArtifactGeneratorImplTest.java index ab36e8e5a1..9f2f733a64 100644 --- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/impl/TxtInformationArtifactGeneratorImplTest.java +++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/informationArtifact/impl/TxtInformationArtifactGeneratorImplTest.java @@ -21,6 +21,11 @@ package org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.impl; +import static org.mockito.Matchers.anyObject; +import static org.mockito.Matchers.anyString; +import static org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.impl.TxtInformationArtifactConstants.HEADER; +import static org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.impl.TxtInformationArtifactConstants.VFC_COMPUTE_CPU_OVER_SUBSCRIPTION; + import org.junit.Assert; import org.mockito.InjectMocks; import org.mockito.Mock; @@ -36,8 +41,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.com import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.general.Hypervisor; import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.general.Recovery; import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.network.NetworkCapacity; -import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.storage.Backup; -import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.component.storage.Storage; import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.nic.IpConfiguration; import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.nic.Network; import org.openecomp.sdc.vendorsoftwareproduct.types.questionnaire.nic.NicQuestionnaire; @@ -50,16 +53,10 @@ import org.openecomp.sdc.versioning.dao.types.Version; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; -import javax.annotation.processing.SupportedAnnotationTypes; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import static org.mockito.Matchers.anyObject; -import static org.mockito.Matchers.anyString; -import static org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.impl.TxtInformationArtifactConstants.HEADER; -import static org.openecomp.sdc.vendorsoftwareproduct.informationArtifact.impl.TxtInformationArtifactConstants.VFC_COMPUTE_CPU_OVER_SUBSCRIPTION; - public class TxtInformationArtifactGeneratorImplTest { private static final String NETWORK_DESC = "\"network desc\""; diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/main/java/org/openecomp/sdc/versioning/dao/types/Version.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/main/java/org/openecomp/sdc/versioning/dao/types/Version.java index f0f67cf064..62d7c81cae 100644 --- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/main/java/org/openecomp/sdc/versioning/dao/types/Version.java +++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-api/src/main/java/org/openecomp/sdc/versioning/dao/types/Version.java @@ -22,9 +22,12 @@ package org.openecomp.sdc.versioning.dao.types; import com.datastax.driver.mapping.annotations.Transient; import com.datastax.driver.mapping.annotations.UDT; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; @UDT(name = "version", keyspace = "dox") public class Version { + private static final Logger logger = LoggerFactory.getLogger(Version.class); public static final String VERSION_STRING_VIOLATION_MSG = "Version string must be in the format of: {integer}.{integer}"; @@ -59,6 +62,7 @@ public class Version { try { version = new Version(Integer.parseInt(versionLevels[0]), Integer.parseInt(versionLevels[1])); } catch (Exception ex) { + logger.debug(ex.getMessage(), ex); throw new IllegalArgumentException(VERSION_STRING_VIOLATION_MSG); } diff --git a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/test/java/org/openecomp/sdc/versioning/impl/VersioningManagerImplTest.java b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/test/java/org/openecomp/sdc/versioning/impl/VersioningManagerImplTest.java index d4bccc677b..d35de4f3d1 100644 --- a/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/test/java/org/openecomp/sdc/versioning/impl/VersioningManagerImplTest.java +++ b/openecomp-be/lib/openecomp-sdc-versioning-lib/openecomp-sdc-versioning-core/src/test/java/org/openecomp/sdc/versioning/impl/VersioningManagerImplTest.java @@ -21,6 +21,10 @@ package org.openecomp.sdc.versioning.impl; +import static org.mockito.Matchers.anyObject; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.verify; + import org.mockito.ArgumentCaptor; import org.mockito.Captor; import org.mockito.InjectMocks; @@ -29,7 +33,6 @@ import org.mockito.MockitoAnnotations; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.versioning.dao.VersionInfoDao; import org.openecomp.sdc.versioning.dao.VersionInfoDeletedDao; -import org.openecomp.sdc.versioning.dao.VersionableEntityDao; import org.openecomp.sdc.versioning.dao.types.UserCandidateVersion; import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdc.versioning.dao.types.VersionInfoDeletedEntity; @@ -43,13 +46,8 @@ import org.testng.annotations.Test; import java.util.Collections; import java.util.HashSet; -import java.util.Map; import java.util.Set; -import static org.mockito.Matchers.anyObject; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.verify; - public class VersioningManagerImplTest { private static final String USR1 = "usr1"; private static final String USR2 = "usr2"; diff --git a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/pom.xml b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/pom.xml index 39f02becf8..fe3375a174 100644 --- a/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/pom.xml +++ b/openecomp-be/lib/openecomp-tosca-converter-lib/openecomp-tosca-converter-core/pom.xml @@ -22,7 +22,7 @@ <dependency> <groupId>org.openecomp.sdc.jtosca</groupId> <artifactId>jtosca</artifactId> - <version>1.1.1-SNAPSHOT</version> + <version>${jtosca.version}</version> </dependency> <dependency> <groupId>org.openecomp.sdc</groupId> @@ -47,5 +47,5 @@ <artifactId>openecomp-tosca-converter-core</artifactId> <version>1.1.0-SNAPSHOT</version> - + </project>
\ No newline at end of file diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaArtifactType.java b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaArtifactType.java index 9e353a25df..fd382b7899 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaArtifactType.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaArtifactType.java @@ -29,9 +29,9 @@ public class ToscaArtifactType { private static Configuration config = ConfigurationManager.lookup(); - public static String ARTIFACT_TYPE_PREFIX = + public static final String ARTIFACT_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_ARTIFACT_TYPE); - public static String NATIVE_DEPLOYMENT = "tosca.artifacts.Deployment"; + public static final String NATIVE_DEPLOYMENT = "tosca.artifacts.Deployment"; } diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaCapabilityType.java b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaCapabilityType.java index b3a0e69c88..33dd9e142c 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaCapabilityType.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaCapabilityType.java @@ -29,26 +29,26 @@ public class ToscaCapabilityType { private static Configuration config = ConfigurationManager.lookup(); - public static String CAPABILITY_PREFIX = + public static final String CAPABILITY_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_CAPABILITY_TYPE); //TOSCA native types - public static String NATIVE_ROOT = "tosca.capabilities.Root"; - public static String NATIVE_NODE = "tosca.capabilities.Node"; - public static String NATIVE_CONTAINER = "tosca.capabilities.Container"; - public static String NATIVE_COMPUTE = "tosca.capabilities.Compute"; - public static String NATIVE_NETWORK_BINDABLE = "tosca.capabilities.network.Bindable"; - public static String NATIVE_SCALABLE = "tosca.capabilities.Scalable"; - public static String NATIVE_OPERATING_SYSTEM = "tosca.capabilities.OperatingSystem"; - public static String NATIVE_ENDPOINT_ADMIN = "tosca.capabilities.Endpoint.Admin"; - public static String NATIVE_ATTACHMENT = "tosca.capabilities.Attachment"; - public static String NATIVE_NETWORK_LINKABLE = "tosca.capabilities.network.Linkable"; - public static String NATIVE_NFV_METRIC = "tosca.capabilities.nfv.Metric"; + public static final String NATIVE_ROOT = "tosca.capabilities.Root"; + public static final String NATIVE_NODE = "tosca.capabilities.Node"; + public static final String NATIVE_CONTAINER = "tosca.capabilities.Container"; + public static final String NATIVE_COMPUTE = "tosca.capabilities.Compute"; + public static final String NATIVE_NETWORK_BINDABLE = "tosca.capabilities.network.Bindable"; + public static final String NATIVE_SCALABLE = "tosca.capabilities.Scalable"; + public static final String NATIVE_OPERATING_SYSTEM = "tosca.capabilities.OperatingSystem"; + public static final String NATIVE_ENDPOINT_ADMIN = "tosca.capabilities.Endpoint.Admin"; + public static final String NATIVE_ATTACHMENT = "tosca.capabilities.Attachment"; + public static final String NATIVE_NETWORK_LINKABLE = "tosca.capabilities.network.Linkable"; + public static final String NATIVE_NFV_METRIC = "tosca.capabilities.nfv.Metric"; //Additional types - public static String METRIC = CAPABILITY_PREFIX + "Metric"; - public static String METRIC_CEILOMETER = CAPABILITY_PREFIX + "metric.Ceilometer"; - public static String METRIC_SNMP_TRAP = CAPABILITY_PREFIX + "metric.SnmpTrap"; - public static String METRIC_SNMP_POLLING = CAPABILITY_PREFIX + "metric.SnmpPolling"; + public static final String METRIC = CAPABILITY_PREFIX + "Metric"; + public static final String METRIC_CEILOMETER = CAPABILITY_PREFIX + "metric.Ceilometer"; + public static final String METRIC_SNMP_TRAP = CAPABILITY_PREFIX + "metric.SnmpTrap"; + public static final String METRIC_SNMP_POLLING = CAPABILITY_PREFIX + "metric.SnmpPolling"; } diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaDataType.java b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaDataType.java index 37d1d2c4ba..3d5453ac0d 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaDataType.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaDataType.java @@ -29,75 +29,75 @@ public class ToscaDataType { private static Configuration config = ConfigurationManager.lookup(); - public static String DATA_TYPE_PREFIX = + public static final String DATA_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_DATA_TYPE); //TOSCA native types - public static String NATIVE_ROOT = "tosca.datatypes.Root"; - public static String NATIVE_NETWORK_NETWORK_INFO = "tosca.datatypes.network.NetworkInfo"; - public static String NATIVE_NETWORK_PORT_INFO = "tosca.datatypes.network.PortInfo"; + public static final String NATIVE_ROOT = "tosca.datatypes.Root"; + public static final String NATIVE_NETWORK_NETWORK_INFO = "tosca.datatypes.network.NetworkInfo"; + public static final String NATIVE_NETWORK_PORT_INFO = "tosca.datatypes.network.PortInfo"; //Additional types - public static String NOVA_SERVER_PORT_EXTRA_PROPERTIES = + public static final String NOVA_SERVER_PORT_EXTRA_PROPERTIES = DATA_TYPE_PREFIX + "heat.novaServer.network.PortExtraProperties"; - public static String NETWORK_ADDRESS_PAIR = DATA_TYPE_PREFIX + "heat.network.AddressPair"; - public static String NEUTRON_PORT_FIXED_IPS = DATA_TYPE_PREFIX + "heat.neutron.port.FixedIps"; - public static String CONTRAIL_NETWORK_RULE = DATA_TYPE_PREFIX + "heat.contrail.network.rule.Rule"; - public static String CONTRAIL_NETWORK_RULE_LIST = + public static final String NETWORK_ADDRESS_PAIR = DATA_TYPE_PREFIX + "heat.network.AddressPair"; + public static final String NEUTRON_PORT_FIXED_IPS = DATA_TYPE_PREFIX + "heat.neutron.port.FixedIps"; + public static final String CONTRAIL_NETWORK_RULE = DATA_TYPE_PREFIX + "heat.contrail.network.rule.Rule"; + public static final String CONTRAIL_NETWORK_RULE_LIST = DATA_TYPE_PREFIX + "heat.contrail.network.rule.RuleList"; - public static String CONTRAIL_NETWORK_RULE_PORT_PAIRS = + public static final String CONTRAIL_NETWORK_RULE_PORT_PAIRS = DATA_TYPE_PREFIX + "heat.contrail.network.rule.PortPairs"; - public static String CONTRAIL_NETWORK_RULE_VIRTUAL_NETWORK = + public static final String CONTRAIL_NETWORK_RULE_VIRTUAL_NETWORK = DATA_TYPE_PREFIX + "heat.contrail.network.rule.VirtualNetwork"; - public static String CONTRAILV2_NETWORK_RULE = + public static final String CONTRAILV2_NETWORK_RULE = DATA_TYPE_PREFIX + "heat.contrailV2.network.rule.Rule"; - public static String CONTRAILV2_NETWORK_RULE_LIST = + public static final String CONTRAILV2_NETWORK_RULE_LIST = DATA_TYPE_PREFIX + "heat.contrailV2.network.rule.RuleList"; - public static String CONTRAILV2_NETWORK_RULE_SRC_PORT_PAIRS = + public static final String CONTRAILV2_NETWORK_RULE_SRC_PORT_PAIRS = DATA_TYPE_PREFIX + "heat.contrailV2.network.rule.SrcPortPairs"; - public static String CONTRAILV2_NETWORK_RULE_DST_PORT_PAIRS = + public static final String CONTRAILV2_NETWORK_RULE_DST_PORT_PAIRS = DATA_TYPE_PREFIX + "heat.contrailV2.network.rule.DstPortPairs"; - public static String CONTRAILV2_NETWORK_RULE_DST_VIRTUAL_NETWORK = + public static final String CONTRAILV2_NETWORK_RULE_DST_VIRTUAL_NETWORK = DATA_TYPE_PREFIX + "heat.contrailV2.network.rule.DstVirtualNetwork"; - public static String CONTRAILV2_NETWORK_RULE_SRC_VIRTUAL_NETWORK = + public static final String CONTRAILV2_NETWORK_RULE_SRC_VIRTUAL_NETWORK = DATA_TYPE_PREFIX + "heat.contrailV2.network.rule.SrcVirtualNetwork"; - public static String CONTRAILV2_VIRTUAL_MACHINE_INTERFACE_PROPERTIES = + public static final String CONTRAILV2_VIRTUAL_MACHINE_INTERFACE_PROPERTIES = DATA_TYPE_PREFIX + "heat.contrailV2.virtual.machine.interface.Properties"; - public static String CONTRAILV2_NETWORK_RULE_ACTION_LIST = + public static final String CONTRAILV2_NETWORK_RULE_ACTION_LIST = DATA_TYPE_PREFIX + "heat.contrailV2.network.rule.ActionList"; - public static String CONTRAILV2_VIRTUAL_NETWORK_IPAM_REF_DATA = + public static final String CONTRAILV2_VIRTUAL_NETWORK_IPAM_REF_DATA = DATA_TYPE_PREFIX + "heat.contrailV2.virtual.network.rule.IpamRefData"; - public static String CONTRAILV2_VIRTUAL_NETWORK_IPAM_REF_DATA_IPAM_SUBNET_LIST = + public static final String CONTRAILV2_VIRTUAL_NETWORK_IPAM_REF_DATA_IPAM_SUBNET_LIST = DATA_TYPE_PREFIX + "heat.contrailV2.virtual.network.rule.ref.data.IpamSubnetList"; - public static String CONTRAILV2_VIRTUAL_NETWORK_IPAM_REF_DATA_IPAM_SUBNET = + public static final String CONTRAILV2_VIRTUAL_NETWORK_IPAM_REF_DATA_IPAM_SUBNET = DATA_TYPE_PREFIX + "heat.contrailV2.virtual.network.rule.ref.data.IpamSubnet"; - public static String CONTRAILV2_VIRTUAL_NETWORK_POLICY_REF_DATA = + public static final String CONTRAILV2_VIRTUAL_NETWORK_POLICY_REF_DATA = DATA_TYPE_PREFIX + "heat.contrailV2.virtual.network.rule.RefData"; - public static String CONTRAILV2_VIRTUAL_NETWORK_POLICY_REF_DATA_SEQUENCE = + public static final String CONTRAILV2_VIRTUAL_NETWORK_POLICY_REF_DATA_SEQUENCE = DATA_TYPE_PREFIX + "heat.contrailV2.virtual.network.rule.RefDataSequence"; - public static String NOVA_SERVER_NETWORK_ADDRESS_INFO = + public static final String NOVA_SERVER_NETWORK_ADDRESS_INFO = DATA_TYPE_PREFIX + "heat.novaServer.network.AddressInfo"; - public static String NEUTRON_SUBNET = DATA_TYPE_PREFIX + "heat.network.neutron.Subnet"; - public static String NETWORK_ALLOCATION_POOL = DATA_TYPE_PREFIX + "heat.network.AllocationPool"; - public static String NETWORK_HOST_ROUTE = DATA_TYPE_PREFIX + "heat.network.subnet.HostRoute"; - public static String SUBSTITUTION_FILTERING = + public static final String NEUTRON_SUBNET = DATA_TYPE_PREFIX + "heat.network.neutron.Subnet"; + public static final String NETWORK_ALLOCATION_POOL = DATA_TYPE_PREFIX + "heat.network.AllocationPool"; + public static final String NETWORK_HOST_ROUTE = DATA_TYPE_PREFIX + "heat.network.subnet.HostRoute"; + public static final String SUBSTITUTION_FILTERING = DATA_TYPE_PREFIX + "heat.substitution.SubstitutionFiltering"; - public static String NEUTRON_SECURITY_RULES_RULE = + public static final String NEUTRON_SECURITY_RULES_RULE = DATA_TYPE_PREFIX + "heat.network.neutron.SecurityRules.Rule"; - public static String CONTRAIL_STATIC_ROUTE = + public static final String CONTRAIL_STATIC_ROUTE = DATA_TYPE_PREFIX + "heat.network.contrail.port.StaticRoute"; - public static String CONTRAIL_ADDRESS_PAIR = + public static final String CONTRAIL_ADDRESS_PAIR = DATA_TYPE_PREFIX + "heat.network.contrail.AddressPair"; - public static String CONTRAIL_INTERFACE_DATA = + public static final String CONTRAIL_INTERFACE_DATA = DATA_TYPE_PREFIX + "heat.network.contrail.InterfaceData"; - public static String CONTRAILV2_VIRTUAL_MACHINE_SUB_INTERFACE_PROPERTIES = + public static final String CONTRAILV2_VIRTUAL_MACHINE_SUB_INTERFACE_PROPERTIES = DATA_TYPE_PREFIX + "heat.contrailV2.virtual.machine.subInterface.Properties"; - public static String CONTRAILV2_VIRTUAL_MACHINE_SUB_INTERFACE_MAC_ADDRESS = + public static final String CONTRAILV2_VIRTUAL_MACHINE_SUB_INTERFACE_MAC_ADDRESS = DATA_TYPE_PREFIX + "heat.contrailV2.virtual.machine.subInterface.MacAddress"; - public static String CONTRAILV2_VIRTUAL_MACHINE_SUB_INTERFACE_ADDRESS_PAIRS = + public static final String CONTRAILV2_VIRTUAL_MACHINE_SUB_INTERFACE_ADDRESS_PAIRS = DATA_TYPE_PREFIX + "heat.contrailV2.virtual.machine.subInterface.AddressPairs"; - public static String CONTRAILV2_VIRTUAL_MACHINE_SUB_INTERFACE_ADDRESS_PAIR = + public static final String CONTRAILV2_VIRTUAL_MACHINE_SUB_INTERFACE_ADDRESS_PAIR = DATA_TYPE_PREFIX + "heat.contrailV2.virtual.machine.subInterface.AddressPair"; - public static String CONTRAILV2_VIRTUAL_MACHINE_SUB_INTERFACE_ADDRESS_PAIR_IP = + public static final String CONTRAILV2_VIRTUAL_MACHINE_SUB_INTERFACE_ADDRESS_PAIR_IP = DATA_TYPE_PREFIX + "heat.contrailV2.virtual.machine.subInterface.AddressPairIp"; } diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaGroupType.java b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaGroupType.java index c2070c34f4..a4a083b5c7 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaGroupType.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaGroupType.java @@ -28,14 +28,14 @@ public class ToscaGroupType { private static Configuration config = ConfigurationManager.lookup(); - public static String GROUP_TYPE_PREFIX = + public static final String GROUP_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_GROUP_TYPE); //TOSCA native types - public static String NATIVE_ROOT = "tosca.groups.Root"; + public static final String NATIVE_ROOT = "tosca.groups.Root"; //Additional types - public static String HEAT_STACK = GROUP_TYPE_PREFIX + "heat.HeatStack"; + public static final String HEAT_STACK = GROUP_TYPE_PREFIX + "heat.HeatStack"; } diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaNodeType.java b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaNodeType.java index 745f77f7f5..d8e090261c 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaNodeType.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaNodeType.java @@ -29,64 +29,64 @@ public class ToscaNodeType { private static Configuration config = ConfigurationManager.lookup(); - public static String VFC_NODE_TYPE_PREFIX = + public static final String VFC_NODE_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_NODE_TYPE_VFC); - public static String CP_NODE_TYPE_PREFIX = + public static final String CP_NODE_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_NODE_TYPE_CP); - public static String NETWORK_NODE_TYPE_PREFIX = + public static final String NETWORK_NODE_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_NODE_TYPE_NETWORK); - public static String ABSTRACT_NODE_TYPE_PREFIX = + public static final String ABSTRACT_NODE_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_NODE_TYPE_ABSTARCT); - public static String RULE_NODE_TYPE_PREFIX = + public static final String RULE_NODE_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_NODE_TYPE_RULE); - public static String NODE_TYPE_PREFIX = + public static final String NODE_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX); //TOSCA native types - public static String NATIVE_COMPUTE = "tosca.nodes.Compute"; - public static String NATIVE_ROOT = "tosca.nodes.Root"; - public static String NATIVE_BLOCK_STORAGE = "tosca.nodes.BlockStorage"; - public static String NATIVE_NETWORK = "tosca.nodes.network.Network"; - public static String NATIVE_NETWORK_PORT = "tosca.nodes.network.Port"; + public static final String NATIVE_COMPUTE = "tosca.nodes.Compute"; + public static final String NATIVE_ROOT = "tosca.nodes.Root"; + public static final String NATIVE_BLOCK_STORAGE = "tosca.nodes.BlockStorage"; + public static final String NATIVE_NETWORK = "tosca.nodes.network.Network"; + public static final String NATIVE_NETWORK_PORT = "tosca.nodes.network.Port"; //Additional types - public static String NOVA_SERVER = VFC_NODE_TYPE_PREFIX + "heat.nova.Server"; - public static String CINDER_VOLUME = VFC_NODE_TYPE_PREFIX + "heat.cinder.Volume"; - public static String COMPUTE = VFC_NODE_TYPE_PREFIX + "Compute"; - public static String CONTRAIL_COMPUTE = VFC_NODE_TYPE_PREFIX + "heat.contrail.Compute"; + public static final String NOVA_SERVER = VFC_NODE_TYPE_PREFIX + "heat.nova.Server"; + public static final String CINDER_VOLUME = VFC_NODE_TYPE_PREFIX + "heat.cinder.Volume"; + public static final String COMPUTE = VFC_NODE_TYPE_PREFIX + "Compute"; + public static final String CONTRAIL_COMPUTE = VFC_NODE_TYPE_PREFIX + "heat.contrail.Compute"; - public static String NEUTRON_SECURITY_RULES = + public static final String NEUTRON_SECURITY_RULES = RULE_NODE_TYPE_PREFIX + "heat.network.neutron.SecurityRules"; - public static String CONTRAILV2_NETWORK_RULE = + public static final String CONTRAILV2_NETWORK_RULE = RULE_NODE_TYPE_PREFIX + "heat.network.contrailV2.NetworkRules"; - public static String CONTRAIL_NETWORK_RULE = + public static final String CONTRAIL_NETWORK_RULE = RULE_NODE_TYPE_PREFIX + "heat.network.contrail.NetworkRules"; - public static String NEUTRON_NET = NETWORK_NODE_TYPE_PREFIX + "heat.network.neutron.Net"; - public static String CONTRAILV2_VIRTUAL_NETWORK = + public static final String NEUTRON_NET = NETWORK_NODE_TYPE_PREFIX + "heat.network.neutron.Net"; + public static final String CONTRAILV2_VIRTUAL_NETWORK = NETWORK_NODE_TYPE_PREFIX + "heat.network.contrailV2.VirtualNetwork"; - public static String CONTRAIL_VIRTUAL_NETWORK = + public static final String CONTRAIL_VIRTUAL_NETWORK = NETWORK_NODE_TYPE_PREFIX + "heat.network.contrail.VirtualNetwork"; - public static String NETWORK = NETWORK_NODE_TYPE_PREFIX + "network.Network"; + public static final String NETWORK = NETWORK_NODE_TYPE_PREFIX + "network.Network"; - public static String NEUTRON_PORT = CP_NODE_TYPE_PREFIX + "heat.network.neutron.Port"; - public static String CONTRAILV2_VIRTUAL_MACHINE_INTERFACE = + public static final String NEUTRON_PORT = CP_NODE_TYPE_PREFIX + "heat.network.neutron.Port"; + public static final String CONTRAILV2_VIRTUAL_MACHINE_INTERFACE = CP_NODE_TYPE_PREFIX + "heat.contrailV2.VirtualMachineInterface"; - public static String CONTRAIL_PORT = CP_NODE_TYPE_PREFIX + "heat.network.contrail.Port"; - public static String NETWORK_PORT = CP_NODE_TYPE_PREFIX + "network.Port"; - public static String NETWORK_SUB_INTERFACE = CP_NODE_TYPE_PREFIX + "network.SubInterface"; - public static String CONTRAILV2_VLAN_SUB_INTERFACE = CP_NODE_TYPE_PREFIX + public static final String CONTRAIL_PORT = CP_NODE_TYPE_PREFIX + "heat.network.contrail.Port"; + public static final String NETWORK_PORT = CP_NODE_TYPE_PREFIX + "network.Port"; + public static final String NETWORK_SUB_INTERFACE = CP_NODE_TYPE_PREFIX + "network.SubInterface"; + public static final String CONTRAILV2_VLAN_SUB_INTERFACE = CP_NODE_TYPE_PREFIX + "heat.network.contrailV2.VLANSubInterface"; - public static String ABSTRACT_SUBSTITUTE = ABSTRACT_NODE_TYPE_PREFIX + "AbstractSubstitute"; - public static String VFC_ABSTRACT_SUBSTITUTE = ABSTRACT_NODE_TYPE_PREFIX + "VFC"; - public static String CONTRAIL_ABSTRACT_SUBSTITUTE = + public static final String ABSTRACT_SUBSTITUTE = ABSTRACT_NODE_TYPE_PREFIX + "AbstractSubstitute"; + public static final String VFC_ABSTRACT_SUBSTITUTE = ABSTRACT_NODE_TYPE_PREFIX + "VFC"; + public static final String CONTRAIL_ABSTRACT_SUBSTITUTE = ABSTRACT_NODE_TYPE_PREFIX + "contrail.AbstractSubstitute"; - public static String COMPLEX_VFC_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX + "ComplexVFC"; + public static final String COMPLEX_VFC_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX + "ComplexVFC"; //Questionnaire to Tosca Types - public static String VNF_CONFIG_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX + "VnfConfiguration"; - public static String MULTIFLAVOR_VFC_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX + "MultiFlavorVFC"; - public static String MULTIDEPLOYMENTFLAVOR_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX + public static final String VNF_CONFIG_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX + "VnfConfiguration"; + public static final String MULTIFLAVOR_VFC_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX + "MultiFlavorVFC"; + public static final String MULTIDEPLOYMENTFLAVOR_NODE_TYPE = ABSTRACT_NODE_TYPE_PREFIX + "MultiDeploymentFlavor.CVFC"; } diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaPolicyType.java b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaPolicyType.java index ed0232929b..ad24e260b1 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaPolicyType.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaPolicyType.java @@ -28,13 +28,13 @@ public class ToscaPolicyType { private static Configuration config = ConfigurationManager.lookup(); - public static String POLICY_TYPE_PREFIX = + public static final String POLICY_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_POLICY_TYPE); //TOSCA native types - public static String NATIVE_PLACEMENT = "tosca.policy.placement"; + public static final String NATIVE_PLACEMENT = "tosca.policy.placement"; //Additional types - public static String PLACEMENT_ANTILOCATE = POLICY_TYPE_PREFIX + "placement.Antilocate"; - public static String PLACEMENT_COLOCATE = POLICY_TYPE_PREFIX + "placement.Colocate"; + public static final String PLACEMENT_ANTILOCATE = POLICY_TYPE_PREFIX + "placement.Antilocate"; + public static final String PLACEMENT_COLOCATE = POLICY_TYPE_PREFIX + "placement.Colocate"; } diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaRelationshipType.java b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaRelationshipType.java index f1ef5ab234..0fcdc3a590 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaRelationshipType.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/ToscaRelationshipType.java @@ -28,16 +28,16 @@ public class ToscaRelationshipType { private static Configuration config = ConfigurationManager.lookup(); - public static String RELATIONSHIP_TYPE_PREFIX = + public static final String RELATIONSHIP_TYPE_PREFIX = config.getAsString(ConfigConstants.NAMESPACE, ConfigConstants.PREFIX_RELATIONSHIP_TYPE); - public static String NATIVE_ROOT = "tosca.relationships.Root"; - public static String NATIVE_ATTACHES_TO = "tosca.relationships.AttachesTo"; - public static String NATIVE_DEPENDS_ON = "tosca.relationships.DependsOn"; - public static String NATIVE_NETWORK_LINK_TO = "tosca.relationships.network.LinksTo"; - public static String NATIVE_NETWORK_BINDS_TO = "tosca.relationships.network.BindsTo"; - public static String CINDER_VOLUME_ATTACHES_TO = + public static final String NATIVE_ROOT = "tosca.relationships.Root"; + public static final String NATIVE_ATTACHES_TO = "tosca.relationships.AttachesTo"; + public static final String NATIVE_DEPENDS_ON = "tosca.relationships.DependsOn"; + public static final String NATIVE_NETWORK_LINK_TO = "tosca.relationships.network.LinksTo"; + public static final String NATIVE_NETWORK_BINDS_TO = "tosca.relationships.network.BindsTo"; + public static final String CINDER_VOLUME_ATTACHES_TO = RELATIONSHIP_TYPE_PREFIX + "VolumeAttachesTo"; - public static String ATTACHES_TO = RELATIONSHIP_TYPE_PREFIX + "AttachesTo"; + public static final String ATTACHES_TO = RELATIONSHIP_TYPE_PREFIX + "AttachesTo"; } diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/model/Old1610ServiceTemplate.java b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/model/Old1610ServiceTemplate.java index 2ee7bca5bc..c4aa4ec6aa 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/model/Old1610ServiceTemplate.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/datatypes/model/Old1610ServiceTemplate.java @@ -1,19 +1,5 @@ package org.openecomp.sdc.tosca.datatypes.model; -import org.openecomp.sdc.tosca.datatypes.model.ArtifactType; -import org.openecomp.sdc.tosca.datatypes.model.CapabilityType; -import org.openecomp.sdc.tosca.datatypes.model.DataType; -import org.openecomp.sdc.tosca.datatypes.model.GroupType; -import org.openecomp.sdc.tosca.datatypes.model.Import; -import org.openecomp.sdc.tosca.datatypes.model.InterfaceType; -import org.openecomp.sdc.tosca.datatypes.model.NodeType; -import org.openecomp.sdc.tosca.datatypes.model.PolicyType; -import org.openecomp.sdc.tosca.datatypes.model.RelationshipType; -import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate; -import org.openecomp.sdc.tosca.datatypes.model.Template; -import org.openecomp.sdc.tosca.datatypes.model.TopologyTemplate; - -import java.util.List; import java.util.Map; /** diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/DataModelUtil.java b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/DataModelUtil.java index d908b2cf74..0effd40519 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/DataModelUtil.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/DataModelUtil.java @@ -25,6 +25,8 @@ import org.apache.commons.collections4.MapUtils; import org.openecomp.core.utilities.CommonMethods; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.datatypes.error.ErrorLevel; +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.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; @@ -84,6 +86,7 @@ public class DataModelUtil { */ private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); + private static final Logger logger = LoggerFactory.getLogger(DataModelUtil.class); /** * Add substitution mapping. @@ -698,7 +701,7 @@ public class DataModelUtil { * @return the metadata */ public static Map<String, String> createMetadata(String templateName, String templateVersion, - String templateAuthor) { + String templateAuthor) { mdcDataDebugMessage.debugEntryMessage(null, null); @@ -1318,7 +1321,7 @@ public class DataModelUtil { * @return the relationship template */ public static Map<String, RelationshipTemplate> getRelationshipTemplates(ServiceTemplate - serviceTemplate) { + serviceTemplate) { if (serviceTemplate == null || serviceTemplate.getTopology_template() == null || serviceTemplate.getTopology_template().getRelationship_templates() == null) { @@ -1442,9 +1445,11 @@ public class DataModelUtil { ObjectInputStream objectInputStream = new ObjectInputStream(byteArrayInputStream); clonedObjectValue = objectInputStream.readObject(); } catch (NotSerializableException ex) { - return getClonedObject(obj, obj.getClass()); + logger.debug(ex.getMessage(), ex); + return getClonedObject(obj, obj.getClass()); } catch (IOException | ClassNotFoundException ex) { - return null; + logger.debug(ex.getMessage(), ex); + return null; } return clonedObjectValue; } @@ -1575,4 +1580,9 @@ public class DataModelUtil { mdcDataDebugMessage.debugExitMessage(null, null); } + + public static boolean isNodeTemplateSectionMissingFromServiceTemplate(ServiceTemplate serviceTemplate){ + return Objects.isNull(serviceTemplate.getTopology_template() ) + || MapUtils.isEmpty(serviceTemplate.getTopology_template().getNode_templates()); + } } diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/impl/ToscaFileOutputServiceCsarImpl.java b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/impl/ToscaFileOutputServiceCsarImpl.java index 9a3ed8e73f..fb7010358b 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/impl/ToscaFileOutputServiceCsarImpl.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/main/java/org/openecomp/sdc/tosca/services/impl/ToscaFileOutputServiceCsarImpl.java @@ -25,6 +25,8 @@ import org.openecomp.core.utilities.file.FileContentHandler; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.sdc.common.errors.CoreException; import org.openecomp.sdc.datatypes.error.ErrorLevel; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerErrorCode; @@ -64,6 +66,7 @@ public class ToscaFileOutputServiceCsarImpl implements ToscaFileOutputService { private static final String META_FILE_DELIMITER = ":"; private static final String SPACE = " "; private static final String FILE_SEPARATOR = File.separator; + private static final Logger logger = LoggerFactory.getLogger(ToscaFileOutputServiceCsarImpl.class); @Override @@ -146,7 +149,7 @@ public class ToscaFileOutputServiceCsarImpl implements ToscaFileOutputService { try { zos.closeEntry(); } catch (IOException ignore) { - //do nothing + logger.debug(ignore.getMessage(), ignore); } } } @@ -169,7 +172,7 @@ public class ToscaFileOutputServiceCsarImpl implements ToscaFileOutputService { try { zos.closeEntry(); } catch (IOException ignore) { - //do nothing + logger.debug(ignore.getMessage(), ignore); } } } diff --git a/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/TestUtil.java b/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/TestUtil.java index 9a90d4539e..ca0c0ea506 100644 --- a/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/TestUtil.java +++ b/openecomp-be/lib/openecomp-tosca-lib/src/test/java/org/openecomp/sdc/tosca/TestUtil.java @@ -20,6 +20,8 @@ package org.openecomp.sdc.tosca; +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; @@ -36,6 +38,8 @@ import java.util.Map; public class TestUtil { + private static final Logger logger = LoggerFactory.getLogger(TestUtil.class); + public static ToscaServiceModel loadToscaServiceModel(String serviceTemplatesPath, String globalServiceTemplatesPath, String entryDefinitionServiceTemplate) @@ -84,6 +88,7 @@ public class TestUtil { try { yamlFile.close(); } catch (IOException ignore) { + logger.debug(ignore.getMessage(), ignore); } } catch (FileNotFoundException e) { throw e; |