diff options
290 files changed, 12640 insertions, 1518 deletions
diff --git a/build-tools/pom.xml b/build-tools/pom.xml index 952ebef380..24a6742b71 100644 --- a/build-tools/pom.xml +++ b/build-tools/pom.xml @@ -15,21 +15,4 @@ <version>1.1.0-SNAPSHOT</version> </parent> - <properties> - <pmd.version>5.8.1</pmd.version> - </properties> - - <dependencies> - <dependency> - <groupId>net.sourceforge.pmd</groupId> - <artifactId>pmd-core</artifactId> - <version>${pmd.version}</version> - </dependency> - <dependency> - <groupId>net.sourceforge.pmd</groupId> - <artifactId>pmd-java</artifactId> - <version>${pmd.version}</version> - </dependency> - </dependencies> - </project>
\ No newline at end of file diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CsarValidationUtils.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CsarValidationUtils.java index 8198ef3d85..8b0c6fa8bf 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CsarValidationUtils.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/impl/CsarValidationUtils.java @@ -20,11 +20,16 @@ package org.openecomp.sdc.be.components.impl; +import static org.openecomp.sdc.be.tosca.CsarUtils.VF_NODE_TYPE_ARTIFACTS_PATH_PATTERN; + import java.io.ByteArrayInputStream; import java.io.IOException; +import java.io.StringReader; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Properties; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -55,7 +60,13 @@ public class CsarValidationUtils { private static final String NEW_LINE_DELM = "\n"; - public final static String TOSCA_METADATA_FILE = "TOSCA-Metadata/TOSCA.meta"; + //public final static String TOSCA_METADATA_FILE = "TOSCA-Metadata/TOSCA.meta"; + public final static String TOSCA_METADATA = "TOSCA-Metadata"; + public final static String TOSCA_FILE = "TOSCA.meta"; + public final static String DEL_PATTERN = "([/\\\\]+)"; + public static final String TOSCA_METADATA_PATH_PATTERN = TOSCA_METADATA + + // Artifact Group (i.e Deployment/Informational) + DEL_PATTERN + TOSCA_FILE; public static final String TOSCA_META_ENTRY_DEFINITIONS = "Entry-Definitions"; @@ -134,10 +145,19 @@ public class CsarValidationUtils { if (validateStatus.isRight()) { return Either.right(validateStatus.right().value()); } - byte[] toscaMetaBytes = csar.get(TOSCA_METADATA_FILE); + Pattern pattern = Pattern.compile(TOSCA_METADATA_PATH_PATTERN); + Optional<String> keyOp = csar.keySet().stream().filter(k -> pattern.matcher(k).matches()).findAny(); + if(!keyOp.isPresent()){ + log.debug("TOSCA-Metadata/TOSCA.meta file is not in expected key-value form in csar, csar ID {}", csarUUID); + BeEcompErrorManager.getInstance().logInternalDataError("TOSCA-Metadata/TOSCA.meta file not in expected key-value form in CSAR with id " + csarUUID, "CSAR internals are invalid", ErrorSeverity.ERROR); + return Either.right(componentsUtils.getResponseFormat(ActionStatus.CSAR_INVALID_FORMAT, csarUUID)); + } + byte[] toscaMetaBytes = csar.get(keyOp.get()); Properties props = new Properties(); try { - props.load(new ByteArrayInputStream(toscaMetaBytes)); + //props.load(new ByteArrayInputStream(toscaMetaBytes)); + String propStr = new String(toscaMetaBytes); + props.load(new StringReader(propStr.replace("\\","\\\\"))); } catch (IOException e) { log.debug("TOSCA-Metadata/TOSCA.meta file is not in expected key-value form in csar, csar ID {}", csarUUID, e); BeEcompErrorManager.getInstance().logInternalDataError("TOSCA-Metadata/TOSCA.meta file not in expected key-value form in CSAR with id " + csarUUID, "CSAR internals are invalid", ErrorSeverity.ERROR); @@ -145,13 +165,16 @@ public class CsarValidationUtils { } String yamlFileName = props.getProperty(TOSCA_META_ENTRY_DEFINITIONS); - - if (!csar.containsKey(yamlFileName)) { + String[] ops = yamlFileName.split(DEL_PATTERN); + List<String> list = Arrays.asList(ops); + String result = list.stream().map(x -> x).collect(Collectors.joining(DEL_PATTERN)); + keyOp = csar.keySet().stream().filter(k -> Pattern.compile(result).matcher(k).matches()).findAny(); + if(!keyOp.isPresent()){ log.debug("Entry-Definitions entry not found in TOSCA-Metadata/TOSCA.meta file, csar ID {}", csarUUID); BeEcompErrorManager.getInstance().logInternalDataError("Entry-Definitions entry not found in TOSCA-Metadata/TOSCA.meta file in CSAR with id " + csarUUID, "CSAR internals are invalid", ErrorSeverity.ERROR); return Either.right(componentsUtils.getResponseFormat(ActionStatus.YAML_NOT_FOUND_IN_CSAR, csarUUID, yamlFileName)); } - + log.trace("Found Entry-Definitions property in TOSCA-Metadata/TOSCA.meta, Entry-Definitions: {}, CSAR id: {}", yamlFileName, csarUUID); byte[] yamlFileBytes = csar.get(yamlFileName); if (yamlFileBytes == null) { @@ -205,8 +228,16 @@ public class CsarValidationUtils { } private static Either<Boolean, ResponseFormat> validateTOSCAMetadataFile(Map<String, byte[]> csar, String csarUUID, ComponentsUtils componentsUtils) { + + Pattern pattern = Pattern.compile(TOSCA_METADATA_PATH_PATTERN); + Optional<String> keyOp = csar.keySet().stream().filter(k -> pattern.matcher(k).matches()).findAny(); + if(!keyOp.isPresent()){ + log.debug("TOSCA-Metadata/TOSCA.meta file is not in expected key-value form in csar, csar ID {}", csarUUID); + BeEcompErrorManager.getInstance().logInternalDataError("TOSCA-Metadata/TOSCA.meta file not in expected key-value form in CSAR with id " + csarUUID, "CSAR internals are invalid", ErrorSeverity.ERROR); + return Either.right(componentsUtils.getResponseFormat(ActionStatus.CSAR_INVALID_FORMAT, csarUUID)); + } - byte[] toscaMetaBytes = csar.get(TOSCA_METADATA_FILE); + byte[] toscaMetaBytes = csar.get(keyOp.get()); String toscaMetadata = new String(toscaMetaBytes); String[] splited = toscaMetadata.split(NEW_LINE_DELM); if (splited == null || splited.length < TOSCA_METADATA_FIELDS.length) { @@ -283,12 +314,16 @@ public class CsarValidationUtils { ResponseFormat responseFormat = componentsUtils.getResponseFormat(ActionStatus.CSAR_INVALID, csarUUID); return Either.right(responseFormat); } - if (!csar.containsKey(TOSCA_METADATA_FILE)) { + + Pattern pattern = Pattern.compile(TOSCA_METADATA_PATH_PATTERN); + Optional<String> keyOp = csar.keySet().stream().filter(k -> pattern.matcher(k).matches()).findAny(); + if(!keyOp.isPresent()){ + log.debug("TOSCA-Metadata/TOSCA.meta file not found in csar, csar ID {}", csarUUID); BeEcompErrorManager.getInstance().logInternalDataError("TOSCA-Metadata/TOSCA.meta file not found in CSAR with id " + csarUUID, "CSAR structure is invalid", ErrorSeverity.ERROR); return Either.right(componentsUtils.getResponseFormat(ActionStatus.CSAR_INVALID, csarUUID)); } - byte[] toscaMetaBytes = csar.get(TOSCA_METADATA_FILE); + byte[] toscaMetaBytes = csar.get(keyOp.get()); // && exchanged for || if (toscaMetaBytes == null || toscaMetaBytes.length == 0) { log.debug("TOSCA-Metadata/TOSCA.meta file not found in csar, csar ID {}", csarUUID); diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CsarUtils.java b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CsarUtils.java index 66627086f6..a0cc347e09 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CsarUtils.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/tosca/CsarUtils.java @@ -137,19 +137,26 @@ public class CsarUtils { private static final String TOSCA_META_PATH_FILE_NAME = "TOSCA-Metadata/TOSCA.meta"; private static final String TOSCA_META_VERSION = "1.0"; private static final String CSAR_VERSION = "1.1"; + public static final String ARTIFACTS = "Artifacts"; + public static final String DEFINITION = "Definitions"; + public static final String DEL_PATTERN = "([/\\\\]+)"; private static String versionFirstThreeOctates; - public static final String VFC_NODE_TYPE_ARTIFACTS_PATH_PATTERN = ARTIFACTS_PATH + ImportUtils.Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX + "([\\d\\w\\_\\-\\.\\s]+)(/)([\\d\\w\\_\\-\\.\\s]+)(/)([\\d\\w\\_\\-\\.\\s\\/]+)"; + public static final String VFC_NODE_TYPE_ARTIFACTS_PATH_PATTERN = ARTIFACTS + DEL_PATTERN + + ImportUtils.Constants.USER_DEFINED_RESOURCE_NAMESPACE_PREFIX + + "([\\d\\w\\_\\-\\.\\s]+)" + DEL_PATTERN + + "([\\d\\w\\_\\-\\.\\s]+)" + DEL_PATTERN + + "([\\d\\w\\_\\-\\.\\s]+)" + DEL_PATTERN; - public static final String VF_NODE_TYPE_ARTIFACTS_PATH_PATTERN = ARTIFACTS_PATH + + public static final String VF_NODE_TYPE_ARTIFACTS_PATH_PATTERN = ARTIFACTS + DEL_PATTERN+ // Artifact Group (i.e Deployment/Informational) - "([\\w\\_\\-\\.\\s]+)(/)" + + "([\\w\\_\\-\\.\\s]+)" + DEL_PATTERN + // Artifact Type - "([\\w\\_\\-\\.\\s]+)(/)" + + "([\\w\\_\\-\\.\\s]+)" + DEL_PATTERN + // Artifact Any File Name ".+"; public static final String VALID_ENGLISH_ARTIFACT_NAME = "([\\w\\_\\-\\.\\s]+)"; - public static final String SERVICE_TEMPLATE_PATH_PATTERN = Constants.SERVICE_TEMPLATES_CONTAINING_FOLDER + + public static final String SERVICE_TEMPLATE_PATH_PATTERN = DEFINITION + DEL_PATTERN+ // Service Template File Name "([\\w\\_\\-\\.\\s]+)"; diff --git a/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.yml b/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.yml index 8914207b0f..4c7ca11f13 100644 --- a/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.yml +++ b/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.yml @@ -11,6 +11,12 @@ services: VoIP_Call_Control: name: "VoIP Call Control" icons: ['call_controll'] + E2E_Service: + name: "E2E Service" + icons: ['network_l_1-3'] + Network_Service: + name: "Network Service" + icons: ['network_l_1-3'] resources: NetworkLayer23: name: "Network L2-3" @@ -137,7 +143,10 @@ resources: icons: ['service_admin'] ContrailRoute: name: "Contrail Route" - icons: ['contrail_route'] + icons: ['contrail_route'] SecurityZone: name: "Security Zone" - icons: ['security_zone']
\ No newline at end of file + icons: ['security_zone'] + NetworkService: + name: "Network Service" + icons: ['network']
\ No newline at end of file diff --git a/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.zip b/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.zip Binary files differindex 7a0e6bcad7..314a12ea55 100644 --- a/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.zip +++ b/catalog-be/src/main/resources/import/tosca/categories/categoryTypes.zip diff --git a/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml b/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml index 621274796f..ba7a7a0cfd 100644 --- a/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml +++ b/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml @@ -849,6 +849,7 @@ org.openecomp.datatypes.Root: properties: supplemental_data: type: map + required: false entry_schema: description: > A placeholder for missing properties that would be included in future ecomp model versions. diff --git a/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.zip b/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.zip Binary files differindex ffbe146f9b..c97ea2caa0 100644 --- a/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.zip +++ b/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.zip diff --git a/onboarding/pom.xml b/onboarding/pom.xml index 141ffc012d..667ed607b7 100644 --- a/onboarding/pom.xml +++ b/onboarding/pom.xml @@ -34,10 +34,11 @@ <mvn.swagger.version>3.1.0</mvn.swagger.version> <mvn.war.version>2.1.1</mvn.war.version> - <!-- Onboarding artifacts version --> + <!-- Onboarding artifacts version --> <openecomp.sdc.common.version>1.1.0-SNAPSHOT</openecomp.sdc.common.version> <!-- Onboarding 3rd party versions --> + <jtosca.version>1.1.1-SNAPSHOT</jtosca.version> <aspectj.version>1.8.9</aspectj.version> <bsh.version>2.0b5</bsh.version> <cassandra.version>2.1.9</cassandra.version> @@ -95,7 +96,8 @@ <zusammen.version>0.2.0</zusammen.version> <zusammen-state-store.version>0.2.1</zusammen-state-store.version> <skipSA>true</skipSA> - <build.tools.version>1.1.0-SNAPSHOT</build.tools.version> + <pmd.version>5.8.1</pmd.version> + <build.tools.version>${project.version}</build.tools.version> </properties> <build> @@ -146,6 +148,16 @@ <artifactId>build-tools</artifactId> <version>${build.tools.version}</version> </dependency> + <dependency> + <groupId>net.sourceforge.pmd</groupId> + <artifactId>pmd-core</artifactId> + <version>${pmd.version}</version> + </dependency> + <dependency> + <groupId>net.sourceforge.pmd</groupId> + <artifactId>pmd-java</artifactId> + <version>${pmd.version}</version> + </dependency> </dependencies> </plugin> </plugins> diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/src/main/java/org/openecomp/sdcrests/action/rest/ActionsForSwaggerFileUpload.java b/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/src/main/java/org/openecomp/sdcrests/action/rest/ActionsForSwaggerFileUpload.java index 369e90c928..5dc79ebdfe 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/src/main/java/org/openecomp/sdcrests/action/rest/ActionsForSwaggerFileUpload.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/src/main/java/org/openecomp/sdcrests/action/rest/ActionsForSwaggerFileUpload.java @@ -23,10 +23,10 @@ package org.openecomp.sdcrests.action.rest; import com.sun.jersey.multipart.FormDataParam; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.apache.cxf.jaxrs.ext.multipart.Attachment; import org.apache.cxf.jaxrs.ext.multipart.Multipart; import org.springframework.validation.annotation.Validated; +import java.io.InputStream; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.Consumes; import javax.ws.rs.HeaderParam; @@ -39,8 +39,6 @@ import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import java.io.InputStream; - @Path("/workflow/v1.0/actions") @Produces(MediaType.APPLICATION_JSON) diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/src/main/java/org/openecomp/sdcrests/action/rest/services/ActionsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/src/main/java/org/openecomp/sdcrests/action/rest/services/ActionsImpl.java index e6f5e6b1a3..53ebf0baab 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/src/main/java/org/openecomp/sdcrests/action/rest/services/ActionsImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/action-library-rest/action-library-rest-services/src/main/java/org/openecomp/sdcrests/action/rest/services/ActionsImpl.java @@ -830,7 +830,6 @@ public class ActionsImpl implements Actions { HttpServletRequest servletRequest) { ListResponseWrapper responseList = null; Map<String, String> errorMap = validateRequestHeaders(servletRequest); - ; Map<String, String> queryParamErrors = validateQueryParam(componentID); errorMap.putAll(queryParamErrors); if (errorMap.isEmpty()) { @@ -992,37 +991,36 @@ public class ActionsImpl implements Actions { if (StringUtils.isEmpty(requestJSON) || requestJSON.equals(REQUEST_EMPTY_BODY)) { requestBodyErrorMap.put(ACTION_INVALID_REQUEST_BODY_CODE, ACTION_REQUEST_BODY_EMPTY); } else { - switch (requestType) { - case ActionConstants.REQUEST_TYPE_CREATE_ACTION: - case ActionConstants.REQUEST_TYPE_UPDATE_ACTION: - //Semantic request specific validations - Action action = JsonUtil.json2Object(requestJSON, Action.class); - if (StringUtils.isEmpty(action.getName())) { - setErrorValue(ACTION_REQUEST_INVALID_GENERIC_CODE, ACTION_REQUEST_PARAM_NAME, - requestBodyErrorMap); - } else { - //Added check for action name not allowing whitespaces - if (action.getName().matches(whitespaceRegex)) { - requestBodyErrorMap - .put(ACTION_ARTIFACT_INVALID_NAME_CODE, ACTION_REQUEST_INVALID_NAME); - } + if(requestType == ActionConstants.REQUEST_TYPE_CREATE_ACTION){ + //placeholder for future implementation + } + if(requestType == ActionConstants.REQUEST_TYPE_UPDATE_ACTION){ + //Semantic request specific validations + Action action = JsonUtil.json2Object(requestJSON, Action.class); + if(StringUtils.isEmpty(action.getName())){ + setErrorValue(ACTION_REQUEST_INVALID_GENERIC_CODE, ACTION_REQUEST_PARAM_NAME, + requestBodyErrorMap); + } else { + //Added check for action names not allowing whitespaces + if (action.getName().matches(whitespaceRegex)){ + requestBodyErrorMap.put(ACTION_ARTIFACT_INVALID_NAME_CODE, ACTION_REQUEST_INVALID_NAME); } + } - if (action.getSupportedModels() != null && - !isIDPresentInMap(action.getSupportedModels(), SUPPORTED_MODELS_VERSION_ID)) { - setErrorValue(ACTION_REQUEST_INVALID_GENERIC_CODE, - ACTION_REQUEST_PARAM_SUPPORTED_MODELS, requestBodyErrorMap); - } - if (action.getSupportedComponents() != null && - !isIDPresentInMap(action.getSupportedComponents(), SUPPORTED_COMPONENTS_ID)) { - setErrorValue(ACTION_REQUEST_INVALID_GENERIC_CODE, - ACTION_REQUEST_PARAM_SUPPORTED_COMPONENTS, requestBodyErrorMap); - } - if (action.getArtifacts() != null) { - setErrorValue(ACTION_UPDATE_NOT_ALLOWED_CODE, ACTION_REQUEST_ARTIFACT_OPERATION_ALLOWED, - requestBodyErrorMap); - } - break; + if(action.getSupportedModels() != null && !isIDPresentInMap(action.getSupportedModels(), + SUPPORTED_MODELS_VERSION_ID)){ + setErrorValue(ACTION_REQUEST_INVALID_GENERIC_CODE, + ACTION_REQUEST_PARAM_SUPPORTED_MODELS, requestBodyErrorMap); + } + if(action.getSupportedComponents() != null && !isIDPresentInMap(action + .getSupportedComponents(), SUPPORTED_COMPONENTS_ID)){ + setErrorValue(ACTION_REQUEST_INVALID_GENERIC_CODE, + ACTION_REQUEST_PARAM_SUPPORTED_MODELS, requestBodyErrorMap); + } + if(action.getArtifacts() != null){ + setErrorValue(ACTION_UPDATE_NOT_ALLOWED_CODE, + ACTION_REQUEST_ARTIFACT_OPERATION_ALLOWED, requestBodyErrorMap); + } } } @@ -1037,11 +1035,8 @@ public class ActionsImpl implements Actions { if (errorMessage != null) { message = errorMessage + ", " + message; } else { - switch (key) { - case ACTION_REQUEST_INVALID_GENERIC_CODE: - message = ACTION_REQUEST_MISSING_MANDATORY_PARAM + message; - break; - } + if(key == ACTION_REQUEST_INVALID_GENERIC_CODE) + message = ACTION_REQUEST_MISSING_MANDATORY_PARAM + message; } errorMap.put(key, message); } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/activity-log-rest/activity-log-rest-services/src/main/java/org/openecomp/sdcrests/activitylog/rest/mapping/MapActivityLogEntityToActivityLogDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/activity-log-rest/activity-log-rest-services/src/main/java/org/openecomp/sdcrests/activitylog/rest/mapping/MapActivityLogEntityToActivityLogDto.java index 2794315188..023dedf12c 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/activity-log-rest/activity-log-rest-services/src/main/java/org/openecomp/sdcrests/activitylog/rest/mapping/MapActivityLogEntityToActivityLogDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/activity-log-rest/activity-log-rest-services/src/main/java/org/openecomp/sdcrests/activitylog/rest/mapping/MapActivityLogEntityToActivityLogDto.java @@ -23,7 +23,6 @@ package org.openecomp.sdcrests.activitylog.rest.mapping; import org.openecomp.sdc.activitylog.dao.type.ActivityLogEntity; import org.openecomp.sdcrests.activitylog.types.ActivityLogDto; import org.openecomp.sdcrests.activitylog.types.ActivityStatus; -import org.openecomp.sdcrests.activitylog.types.ActivityType; import org.openecomp.sdcrests.mapping.MappingBase; public class MapActivityLogEntityToActivityLogDto extends MappingBase<ActivityLogEntity, ActivityLogDto> { diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-services/src/main/java/org/openecomp/sdcrests/applicationconfig/rest/services/ApplicationConfigurationImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-services/src/main/java/org/openecomp/sdcrests/applicationconfig/rest/services/ApplicationConfigurationImpl.java index 4ffe4488da..c7f3f2598c 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-services/src/main/java/org/openecomp/sdcrests/applicationconfig/rest/services/ApplicationConfigurationImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/application-config-rest/application-config-rest-services/src/main/java/org/openecomp/sdcrests/applicationconfig/rest/services/ApplicationConfigurationImpl.java @@ -24,7 +24,6 @@ import org.openecomp.core.utilities.applicationconfig.dao.type.ApplicationConfig import org.openecomp.core.utilities.applicationconfig.type.ConfigurationData; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.sdc.applicationconfig.ApplicationConfigManager; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerServiceName; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/HealthCheck.java b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/HealthCheck.java index 2ed1d57f8f..446a80e3cc 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/HealthCheck.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/HealthCheck.java @@ -22,13 +22,15 @@ package org.openecomp.sdcrests.health.rest; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.openecomp.sdcrests.health.types.HealthInfoDtos; import org.springframework.validation.annotation.Validated; -import javax.ws.rs.*; +import javax.ws.rs.Consumes; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import java.util.Collection; -import org.openecomp.sdcrests.health.types.HealthInfoDtos; @Path("/v1.0/healthcheck") @Produces(MediaType.APPLICATION_JSON) diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/services/HealthCheckImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/services/HealthCheckImpl.java index 047adaa25e..38858c0e7c 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/services/HealthCheckImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/healthcheck-rest/healthcheck-rest-services/src/main/java/org/openecomp/sdcrests/health/rest/services/HealthCheckImpl.java @@ -26,7 +26,6 @@ import org.openecomp.sdc.health.HealthCheckManagerFactory; import org.openecomp.sdc.health.data.HealthCheckResult; import org.openecomp.sdc.health.data.HealthCheckStatus; import org.openecomp.sdc.health.data.HealthInfo; -import org.openecomp.sdc.health.data.SiteMode; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.logging.context.MdcUtil; @@ -36,10 +35,10 @@ import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; -import javax.inject.Named; -import javax.ws.rs.core.Response; import java.util.Arrays; import java.util.Collection; +import javax.inject.Named; +import javax.ws.rs.core.Response; @Named @Service("healthCheck") diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/src/main/java/org/openecomp/server/filters/ActionAuthenticationFilter.java b/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/src/main/java/org/openecomp/server/filters/ActionAuthenticationFilter.java index e59d3fb3b8..18465cd00c 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/src/main/java/org/openecomp/server/filters/ActionAuthenticationFilter.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/src/main/java/org/openecomp/server/filters/ActionAuthenticationFilter.java @@ -20,6 +20,9 @@ package org.openecomp.server.filters; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; + import java.io.IOException; import java.security.Principal; import java.util.Base64; @@ -35,6 +38,7 @@ import javax.servlet.http.HttpServletResponse; public class ActionAuthenticationFilter implements Filter { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); private boolean runningOnLocal = true; @Override @@ -58,6 +62,7 @@ public class ActionAuthenticationFilter implements Filter { String decodedCredentials = new String(Base64.getDecoder().decode(base64Credentials)); username = decodedCredentials.substring(0, decodedCredentials.indexOf(":")); } catch (Exception exception) { + log.debug("",exception); setResponseStatus((HttpServletResponse) arg1, HttpServletResponse.SC_FORBIDDEN); return; } @@ -82,6 +87,7 @@ public class ActionAuthenticationFilter implements Filter { .valueOf(username.substring(username.indexOf("-") + 1).toUpperCase()); return userPrivilege.ordinal() >= requiredPrivilege.ordinal(); } catch (Exception exception) { + log.debug("",exception); return false; } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/openecomp-sdc-common-rest/src/main/java/org/openecomp/sdcrests/mapping/MappingBase.java b/openecomp-be/api/openecomp-sdc-rest-webapp/openecomp-sdc-common-rest/src/main/java/org/openecomp/sdcrests/mapping/MappingBase.java index 91f2656f16..2310c0f6ce 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/openecomp-sdc-common-rest/src/main/java/org/openecomp/sdcrests/mapping/MappingBase.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/openecomp-sdc-common-rest/src/main/java/org/openecomp/sdcrests/mapping/MappingBase.java @@ -29,6 +29,9 @@ import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerServiceName; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; + /** * Base class for all mapping classes. Mapping classes will perform data mapping from source object * to target object Base class provides following<br> <ol> <li>provides life cycle of @@ -52,6 +55,8 @@ public abstract class MappingBase<S, T> { * @return <code>T</code> - instance of type <code>T</code> */ + private final Logger logger = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + public final T applyMapping(final S source, Class<T> clazz) { T target = (T) instantiateTarget(clazz); if (source == null || target == null) { diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/Validation.java b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/Validation.java index c0c759e123..b08bc10727 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/Validation.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/Validation.java @@ -21,7 +21,6 @@ package org.openecomp.sdcrests.validation.rest; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; import org.apache.cxf.jaxrs.ext.multipart.Multipart; import org.springframework.validation.annotation.Validated; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/ValidationForSwaggerUsage.java b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/ValidationForSwaggerUsage.java index 0a737f32e8..fd5bea3380 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/ValidationForSwaggerUsage.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/ValidationForSwaggerUsage.java @@ -23,13 +23,16 @@ package org.openecomp.sdcrests.validation.rest; import com.sun.jersey.multipart.FormDataParam; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.apache.cxf.jaxrs.ext.multipart.Multipart; import org.springframework.validation.annotation.Validated; -import javax.ws.rs.*; +import java.io.InputStream; +import javax.ws.rs.Consumes; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import java.io.InputStream; @Path("/v1.0/validation") diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/services/ValidationImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/services/ValidationImpl.java index b0467b6ef0..15675f14de 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/services/ValidationImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/validation-rest/validation-rest-services/src/main/java/org/openecomp/sdcrests/validation/rest/services/ValidationImpl.java @@ -21,7 +21,6 @@ package org.openecomp.sdcrests.validation.rest.services; -import org.openecomp.sdc.common.utils.CommonUtil; import org.openecomp.sdc.datatypes.error.ErrorLevel; import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage; import org.openecomp.sdc.logging.context.impl.MdcDataErrorMessage; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/FeatureGroups.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/FeatureGroups.java index 9a72a59070..a3a4e4d0d8 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/FeatureGroups.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/FeatureGroups.java @@ -20,10 +20,12 @@ package org.openecomp.sdcrests.vendorlicense.rest; +import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; +import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; + import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdcrests.vendorlicense.types.FeatureGroupEntityDto; import org.openecomp.sdcrests.vendorlicense.types.FeatureGroupModelDto; import org.openecomp.sdcrests.vendorlicense.types.FeatureGroupRequestDto; @@ -32,7 +34,6 @@ import org.springframework.validation.annotation.Validated; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; @@ -42,13 +43,9 @@ import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; -import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; - @Path("/v1.0/vendor-license-models/{vlmId}/versions/{versionId}/feature-groups") @Produces(MediaType.APPLICATION_JSON) diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/LicenseKeyGroupLimits.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/LicenseKeyGroupLimits.java index bfb2d51af0..bd31dc5607 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/LicenseKeyGroupLimits.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/LicenseKeyGroupLimits.java @@ -6,7 +6,6 @@ import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.openecomp.sdcrests.vendorlicense.types.EntitlementPoolEntityDto; import org.openecomp.sdcrests.vendorlicense.types.LimitEntityDto; import org.openecomp.sdcrests.vendorlicense.types.LimitRequestDto; import org.springframework.validation.annotation.Validated; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitDto.java index 1152cc1eb3..a0226c1626 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-services/src/main/java/org/openecomp/sdcrests/vendorlicense/rest/mapping/MapLimitEntityToLimitDto.java @@ -3,7 +3,6 @@ package org.openecomp.sdcrests.vendorlicense.rest.mapping; import org.openecomp.sdc.vendorlicense.dao.types.LimitEntity; import org.openecomp.sdcrests.mapping.MappingBase; import org.openecomp.sdcrests.vendorlicense.types.LimitEntityDto; -import org.openecomp.sdcrests.vendorlicense.types.LimitRequestDto; public class MapLimitEntityToLimitDto extends MappingBase<LimitEntity, LimitEntityDto> { diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/EntitlementPoolRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/EntitlementPoolRequestDto.java index 79cf750f74..18488ab83d 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/EntitlementPoolRequestDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/EntitlementPoolRequestDto.java @@ -22,9 +22,6 @@ package org.openecomp.sdcrests.vendorlicense.types; import io.swagger.annotations.ApiModel; import org.codehaus.jackson.annotate.JsonIgnoreProperties; -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.OperationalScope; import org.openecomp.sdc.vendorlicense.dao.types.ThresholdUnit; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitRequestDto.java index defff137d8..daeb9b0d10 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitRequestDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-license-rest/vendor-license-rest-types/src/main/java/org/openecomp/sdcrests/vendorlicense/types/LimitRequestDto.java @@ -2,10 +2,7 @@ package org.openecomp.sdcrests.vendorlicense.types; import io.swagger.annotations.ApiModel; import org.hibernate.validator.constraints.NotBlank; -import org.openecomp.sdc.vendorlicense.dao.types.LimitType; -import javax.validation.constraints.Min; -import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; @ApiModel(value = "LimitRequest") diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentDependencyModels.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentDependencyModels.java index 5df05d1cf1..d7ba65fce5 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentDependencyModels.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/ComponentDependencyModels.java @@ -1,11 +1,11 @@ package org.openecomp.sdcrests.vsp.rest; +import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; - import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyModelRequestDto; import org.springframework.validation.annotation.Validated; @@ -21,11 +21,6 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; - -import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; - -import java.util.List; - @Path("/v1.0/vendor-software-products/{vspId}/versions/{versionId}/component-dependency-model") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Compute.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Compute.java index 13d9a049c8..d5125c92bf 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Compute.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Compute.java @@ -6,7 +6,6 @@ import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDetailsDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; @@ -15,7 +14,6 @@ import org.springframework.validation.annotation.Validated; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; @@ -25,7 +23,6 @@ import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/DeploymentFlavors.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/DeploymentFlavors.java index 581b15199c..1ba2f71b4c 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/DeploymentFlavors.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/DeploymentFlavors.java @@ -6,7 +6,6 @@ import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorListResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.DeploymentFlavorRequestDto; @@ -14,8 +13,15 @@ import org.springframework.validation.annotation.Validated; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; -import javax.ws.rs.*; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Images.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Images.java index 8939faa13f..ffa1675f91 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Images.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Images.java @@ -6,9 +6,6 @@ import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; -import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ImageData; -import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageRequestDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; @@ -17,7 +14,6 @@ import org.springframework.validation.annotation.Validated; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; @@ -27,7 +23,6 @@ import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Nics.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Nics.java index c29966b54b..21bd65eccb 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Nics.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Nics.java @@ -26,7 +26,6 @@ import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.NicRequestDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; @@ -35,7 +34,6 @@ import org.springframework.validation.annotation.Validated; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; @@ -45,7 +43,6 @@ import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Processes.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Processes.java index 93dcbc4e32..458a1c63fd 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Processes.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/Processes.java @@ -20,26 +20,32 @@ package org.openecomp.sdcrests.vsp.rest; +import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; +import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; + import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.cxf.jaxrs.ext.multipart.Attachment; import org.apache.cxf.jaxrs.ext.multipart.Multipart; -import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ProcessEntityDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ProcessRequestDto; import org.springframework.validation.annotation.Validated; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; -import javax.ws.rs.*; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; +import javax.ws.rs.POST; +import javax.ws.rs.PUT; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; -import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; - @Path("/v1.0/vendor-software-products/{vspId}/versions/{versionId}/processes") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java index 4366b2c3d1..1a68d49479 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/VendorSoftwareProducts.java @@ -20,15 +20,14 @@ package org.openecomp.sdcrests.vsp.rest; +import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; +import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; + import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import org.apache.cxf.jaxrs.ext.multipart.Multipart; -import org.openecomp.sdc.vendorsoftwareproduct.types.FileDataStructureDto; -import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdcrests.vendorsoftwareproducts.types.PackageInfoDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.UploadFileResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VersionSoftwareProductActionRequestDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspComputeDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.VspCreationDto; @@ -38,11 +37,8 @@ import org.springframework.validation.annotation.Validated; import java.io.File; import java.io.IOException; -import java.io.InputStream; -import java.lang.reflect.InvocationTargetException; import javax.validation.Valid; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; @@ -55,9 +51,6 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; - -import static org.openecomp.sdcrests.common.RestConstants.USER_ID_HEADER_PARAM; -import static org.openecomp.sdcrests.common.RestConstants.USER_MISSING_ERROR_MSG; @Path("/v1.0/vendor-software-products") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDependencyModelEntityToDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDependencyModelEntityToDto.java index 0c923fe82b..bc8a7d20d4 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDependencyModelEntityToDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDependencyModelEntityToDto.java @@ -1,16 +1,8 @@ package org.openecomp.sdcrests.vsp.rest.mapping; -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.context.impl.MdcDataErrorMessage; -import org.openecomp.sdc.logging.types.LoggerConstants; -import org.openecomp.sdc.logging.types.LoggerTragetServiceName; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity; -import org.openecomp.sdc.vendorsoftwareproduct.errors.ComponentDependencyModelErrorBuilder; import org.openecomp.sdcrests.mapping.MappingBase; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentDependencyModel; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentRelationType; public class MapComponentDependencyModelEntityToDto extends MappingBase<ComponentDependencyModelEntity, ComponentDependencyModel> { diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDependencyModelRequestToEntity.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDependencyModelRequestToEntity.java index baaa664938..d0956bb37d 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDependencyModelRequestToEntity.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComponentDependencyModelRequestToEntity.java @@ -29,6 +29,7 @@ public class MapComponentDependencyModelRequestToEntity extends ComponentRelationType.valueOf(source.getRelationType()); target.setRelation(source.getRelationType()); } catch (IllegalArgumentException exception) { + logger.debug("",exception); ErrorCode errorCode = ComponentDependencyModelErrorBuilder.getInvalidRelationTypeErrorBuilder(); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDetailsDtoToComputeEntity.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDetailsDtoToComputeEntity.java index 7db9a0a9b1..ee9882369f 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDetailsDtoToComputeEntity.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeDetailsDtoToComputeEntity.java @@ -12,6 +12,6 @@ public class MapComputeDetailsDtoToComputeEntity extends MappingBase<ComputeDeta public void doMapping(ComputeDetailsDto source, ComputeEntity target) { ComputeDescription computeDesc = new ComputeDescription(source.getName(), source .getDescription()); - target.setCompositionData(computeDesc == null ? null : JsonUtil.object2Json(computeDesc)); + target.setCompositionData(JsonUtil.object2Json(computeDesc)); } } diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeDto.java index d7586471b5..53aa2afec3 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapComputeEntityToComputeDto.java @@ -1,7 +1,6 @@ package org.openecomp.sdcrests.vsp.rest.mapping; import org.openecomp.core.utilities.json.JsonUtil; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; import org.openecomp.sdc.vendorsoftwareproduct.types.ListComputeResponse; import org.openecomp.sdcrests.mapping.MappingBase; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComputeDescription; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageCreationDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageCreationDto.java index 5710fbe02e..81f57a3e95 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageCreationDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageCreationDto.java @@ -1,9 +1,7 @@ package org.openecomp.sdcrests.vsp.rest.mapping; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity; import org.openecomp.sdcrests.mapping.MappingBase; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.ComponentCreationDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageCreationDto; public class MapImageEntityToImageCreationDto extends MappingBase<ImageEntity, diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageDto.java index 62d37465e1..7a4ccf990c 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageEntityToImageDto.java @@ -1,7 +1,6 @@ package org.openecomp.sdcrests.vsp.rest.mapping; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity; -import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Image; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ImageData; import org.openecomp.sdcrests.mapping.MappingBase; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageRequestDtoToImageEntity.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageRequestDtoToImageEntity.java index 0b8a501f16..78cd13f4c7 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageRequestDtoToImageEntity.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/mapping/MapImageRequestDtoToImageEntity.java @@ -1,18 +1,7 @@ package org.openecomp.sdcrests.vsp.rest.mapping; -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.context.impl.MdcDataErrorMessage; -import org.openecomp.sdc.logging.types.LoggerConstants; -import org.openecomp.sdc.logging.types.LoggerErrorCode; -import org.openecomp.sdc.logging.types.LoggerTragetServiceName; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity; -import org.openecomp.sdc.vendorsoftwareproduct.errors.ImageErrorBuilder; -import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Image; -import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ImageFormat; import org.openecomp.sdcrests.mapping.MappingBase; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageRequestDto; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java index 51955b7b69..fa7e9249c2 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComponentsImpl.java @@ -47,13 +47,12 @@ import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityValidationDataToDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapQuestionnaireResponseToQuestionnaireResponseDto; import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; -import org.openecomp.sdcrests.wrappers.StringWrapperResponse; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; +import java.util.Collection; import javax.inject.Named; import javax.ws.rs.core.Response; -import java.util.Collection; @Named @Service("components") diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java index ec445af0e8..599b5adac7 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ComputeImpl.java @@ -30,7 +30,6 @@ import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeEntityToComputeCreation import org.openecomp.sdcrests.vsp.rest.mapping.MapComputeEntityToComputeDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapQuestionnaireResponseToQuestionnaireResponseDto; import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java index adcdacaa88..03372269fc 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/DeploymentFlavorsImpl.java @@ -25,7 +25,6 @@ import org.openecomp.sdcrests.vsp.rest.mapping.MapDeploymentFlavorEntityToDeploy import org.openecomp.sdcrests.vsp.rest.mapping.MapDeploymentFlavorRequestDtoToDeploymentFlavorEntity; import org.openecomp.sdcrests.vsp.rest.mapping.MapDeploymentFlavorToDeploymentDto; import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java index c939eb57ae..fcaf038dc0 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ImagesImpl.java @@ -1,7 +1,6 @@ package org.openecomp.sdcrests.vsp.rest.services; -import io.swagger.annotations.ApiParam; import org.apache.commons.collections.CollectionUtils; import org.openecomp.sdc.logging.context.MdcUtil; import org.openecomp.sdc.logging.types.LoggerServiceName; @@ -9,39 +8,30 @@ import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager; import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory; import org.openecomp.sdc.vendorsoftwareproduct.ImageManager; import org.openecomp.sdc.vendorsoftwareproduct.ImageManagerFactory; -import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity; import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.Image; -import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ImageData; import org.openecomp.sdc.versioning.dao.types.Version; import org.openecomp.sdc.versioning.types.VersionableEntityAction; -import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityResponseDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.CompositionEntityValidationDataDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageCreationDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.ImageRequestDto; import org.openecomp.sdcrests.vendorsoftwareproducts.types.QuestionnaireResponseDto; import org.openecomp.sdcrests.vsp.rest.Images; -import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityResponseToDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapCompositionEntityValidationDataToDto; -import org.openecomp.sdcrests.vsp.rest.mapping.MapImageDataToImageDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapImageEntityToImageCreationDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapImageEntityToImageDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapImageRequestDtoToImageEntity; import org.openecomp.sdcrests.vsp.rest.mapping.MapQuestionnaireResponseToQuestionnaireResponseDto; import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; import java.util.Collection; import javax.inject.Named; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; -import javax.ws.rs.HeaderParam; import javax.ws.rs.core.Response; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java index 1612c964a1..73ca82ada3 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/NicsImpl.java @@ -49,13 +49,12 @@ import org.openecomp.sdcrests.vsp.rest.mapping.MapNicRequestDtoToNicEntity; import org.openecomp.sdcrests.vsp.rest.mapping.MapNicToNicDto; import org.openecomp.sdcrests.vsp.rest.mapping.MapQuestionnaireResponseToQuestionnaireResponseDto; import org.openecomp.sdcrests.wrappers.GenericCollectionWrapper; -import org.openecomp.sdcrests.wrappers.StringWrapperResponse; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; +import java.util.Collection; import javax.inject.Named; import javax.ws.rs.core.Response; -import java.util.Collection; @Named @Service("nics") diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/OrchestrationTemplateCandidateImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/OrchestrationTemplateCandidateImpl.java index 07cef57251..172c8940e9 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/OrchestrationTemplateCandidateImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/OrchestrationTemplateCandidateImpl.java @@ -27,12 +27,12 @@ import org.openecomp.sdcrests.vsp.rest.mapping.MapValidationResponseToDto; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Service; -import javax.inject.Named; -import javax.ws.rs.core.Response; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.InvocationTargetException; import java.util.Optional; +import javax.inject.Named; +import javax.ws.rs.core.Response; import static org.openecomp.core.utilities.file.FileUtils.getFileExtension; import static org.openecomp.core.utilities.file.FileUtils.getNetworkPackageName; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ProcessesImpl.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ProcessesImpl.java index a175908cd1..6bc7a37eee 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ProcessesImpl.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-services/src/main/java/org/openecomp/sdcrests/vsp/rest/services/ProcessesImpl.java @@ -20,6 +20,8 @@ package org.openecomp.sdcrests.vsp.rest.services; +import static org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants.GENERAL_COMPONENT_ID; + import org.apache.cxf.jaxrs.ext.multipart.Attachment; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; @@ -36,8 +38,6 @@ import org.springframework.stereotype.Service; import javax.inject.Named; import javax.ws.rs.core.Response; -import static org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants.GENERAL_COMPONENT_ID; - @Named @Service("processes") @Scope(value = "prototype") diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyModel.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyModel.java index 4e908ed99d..097a00dad4 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyModel.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComponentDependencyModel.java @@ -1,8 +1,6 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; -import org.hibernate.validator.constraints.NotBlank; - public class ComponentDependencyModel { private String sourceId; diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDetailsDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDetailsDto.java index 92ad0fdb0c..d3e68b8446 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDetailsDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ComputeDetailsDto.java @@ -2,7 +2,6 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; import org.hibernate.validator.constraints.NotBlank; -import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; public class ComputeDetailsDto implements CompositionDataEntityDto { diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java index baf6707ddf..3bc0b95626 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/DeploymentFlavorRequestDto.java @@ -5,7 +5,6 @@ import org.hibernate.validator.constraints.NotBlank; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentComputeAssociation; import java.util.List; -import javax.validation.constraints.Pattern; import javax.validation.constraints.Size; public class DeploymentFlavorRequestDto { diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageRequestDto.java index 4386245342..3210104376 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageRequestDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/ImageRequestDto.java @@ -2,9 +2,6 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; import org.hibernate.validator.constraints.NotBlank; -import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; - public class ImageRequestDto implements CompositionDataEntityDto { @NotBlank(message = "is mandatory and should not be empty") diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicRequestDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicRequestDto.java index fdf953c80c..f4663fb2ae 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicRequestDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/NicRequestDto.java @@ -24,7 +24,6 @@ import org.hibernate.validator.constraints.NotBlank; import org.openecomp.sdcrests.vendorsoftwareproducts.types.validation.ValidateString; import javax.validation.constraints.NotNull; -import javax.validation.constraints.Pattern; public class NicRequestDto { diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/QuestionnaireValidationResultDto.java b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/QuestionnaireValidationResultDto.java index c2bf49aa63..00f4569e5e 100644 --- a/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/QuestionnaireValidationResultDto.java +++ b/openecomp-be/api/openecomp-sdc-rest-webapp/vendor-software-products-rest/vendor-software-products-rest-types/src/main/java/org/openecomp/sdcrests/vendorsoftwareproducts/types/QuestionnaireValidationResultDto.java @@ -20,7 +20,6 @@ package org.openecomp.sdcrests.vendorsoftwareproducts.types; -import java.util.List; import java.util.Set; public class QuestionnaireValidationResultDto { diff --git a/openecomp-be/backend/openecomp-sdc-action-manager/src/main/java/org/openecomp/sdc/action/impl/ActionManagerImpl.java b/openecomp-be/backend/openecomp-sdc-action-manager/src/main/java/org/openecomp/sdc/action/impl/ActionManagerImpl.java index 36493e2b14..f9b6bfe8a9 100644 --- a/openecomp-be/backend/openecomp-sdc-action-manager/src/main/java/org/openecomp/sdc/action/impl/ActionManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-action-manager/src/main/java/org/openecomp/sdc/action/impl/ActionManagerImpl.java @@ -694,11 +694,13 @@ public class ActionManagerImpl implements ActionManager { String artifactName = artifactMetadata.getArtifactName(); String generatedArtifactUuId = generateActionArtifactUuId(action, artifactName); if (generatedArtifactUuId.equals(artifactUuId)) { - ActionArtifactEntity artifactDeleteEntity = - new ActionArtifactEntity(artifact.getArtifactUuId(), - getEffectiveVersion(action.getVersion())); - actionLogPreProcessor(ActionSubOperation.DELETE_ACTION_ARTIFACT, TARGET_ENTITY_DB); - actionArtifactDao.delete(artifactDeleteEntity); + if (artifact != null) { + ActionArtifactEntity artifactDeleteEntity = + new ActionArtifactEntity(artifact.getArtifactUuId(), + getEffectiveVersion(action.getVersion())); + actionLogPreProcessor(ActionSubOperation.DELETE_ACTION_ARTIFACT, TARGET_ENTITY_DB); + actionArtifactDao.delete(artifactDeleteEntity); + } actionLogPostProcessor(StatusCode.COMPLETE, null, "", false); log.metrics(""); } @@ -1041,11 +1043,11 @@ public class ActionManagerImpl implements ActionManager { action.setActionUuId(existingAction.getActionUuId()); } catch (IllegalArgumentException iae) { String message = iae.getMessage(); - switch (message) { - case VERSION_STRING_VIOLATION_MSG: - throw new ActionException(ACTION_UPDATE_NOT_ALLOWED_CODE, message); - default: - throw iae; + if(message == VERSION_STRING_VIOLATION_MSG) { + throw new ActionException(ACTION_UPDATE_NOT_ALLOWED_CODE, message); + } + else { + throw iae; } } } diff --git a/openecomp-be/backend/openecomp-sdc-application-config-manager/src/main/java/org/openecomp/sdc/applicationconfig/impl/ApplicationConfigManagerImpl.java b/openecomp-be/backend/openecomp-sdc-application-config-manager/src/main/java/org/openecomp/sdc/applicationconfig/impl/ApplicationConfigManagerImpl.java index 9dbdf760de..376cfca933 100644 --- a/openecomp-be/backend/openecomp-sdc-application-config-manager/src/main/java/org/openecomp/sdc/applicationconfig/impl/ApplicationConfigManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-application-config-manager/src/main/java/org/openecomp/sdc/applicationconfig/impl/ApplicationConfigManagerImpl.java @@ -29,6 +29,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,9 @@ import java.util.Collection; * Created by Talio on 8/8/2016. */ public class ApplicationConfigManagerImpl implements ApplicationConfigManager { + + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + private static final String SCHEMA_GENERATOR_INITIALIZATION_ERROR = "SCHEMA_GENERATOR_INITIALIZATION_ERROR"; private static final String SCHEMA_GENERATOR_INITIALIZATION_ERROR_MSG = @@ -52,6 +57,7 @@ public class ApplicationConfigManagerImpl implements ApplicationConfigManager { try { applicationConfig.insertValue(namespace, key, value); } catch (Exception exception) { + log.debug("",exception); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.INSERT_INTO_APPLICATION_CONFIG, ErrorLevel.ERROR.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), diff --git a/openecomp-be/backend/openecomp-sdc-validation-manager/src/main/java/org/openecomp/sdc/validation/errors/ValidationInvalidErrorBuilder.java b/openecomp-be/backend/openecomp-sdc-validation-manager/src/main/java/org/openecomp/sdc/validation/errors/ValidationInvalidErrorBuilder.java index b8015c0962..7b0d325d64 100644 --- a/openecomp-be/backend/openecomp-sdc-validation-manager/src/main/java/org/openecomp/sdc/validation/errors/ValidationInvalidErrorBuilder.java +++ b/openecomp-be/backend/openecomp-sdc-validation-manager/src/main/java/org/openecomp/sdc/validation/errors/ValidationInvalidErrorBuilder.java @@ -53,13 +53,13 @@ public class ValidationInvalidErrorBuilder extends BaseErrorBuilder { } private String toString(Map<String, List<ErrorMessage>> errors) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); errors.entrySet().stream() .forEach(entry -> singleErrorToString(sb, entry.getKey(), entry.getValue())); return sb.toString(); } - private void singleErrorToString(StringBuffer sb, String fileName, List<ErrorMessage> errors) { + private void singleErrorToString(StringBuilder sb, String fileName, List<ErrorMessage> errors) { sb.append(System.lineSeparator()); sb.append(fileName); sb.append(sb.append(": ")); diff --git a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/main/java/org/openecomp/sdc/vendorlicense/impl/VendorLicenseManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/main/java/org/openecomp/sdc/vendorlicense/impl/VendorLicenseManagerImpl.java index 1acd44511a..edbf165ec1 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/main/java/org/openecomp/sdc/vendorlicense/impl/VendorLicenseManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/main/java/org/openecomp/sdc/vendorlicense/impl/VendorLicenseManagerImpl.java @@ -20,6 +20,8 @@ package org.openecomp.sdc.vendorlicense.impl; +import static org.openecomp.sdc.vendorlicense.VendorLicenseConstants.VENDOR_LICENSE_MODEL_VERSIONABLE_TYPE; + import org.openecomp.core.util.UniqueValueUtil; import org.openecomp.sdc.activityLog.ActivityLogManager; import org.openecomp.sdc.activityLog.ActivityLogManagerFactory; @@ -77,14 +79,11 @@ import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Collection; -import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; -import static org.openecomp.sdc.vendorlicense.VendorLicenseConstants.VENDOR_LICENSE_MODEL_VERSIONABLE_TYPE; - public class VendorLicenseManagerImpl implements VendorLicenseManager { private VersioningManager versioningManager; private VendorLicenseFacade vendorLicenseFacade; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/LimitTest.java b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/LimitTest.java index c71b591a04..07fdeeeee8 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/LimitTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/LimitTest.java @@ -29,10 +29,10 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.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.vendorlicense.errors.VendorLicenseErrorCodes; @@ -52,10 +52,10 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -import static org.mockito.Mockito.when; - public class LimitTest { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + private final String USER1 = "limitTestUser1"; private final String LT1_NAME = "LT1 name"; @@ -92,7 +92,7 @@ public class LimitTest { } @BeforeMethod - public void setUp() throws Exception { + public void setUp() { MockitoAnnotations.initMocks(this); } @@ -150,6 +150,7 @@ public class LimitTest { vendorLicenseManagerImpl.updateLimit(limitEntity2,USER1); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), VersioningErrorCodes.VERSIONABLE_SUB_ENTITY_NOT_FOUND); } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/VendorLicenseFacadeImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/VendorLicenseFacadeImplTest.java index 53e9857a32..ab6262d8ca 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/VendorLicenseFacadeImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/VendorLicenseFacadeImplTest.java @@ -230,4 +230,4 @@ public class VendorLicenseFacadeImplTest { return ep; } */ -}
\ No newline at end of file +} diff --git a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/impl/FeatureGroupTest.java b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/impl/FeatureGroupTest.java index aa606913e1..dd3560615e 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/impl/FeatureGroupTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/impl/FeatureGroupTest.java @@ -21,6 +21,9 @@ package org.openecomp.sdc.vendorlicense.impl; +import static org.mockito.Matchers.anyObject; +import static org.mockito.Mockito.doReturn; + import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; @@ -129,7 +132,7 @@ public class FeatureGroupTest { } @BeforeMethod - public void setUp() throws Exception{ + public void setUp() { MockitoAnnotations.initMocks(this); } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/impl/LicenseKeyGroupTest.java b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/impl/LicenseKeyGroupTest.java index acd1ce8cce..f0dd383a1f 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/impl/LicenseKeyGroupTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-license-manager/src/test/java/org/openecomp/sdc/vendorlicense/impl/LicenseKeyGroupTest.java @@ -26,6 +26,8 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.vendorlicense.dao.LicenseKeyGroupDao; import org.openecomp.sdc.vendorlicense.dao.LimitDao; import org.openecomp.sdc.vendorlicense.dao.types.*; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/errors/UploadInvalidErrorBuilder.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/errors/UploadInvalidErrorBuilder.java index 91912bc0c9..f808d542f1 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/errors/UploadInvalidErrorBuilder.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/errors/UploadInvalidErrorBuilder.java @@ -59,13 +59,13 @@ public class UploadInvalidErrorBuilder extends BaseErrorBuilder { } private String toString(Map<String, List<ErrorMessage>> errors) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); errors.entrySet().stream() .forEach(entry -> singleErrorToString(sb, entry.getKey(), entry.getValue())); return sb.toString(); } - private void singleErrorToString(StringBuffer sb, String fileName, List<ErrorMessage> errors) { + private void singleErrorToString(StringBuilder sb, String fileName, List<ErrorMessage> errors) { sb.append(System.lineSeparator()); sb.append(fileName); sb.append(sb.append(": ")); diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelManagerImpl.java index 86774381e0..5dc1446601 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelManagerImpl.java @@ -12,7 +12,6 @@ import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerTragetServiceName; import org.openecomp.sdc.vendorsoftwareproduct.ComponentDependencyModelManager; import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager; -import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity; import org.openecomp.sdc.vendorsoftwareproduct.errors.ComponentDependencyModelErrorBuilder; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerFactoryImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerFactoryImpl.java index 05a088f76a..dac68b5c47 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerFactoryImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerFactoryImpl.java @@ -24,7 +24,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager; import org.openecomp.sdc.vendorsoftwareproduct.ComponentManagerFactory; import org.openecomp.sdc.vendorsoftwareproduct.NicManagerFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory; -import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImpl.java index 42c8d12b3a..b5ca183ab7 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImpl.java @@ -52,7 +52,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.ComponentCo import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.ComponentQuestionnaireSchemaInput; import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateContext; import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.SchemaTemplateInput; -import org.openecomp.sdc.vendorsoftwareproduct.utils.VendorSoftwareProductUtils; import org.openecomp.sdc.versioning.VersioningUtil; import org.openecomp.sdc.versioning.dao.types.Version; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java index fc5857bb59..be90b08af9 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImpl.java @@ -12,7 +12,6 @@ import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerErrorCode; import org.openecomp.sdc.logging.types.LoggerTragetServiceName; import org.openecomp.sdc.vendorsoftwareproduct.ComputeManager; -import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao; @@ -20,7 +19,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; -import org.openecomp.sdc.vendorsoftwareproduct.errors.ComputeErrorBuilder; import org.openecomp.sdc.vendorsoftwareproduct.errors.DuplicateComputeInComponentErrorBuilder; import org.openecomp.sdc.vendorsoftwareproduct.errors.NotSupportedHeatOnboardMethodErrorBuilder; import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerFactoryImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerFactoryImpl.java index aef8be1fef..92ec7b7d2e 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerFactoryImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerFactoryImpl.java @@ -3,16 +3,11 @@ package org.openecomp.sdc.vendorsoftwareproduct.impl; import org.openecomp.sdc.vendorsoftwareproduct.DeploymentFlavorManager; import org.openecomp.sdc.vendorsoftwareproduct.DeploymentFlavorManagerFactory; -import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory; -import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDaoFactory; -import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDaoFactory; -import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.factory.CompositionEntityDataManagerFactory; -import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager; public class DeploymentFlavorManagerFactoryImpl extends DeploymentFlavorManagerFactory { diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImpl.java index 5bf144e77e..0873eaf921 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImpl.java @@ -10,7 +10,6 @@ import org.openecomp.sdc.logging.types.LoggerConstants; import org.openecomp.sdc.logging.types.LoggerErrorCode; import org.openecomp.sdc.logging.types.LoggerTragetServiceName; import org.openecomp.sdc.vendorsoftwareproduct.DeploymentFlavorManager; -import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductConstants; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java index 9daec08d49..82b71399aa 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImpl.java @@ -37,12 +37,17 @@ import org.openecomp.sdc.versioning.dao.types.Version; import java.util.Collection; import java.util.stream.Collectors; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; + public class ImageManagerImpl implements ImageManager { private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); private VendorSoftwareProductInfoDao vspInfoDao; private ImageDao imageDao; private CompositionEntityDataManager compositionEntityDataManager; + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + public ImageManagerImpl( VendorSoftwareProductInfoDao vspInfoDao, ImageDao imageDao, @@ -276,6 +281,7 @@ public class ImageManagerImpl implements ImageManager { final ImageFormat imageFormat = ImageFormat.valueOf(format); } } catch (IllegalArgumentException exception) { + log.debug("", exception); ErrorCode errorCode = ImageErrorBuilder.getInvalidImageFormatErrorBuilder(); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.UPDATE_IMAGE, ErrorLevel.ERROR.name(), diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImpl.java index 06e54528b7..8bdc7fdfce 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImpl.java @@ -6,6 +6,8 @@ import org.openecomp.sdc.generator.core.services.ManualVspToscaGenerationService import org.openecomp.sdc.generator.datatypes.tosca.DeploymentFlavorModel; import org.openecomp.sdc.generator.datatypes.tosca.MultiFlavorVfcImage; import org.openecomp.sdc.generator.datatypes.tosca.VspModelInfo; +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; @@ -27,6 +29,8 @@ public class ManualVspToscaManagerImpl implements ManualVspToscaManager { private ManualVspDataCollectionService manualVspDataCollectionService = new ManualVspDataCollectionService(); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @Override public VspModelInfo gatherVspInformation(String vspId, Version version, String user) { mdcDataDebugMessage.debugEntryMessage(null, null); @@ -36,6 +40,7 @@ public class ManualVspToscaManagerImpl implements ManualVspToscaManager { try { releaseVendor = manualVspDataCollectionService.getReleaseVendor(vspId, version, user); } catch (Exception ex) { + log.debug("", ex); releaseVendor = Optional.empty(); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API, LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(), @@ -49,6 +54,7 @@ public class ManualVspToscaManagerImpl implements ManualVspToscaManager { try { allowedFlavors = manualVspDataCollectionService.getAllowedFlavors(vspId, version, user); } catch (Exception ex) { + log.debug("", ex); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API, LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect allowed flavors : " @@ -65,6 +71,7 @@ public class ManualVspToscaManagerImpl implements ManualVspToscaManager { vspComponentImages = manualVspDataCollectionService.getVspComponentImages(vspId, version, user); } catch (Exception ex) { + log.debug("", ex); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API, LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect vsp component images : " @@ -80,6 +87,7 @@ public class ManualVspToscaManagerImpl implements ManualVspToscaManager { try { vspComponents = manualVspDataCollectionService.getVspComponents(vspId, version, user); } catch (Exception ex) { + log.debug("", ex); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API, LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect vsp components : " @@ -95,6 +103,7 @@ public class ManualVspToscaManagerImpl implements ManualVspToscaManager { try { vspComponentNics = manualVspDataCollectionService.getVspComponentNics(vspId, version, user); } catch (Exception ex) { + log.debug("", ex); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_API, LoggerTragetServiceName.COLLECT_MANUAL_VSP_TOSCA_DATA, ErrorLevel.INFO.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), "Unable to collect vsp component nics : " diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImpl.java index fcf54eef2f..0f4d73f8c5 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImpl.java @@ -73,6 +73,8 @@ public class MonitoringUploadsManagerImpl implements MonitoringUploadsManager { private static final Logger logger = LoggerFactory.getLogger(VendorSoftwareProductManagerImpl.class); + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + MonitoringUploadsManagerImpl(ComponentArtifactDao componentArtifactDao, ActivityLogManager activityLogManager) { this.componentArtifactDao = componentArtifactDao; @@ -145,6 +147,7 @@ public class MonitoringUploadsManagerImpl implements MonitoringUploadsManager { uploadedFileData); } catch (Exception exception) { + log.debug("", exception); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.UPLOAD_MONITORING_FILE, ErrorLevel.ERROR.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), "Invalid " + type.toString() + "zip file"); @@ -259,6 +262,7 @@ public class MonitoringUploadsManagerImpl implements MonitoringUploadsManager { contentMap = CommonUtil.validateAndUploadFileContent(OnboardingTypesEnum.ZIP, uploadedFileData); VendorSoftwareProductUtils.validateContentZipData(contentMap, errors); } catch (IOException exception) { + log.debug("", exception); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.VALIDATE_MONITORING_FILE, ErrorLevel.ERROR.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), "Invalid Monitoring zip file"); diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImpl.java index 339e05c16f..4df00fd74a 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImpl.java @@ -26,6 +26,8 @@ import org.openecomp.sdc.activityLog.ActivityLogManager; import org.openecomp.sdc.activitylog.dao.type.ActivityLogEntity; 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; @@ -53,6 +55,8 @@ public class ProcessManagerImpl implements ProcessManager { private VendorSoftwareProductDao vendorSoftwareProductDao; + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + public ProcessManagerImpl(VendorSoftwareProductDao vendorSoftwareProductDao, ActivityLogManager activityLogManager) { this.vendorSoftwareProductDao = vendorSoftwareProductDao; this.activityLogManager = activityLogManager; @@ -170,6 +174,7 @@ public class ProcessManagerImpl implements ProcessManager { fos.write(retrieved.getArtifact().array()); fos.close(); } catch (IOException exception) { + log.debug("", exception); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.GET_PROCESS_ARTIFACT, ErrorLevel.ERROR.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), "Can't get process artifact"); @@ -216,6 +221,7 @@ public class ProcessManagerImpl implements ProcessManager { try { artifact = FileUtils.toByteArray(artifactFile); } catch (RuntimeException exception) { + log.debug("", exception); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, LoggerTragetServiceName.UPLOAD_PROCESS_ARTIFACT, ErrorLevel.ERROR.name(), LoggerErrorCode.DATA_ERROR.getErrorCode(), "Can't upload process artifact"); diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java index c9f4159a4e..f4015ab848 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImpl.java @@ -22,7 +22,6 @@ package org.openecomp.sdc.vendorsoftwareproduct.impl; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; -import org.openecomp.core.converter.datatypes.Constants; import org.openecomp.core.enrichment.api.EnrichmentManager; import org.openecomp.core.enrichment.factory.EnrichmentManagerFactory; import org.openecomp.core.model.dao.EnrichedServiceModelDao; @@ -143,13 +142,13 @@ import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductManager { - private static String VALIDATION_VSP_ID = "validationOnlyVspId"; + private String VALIDATION_VSP_ID = "validationOnlyVspId"; private static final String VALIDATION_VSP_NAME = "validationOnlyVspName"; //private static final String VALIDATION_VSP_USER = "validationOnlyVspUser"; private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage(); private static final Logger logger = - LoggerFactory.getLogger(VendorSoftwareProductManagerImpl.class); + LoggerFactory.getLogger(VendorSoftwareProductManagerImpl.class); private OrchestrationTemplateDao orchestrationTemplateDao; private VendorSoftwareProductInfoDao vspInfoDao; @@ -186,21 +185,21 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa * @param nicDao the nic dao */ public VendorSoftwareProductManagerImpl( - VersioningManager versioningManager, - VendorSoftwareProductDao vendorSoftwareProductDao, - OrchestrationTemplateDao orchestrationTemplateDataDao, - VendorSoftwareProductInfoDao vspInfoDao, - VendorLicenseFacade vendorLicenseFacade, - ServiceModelDao<ToscaServiceModel, ServiceElement> serviceModelDao, - EnrichedServiceModelDao<ToscaServiceModel, ServiceElement> enrichedServiceModelDao, - HealingManager healingManager, - VendorLicenseArtifactsService licenseArtifactsService, - InformationArtifactGenerator informationArtifactGenerator, - PackageInfoDao packageInfoDao, - ActivityLogManager activityLogManager, - DeploymentFlavorDao deploymentFlavorDao, - NicDao nicDao, - ManualVspToscaManager manualVspToscaManager) { + VersioningManager versioningManager, + VendorSoftwareProductDao vendorSoftwareProductDao, + OrchestrationTemplateDao orchestrationTemplateDataDao, + VendorSoftwareProductInfoDao vspInfoDao, + VendorLicenseFacade vendorLicenseFacade, + ServiceModelDao<ToscaServiceModel, ServiceElement> serviceModelDao, + EnrichedServiceModelDao<ToscaServiceModel, ServiceElement> enrichedServiceModelDao, + HealingManager healingManager, + VendorLicenseArtifactsService licenseArtifactsService, + InformationArtifactGenerator informationArtifactGenerator, + PackageInfoDao packageInfoDao, + ActivityLogManager activityLogManager, + DeploymentFlavorDao deploymentFlavorDao, + NicDao nicDao, + ManualVspToscaManager manualVspToscaManager) { this.versioningManager = versioningManager; this.vendorSoftwareProductDao = vendorSoftwareProductDao; this.orchestrationTemplateDao = orchestrationTemplateDataDao; @@ -222,11 +221,11 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa private void registerToVersioning() { vendorSoftwareProductDao.registerVersioning( - VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE); + VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE); serviceModelDao.registerVersioning( - VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE); + VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE); enrichedServiceModelDao.registerVersioning( - VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE); + VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE); } @Override @@ -235,13 +234,13 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa MDC.put(LoggerConstants.SERVICE_NAME, LoggerServiceName.Checkout_Entity.toString()); Version newVersion = versioningManager - .checkout(VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, - vendorSoftwareProductId, user); + .checkout(VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, + vendorSoftwareProductId, user); if (newVersion != null) { ActivityLogEntity activityLogEntity = - new ActivityLogEntity(vendorSoftwareProductId, String.valueOf(newVersion.getMajor() + 1), - ActivityType.CHECKOUT.toString(), user, true, "", ""); + new ActivityLogEntity(vendorSoftwareProductId, String.valueOf(newVersion.getMajor() + 1), + ActivityType.CHECKOUT.toString(), user, true, "", ""); activityLogManager.addActionLog(activityLogEntity, user); } @@ -255,18 +254,18 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa mdcDataDebugMessage.debugEntryMessage("VSP id", vendorSoftwareProductId); Version version = - getVersionInfo(vendorSoftwareProductId, VersionableEntityAction.Read, user) - .getActiveVersion(); + getVersionInfo(vendorSoftwareProductId, VersionableEntityAction.Read, user) + .getActiveVersion(); String preVspName = vspInfoDao - .get(new VspDetails(vendorSoftwareProductId, version)).getName(); + .get(new VspDetails(vendorSoftwareProductId, version)).getName(); Version newVersion = versioningManager.undoCheckout( - VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, - vendorSoftwareProductId, user); + VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, + vendorSoftwareProductId, user); String postVspName = vspInfoDao - .get(new VspDetails(vendorSoftwareProductId, newVersion)) - .getName(); + .get(new VspDetails(vendorSoftwareProductId, newVersion)) + .getName(); updateUniqueName(preVspName, postVspName); @@ -280,13 +279,13 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa mdcDataDebugMessage.debugEntryMessage("VSP id", vendorSoftwareProductId); Version newVersion = versioningManager.checkin( - VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, - vendorSoftwareProductId, user, null); + VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, + vendorSoftwareProductId, user, null); if (newVersion != null) { ActivityLogEntity activityLogEntity = - new ActivityLogEntity(vendorSoftwareProductId, String.valueOf(newVersion.getMajor() + 1), - ActivityType.CHECKIN.toString(), user, true, "", ""); + new ActivityLogEntity(vendorSoftwareProductId, String.valueOf(newVersion.getMajor() + 1), + ActivityType.CHECKIN.toString(), user, true, "", ""); activityLogManager.addActionLog(activityLogEntity, user); } @@ -303,48 +302,56 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa VspDetails vspDetails = getVsp(vspId, version, user); UploadDataEntity uploadData = orchestrationTemplateDao.getOrchestrationTemplate(vspId, version); ToscaServiceModel serviceModel = - serviceModelDao.getServiceModel(vspId, vspDetails.getVersion()); + serviceModelDao.getServiceModel(vspId, vspDetails.getVersion()); ValidationResponse validationResponse = new ValidationResponse(); validationResponse - .setVspErrors(validateCompletedVendorSoftwareProduct(vspDetails, uploadData, serviceModel), - LoggerServiceName.Submit_VSP, LoggerTragetServiceName.SUBMIT_VSP); + .setVspErrors(validateCompletedVendorSoftwareProduct(vspDetails, uploadData, serviceModel), + LoggerServiceName.Submit_VSP, LoggerTragetServiceName.SUBMIT_VSP); if (isCyclicDependencyInComponents(vspId, vspDetails.getVersion())) { Collection<ErrorCode> vspErrors = validationResponse.getVspErrors() == null - ? new ArrayList<>() - : validationResponse.getVspErrors(); + ? new ArrayList<>() + : validationResponse.getVspErrors(); vspErrors.add(ComponentDependencyModelErrorBuilder - .getcyclicDependencyComponentErrorBuilder()); + .getcyclicDependencyComponentErrorBuilder()); validationResponse.setVspErrors(vspErrors, LoggerServiceName.Submit_VSP, - LoggerTragetServiceName.SUBMIT_VSP); + LoggerTragetServiceName.SUBMIT_VSP); } validationResponse.setLicensingDataErrors(validateLicensingData(vspDetails)); validationResponse - .setUploadDataErrors(validateUploadData(uploadData,vspDetails), LoggerServiceName.Submit_VSP, - LoggerTragetServiceName.SUBMIT_VSP); + .setUploadDataErrors(validateUploadData(uploadData, vspDetails), + LoggerServiceName.Submit_VSP, + LoggerTragetServiceName.SUBMIT_VSP); validationResponse.setQuestionnaireValidationResult( - validateQuestionnaire(vspDetails.getId(), vspDetails.getVersion(), vspDetails - .getOnboardingMethod())); + validateQuestionnaire(vspDetails.getId(), vspDetails.getVersion(), vspDetails + .getOnboardingMethod())); if (vspDetails.getOnboardingMethod().equals("Manual")) { - Collection<ErrorCode> deploymentFlavourValidationErrList = deploymentFlavorValidation(vspDetails.getId(), vspDetails.getVersion()); + Collection<ErrorCode> deploymentFlavourValidationErrList = + deploymentFlavorValidation(vspDetails.getId(), vspDetails.getVersion()); if (validationResponse.getVspErrors() != null) { - if(deploymentFlavourValidationErrList != null) + if (deploymentFlavourValidationErrList != null) { validationResponse.getVspErrors().addAll(deploymentFlavourValidationErrList); + } } else { - validationResponse.setVspErrors(deploymentFlavourValidationErrList, LoggerServiceName.Submit_VSP, + validationResponse + .setVspErrors(deploymentFlavourValidationErrList, LoggerServiceName.Submit_VSP, LoggerTragetServiceName.SUBMIT_VSP); } - Set<CompositionEntityValidationData> compositionEntityValidationData = componentValidation(vspDetails.getId(), vspDetails.getVersion()); + Set<CompositionEntityValidationData> compositionEntityValidationData = + componentValidation(vspDetails.getId(), vspDetails.getVersion()); if (validationResponse.getQuestionnaireValidationResult() != null) { - if(!CollectionUtils.isEmpty(compositionEntityValidationData)) - validationResponse.getQuestionnaireValidationResult().getValidationData().addAll(compositionEntityValidationData); + if (!CollectionUtils.isEmpty(compositionEntityValidationData)) { + validationResponse.getQuestionnaireValidationResult().getValidationData() + .addAll(compositionEntityValidationData); + } } else { - validationResponse.setQuestionnaireValidationResult(CollectionUtils.isEmpty(compositionEntityValidationData) ? null : + validationResponse.setQuestionnaireValidationResult( + CollectionUtils.isEmpty(compositionEntityValidationData) ? null : new QuestionnaireValidationResult(compositionEntityValidationData)); } @@ -353,16 +360,16 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa serviceModel = manualVspToscaManager.generateToscaModel(vspModelInfo); } validationResponse.setCompilationErrors( - compile(vspId, vspDetails.getVersion(), serviceModel), - LoggerServiceName.Submit_VSP, LoggerTragetServiceName.SUBMIT_VSP); + compile(vspId, vspDetails.getVersion(), serviceModel), + LoggerServiceName.Submit_VSP, LoggerTragetServiceName.SUBMIT_VSP); if (validationResponse.isValid()) { Version newVersion = versioningManager.submit( - VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, - vspId, user, null); + VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, + vspId, user, null); ActivityLogEntity activityLogEntity = new ActivityLogEntity(vspDetails.getId(), String - .valueOf(newVersion.getMajor()), - ActivityType.SUBMIT.toString(), user, true, "", ""); + .valueOf(newVersion.getMajor()), + ActivityType.SUBMIT.toString(), user, true, "", ""); activityLogManager.addActionLog(activityLogEntity, user); } @@ -373,7 +380,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa private boolean isCyclicDependencyInComponents(String vendorSoftwareProductId, Version version) { final Collection<ComponentDependencyModelEntity> componentDependencyModelEntities = - vendorSoftwareProductDao.listComponentDependencies(vendorSoftwareProductId, version); + vendorSoftwareProductDao.listComponentDependencies(vendorSoftwareProductId, version); ComponentDependencyTracker dependencyTracker = new ComponentDependencyTracker(); for (ComponentDependencyModelEntity entity : componentDependencyModelEntities) { @@ -388,42 +395,44 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa Set<CompositionEntityValidationData> validationData = new HashSet<>(); Collection<ErrorCode> errorCodeList = new ArrayList<>(); Collection<DeploymentFlavorEntity> deploymentFlavors = - vendorSoftwareProductDao.listDeploymentFlavors(vspId, version); + vendorSoftwareProductDao.listDeploymentFlavors(vspId, version); if (!CollectionUtils.isEmpty(deploymentFlavors)) { deploymentFlavors.forEach(deploymentFlavor -> { DeploymentFlavorEntity deployment = vendorSoftwareProductDao.getDeploymentFlavor(vspId, - version, deploymentFlavor.getId()); + version, deploymentFlavor.getId()); DeploymentFlavor deploymentlocalFlavor = deployment.getDeploymentFlavorCompositionData(); if (deploymentlocalFlavor != null) { - if (deploymentlocalFlavor.getFeatureGroupId() == null ) { + if (deploymentlocalFlavor.getFeatureGroupId() == null) { ErrorCode deploymentFlavorErrorBuilder = DeploymentFlavorErrorBuilder. - getFeatureGroupMandatoryErrorBuilder(deploymentlocalFlavor.getModel()); + getFeatureGroupMandatoryErrorBuilder(deploymentlocalFlavor.getModel()); errorCodeList.add(deploymentFlavorErrorBuilder); } List<ComponentComputeAssociation> componetComputeAssociations = new ArrayList<>(); componetComputeAssociations = deploymentlocalFlavor.getComponentComputeAssociations(); if (CollectionUtils.isEmpty(componetComputeAssociations)) { CompositionEntityValidationData compositionEntityValidationData = new - CompositionEntityValidationData(CompositionEntityType.deployment,deploymentFlavor - .getId()); + CompositionEntityValidationData(CompositionEntityType.deployment, deploymentFlavor + .getId()); compositionEntityValidationData.setEntityName(deployment - .getDeploymentFlavorCompositionData().getModel()); + .getDeploymentFlavorCompositionData().getModel()); ErrorCode deploymentFlavorErrorBuilder = DeploymentFlavorErrorBuilder - .getInvalidComponentComputeAssociationErrorBuilder(deploymentlocalFlavor.getModel()); + .getInvalidComponentComputeAssociationErrorBuilder( + deploymentlocalFlavor.getModel()); errorCodeList.add(deploymentFlavorErrorBuilder); } else { componetComputeAssociations.forEach(componetComputeAssociation -> { if (componetComputeAssociation == null - || !(componetComputeAssociation.getComponentId() != null - && componetComputeAssociation.getComputeFlavorId() != null)) { + || !(componetComputeAssociation.getComponentId() != null + && componetComputeAssociation.getComputeFlavorId() != null)) { CompositionEntityValidationData compositionEntityValidationData = new - CompositionEntityValidationData(CompositionEntityType.deployment, - deploymentFlavor.getId()); + CompositionEntityValidationData(CompositionEntityType.deployment, + deploymentFlavor.getId()); compositionEntityValidationData.setEntityName(deployment - .getDeploymentFlavorCompositionData().getModel()); + .getDeploymentFlavorCompositionData().getModel()); ErrorCode deploymentFlavorErrorBuilder = DeploymentFlavorErrorBuilder - .getInvalidComponentComputeAssociationErrorBuilder(deploymentlocalFlavor.getModel()); + .getInvalidComponentComputeAssociationErrorBuilder( + deploymentlocalFlavor.getModel()); errorCodeList.add(deploymentFlavorErrorBuilder); } @@ -439,7 +448,8 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa mdcDataDebugMessage.debugEntryMessage("VSP id", vspId); Set<CompositionEntityValidationData> validationData = new HashSet<>(); - Collection<ComponentEntity> components = vendorSoftwareProductDao.listComponents(vspId,version); + Collection<ComponentEntity> components = + vendorSoftwareProductDao.listComponents(vspId, version); if (!CollectionUtils.isEmpty(components)) { components.forEach(component -> { validateImage(vspId, version, validationData, component); @@ -454,19 +464,20 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa private void validateNic(String vspId, Version version, Set<CompositionEntityValidationData> validationData, ComponentEntity component) { - Collection<NicEntity> nics = nicDao.list(new NicEntity(vspId,version, component.getId(),null)); + Collection<NicEntity> nics = + nicDao.list(new NicEntity(vspId, version, component.getId(), null)); if (CollectionUtils.isNotEmpty(nics)) { nics.forEach(nicEntity -> { NicEntity nic = nicDao.get(new NicEntity(vspId, version, component.getId(), - nicEntity.getId())); + nicEntity.getId())); NetworkType networkType = nic.getNicCompositionData().getNetworkType(); String networkId = nic.getNicCompositionData().getNetworkId(); if (networkType.equals(NetworkType.Internal) && networkId == null) { CompositionEntityValidationData compositionEntityValidationData = new - CompositionEntityValidationData(CompositionEntityType.nic, nic.getId()); + CompositionEntityValidationData(CompositionEntityType.nic, nic.getId()); compositionEntityValidationData.setEntityName(nic.getNicCompositionData().getName()); ErrorCode nicInternalNetworkErrorBuilder = NicInternalNetworkErrorBuilder - .getNicNullNetworkIdInternalNetworkIdErrorBuilder(); + .getNicNullNetworkIdInternalNetworkIdErrorBuilder(); List<String> errors = new ArrayList<>(); errors.add(nicInternalNetworkErrorBuilder.message()); compositionEntityValidationData.setErrors(errors); @@ -479,15 +490,15 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa private void validateImage(String vspId, Version version, Set<CompositionEntityValidationData> validationData, ComponentEntity component) { - Collection<ImageEntity> images = vendorSoftwareProductDao.listImages(vspId,version, - component.getId()); + Collection<ImageEntity> images = vendorSoftwareProductDao.listImages(vspId, version, + component.getId()); if (CollectionUtils.isEmpty(images)) { CompositionEntityValidationData compositionEntityValidationData = new - CompositionEntityValidationData(component.getType(),component.getId()); + CompositionEntityValidationData(component.getType(), component.getId()); compositionEntityValidationData.setEntityName(component.getComponentCompositionData() - .getDisplayName()); + .getDisplayName()); ErrorCode vfcMissingImageErrorBuilder = - ComponentErrorBuilder.VfcMissingImageErrorBuilder(); + ComponentErrorBuilder.VfcMissingImageErrorBuilder(); List<String> errors = new ArrayList<>(); errors.add(vfcMissingImageErrorBuilder.message()); compositionEntityValidationData.setErrors(errors); @@ -496,9 +507,8 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa } - private List<ErrorCode> validateCompletedVendorSoftwareProduct( - VspDetails vspDetails, UploadDataEntity uploadData, Object serviceModel) { + VspDetails vspDetails, UploadDataEntity uploadData, Object serviceModel) { List<ErrorCode> errors = new ArrayList<>(); @@ -520,10 +530,10 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa if (vspDetails.getOnboardingMethod().equals("Manual")) { //Manual Onboarding specific validations Collection<DeploymentFlavorEntity> deploymentFlavorEntities = vendorSoftwareProductDao - .listDeploymentFlavors(vspDetails.getId(), vspDetails.getVersion()); - if (CollectionUtils.isEmpty(deploymentFlavorEntities) ) { + .listDeploymentFlavors(vspDetails.getId(), vspDetails.getVersion()); + if (CollectionUtils.isEmpty(deploymentFlavorEntities)) { ErrorCode vspMissingDeploymentFlavorErrorBuilder = - VendorSoftwareProductInvalidErrorBuilder.VspMissingDeploymentFlavorErrorBuilder(); + VendorSoftwareProductInvalidErrorBuilder.VspMissingDeploymentFlavorErrorBuilder(); errors.add(vspMissingDeploymentFlavorErrorBuilder); } errors.addAll(validateMandatoryLicenseFields(vspDetails)); @@ -531,11 +541,11 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa //Heat flow specific VSP validations if (uploadData == null || uploadData.getContentData() == null || serviceModel == null) { errors.add(VendorSoftwareProductInvalidErrorBuilder - .VendorSoftwareProductMissingServiceModelErrorBuilder(vspDetails.getId(), - vspDetails.getVersion())); + .VendorSoftwareProductMissingServiceModelErrorBuilder(vspDetails.getId(), + vspDetails.getVersion())); } if (vspDetails.getVlmVersion() != null || vspDetails.getLicenseAgreement() != null - || vspDetails.getFeatureGroups() != null) { + || vspDetails.getFeatureGroups() != null) { errors.addAll(validateMandatoryLicenseFields(vspDetails)); } } @@ -546,7 +556,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa List<ErrorCode> errors = new ArrayList<>(); if (vspDetails.getVlmVersion() == null) { errors.add(createMissingMandatoryFieldError( - "licensing version (in the format of: {integer}.{integer})")); + "licensing version (in the format of: {integer}.{integer})")); } if (vspDetails.getLicenseAgreement() == null) { errors.add(createMissingMandatoryFieldError("license agreement")); @@ -565,13 +575,13 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa mdcDataDebugMessage.debugEntryMessage(null); mdcDataDebugMessage.debugExitMessage(null); return SchemaGenerator - .generate(SchemaTemplateContext.questionnaire, CompositionEntityType.vsp, schemaInput); + .generate(SchemaTemplateContext.questionnaire, CompositionEntityType.vsp, schemaInput); } private static void sortVspListByModificationTimeDescOrder( - List<VersionedVendorSoftwareProductInfo> vsps) { + List<VersionedVendorSoftwareProductInfo> vsps) { vsps.sort((o1, o2) -> o2.getVspDetails().getWritetimeMicroSeconds() - .compareTo(o1.getVspDetails().getWritetimeMicroSeconds())); + .compareTo(o1.getVspDetails().getWritetimeMicroSeconds())); } @@ -584,21 +594,22 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa enrichedServiceModelDao.deleteAll(vendorSoftwareProductId, version); EnrichmentManager<ToscaServiceModel> enrichmentManager = - EnrichmentManagerFactory.getInstance().createInterface(); + EnrichmentManagerFactory.getInstance().createInterface(); enrichmentManager.init(vendorSoftwareProductId, version); enrichmentManager.setModel(serviceModel); Map<String, List<ErrorMessage>> enrichErrors = enrichmentManager.enrich(); if (MapUtils.isEmpty(MessageContainerUtil.getMessageByLevel(ErrorLevel.ERROR, enrichErrors))) { logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.ENRICHMENT_COMPLETED - + vendorSoftwareProductId); + + vendorSoftwareProductId); } else { enrichErrors.values().forEach(errorList -> - auditIfContainsErrors(errorList,vendorSoftwareProductId,AuditMessages.ENRICHMENT_ERROR)); + auditIfContainsErrors(errorList, vendorSoftwareProductId, + AuditMessages.ENRICHMENT_ERROR)); } enrichedServiceModelDao - .storeServiceModel(vendorSoftwareProductId, version, enrichmentManager.getModel()); + .storeServiceModel(vendorSoftwareProductId, version, enrichmentManager.getModel()); return enrichErrors; } @@ -607,15 +618,15 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa mdcDataDebugMessage.debugEntryMessage("VSP id", vspDetails.getId()); if (vspDetails.getVendorId() == null || vspDetails.getVlmVersion() == null - || vspDetails.getLicenseAgreement() == null - || CollectionUtils.isEmpty(vspDetails.getFeatureGroups())) { + || vspDetails.getLicenseAgreement() == null + || CollectionUtils.isEmpty(vspDetails.getFeatureGroups())) { return null; } mdcDataDebugMessage.debugExitMessage("VSP id", vspDetails.getId()); return vendorLicenseFacade - .validateLicensingData(vspDetails.getVendorId(), vspDetails.getVlmVersion(), - vspDetails.getLicenseAgreement(), vspDetails.getFeatureGroups()); + .validateLicensingData(vspDetails.getVendorId(), vspDetails.getVlmVersion(), + vspDetails.getLicenseAgreement(), vspDetails.getFeatureGroups()); } @Override @@ -623,6 +634,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa try { validateUniqueName(VALIDATION_VSP_NAME); } catch (Exception ignored) { + logger.debug("",ignored); return VALIDATION_VSP_ID; } VspDetails validationVsp = new VspDetails(); @@ -630,8 +642,8 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa vspInfoDao.create(validationVsp); Version version = versioningManager.create( - VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, - validationVsp.getId(), user); + VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, + validationVsp.getId(), user); validationVsp.setVersion(version); createUniqueName(VALIDATION_VSP_NAME); @@ -649,15 +661,15 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa vspInfoDao.create(vspDetails);//id will be set in the dao vspInfoDao.updateQuestionnaireData(vspDetails.getId(), null, - new JsonSchemaDataGenerator(getVspQuestionnaireSchema(null)).generateData()); + new JsonSchemaDataGenerator(getVspQuestionnaireSchema(null)).generateData()); Version version = versioningManager - .create(VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, - vspDetails.getId(), user); + .create(VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, + vspDetails.getId(), user); vspDetails.setVersion(version); ActivityLogEntity activityLogEntity = new ActivityLogEntity(vspDetails.getId(), String - .valueOf(vspDetails.getVersion().getMajor() + 1), - ActivityType.CREATE_NEW.toString(), user, true, "", ""); + .valueOf(vspDetails.getVersion().getMajor() + 1), + ActivityType.CREATE_NEW.toString(), user, true, "", ""); activityLogManager.addActionLog(activityLogEntity, user); String vspName = vspDetails.getName(); createUniqueName(vspName); @@ -670,8 +682,8 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa mdcDataDebugMessage.debugEntryMessage(null); Map<String, VersionInfo> idToVersionsInfo = versioningManager.listEntitiesVersionInfo( - VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, user, - VersionableEntityAction.Read); + VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, user, + VersionableEntityAction.Read); List<VersionedVendorSoftwareProductInfo> vsps = new ArrayList<>(); for (Map.Entry<String, VersionInfo> entry : idToVersionsInfo.entrySet()) { @@ -696,11 +708,12 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa vsps.add(new VersionedVendorSoftwareProductInfo(vsp, versionInfo)); } } catch (RuntimeException rte) { + logger.debug("",rte); logger.error( - "Error trying to retrieve vsp[" + entry.getKey() + "] version[" + version.toString - () + "] " + - "message:" + rte - .getMessage()); + "Error trying to retrieve vsp[" + entry.getKey() + "] version[" + version.toString + () + "] " + + "message:" + rte + .getMessage()); } } @@ -718,11 +731,11 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa VspDetails retrieved = vspInfoDao.get(vspDetails); if (!retrieved.getOnboardingMethod().equals(vspDetails.getOnboardingMethod())) { final ErrorCode onboardingMethodUpdateErrorCode = OnboardingMethodErrorBuilder - .getOnboardingUpdateError(); + .getOnboardingUpdateError(); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, - LoggerTragetServiceName.UPDATE_VSP, ErrorLevel.ERROR.name(), - LoggerErrorCode.DATA_ERROR.getErrorCode(), onboardingMethodUpdateErrorCode.message()); + LoggerTragetServiceName.UPDATE_VSP, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), onboardingMethodUpdateErrorCode.message()); throw new CoreException(onboardingMethodUpdateErrorCode); } @@ -744,18 +757,18 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa final List<String> featureGroups = vspDetails.getFeatureGroups(); if (featureGroups != null) { final Collection<DeploymentFlavorEntity> deploymentFlavorEntities = deploymentFlavorDao - .list(new DeploymentFlavorEntity(vspDetails.getId(), vspDetails - .getVersion(), null)); + .list(new DeploymentFlavorEntity(vspDetails.getId(), vspDetails + .getVersion(), null)); if (Objects.nonNull(deploymentFlavorEntities)) { deploymentFlavorEntities.forEach(deploymentFlavorEntity -> { final String featureGroupId = - deploymentFlavorEntity.getDeploymentFlavorCompositionData().getFeatureGroupId(); - if ( !featureGroups.contains(featureGroupId)) { + deploymentFlavorEntity.getDeploymentFlavorCompositionData().getFeatureGroupId(); + if (!featureGroups.contains(featureGroupId)) { DeploymentFlavor deploymentFlavorCompositionData = - deploymentFlavorEntity.getDeploymentFlavorCompositionData(); + deploymentFlavorEntity.getDeploymentFlavorCompositionData(); deploymentFlavorCompositionData.setFeatureGroupId(null); deploymentFlavorEntity.setDeploymentFlavorCompositionData - (deploymentFlavorCompositionData); + (deploymentFlavorCompositionData); vendorSoftwareProductDao.updateDeploymentFlavor(deploymentFlavorEntity); } }); @@ -771,17 +784,17 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa VspDetails vsp = vspInfoDao.get(new VspDetails(vspId, version)); if (vsp == null) { MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, - LoggerTragetServiceName.GET_VSP, ErrorLevel.ERROR.name(), - LoggerErrorCode.DATA_ERROR.getErrorCode(), "Requested VSP not found"); + LoggerTragetServiceName.GET_VSP, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), "Requested VSP not found"); throw new CoreException(new VendorSoftwareProductNotFoundErrorBuilder(vspId).build()); } vsp.setValidationData(orchestrationTemplateDao.getValidationData(vspId, version)); - if(Objects.isNull(vsp.getOnboardingOrigin())){ + if (Objects.isNull(vsp.getOnboardingOrigin())) { vsp.setOnboardingOrigin(OnboardingTypesEnum.ZIP.toString()); } - if(Objects.isNull(vsp.getNetworkPackageName())){ + if (Objects.isNull(vsp.getNetworkPackageName())) { vsp.setNetworkPackageName("Upload File"); } @@ -792,12 +805,12 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa @Override public Version callAutoHeal(String vspId, VersionInfo versionInfo, VspDetails vendorSoftwareProductInfo, String user) - throws Exception { + throws Exception { switch (versionInfo.getStatus()) { case Locked: if (user.equals(versionInfo.getLockingUser())) { autoHeal(vspId, versionInfo.getActiveVersion(), vendorSoftwareProductInfo, - versionInfo.getLockingUser()); + versionInfo.getLockingUser()); } return versionInfo.getActiveVersion(); case Available: @@ -818,6 +831,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa createPackage(vspId, finalVersion, user); return finalVersion; } catch (IOException ex) { + logger.debug("",ex); throw new Exception(ex.getMessage()); } default: @@ -833,12 +847,12 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa mdcDataDebugMessage.debugEntryMessage("VSP id", vspId); MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, - LoggerTragetServiceName.DELETE_VSP, ErrorLevel.ERROR.name(), - LoggerErrorCode.PERMISSION_ERROR.getErrorCode(), "Unsupported operation"); + LoggerTragetServiceName.DELETE_VSP, ErrorLevel.ERROR.name(), + LoggerErrorCode.PERMISSION_ERROR.getErrorCode(), "Unsupported operation"); mdcDataDebugMessage.debugExitMessage("VSP id", vspId); throw new UnsupportedOperationException( - VendorSoftwareProductConstants.UNSUPPORTED_OPERATION_ERROR); + VendorSoftwareProductConstants.UNSUPPORTED_OPERATION_ERROR); } @Override @@ -848,8 +862,8 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa VersionInfo versionInfo = getVersionInfo(vspId, VersionableEntityAction.Read, user); version = VersionStatus.Locked.equals(versionInfo.getStatus()) - ? versionInfo.getActiveVersion() - : checkout(vspId, user); + ? versionInfo.getActiveVersion() + : checkout(vspId, user); version.setStatus(VersionStatus.Locked); Optional<String> errorMessages = @@ -911,24 +925,24 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa if (version == null) { errorMessage = "Package not found"; MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, - LoggerTragetServiceName.GET_TRANSLATED_FILE, ErrorLevel.ERROR.name(), - LoggerErrorCode.DATA_ERROR.getErrorCode(), errorMessage); + LoggerTragetServiceName.GET_TRANSLATED_FILE, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), errorMessage); throw new CoreException(new PackageNotFoundErrorBuilder(vspId).build()); } else if (!version.isFinal()) { errorMessage = "Invalid requested version"; MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, - LoggerTragetServiceName.GET_VERSION_INFO, ErrorLevel.ERROR.name(), - LoggerErrorCode.DATA_ERROR.getErrorCode(), errorMessage); + LoggerTragetServiceName.GET_VERSION_INFO, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), errorMessage); throw new CoreException(new RequestedVersionInvalidErrorBuilder().build()); } PackageInfo packageInfo = - packageInfoDao.get(new PackageInfo(vspId, version)); + packageInfoDao.get(new PackageInfo(vspId, version)); if (packageInfo == null) { errorMessage = "Package not found"; MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, - LoggerTragetServiceName.GET_TRANSLATED_FILE, ErrorLevel.ERROR.name(), - LoggerErrorCode.DATA_ERROR.getErrorCode(), errorMessage); + LoggerTragetServiceName.GET_TRANSLATED_FILE, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), errorMessage); throw new CoreException(new PackageNotFoundErrorBuilder(vspId, version).build()); } @@ -936,8 +950,8 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa if (translatedFileBuffer == null) { errorMessage = "Package not found"; MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, - LoggerTragetServiceName.GET_TRANSLATED_FILE, ErrorLevel.ERROR.name(), - LoggerErrorCode.DATA_ERROR.getErrorCode(), errorMessage); + LoggerTragetServiceName.GET_TRANSLATED_FILE, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), errorMessage); throw new CoreException(new PackageInvalidErrorBuilder(vspId, version).build()); } @@ -950,10 +964,10 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa } catch (IOException exception) { errorMessage = "Can't create package"; MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, - LoggerTragetServiceName.CREATE_TRANSLATED_FILE, ErrorLevel.ERROR.name(), - LoggerErrorCode.DATA_ERROR.getErrorCode(), errorMessage); + LoggerTragetServiceName.CREATE_TRANSLATED_FILE, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), errorMessage); throw new CoreException(new TranslationFileCreationErrorBuilder(vspId, version).build(), - exception); + exception); } mdcDataDebugMessage.debugExitMessage("VSP id", vspId); @@ -976,12 +990,12 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa try (final ZipOutputStream zos = new ZipOutputStream(baos); ZipInputStream zipStream = new ZipInputStream( - new ByteArrayInputStream(contentData.array()))) { + new ByteArrayInputStream(contentData.array()))) { zos.write(contentData.array()); } catch (IOException exception) { MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, - LoggerTragetServiceName.GET_UPLOADED_HEAT, ErrorLevel.ERROR.name(), - LoggerErrorCode.DATA_ERROR.getErrorCode(), "Can't get uploaded HEAT"); + LoggerTragetServiceName.GET_UPLOADED_HEAT, ErrorLevel.ERROR.name(), + LoggerErrorCode.DATA_ERROR.getErrorCode(), "Can't get uploaded HEAT"); throw new CoreException(new FileCreationErrorBuilder(vspId).build(), exception); } @@ -995,11 +1009,11 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa if (!version.isFinal()) { MdcDataErrorMessage.createErrorMessageAndUpdateMdc(LoggerConstants.TARGET_ENTITY_DB, - LoggerTragetServiceName.CREATE_PACKAGE, ErrorLevel.ERROR.name(), - LoggerErrorCode.PERMISSION_ERROR.getErrorCode(), "Can't create package"); + LoggerTragetServiceName.CREATE_PACKAGE, ErrorLevel.ERROR.name(), + LoggerErrorCode.PERMISSION_ERROR.getErrorCode(), "Can't create package"); throw new CoreException( - new CreatePackageForNonFinalVendorSoftwareProductErrorBuilder(vspId, version) - .build()); + new CreatePackageForNonFinalVendorSoftwareProductErrorBuilder(vspId, version) + .build()); } ToscaServiceModel toscaServiceModel = enrichedServiceModelDao.getServiceModel(vspId, version); @@ -1009,13 +1023,13 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa PackageInfo packageInfo = createPackageInfo(vspId, vspDetails); ToscaFileOutputServiceCsarImpl toscaServiceTemplateServiceCsar = - new ToscaFileOutputServiceCsarImpl(); + new ToscaFileOutputServiceCsarImpl(); FileContentHandler licenseArtifacts = licenseArtifactsService - .createLicenseArtifacts(vspDetails.getId(), vspDetails.getVendorId(), vlmVersion, - vspDetails.getFeatureGroups(), user); + .createLicenseArtifacts(vspDetails.getId(), vspDetails.getVendorId(), vlmVersion, + vspDetails.getFeatureGroups(), user); //todo add tosca validation here packageInfo.setTranslatedFile(ByteBuffer.wrap( - toscaServiceTemplateServiceCsar.createOutputFile(toscaServiceModel, licenseArtifacts))); + toscaServiceTemplateServiceCsar.createOutputFile(toscaServiceModel, licenseArtifacts))); packageInfoDao.create(packageInfo); @@ -1046,7 +1060,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa VspQuestionnaireEntity retrieved = vspInfoDao.getQuestionnaire(vspId, version); VersioningUtil.validateEntityExistence(retrieved, new VspQuestionnaireEntity(vspId, version), - VspDetails.ENTITY_TYPE); + VspDetails.ENTITY_TYPE); String questionnaireData = retrieved.getQuestionnaireData(); @@ -1072,7 +1086,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa private Map<String, List<ErrorMessage>> validateUploadData(UploadDataEntity uploadData, VspDetails vspDetails) - throws IOException { + throws IOException { Map<String, List<ErrorMessage>> validationErrors = new HashMap<>(); if (uploadData == null || uploadData.getContentData() == null) { @@ -1080,24 +1094,26 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa } FileContentHandler fileContentMap = - CommonUtil.validateAndUploadFileContent(OnboardingTypesEnum.getOnboardingTypesEnum - (vspDetails.getOnboardingOrigin()), - uploadData.getContentData().array()); - //todo - check - ValidationManager validationManager = - ValidationManagerUtil.initValidationManager(fileContentMap); - validationErrors.putAll(validationManager.validate()); + CommonUtil.validateAndUploadFileContent(OnboardingTypesEnum.getOnboardingTypesEnum + (vspDetails.getOnboardingOrigin()), + uploadData.getContentData().array()); + + if (vspDetails.getOnboardingOrigin().equals(OnboardingTypesEnum.ZIP.name().toLowerCase())) { + ValidationManager validationManager = + ValidationManagerUtil.initValidationManager(fileContentMap); + validationErrors.putAll(validationManager.validate()); + } return - MapUtils.isEmpty(MessageContainerUtil.getMessageByLevel(ErrorLevel.ERROR, validationErrors)) - ? null : validationErrors; + MapUtils.isEmpty(MessageContainerUtil.getMessageByLevel(ErrorLevel.ERROR, validationErrors)) + ? null : validationErrors; } private VersionInfo getVersionInfo(String vendorSoftwareProductId, VersionableEntityAction action, String user) { return versioningManager.getEntityVersionInfo( - VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, - vendorSoftwareProductId, user, action); + VendorSoftwareProductConstants.VENDOR_SOFTWARE_PRODUCT_VERSIONABLE_TYPE, + vendorSoftwareProductId, user, action); } @@ -1108,9 +1124,9 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa // The apis of CompositionEntityDataManager used here are stateful! // so, it must be re-created from scratch when it is used! CompositionEntityDataManager compositionEntityDataManager = - CompositionEntityDataManagerFactory.getInstance().createInterface(); + CompositionEntityDataManagerFactory.getInstance().createInterface(); compositionEntityDataManager - .addEntity(vspInfoDao.getQuestionnaire(vspId, version), null); + .addEntity(vspInfoDao.getQuestionnaire(vspId, version), null); Collection<NicEntity> nics = vendorSoftwareProductDao.listNicsByVsp(vspId, version); @@ -1121,27 +1137,27 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa Nic nic = nicEntity.getNicCompositionData(); if (nic != null && nic.getName() != null) { List<String> nicNames = - nicNamesByComponent.computeIfAbsent(nicEntity.getComponentId(), k -> new ArrayList<>()); + nicNamesByComponent.computeIfAbsent(nicEntity.getComponentId(), k -> new ArrayList<>()); nicNames.add(nic.getName()); } } Collection<ComponentEntity> components = - vendorSoftwareProductDao.listComponentsCompositionAndQuestionnaire(vspId, version); + vendorSoftwareProductDao.listComponentsCompositionAndQuestionnaire(vspId, version); components.forEach(component -> compositionEntityDataManager.addEntity(component, - new ComponentQuestionnaireSchemaInput(nicNamesByComponent.get(component.getId()), - JsonUtil.json2Object(component.getQuestionnaireData(), Map.class)))); + new ComponentQuestionnaireSchemaInput(nicNamesByComponent.get(component.getId()), + JsonUtil.json2Object(component.getQuestionnaireData(), Map.class)))); Collection<ComputeEntity> computes = vendorSoftwareProductDao.listComputesByVsp(vspId, version); computes.forEach(compute -> compositionEntityDataManager.addEntity(compute, null)); - if ("Manual".equals(onboardingMethod) ) { + if ("Manual".equals(onboardingMethod)) { Collection<ImageEntity> images = vendorSoftwareProductDao.listImagesByVsp(vspId, version); images.forEach(image -> compositionEntityDataManager.addEntity(image, null)); } Map<CompositionEntityId, Collection<String>> errorsByEntityId = - compositionEntityDataManager.validateEntitiesQuestionnaire(); + compositionEntityDataManager.validateEntitiesQuestionnaire(); if (MapUtils.isNotEmpty(errorsByEntityId)) { compositionEntityDataManager.buildTrees(); compositionEntityDataManager.addErrorsToTrees(errorsByEntityId); @@ -1151,7 +1167,7 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa mdcDataDebugMessage.debugExitMessage("VSP id", vspId); return new QuestionnaireValidationResult( - compositionEntityDataManager.getAllErrorsByVsp(vspId)); + compositionEntityDataManager.getAllErrorsByVsp(vspId)); } mdcDataDebugMessage.debugExitMessage("VSP id", vspId); @@ -1172,11 +1188,11 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa File infoArtifactFile; try { infoArtifactAsByteBuffer = ByteBuffer.wrap(informationArtifactGenerator.generate(vspId, - version).getBytes()); + version).getBytes()); infoArtifactFile = - new File( - String.format(VendorSoftwareProductConstants.INFORMATION_ARTIFACT_NAME, vspName)); + new File( + String.format(VendorSoftwareProductConstants.INFORMATION_ARTIFACT_NAME, vspName)); OutputStream out = new BufferedOutputStream(new FileOutputStream(infoArtifactFile)); out.write(infoArtifactAsByteBuffer.array()); out.close(); @@ -1190,18 +1206,18 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa void validateUniqueName(String vspName) { UniqueValueUtil.validateUniqueValue( - VendorSoftwareProductConstants.UniqueValues.VENDOR_SOFTWARE_PRODUCT_NAME, vspName); + VendorSoftwareProductConstants.UniqueValues.VENDOR_SOFTWARE_PRODUCT_NAME, vspName); } void createUniqueName(String vspName) { UniqueValueUtil.createUniqueValue( - VendorSoftwareProductConstants.UniqueValues.VENDOR_SOFTWARE_PRODUCT_NAME, vspName); + VendorSoftwareProductConstants.UniqueValues.VENDOR_SOFTWARE_PRODUCT_NAME, vspName); } void updateUniqueName(String oldVspName, String newVspName) { UniqueValueUtil.updateUniqueValue( - VendorSoftwareProductConstants.UniqueValues.VENDOR_SOFTWARE_PRODUCT_NAME, - oldVspName, newVspName); + VendorSoftwareProductConstants.UniqueValues.VENDOR_SOFTWARE_PRODUCT_NAME, + oldVspName, newVspName); } @Override @@ -1210,12 +1226,12 @@ public class VendorSoftwareProductManagerImpl implements VendorSoftwareProductMa return vendorSoftwareProductDao.listComputesByVsp(vspId, version); } - private void auditIfContainsErrors(List<ErrorMessage> errorList, String vspId,String auditType) { + private void auditIfContainsErrors(List<ErrorMessage> errorList, String vspId, String auditType) { errorList.forEach(errorMessage -> { if (errorMessage.getLevel().equals(ErrorLevel.ERROR)) { logger.audit(AuditMessages.AUDIT_MSG + String.format(auditType, errorMessage.getMessage(), - vspId)); + vspId)); } }); } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VspManagerFactoryImpl.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VspManagerFactoryImpl.java index 44c9d155c6..5615f8f6b5 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VspManagerFactoryImpl.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VspManagerFactoryImpl.java @@ -28,7 +28,6 @@ import org.openecomp.sdc.vendorlicense.VendorLicenseArtifactServiceFactory; import org.openecomp.sdc.vendorlicense.facade.VendorLicenseFacadeFactory; import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager; import org.openecomp.sdc.vendorsoftwareproduct.VspManagerFactory; -import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.OrchestrationTemplateDaoFactory; @@ -36,7 +35,6 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.PackageInfoDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.factory.InformationArtifactGeneratorFactory; -import org.openecomp.sdc.vendorsoftwareproduct.types.composition.DeploymentFlavor; import org.openecomp.sdc.versioning.VersioningManagerFactory; public class VspManagerFactoryImpl extends VspManagerFactory { diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/QuestionnaireValidationResult.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/QuestionnaireValidationResult.java index 3e059f4ccb..2599d4723d 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/QuestionnaireValidationResult.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/QuestionnaireValidationResult.java @@ -22,7 +22,6 @@ package org.openecomp.sdc.vendorsoftwareproduct.types; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; -import java.util.List; import java.util.Set; public class QuestionnaireValidationResult { diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/DeploymentFlavorTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/DeploymentFlavorTest.java index e3fa0a8480..45ba4fb434 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/DeploymentFlavorTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/DeploymentFlavorTest.java @@ -14,7 +14,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity; import org.openecomp.sdc.vendorsoftwareproduct.impl.VendorSoftwareProductManagerImpl; -import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator; + import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentComputeAssociation; import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityValidationData; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelTest.java index c6374375f9..c3f78b6cb0 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentDependencyModelTest.java @@ -5,24 +5,17 @@ import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.mockito.Spy; -import org.openecomp.core.utilities.CommonMethods; import org.openecomp.sdc.common.errors.CoreException; -import org.openecomp.sdc.vendorsoftwareproduct.ComponentDependencyModelManager; -import org.openecomp.sdc.vendorsoftwareproduct.ComponentDependencyModelManagerFactory; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.vendorsoftwareproduct.ComponentManager; import org.openecomp.sdc.vendorsoftwareproduct.VendorSoftwareProductManager; -import org.openecomp.sdc.vendorsoftwareproduct.VspManagerFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao; -import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao; -import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentDependencyModelEntity; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; import org.openecomp.sdc.vendorsoftwareproduct.errors.ComponentDependencyModelErrorBuilder; -import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentData; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.errors.VersioningErrorCodes; import org.testng.Assert; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; @@ -31,10 +24,10 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -import static org.mockito.Mockito.doReturn; - public class ComponentDependencyModelTest { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + @Spy @InjectMocks private ComponentDependencyModelManagerImpl componentDependencyModelManager; @@ -90,7 +83,7 @@ public class ComponentDependencyModelTest { ComponentDependencyModelErrorBuilder.getNoSourceComponentErrorBuilder().id(), ComponentDependencyModelErrorBuilder.getNoSourceComponentErrorBuilder().message()); - entities.removeAll(entities); + entities.clear(); entities.add(createModelEntity("", sourceComp2Id)); testCreate_negative(entities, vsp1Id, VERSION01, USER1, ComponentDependencyModelErrorBuilder.getNoSourceComponentErrorBuilder().id(), @@ -142,6 +135,7 @@ public class ComponentDependencyModelTest { user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); Assert.assertEquals(exception.getMessage(), expectedErrorMsg); } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImplTest.java index 7cfcb05589..ee8295cafc 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComponentManagerImplTest.java @@ -6,6 +6,8 @@ import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.vendorsoftwareproduct.NicManager; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; @@ -35,6 +37,9 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; public class ComponentManagerImplTest { + + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + private static final String COMP_NOT_EXIST_MSG = "Vendor Software Product Component with Id 1 does not exist for Vendor Software Product with id VSP_ID and version 0.1"; private static final String USER = "componentsTestUser"; @@ -140,6 +145,7 @@ public class ComponentManagerImplTest { try { ComponentEntity created = componentManager.createComponent(expected, USER); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals("Creation of only one VFC per VSP allowed.", exception.code().message()); Assert.assertEquals(VendorSoftwareProductErrorCodes.VSP_VFC_COUNT_EXCEED, exception.code().id()); @@ -189,6 +195,7 @@ public class ComponentManagerImplTest { try { CompositionEntityValidationData created = componentManager.updateComponent(expected, USER); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals("VFC with specified name already present in given VSP.", exception.code().message()); Assert.assertEquals(VendorSoftwareProductErrorCodes.VSP_VFC_DUPLICATE_NAME, @@ -426,6 +433,7 @@ public class ComponentManagerImplTest { componentManager.createComponent(component, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -436,6 +444,7 @@ public class ComponentManagerImplTest { componentManager.getComponent(vspId, version, componentId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -447,6 +456,7 @@ public class ComponentManagerImplTest { .updateComponent(new ComponentEntity(vspId, version, componentId), user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -457,6 +467,7 @@ public class ComponentManagerImplTest { componentManager.listComponents(vspId, version, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -467,6 +478,7 @@ public class ComponentManagerImplTest { componentManager.deleteComponents(vspId, version, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -477,6 +489,7 @@ public class ComponentManagerImplTest { componentManager.deleteComponent(vspId, version, componentId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImplTest.java index bda77d0aa1..eda5693cce 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ComputeManagerImplTest.java @@ -1,30 +1,33 @@ package org.openecomp.sdc.vendorsoftwareproduct.impl; -import org.junit.runner.RunWith; +import static org.mockito.Matchers.anyObject; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; + import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.openecomp.sdc.common.errors.CoreException; -import org.openecomp.sdc.common.errors.ValidationErrorBuilder; -import org.openecomp.sdc.vendorsoftwareproduct.ComputeManager; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.vendorsoftwareproduct.NetworkManager; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao; -import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComputeEntity; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; -import org.openecomp.sdc.vendorsoftwareproduct.errors.DuplicateComputeInComponentErrorBuilder; +import org.openecomp.sdc.vendorsoftwareproduct.dao.type.DeploymentFlavorEntity; import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes; import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager; -import org.openecomp.sdc.vendorsoftwareproduct.services.schemagenerator.SchemaGenerator; import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.ListComputeResponse; import org.openecomp.sdc.vendorsoftwareproduct.types.QuestionnaireResponse; -import org.openecomp.sdc.vendorsoftwareproduct.types.composition.*; +import org.openecomp.sdc.vendorsoftwareproduct.types.composition.ComponentComputeAssociation; +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.versioning.dao.types.Version; import org.openecomp.sdc.versioning.errors.VersioningErrorCodes; import org.testng.Assert; @@ -36,14 +39,10 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -import static org.mockito.Matchers.anyObject; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - public class ComputeManagerImplTest { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + private static final String COMPUTE_NOT_EXIST_MSG = "Vendor Software Product COMPUTE with Id compute1 does not exist for Vendor Software Product with " + "id VSP_ID and version 0.1"; @@ -153,6 +152,7 @@ public class ComputeManagerImplTest { Assert.fail(); } catch (CoreException ex) { + log.debug("",ex); Assert.assertEquals(VendorSoftwareProductErrorCodes.DUPLICATE_COMPUTE_NAME_NOT_ALLOWED, ex.code().id()); } @@ -227,6 +227,7 @@ public class ComputeManagerImplTest { computeManager.updateCompute(computeEntity, USER); } catch (CoreException ex) { + log.debug("",ex); Assert.assertEquals(ex.code().id(), VendorSoftwareProductErrorCodes.UPDATE_COMPUTE_NOT_ALLOWED); } @@ -315,6 +316,7 @@ public class ComputeManagerImplTest { computeManager.deleteCompute(vspId, version, componentId, computeId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -325,6 +327,7 @@ public class ComputeManagerImplTest { computeManager.getCompute(vspId, version, componentId, computeId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -335,6 +338,7 @@ public class ComputeManagerImplTest { computeManager.listCompute(vspId, version, componentId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); Assert.assertEquals(exception.getMessage(), expectedErrorMsg); } @@ -348,6 +352,7 @@ public class ComputeManagerImplTest { computeManager.updateCompute(new ComputeEntity(vspId, version, componentId, computeId), user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -357,6 +362,7 @@ public class ComputeManagerImplTest { computeManager.createCompute(computeEntity1, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImplTest.java index 804af537df..82715d3fe6 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/DeploymentFlavorManagerImplTest.java @@ -11,6 +11,8 @@ import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.openecomp.core.utilities.json.JsonUtil; import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComputeDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.DeploymentFlavorDao; @@ -38,6 +40,9 @@ import java.util.Collection; import java.util.List; public class DeploymentFlavorManagerImplTest { + + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + private static final String USER = "depFlavorTestUser"; private static final String VSP_ID = "VSP_ID"; private static final Version VERSION = new Version(0, 1); @@ -108,6 +113,7 @@ public class DeploymentFlavorManagerImplTest { Assert.fail(); } catch (CoreException ex) { + log.debug("",ex); Assert.assertEquals(VendorSoftwareProductErrorCodes.DUPLICATE_DEPLOYMENT_FLAVOR_MODEL_NOT_ALLOWED, ex.code().id()); } @@ -137,6 +143,7 @@ public class DeploymentFlavorManagerImplTest { Assert.fail(); } catch (CoreException ex) { + log.debug("",ex); Assert.assertEquals(VendorSoftwareProductErrorCodes.FEATURE_GROUP_NOT_EXIST_FOR_VSP, ex.code().id()); } @@ -164,6 +171,7 @@ public class DeploymentFlavorManagerImplTest { deploymentFlavorManager.createDeploymentFlavor(expected, USER); } catch (CoreException ex) { + log.debug("",ex); Assert.assertEquals(VendorSoftwareProductErrorCodes.INVALID_COMPONENT_COMPUTE_ASSOCIATION, ex.code().id()); Assert.assertEquals("Invalid request,for valid association please provide ComponentId for Compute Flavor", @@ -198,6 +206,7 @@ public class DeploymentFlavorManagerImplTest { deploymentFlavorManager.createDeploymentFlavor(expected, USER); } catch (CoreException ex) { + log.debug("",ex); Assert.assertEquals(VendorSoftwareProductErrorCodes.INVALID_COMPUTE_FLAVOR_ID, ex.code().id()); } @@ -232,6 +241,7 @@ public class DeploymentFlavorManagerImplTest { deploymentFlavorManager.createDeploymentFlavor(expected, USER); } catch (CoreException ex) { + log.debug("",ex); Assert.assertEquals(VendorSoftwareProductErrorCodes.SAME_VFC_ASSOCIATION_MORE_THAN_ONCE_NOT_ALLOWED, ex.code().id()); } @@ -347,6 +357,7 @@ public class DeploymentFlavorManagerImplTest { deploymentFlavorManager.listDeploymentFlavors(vspId, version, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); Assert.assertEquals(exception.getMessage(), expectedErrorMsg); } @@ -358,6 +369,7 @@ public class DeploymentFlavorManagerImplTest { deploymentFlavorManager.createDeploymentFlavor(deploymentFlavorEntity, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -369,6 +381,7 @@ public class DeploymentFlavorManagerImplTest { deploymentFlavorManager.deleteDeploymentFlavor(vspId, version, deploymentFlavorId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -395,6 +408,7 @@ public class DeploymentFlavorManagerImplTest { .updateDeploymentFlavor(deploymentFlavorEntity, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -405,6 +419,7 @@ public class DeploymentFlavorManagerImplTest { deploymentFlavorManager.getDeploymentFlavor(vspId, version, deploymentFlavorId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java index 741b1bf2ea..9f932b9fdf 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ImageManagerImplTest.java @@ -3,16 +3,19 @@ package org.openecomp.sdc.vendorsoftwareproduct.impl; import static org.mockito.Matchers.anyObject; import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.ImageDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ImageEntity; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity; import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes; import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager; import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; @@ -31,11 +34,10 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.verify; - public class ImageManagerImplTest { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + private static final String IMAGE_NOT_EXIST_MSG = "Vendor Software Product Image with Id image1 does not exist for Vendor Software Product with" + " " + @@ -194,6 +196,7 @@ public class ImageManagerImplTest { imageManager.updateImage(imageEntity, USER); } catch (CoreException ex) { + log.debug("",ex); Assert.assertEquals(ex.code().id(), VendorSoftwareProductErrorCodes.UPDATE_IMAGE_NOT_ALLOWED); } @@ -267,7 +270,6 @@ public class ImageManagerImplTest { String json = "{\"md5\" :\"FFDSD33SS\"}"; doReturn(true).when(vspInfoDao).isManual(anyObject(), anyObject()); doReturn(new ImageEntity()).when(imageDao).get(anyObject()); - imageManager.updateImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, json, USER); verify(imageDao).updateQuestionnaireData(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, json); } @@ -292,6 +294,7 @@ public class ImageManagerImplTest { imageManager.updateImageQuestionnaire(VSP_ID, VERSION, COMPONENT_ID, IMAGE1_ID, json, USER); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), VendorSoftwareProductErrorCodes.DUPLICATE_IMAGE_VERSION_NOT_ALLOWED); } @@ -318,6 +321,7 @@ public class ImageManagerImplTest { Assert.fail(); } catch(CoreException ex) { + log.debug("",ex); Assert.assertEquals(ex.code().id(), VendorSoftwareProductErrorCodes.UPDATE_IMAGE_NOT_ALLOWED); } } @@ -338,6 +342,7 @@ public class ImageManagerImplTest { Assert.fail(); } catch(CoreException ex) { + log.debug("",ex); Assert.assertEquals(ex.code().id(), VendorSoftwareProductErrorCodes.VFC_IMAGE_INVALID_FORMAT); } } @@ -348,6 +353,7 @@ public class ImageManagerImplTest { imageManager.listImages(vspId, version, componentId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); Assert.assertEquals(exception.getMessage(), expectedErrorMsg); } @@ -358,6 +364,7 @@ public class ImageManagerImplTest { imageManager.createImage(image, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -369,6 +376,7 @@ public class ImageManagerImplTest { imageManager.deleteImage(vspId, version, componentId, nicId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -388,6 +396,7 @@ public class ImageManagerImplTest { imageManager.updateImage(new ImageEntity(vspId, version, componentId, imageId), user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImplTest.java index b65071ac51..ecfe0e6372 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ManualVspToscaManagerImplTest.java @@ -47,6 +47,7 @@ import org.openecomp.sdc.vendorsoftwareproduct.services.ManualVspDataCollectionS import org.openecomp.sdc.versioning.dao.types.Version; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -95,6 +96,15 @@ public class ManualVspToscaManagerImplTest { private ManualVspDataCollectionService manualVspDataCollectionServiceMock; /* + private static List<String> supportedCapabilities = new ArrayList<>(); + private static List<String> supportedRequirements = new ArrayList<>(); + + static { + //TODO : Read from configuration + supportedCapabilities.addAll(Arrays.asList("host", "os", "endpoint", "scalable")); + supportedRequirements.addAll(Arrays.asList("link")); + } + @Test public void testGatherVspInformationInvalidVsp() { MockitoAnnotations.initMocks(this); @@ -439,9 +449,9 @@ public class ManualVspToscaManagerImplTest { private void validateSubstitutionCapabilities(Map<String, List<String>> capabilities, String componentName) { - List<String> supportedCapabilities = GeneratorUtils.supportedCapabilities; - Assert.assertEquals(supportedCapabilities.size(), capabilities.size()); - for (String capability : supportedCapabilities) { + List<String> SupportedCapabilities = supportedCapabilities; + Assert.assertEquals(SupportedCapabilities.size(), capabilities.size()); + for (String capability : SupportedCapabilities) { String expectedCapabilityId = capability + "_" + componentName; Assert.assertEquals(true, capabilities.containsKey(expectedCapabilityId)); List<String> expectedCapabilityValue = new ArrayList<>(2); @@ -454,10 +464,10 @@ public class ManualVspToscaManagerImplTest { private void validateSubstitutionRequirements(Map<String, List<String>> requirements, List<Nic> nics) { - List<String> supportedRequirements = GeneratorUtils.supportedRequirements; + List<String> SupportedRequirements = supportedRequirements; for(Nic nic : nics) { String nicNodeTemplateId = nic.getName() + PORT_NODE_TEMPLATE_ID_SUFFIX; - for (String requirement : supportedRequirements) { + for (String requirement : SupportedRequirements) { String expectedRequirementId = requirement + "_" + nicNodeTemplateId; Assert.assertEquals(true, requirements.containsKey(expectedRequirementId)); List<String> expectedRequirementValue = new ArrayList<>(2); @@ -498,11 +508,11 @@ public class ManualVspToscaManagerImplTest { List<Map<String, RequirementDefinition>> requirements = deploymentFlavorNodeType.getRequirements(); - List<String> supportedRequirements = GeneratorUtils.supportedRequirements; + List<String> SupportedRequirements = supportedRequirements; for (Nic nic : nics) { boolean found = false; String nicNodeTemplateId = nic.getName() + PORT_NODE_TEMPLATE_ID_SUFFIX; - for (String requirementId : supportedRequirements) { + for (String requirementId : SupportedRequirements) { String expectedRequirementId = requirementId + "_" + nicNodeTemplateId; for (Map<String, RequirementDefinition> requirement : requirements) { if (requirement.containsKey(expectedRequirementId)) { @@ -515,8 +525,8 @@ public class ManualVspToscaManagerImplTest { } Map<String, CapabilityDefinition> capabilities = deploymentFlavorNodeType.getCapabilities(); - List<String> supportedCapabilities = GeneratorUtils.supportedCapabilities; - for (String capabilityId : supportedCapabilities) { + List<String> SupportedCapabilities = supportedCapabilities; + for (String capabilityId : SupportedCapabilities) { String expectedCapabilityId = capabilityId + "_" + componentName; Assert.assertEquals (true, capabilities.containsKey(expectedCapabilityId)); } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImplTest.java index 534c630e40..e4dd39cfda 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/MonitoringUploadsManagerImplTest.java @@ -5,6 +5,8 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.openecomp.core.enrichment.types.MonitoringUploadType; import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentArtifactDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentMonitoringUploadEntity; import org.openecomp.sdc.vendorsoftwareproduct.types.schemagenerator.MonitoringUploadStatus; @@ -27,6 +29,8 @@ import static org.mockito.Mockito.verify; public class MonitoringUploadsManagerImplTest { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + private static final String USER1 = "ComponentsUploadTestUser"; private static final String COMPONENT_ID = "COMPONENT_ID"; private static final String VSP_ID = "vspId"; @@ -66,6 +70,7 @@ public class MonitoringUploadsManagerImplTest { MonitoringUploadType.VES_EVENTS, USER1); Assert.fail(); } catch (Exception exception) { + log.debug("",exception); Assert.assertEquals(exception.getMessage(), "Invalid zip file"); } } @@ -80,6 +85,7 @@ public class MonitoringUploadsManagerImplTest { MonitoringUploadType.SNMP_TRAP, USER1); Assert.fail(); } catch (Exception exception) { + log.debug("",exception); Assert.assertEquals(exception.getMessage(), "Zip file should not contain folders"); } } @@ -94,6 +100,7 @@ public class MonitoringUploadsManagerImplTest { MonitoringUploadType.VES_EVENTS, USER1); Assert.fail(); } catch (Exception exception) { + log.debug("",exception); Assert.assertEquals(exception.getMessage(), "Wrong VES EVENT Artifact was uploaded - all files contained in Artifact must be YAML " + "files (using .yaml/.yml extensions)"); @@ -157,7 +164,7 @@ public class MonitoringUploadsManagerImplTest { try { return url.openStream(); } catch (IOException exception) { - exception.printStackTrace(); + log.debug("",exception); return null; } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImplTest.java index f8710b8cc6..ebdbc6af7d 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NetworkManagerImplTest.java @@ -25,6 +25,8 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity; import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes; @@ -49,6 +51,8 @@ import static org.mockito.Mockito.verify; public class NetworkManagerImplTest { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + private static final String USER1 = "networksTestUser1"; private static final String USER2 = "networksTestUser2"; private static final String VSP_ID = "vsp"; @@ -239,6 +243,7 @@ public class NetworkManagerImplTest { networkManager.createNetwork(network, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -249,6 +254,7 @@ public class NetworkManagerImplTest { networkManager.getNetwork(vspId, version, networkId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -259,6 +265,7 @@ public class NetworkManagerImplTest { networkManager.updateNetwork(new NetworkEntity(vspId, version, networkId), user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -269,6 +276,7 @@ public class NetworkManagerImplTest { networkManager.listNetworks(vspId, version, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -279,6 +287,7 @@ public class NetworkManagerImplTest { networkManager.deleteNetwork(vspId, version, networkId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImplTest.java index fe275e9d68..ba04e91c63 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/NicManagerImplTest.java @@ -1,16 +1,22 @@ package org.openecomp.sdc.vendorsoftwareproduct.impl; +import static org.mockito.Matchers.anyObject; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; + import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.mockito.Spy; import org.openecomp.sdc.common.errors.CoreException; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import org.openecomp.sdc.vendorsoftwareproduct.NetworkManager; import org.openecomp.sdc.vendorsoftwareproduct.dao.NicDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NetworkEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; import org.openecomp.sdc.vendorsoftwareproduct.errors.VendorSoftwareProductErrorCodes; import org.openecomp.sdc.vendorsoftwareproduct.services.composition.CompositionEntityDataManager; import org.openecomp.sdc.vendorsoftwareproduct.types.CompositionEntityResponse; @@ -29,13 +35,10 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import static org.mockito.Matchers.anyObject; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.never; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - public class NicManagerImplTest { + + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + private static final String NIC_NOT_EXIST_MSG = "Vendor Software Product NIC with Id nic1 does not exist for Vendor Software Product with " + "id VSP_ID and version 0.1"; @@ -129,6 +132,7 @@ public class NicManagerImplTest { try { NicEntity created = nicManager.createNic(nicEntity,USER); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(VendorSoftwareProductErrorCodes.NIC_NAME_FORMAT_NOT_ALLOWED, exception.code().id()); } @@ -154,6 +158,7 @@ public class NicManagerImplTest { try { NicEntity created = nicManager.createNic(nicEntity,USER); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals("Invalid request, NIC with name "+ nic.getName() + " already exist for component with ID "+ nicEntity.getComponentId() +".", exception.code().message()); @@ -176,6 +181,7 @@ public class NicManagerImplTest { try { NicEntity created = nicManager.createNic(nicEntity,USER); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals("Invalid request,NetworkId not allowed for External Networks", exception.code().message()); Assert.assertEquals(VendorSoftwareProductErrorCodes.NETWORKID_NOT_ALLOWED_FOR_EXTERNAL_NETWORK, @@ -198,6 +204,7 @@ public class NicManagerImplTest { try { NicEntity created = nicManager.createNic(nicEntity,USER); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals("Invalid request, Network Description not allowed for Internal Networks", exception.code().message()); Assert.assertEquals(VendorSoftwareProductErrorCodes @@ -344,6 +351,7 @@ public class NicManagerImplTest { Assert.fail(); } catch (CoreException ex) { + log.debug("",ex); Assert.assertEquals(VendorSoftwareProductErrorCodes.NIC_NAME_FORMAT_NOT_ALLOWED, ex.code().id()); } @@ -442,6 +450,7 @@ public class NicManagerImplTest { nicManager.createNic(nic, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -452,6 +461,7 @@ public class NicManagerImplTest { nicManager.getNic(vspId, version, componentId, nicId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -462,6 +472,7 @@ public class NicManagerImplTest { nicManager.updateNic(new NicEntity(vspId, version, componentId, nicId), user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -473,6 +484,7 @@ public class NicManagerImplTest { nicManager.deleteNic(vspId, version, componentId, nicId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImplTest.java index f756e44776..478bdfbbba 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/ProcessManagerImplTest.java @@ -11,6 +11,8 @@ import org.openecomp.sdc.activitylog.dao.type.ActivityLogEntity; 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.dao.VendorSoftwareProductDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ProcessType; @@ -35,6 +37,7 @@ import static org.mockito.Matchers.eq; public class ProcessManagerImplTest { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); private static final String USER1 = "processesTestUser"; private static final String VSP_ID = "vsp"; @@ -315,6 +318,7 @@ public class ProcessManagerImplTest { processManager.getProcess(vspId, version, componentId, processId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -327,6 +331,7 @@ public class ProcessManagerImplTest { .updateProcess(new ProcessEntity(vspId, version, componentId, processId), user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -337,6 +342,7 @@ public class ProcessManagerImplTest { processManager.getProcessArtifact(vspId, version, componentId, processId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -350,6 +356,7 @@ public class ProcessManagerImplTest { vspId, version, componentId, processId, user); Assert.fail(); } catch (CoreException exception) { + log.error("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } @@ -360,6 +367,7 @@ public class ProcessManagerImplTest { processManager.deleteProcessArtifact(vspId, VERSION, componentId, processId, user); Assert.fail(); } catch (CoreException exception) { + log.debug("",exception); Assert.assertEquals(exception.code().id(), expectedErrorCode); } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImplTest.java index e0e00f8d9d..77a847a2af 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/impl/VendorSoftwareProductManagerImplTest.java @@ -40,6 +40,8 @@ import org.openecomp.sdc.common.errors.ErrorCategory; import org.openecomp.sdc.common.errors.ErrorCode; import org.openecomp.sdc.common.errors.Messages; import org.openecomp.sdc.healing.api.HealingManager; +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.CapabilityDefinition; import org.openecomp.sdc.vendorlicense.facade.VendorLicenseFacade; @@ -101,6 +103,9 @@ import static org.mockito.Mockito.verify; public class VendorSoftwareProductManagerImplTest { + + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + private static final String INVALID_VERSION_MSG = "Invalid requested version."; private static String VSP_ID = "vspId"; @@ -669,6 +674,7 @@ public class VendorSoftwareProductManagerImplTest { url.openStream(), USER1, "zip", "notZipFile"); candidateManager.process(VSP_ID, VERSION01, USER1); } catch (Exception ce) { + log.debug("",ce); Assert.assertEquals(ce.getMessage(), Messages.CREATE_MANIFEST_FROM_ZIP.getErrorMessage()); } @@ -688,14 +694,19 @@ public class VendorSoftwareProductManagerImplTest { throws IOException { List<String> fileNames = new ArrayList<>(); - ZipInputStream zip = new ZipInputStream(new FileInputStream(csar)); - ZipEntry ze; - - while ((ze = zip.getNextEntry()) != null) { - String name = ze.getName(); - if (name.contains(folderName)) { - fileNames.add(name); + FileInputStream fileInputStream = new FileInputStream(csar); + try { + ZipInputStream zip = new ZipInputStream(fileInputStream); + ZipEntry ze; + + while ((ze = zip.getNextEntry()) != null) { + String name = ze.getName(); + if (name.contains(folderName)) { + fileNames.add(name); + } } + }finally { + fileInputStream.close(); } return fileNames; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionDataExtractorImplTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionDataExtractorImplTest.java index a85153ecef..2f85f30dc5 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionDataExtractorImplTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionDataExtractorImplTest.java @@ -23,6 +23,8 @@ package org.openecomp.sdc.vendorsoftwareproduct.services.impl.composition; import org.apache.commons.io.FileUtils; import org.mockito.InjectMocks; import org.mockito.MockitoAnnotations; +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.ToscaUtil; @@ -52,6 +54,10 @@ import java.util.Map; */ public class CompositionDataExtractorImplTest { + + private static final Logger log = (Logger) LoggerFactory.getLogger + (CompositionDataExtractorImplTest.class.getName()); + @InjectMocks private static CompositionDataExtractorImpl compositionDataExtractor; @@ -108,6 +114,7 @@ public class CompositionDataExtractorImplTest { try { yamlFile.close(); } catch (IOException ignore) { + log.debug("",ignore); } } catch (FileNotFoundException exception) { throw exception; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/tree/TreeBaseTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/tree/TreeBaseTest.java index 42eee1fb10..2174a6894a 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/tree/TreeBaseTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/tree/TreeBaseTest.java @@ -22,6 +22,8 @@ package org.openecomp.sdc.vendorsoftwareproduct.tree; import org.openecomp.core.utilities.file.FileUtils; import org.openecomp.sdc.heat.services.tree.HeatTreeManager; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; import java.io.File; import java.net.URISyntaxException; @@ -32,6 +34,8 @@ import java.net.URL; */ public class TreeBaseTest { + private final Logger log = (Logger) LoggerFactory.getLogger(this.getClass().getName()); + String INPUT_DIR; @@ -44,18 +48,21 @@ public class TreeBaseTest { try { inputDir = new File(url.toURI()); } catch (URISyntaxException exception) { - exception.printStackTrace(); + log.debug("",exception); } - File[] files = inputDir.listFiles(); - for (File inputFile : files) { - try { - heatTreeManager.addFile(inputFile.getName(), FileUtils.loadFileToInputStream( - INPUT_DIR.replace("/", File.separator) + File.separator + inputFile.getName())); - } catch (Exception e) { - e.printStackTrace(); - throw e; + + if(inputDir != null) { + File[] files = inputDir.listFiles(); + for (File inputFile : files) { + try { + heatTreeManager.addFile(inputFile.getName(), FileUtils.loadFileToInputStream( + INPUT_DIR.replace("/", File.separator) + File.separator + inputFile.getName())); + } catch (Exception e) { + throw e; + } } } return heatTreeManager; + } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/tree/UploadFileTest.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/tree/UploadFileTest.java index dfb7409bd0..df386b12cd 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/tree/UploadFileTest.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/tree/UploadFileTest.java @@ -21,6 +21,9 @@ package org.openecomp.sdc.vendorsoftwareproduct.tree; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.doReturn; + import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.MockitoAnnotations; @@ -29,6 +32,8 @@ import org.openecomp.core.model.dao.ServiceModelDao; import org.openecomp.core.model.types.ServiceElement; import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum; import org.openecomp.sdc.healing.api.HealingManager; +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.vendorsoftwareproduct.dao.OrchestrationTemplateDao; import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDao; diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/utils/VSPCommon.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/utils/VSPCommon.java index 6bfe9e5eac..947f33922e 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/utils/VSPCommon.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/utils/VSPCommon.java @@ -21,6 +21,8 @@ package org.openecomp.sdc.vendorsoftwareproduct.utils; 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.vendorlicense.dao.types.VendorLicenseModelEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; import org.openecomp.sdc.versioning.dao.types.Version; @@ -35,6 +37,8 @@ import java.util.zip.ZipOutputStream; public class VSPCommon { + private static final Logger log = (Logger) LoggerFactory.getLogger(VSPCommon.class.getName()); + public static VspDetails createVspDetails(String id, Version version, String name, String desc, String vendorName, String vlm, String icon, String category, String subCategory, @@ -92,7 +96,7 @@ public class VSPCommon { zos.write(data); zos.closeEntry(); } catch (IOException exception) { - exception.printStackTrace(); + log.debug("",exception); } } } diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/utils/ZipFileUtils.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/utils/ZipFileUtils.java index 12324ed777..b2a6f2fe87 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/utils/ZipFileUtils.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/test/java/org/openecomp/sdc/vendorsoftwareproduct/utils/ZipFileUtils.java @@ -20,6 +20,9 @@ package org.openecomp.sdc.vendorsoftwareproduct.utils; +import org.openecomp.sdc.logging.api.Logger; +import org.openecomp.sdc.logging.api.LoggerFactory; + import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; @@ -33,6 +36,7 @@ import java.util.zip.ZipOutputStream; * @since November 08, 2016 */ public class ZipFileUtils { + private static final Logger log = (Logger) LoggerFactory.getLogger(ZipFileUtils.class.getName()); public InputStream getZipInputStream(String name) { URL url = getClass().getResource(name); File templateDir = new File(url.getFile()); @@ -44,7 +48,7 @@ public class ZipFileUtils { try { zos.close(); } catch (IOException exception) { - exception.printStackTrace(); + log.debug("",exception); } return new ByteArrayInputStream(baos.toByteArray()); } 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-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-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/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 fffcc47932..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 @@ -273,7 +273,7 @@ public class CompositionEntityDataManagerImpl implements CompositionEntityDataMa return true; } - result = result || isThereErrorsInSubTree(subEntity); + result = isThereErrorsInSubTree(subEntity) || result; if (result) { return true; } 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; diff --git a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/MigrationMain.java b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/MigrationMain.java index e0f3e016fe..1711e41a65 100644 --- a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/MigrationMain.java +++ b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/MigrationMain.java @@ -70,7 +70,7 @@ public class MigrationMain { private static Logger logger = LoggerFactory.getLogger(MigrationMain.class); private static int status = 0; - public static Map<String, VersionInfoEntity> versionInfoMap = new HashMap<>(); + private static Map<String, VersionInfoEntity> versionInfoMap = new HashMap<>(); public static void main(String[] args) { CassandraElementRepository cassandraElementRepository = new CassandraElementRepository(); @@ -116,8 +116,7 @@ public class MigrationMain { convertVsp(context, itemCassandraDao, versionCassandraDao, cassandraElementRepository); printMessage(logger, "Converted VSPs\n"); } catch (Exception e) { - printMessage(logger, "Could not perform migration for VSPs ,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } @@ -125,9 +124,7 @@ public class MigrationMain { convertOrchestrationTemplateCandidate(context, cassandraElementRepository); printMessage(logger, "Converted OrchestrationTemplateCandidates\n"); } catch (Exception e) { - printMessage(logger, - "Could not perform migration for OrchestrationTemplateCandidates ,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } @@ -136,61 +133,49 @@ public class MigrationMain { convertComponent(context, cassandraElementRepository); printMessage(logger, "Converted Components\n"); } catch (Exception e) { - printMessage(logger, - "Could not perform migration for Components ,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } try { convertNic(context, cassandraElementRepository); printMessage(logger, "Converted Nics\n"); } catch (Exception e) { - printMessage(logger, "Could not perform migration for Nics ,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } try { convertNetwork(context, cassandraElementRepository); printMessage(logger, "Converted Networks\n"); } catch (Exception e) { - printMessage(logger, - "Could not perform migration for Networks ,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } try { convertMibs(context, cassandraElementRepository); printMessage(logger, "Converted MIBs\n"); } catch (Exception e) { - printMessage(logger, "Could not perform migration for MIBs,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } try { convertServiceArtifact(context, cassandraElementRepository); printMessage(logger, "Converted Service Artifacts\n"); } catch (Exception e) { - printMessage(logger, - "Could not perform migration for Service Artifacts,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } try { convertServiceTemplate(context, cassandraElementRepository); printMessage(logger, "Converted Service Templates\n"); } catch (Exception e) { - printMessage(logger, - "Could not perform migration for Service Templates,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } try { convertProcesses(context, cassandraElementRepository); printMessage(logger, "Converted Processes\n"); } catch (Exception e) { - printMessage(logger, - "Could not perform migration for Processes,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } @@ -199,40 +184,35 @@ public class MigrationMain { convertVlm(context, itemCassandraDao, versionCassandraDao, cassandraElementRepository); printMessage(logger, "Converted VLMs\n"); } catch (Exception e) { - printMessage(logger, "Could not perform migration for VLMs,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } try { convertLKG(context, cassandraElementRepository); printMessage(logger, "Converted LKGs\n"); } catch (Exception e) { - printMessage(logger, "Could not perform migration for LKGs,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } try { convertFeatureGroup(context, cassandraElementRepository); printMessage(logger, "Converted Feature Groups\n"); } catch (Exception e) { - printMessage(logger, "Could not perform migration for Feature Groups,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } try { convertEP(context, cassandraElementRepository); printMessage(logger, "Converted EPs\n"); } catch (Exception e) { - printMessage(logger, "Could not perform migration for EPs,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } try { convertLicenseAgreement(context, cassandraElementRepository); printMessage(logger, "Converted License Agreements\n"); } catch (Exception e) { - printMessage(logger, "Could not perform migration for License Agreements,the error is :"); - e.printStackTrace(); + logger.debug(e.getMessage(), e); status = -1; } } @@ -482,5 +462,8 @@ public class MigrationMain { .getViewableVersions().contains(versionId)); } - + public static Map<String, VersionInfoEntity> getVersionInfoMap() + { + return versionInfoMap; + } } diff --git a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/OrchestrationTemplateCandidateConvertor.java b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/OrchestrationTemplateCandidateConvertor.java index c6778544fd..e6ceb360bd 100644 --- a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/OrchestrationTemplateCandidateConvertor.java +++ b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/OrchestrationTemplateCandidateConvertor.java @@ -1,25 +1,17 @@ package org.openecomp.core.migration.convertors; import com.amdocs.zusammen.datatypes.item.ElementContext; -import com.amdocs.zusammen.datatypes.item.Info; -import com.amdocs.zusammen.datatypes.item.ItemVersionData; import com.amdocs.zusammen.plugin.statestore.cassandra.dao.types.ElementEntityContext; import com.amdocs.zusammen.sdk.collaboration.types.CollaborationElement; import org.openecomp.core.migration.MigrationMain; -import org.openecomp.core.migration.loaders.VspInformation; import org.openecomp.core.migration.store.ElementHandler; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; -import org.openecomp.sdc.vendorlicense.dao.types.VendorLicenseModelEntity; -import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.ElementPropertyName; -import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.ElementType; import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.StructureElement; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateDataEntity; -import java.util.HashSet; import java.util.List; -import java.util.Set; public class OrchestrationTemplateCandidateConvertor { diff --git a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/VlmConvertor.java b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/VlmConvertor.java index 2e5fac830e..2e483747ed 100644 --- a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/VlmConvertor.java +++ b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/VlmConvertor.java @@ -5,9 +5,7 @@ import com.amdocs.zusammen.datatypes.item.Info; import com.amdocs.zusammen.datatypes.item.ItemVersionData; import com.amdocs.zusammen.plugin.statestore.cassandra.dao.types.ElementEntityContext; import com.amdocs.zusammen.sdk.collaboration.types.CollaborationElement; -import org.openecomp.core.migration.loaders.VspInformation; import org.openecomp.core.migration.store.ElementHandler; -import org.openecomp.sdc.vendorlicense.dao.impl.zusammen.VendorLicenseModelDaoZusammenImpl; import org.openecomp.sdc.vendorlicense.dao.types.VendorLicenseModelEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.StructureElement; diff --git a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/VspServiceArtifactConvertor.java b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/VspServiceArtifactConvertor.java index 76e35b56c4..15b8ad729a 100644 --- a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/VspServiceArtifactConvertor.java +++ b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/convertors/VspServiceArtifactConvertor.java @@ -7,11 +7,8 @@ import com.amdocs.zusammen.sdk.collaboration.types.CollaborationElement; import org.openecomp.core.migration.store.ElementHandler; import org.openecomp.core.model.types.ServiceArtifact; import org.openecomp.core.utilities.file.FileUtils; -import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.ElementPropertyName; -import org.openecomp.sdc.vendorsoftwareproduct.dao.impl.zusammen.ElementType; import org.openecomp.sdc.model.impl.zusammen.StructureElement; - import java.util.HashSet; import java.util.List; import java.util.Set; diff --git a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/OrchestrationTemplateCandidateCassandraLoader.java b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/OrchestrationTemplateCandidateCassandraLoader.java index b8c173843d..09da455847 100644 --- a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/OrchestrationTemplateCandidateCassandraLoader.java +++ b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/OrchestrationTemplateCandidateCassandraLoader.java @@ -25,7 +25,6 @@ import com.datastax.driver.mapping.annotations.Accessor; import com.datastax.driver.mapping.annotations.Query; import org.openecomp.core.nosqldb.api.NoSqlDb; import org.openecomp.core.nosqldb.factory.NoSqlDbFactory; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity; import org.openecomp.sdc.vendorsoftwareproduct.dao.type.OrchestrationTemplateCandidateDataEntity; import java.util.Collection; diff --git a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/VendorSoftwareProductInfoLoader.java b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/VendorSoftwareProductInfoLoader.java index bac4b6e440..26fc23cf5d 100644 --- a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/VendorSoftwareProductInfoLoader.java +++ b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/VendorSoftwareProductInfoLoader.java @@ -20,21 +20,14 @@ package org.openecomp.core.migration.loaders; -import com.datastax.driver.core.ResultSet; -import com.datastax.driver.core.UDTValue; import com.datastax.driver.mapping.Mapper; import com.datastax.driver.mapping.Result; import com.datastax.driver.mapping.UDTMapper; import com.datastax.driver.mapping.annotations.Accessor; 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.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao; -import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails; -import org.openecomp.sdc.versioning.VersioningManagerFactory; import org.openecomp.sdc.versioning.dao.types.Version; -import org.openecomp.sdc.versioning.types.VersionableEntityMetadata; import java.util.Collection; diff --git a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/VersionInfoCassandraLoader.java b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/VersionInfoCassandraLoader.java index 2a6efd22f3..725298b195 100644 --- a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/VersionInfoCassandraLoader.java +++ b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/loaders/VersionInfoCassandraLoader.java @@ -24,10 +24,8 @@ import com.datastax.driver.mapping.Mapper; import com.datastax.driver.mapping.Result; import com.datastax.driver.mapping.annotations.Accessor; 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.versioning.dao.VersionInfoDao; import org.openecomp.sdc.versioning.dao.types.VersionInfoEntity; import java.util.Collection; diff --git a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/store/ElementHandler.java b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/store/ElementHandler.java index 34e7d79001..548a8d989b 100644 --- a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/store/ElementHandler.java +++ b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/store/ElementHandler.java @@ -104,7 +104,7 @@ public class ElementHandler { private static Id getVersionId(String itemId, Version versionId) { VersionInfoEntity versionInfo = - MigrationMain.versionInfoMap.get(itemId); + MigrationMain.getVersionInfoMap().get(itemId); if (versionInfo == null) { return new Id(versionId.toString()); } @@ -121,7 +121,7 @@ public class ElementHandler { private static boolean isActiveVersion(String itemId, Version versionId) { VersionInfoEntity versionInfo = - MigrationMain.versionInfoMap.get(itemId); + MigrationMain.getVersionInfoMap().get(itemId); return versionInfo != null && versionInfo.getActiveVersion().equals(versionId); } diff --git a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/store/ItemHandler.java b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/store/ItemHandler.java index 97f5aaf265..801984ab24 100644 --- a/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/store/ItemHandler.java +++ b/openecomp-be/tools/migration/1702_to_1707_zusammen/src/main/java/org/openecomp/core/migration/store/ItemHandler.java @@ -94,7 +94,7 @@ public class ItemHandler { private static Id getVersionId(String itemId, Version versionId) { VersionInfoEntity versionInfo = - MigrationMain.versionInfoMap.get(itemId); + MigrationMain.getVersionInfoMap().get(itemId); if (versionInfo == null) { return new Id(versionId.toString()); } @@ -110,7 +110,7 @@ public class ItemHandler { } private static boolean isActiveVersion(String itemId, Version versionId) { VersionInfoEntity versionInfo = - MigrationMain.versionInfoMap.get(itemId); + MigrationMain.getVersionInfoMap().get(itemId); if (versionInfo == null) { return false; } diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ExportDataCommand.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ExportDataCommand.java index 685f70db98..487b4131e6 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ExportDataCommand.java +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ExportDataCommand.java @@ -1,5 +1,7 @@ package org.openecomp.core.tools.Commands; +import static java.nio.file.Files.createDirectories; + import com.amdocs.zusammen.datatypes.SessionContext; import org.apache.commons.io.FileUtils; import org.openecomp.core.tools.Commands.exportdata.ElementHandler; @@ -18,12 +20,8 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; import java.util.HashSet; -import java.util.List; import java.util.Set; - -import static java.nio.file.Files.createDirectories; public class ExportDataCommand { private static final Logger logger = LoggerFactory.getLogger(ExportDataCommand.class); @@ -45,7 +43,6 @@ public class ExportDataCommand { FileUtils.forceDelete(rootDir.toFile()); } catch (Exception ex) { logger.error(ex.getMessage(), ex); - ex.printStackTrace(); } } diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ImportCommand.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ImportCommand.java index 57486b81e3..cebff91160 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ImportCommand.java +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ImportCommand.java @@ -24,19 +24,21 @@ public class ImportCommand { if (zippedFile == null){ logger.error("Import must have a valid file as an input."); } - zippedFile = zippedFile.replaceAll("\\r", ""); - if(filterItem != null) { - filterItem = filterItem.replaceAll("\\r", ""); + if (zippedFile != null) { + zippedFile = zippedFile.replaceAll("\\r", ""); + if (filterItem != null) { + filterItem = filterItem.replaceAll("\\r", ""); + } + Path rootDir = Paths.get(ImportProperties.ROOT_DIRECTORY); + ExportDataCommand.initDir(rootDir); + ZipUtils.unzip(Paths.get(zippedFile), rootDir); + TreeWalker.walkFiles(context, rootDir, filterItem); + FileUtils.forceDelete(rootDir.toFile()); // clear all unzip data at the end. } - Path rootDir = Paths.get(ImportProperties.ROOT_DIRECTORY); - ExportDataCommand.initDir(rootDir); - ZipUtils.unzip(Paths.get(zippedFile), rootDir); - TreeWalker.walkFiles(context, rootDir, filterItem); - FileUtils.forceDelete(rootDir.toFile()); // clear all unzip data at the end. + } catch (Exception ex) { logger.error(ex.getMessage(), ex); - ex.printStackTrace(); } } diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ResetOldVersion.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ResetOldVersion.java index 7058c57e85..031d1328b5 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ResetOldVersion.java +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/ResetOldVersion.java @@ -16,9 +16,9 @@ import java.util.*; public class ResetOldVersion { - public static Map<String, List<String>> itemVersionMap = new HashMap<>(); + private static Map<String, List<String>> itemVersionMap = new HashMap<>(); - public static int count =0; + private static int count =0; public static void reset(SessionContext context, String oldVersion,String emptyOldVersion) { diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/ElementHandler.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/ElementHandler.java index 49eaaeaa76..e03b7ffa82 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/ElementHandler.java +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/ElementHandler.java @@ -94,7 +94,6 @@ public class ElementHandler { } catch (Exception ex) { logger.error(ex.getMessage(), ex); - ex.printStackTrace(); } } diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/ItemHandler.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/ItemHandler.java index 710b731f8b..ebbfb56ed0 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/ItemHandler.java +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/ItemHandler.java @@ -76,7 +76,6 @@ public class ItemHandler { write(itemFilePath, itemJson.getBytes()); } catch (Exception ex) { logger.error(ex.getMessage(), ex); - ex.printStackTrace(); } } diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/VersionHandler.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/VersionHandler.java index e8e703bff0..4ff562484c 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/VersionHandler.java +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/exportdata/VersionHandler.java @@ -51,7 +51,6 @@ public class VersionHandler { write(versionFilePath, versionJson.getBytes()); } catch (Exception ex) { logger.error(ex.getMessage(), ex); - ex.printStackTrace(); } } @@ -68,7 +67,6 @@ public class VersionHandler { } } catch (Exception ex) { logger.error(ex.getMessage(), ex); - ex.printStackTrace(); } } diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/ElementImport.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/ElementImport.java index d51458aff1..d439468e97 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/ElementImport.java +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/ElementImport.java @@ -91,7 +91,6 @@ public class ElementImport { versionCassandraLoader.insertElementToVersion(elementEntity); } catch (Exception ex) { logger.error(ex.getMessage(), ex); - ex.printStackTrace(); } } diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/ItemImport.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/ItemImport.java index 9ec5d639c2..4dd4a1f2c8 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/ItemImport.java +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/ItemImport.java @@ -25,7 +25,7 @@ public class ItemImport { return; } String itemJson = new String(Files.readAllBytes(itemPath)); - if (itemJson == null || itemJson.trim().isEmpty()) { + if (itemJson.trim().isEmpty()) { return; } Item item = JsonUtil.json2Object(itemJson, Item.class); @@ -35,7 +35,6 @@ public class ItemImport { System.out.println("Item Created :"+item.getInfo().getName()+" , "+item.getId()); } catch (Exception ex) { logger.error(ex.getMessage(), ex); - ex.printStackTrace(); } } diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/TreeWalker.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/TreeWalker.java index 15f8b02e2b..30c4152491 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/TreeWalker.java +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/TreeWalker.java @@ -4,14 +4,10 @@ import com.amdocs.zusammen.datatypes.SessionContext; import org.openecomp.sdc.logging.api.Logger; import org.openecomp.sdc.logging.api.LoggerFactory; -import javax.validation.constraints.Min; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; import java.util.stream.Stream; public class TreeWalker { diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/VersionImport.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/VersionImport.java index 8f6c67d212..48433d8a90 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/VersionImport.java +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/VersionImport.java @@ -26,7 +26,7 @@ public class VersionImport { return; } String versionJson = new String(Files.readAllBytes(versionPath)); - if (versionJson == null || versionJson.trim().isEmpty()) { + if (versionJson.trim().isEmpty()) { return; } VersionEntity versionEntity = JsonUtil.json2Object(versionJson, VersionEntity.class); diff --git a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/VersionInfoImport.java b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/VersionInfoImport.java index 5da7407c9f..e9d4174d6c 100644 --- a/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/VersionInfoImport.java +++ b/openecomp-be/tools/zusammen-tools/src/main/java/org/openecomp/core/tools/Commands/importdata/VersionInfoImport.java @@ -26,7 +26,7 @@ public class VersionInfoImport { return; } String versionInfoJson = new String(Files.readAllBytes(versionInfoFilePath)); - if (versionInfoJson == null || versionInfoJson.trim().isEmpty()) { + if (versionInfoJson.trim().isEmpty()) { return; } VersionInfoEntity versionInfoEntity = JsonUtil.json2Object(versionInfoJson, VersionInfoEntity.class); diff --git a/openecomp-ui/src/nfvo-components/input/inputOptions/InputOptions.jsx b/openecomp-ui/src/nfvo-components/input/inputOptions/InputOptions.jsx deleted file mode 100644 index e8aadc4357..0000000000 --- a/openecomp-ui/src/nfvo-components/input/inputOptions/InputOptions.jsx +++ /dev/null @@ -1,246 +0,0 @@ -/*! - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ -import React from 'react'; -import i18n from 'nfvo-utils/i18n/i18n.js'; -import classNames from 'classnames'; -import Select from 'nfvo-components/input/SelectInput.jsx'; - -export const other = {OTHER: 'Other'}; - -class InputOptions extends React.Component { - - static propTypes = { - values: React.PropTypes.arrayOf(React.PropTypes.shape({ - enum: React.PropTypes.string, - title: React.PropTypes.string - })), - isEnabledOther: React.PropTypes.bool, - label: React.PropTypes.string, - selectedValue: React.PropTypes.string, - multiSelectedEnum: React.PropTypes.oneOfType([ - React.PropTypes.string, - React.PropTypes.array - ]), - selectedEnum: React.PropTypes.string, - otherValue: React.PropTypes.string, - onEnumChange: React.PropTypes.func, - onOtherChange: React.PropTypes.func, - onBlur: React.PropTypes.func, - isRequired: React.PropTypes.bool, - isMultiSelect: React.PropTypes.bool, - hasError: React.PropTypes.bool, - disabled: React.PropTypes.bool - }; - - - static contextTypes = { - isReadOnlyMode: React.PropTypes.bool - }; - - state = { - otherInputDisabled: !this.props.otherValue - }; - - oldProps = { - selectedEnum: '', - otherValue: '', - multiSelectedEnum: [] - }; - - render() { - let {label, isRequired, values, otherValue, onOtherChange, isMultiSelect, onBlur, multiSelectedEnum, selectedEnum, hasError, validations, children} = this.props; - const dataTestId = this.props['data-test-id'] ? {'data-test-id': this.props['data-test-id']} : {}; - let currentMultiSelectedEnum = []; - let currentSelectedEnum = ''; - let {otherInputDisabled} = this.state; - if (isMultiSelect) { - currentMultiSelectedEnum = multiSelectedEnum; - if(!otherInputDisabled) { - currentSelectedEnum = multiSelectedEnum ? multiSelectedEnum.toString() : undefined; - } - } - else if(selectedEnum){ - currentSelectedEnum = selectedEnum; - } - if (!onBlur) { - onBlur = () => {}; - } - - let isReadOnlyMode = this.context.isReadOnlyMode; - - return( - <div className={classNames('form-group', {'required' : (validations && validations.required) || isRequired, 'has-error' : hasError})}> - {label && <label className='control-label'>{label}</label>} - {isMultiSelect && otherInputDisabled ? - <Select - {...dataTestId} - ref='_myInput' - value={currentMultiSelectedEnum} - className='options-input' - clearable={false} - required={isRequired} - disabled={isReadOnlyMode || Boolean(this.props.disabled)} - onBlur={() => onBlur()} - onMultiSelectChanged={value => this.multiSelectEnumChanged(value)} - options={this.renderMultiSelectOptions(values)} - multi/> : - <div className={classNames('input-options',{'has-error' : hasError})}> - <select - {...dataTestId} - ref={'_myInput'} - label={label} - className='form-control input-options-select' - value={currentSelectedEnum} - style={{'width' : otherInputDisabled ? '100%' : '100px'}} - onBlur={() => onBlur()} - disabled={isReadOnlyMode || Boolean(this.props.disabled)} - onChange={ value => this.enumChanged(value)} - type='select'> - {children || (values && values.length && values.map((val, index) => this.renderOptions(val, index)))} - {onOtherChange && <option key='other' value={other.OTHER}>{i18n(other.OTHER)}</option>} - </select> - - {!otherInputDisabled && <div className='input-options-separator'/>} - <input - className='form-control input-options-other' - placeholder={i18n('other')} - ref='_otherValue' - style={{'display' : otherInputDisabled ? 'none' : 'block'}} - disabled={isReadOnlyMode || Boolean(this.props.disabled)} - value={otherValue || ''} - onBlur={() => onBlur()} - onChange={() => this.changedOtherInput()}/> - </div> - } - </div> - ); - } - - renderOptions(val, index){ - return ( - <option key={index} value={val.enum}>{val.title}</option> - ); - } - - - renderMultiSelectOptions(values) { - let {onOtherChange} = this.props; - let optionsList = []; - if (onOtherChange) { - optionsList = values.map(option => { - return { - label: option.title, - value: option.enum, - }; - }).concat([{ - label: i18n(other.OTHER), - value: i18n(other.OTHER), - }]); - } - else { - optionsList = values.map(option => { - return { - label: option.title, - value: option.enum, - }; - }); - } - if (optionsList.length > 0 && optionsList[0].value === '') { - optionsList.shift(); - } - return optionsList; - } - - getValue() { - let res = ''; - let {isMultiSelect} = this.props; - let {otherInputDisabled} = this.state; - - if (otherInputDisabled) { - res = isMultiSelect ? this.refs._myInput.getValue() : this.refs._myInput.value; - } else { - res = this.refs._otherValue.value; - } - return res; - } - - enumChanged() { - let enumValue = this.refs._myInput.value; - let {onEnumChange, onOtherChange, isMultiSelect, onChange} = this.props; - this.setState({ - otherInputDisabled: !Boolean(onOtherChange) || enumValue !== other.OTHER - }); - - let value = isMultiSelect ? [enumValue] : enumValue; - if (onEnumChange) { - onEnumChange(value); - } - if (onChange) { - onChange(value); - } - } - - multiSelectEnumChanged(enumValue) { - let {onEnumChange, onOtherChange} = this.props; - let selectedValues = enumValue.map(enumVal => { - return enumVal.value; - }); - - if (this.state.otherInputDisabled === false) { - selectedValues.shift(); - } - else if (selectedValues.includes(i18n(other.OTHER))) { - selectedValues = [i18n(other.OTHER)]; - } - - this.setState({ - otherInputDisabled: !Boolean(onOtherChange) || !selectedValues.includes(i18n(other.OTHER)) - }); - onEnumChange(selectedValues); - } - - changedOtherInput() { - let {onOtherChange} = this.props; - onOtherChange(this.refs._otherValue.value); - } - - componentDidUpdate() { - let {otherValue, selectedEnum, onInputChange, multiSelectedEnum} = this.props; - if (this.oldProps.otherValue !== otherValue - || this.oldProps.selectedEnum !== selectedEnum - || this.oldProps.multiSelectedEnum !== multiSelectedEnum) { - this.oldProps = { - otherValue, - selectedEnum, - multiSelectedEnum - }; - onInputChange(); - } - } - - static getTitleByName(values, name) { - for (let key of Object.keys(values)) { - let option = values[key].find(option => option.enum === name); - if (option) { - return option.title; - } - } - return name; - } - -} - -export default InputOptions; diff --git a/openecomp-ui/src/nfvo-utils/Validator.js b/openecomp-ui/src/nfvo-utils/Validator.js index 1df82a2ada..3f6a00e289 100644 --- a/openecomp-ui/src/nfvo-utils/Validator.js +++ b/openecomp-ui/src/nfvo-utils/Validator.js @@ -46,7 +46,25 @@ class Validator { email: value => ValidatorJS.isEmail(value), ip: value => ValidatorJS.isIP(value), url: value => ValidatorJS.isURL(value), - alphanumericWithUnderscores: value => ValidatorJS.isAlphanumeric(value.replace(/_/g, '')) + alphanumericWithUnderscores: value => ValidatorJS.isAlphanumeric(value.replace(/_/g, '')), + requiredChoiceWithOther: (value, otherValue) => { + let chosen = value.choice; + // if we have an empty multiple select we have a problem since it's required + let validationFunc = this.globalValidationFunctions['required']; + if (value.choices) { + if (value.choices.length === 0) { + return false; + } else { + // continuing validation with the first chosen value in case we have the 'Other' field + chosen = value.choices[0]; + } + } + if (chosen !== otherValue) { + return validationFunc(chosen, true); + } else { // when 'Other' was chosen, validate other value + return validationFunc(value.other, true); + } + } }; } @@ -54,6 +72,7 @@ class Validator { return { required: () => i18n('Field is required'), requiredChooseOption: () => i18n('Field should have one of these options'), + requiredChoiceWithOther: () => i18n('Field is required'), maxLength: (value, maxLength) => i18n('Field value has exceeded it\'s limit, {maxLength}. current length: {length}', { length: value.length, maxLength diff --git a/openecomp-ui/src/sdc-app/common/reducers/PlainDataReducer.js b/openecomp-ui/src/sdc-app/common/reducers/PlainDataReducer.js index 2276984f7a..49f1e3d415 100644 --- a/openecomp-ui/src/sdc-app/common/reducers/PlainDataReducer.js +++ b/openecomp-ui/src/sdc-app/common/reducers/PlainDataReducer.js @@ -16,7 +16,7 @@ import {actionTypes} from './PlainDataReducerConstants.js'; import Validator from 'nfvo-utils/Validator.js'; import forOwn from 'lodash/forOwn.js'; -import {other as optionInputOther} from 'nfvo-components/input/inputOptions/InputOptions.jsx'; +import {other as optionInputOther} from 'nfvo-components/input/validation/InputOptions.jsx'; function updateDataAndValidateReducer(state = {}, action) { let genericFieldInfoCopy; diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorReducer.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorReducer.js index 5be140550a..9cff2792ff 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorReducer.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorReducer.js @@ -14,6 +14,7 @@ * permissions and limitations under the License. */ import {actionTypes, defaultState, LA_EDITOR_FORM, enums as LicenseAgreementEnums} from './LicenseAgreementConstants.js'; +import {other as optionInputOther} from 'nfvo-components/input/validation/InputOptions.jsx'; export default (state = {}, action) => { switch (action.type) { @@ -38,7 +39,7 @@ export default (state = {}, action) => { 'licenseTerm' : { isValid: true, errorText: '', - validations: [{type: 'required', data: true}], + validations: [{type: 'required', data: true}, {type: 'requiredChoiceWithOther', data: optionInputOther.OTHER}], tabId: LicenseAgreementEnums.SELECTED_LICENSE_AGREEMENT_TAB.GENERAL }, 'name' : { diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx index a15e5daa4e..0b418686fd 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx @@ -21,9 +21,11 @@ import {TabsForm as Form} from 'nfvo-components/input/validation/Form.jsx'; import Tabs from 'nfvo-components/input/validation/Tabs.jsx'; import Tab from 'sdc-ui/lib/react/Tab.js'; import Input from 'nfvo-components/input/validation/Input.jsx'; +import InputOptions from 'nfvo-components/input/validation/InputOptions.jsx'; import DualListboxView from 'nfvo-components/input/dualListbox/DualListboxView.jsx'; import i18n from 'nfvo-utils/i18n/i18n.js'; import Validator from 'nfvo-utils/Validator.js'; +import {other as optionInputOther} from 'nfvo-components/input/validation/InputOptions.jsx'; import {enums as LicenseAgreementEnums, optionsInputValues as LicenseAgreementOptionsInputValues, LA_EDITOR_FORM} from './LicenseAgreementConstants.js'; @@ -43,7 +45,7 @@ const LicenseAgreementPropType = React.PropTypes.shape({ }); -const GeneralTabContent = ({data, genericFieldInfo, onDataChanged, validateName, validateLTChoice}) => { +const GeneralTabContent = ({data, genericFieldInfo, onDataChanged, validateName}) => { let {name, description, requirementsAndConstrains, licenseTerm} = data; return ( <GridSection> @@ -67,24 +69,22 @@ const GeneralTabContent = ({data, genericFieldInfo, onDataChanged, validateName, data-test-id='create-la-requirements-constants' name='license-agreement-requirements-and-constraints' type='textarea'/> - <Input + <InputOptions + onInputChange={()=>{}} + isMultiSelect={false} + onEnumChange={licenseTerm => onDataChanged({licenseTerm:{choice: licenseTerm, other: ''}}, + LA_EDITOR_FORM)} + onOtherChange={licenseTerm => onDataChanged({licenseTerm:{choice: optionInputOther.OTHER, + other: licenseTerm}}, LA_EDITOR_FORM)} label={i18n('License Term')} - type='select' - value={licenseTerm && licenseTerm.choice} + data-test-id='create-la-license-term' isRequired={true} - onChange={e => { - const selectedIndex = e.target.selectedIndex; - const licenseTerm = e.target.options[selectedIndex].value; - onDataChanged({licenseTerm:{choice: licenseTerm, other: ''}}, LA_EDITOR_FORM, { licenseTerm: validateLTChoice }); - }} + type='select' + selectedEnum={licenseTerm && licenseTerm.choice} + otherValue={licenseTerm && licenseTerm.other} + values={LicenseAgreementOptionsInputValues.LICENSE_MODEL_TYPE} isValid={genericFieldInfo.licenseTerm.isValid} - errorText={genericFieldInfo.licenseTerm.errorText} - className='input-options-select' - groupClassName='bootstrap-input-options' - data-test-id='create-la-license-term' > - {LicenseAgreementOptionsInputValues.LICENSE_MODEL_TYPE.map(mtype => - <option key={mtype.enum} value={mtype.enum}>{`${mtype.title}`}</option>)} - </Input> + errorText={genericFieldInfo.licenseTerm.errorText} /> </GridItem> <GridItem colSpan={2} stretch> <Input @@ -151,7 +151,7 @@ class LicenseAgreementEditorView extends React.Component { data-test-id='general-tab' title={i18n('General')}> <fieldset disabled={isReadOnlyMode}> - <GeneralTabContent data={data} genericFieldInfo={genericFieldInfo} onDataChanged={onDataChanged} validateLTChoice={(value)=>this.validateLTChoice(value)} + <GeneralTabContent data={data} genericFieldInfo={genericFieldInfo} onDataChanged={onDataChanged} validateName={(value)=>this.validateName(value)}/> </fieldset> </Tab> @@ -181,12 +181,6 @@ class LicenseAgreementEditorView extends React.Component { this.props.onSubmit({licenseAgreement, previousLicenseAgreement}); } - validateLTChoice(value) { - if (!value.choice) { - return {isValid: false, errorText: i18n('Field is required')}; - } - return {isValid: true, errorText: ''}; - } validateName(value) { const {data: {id}, LANames} = this.props; diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditor.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditor.jsx index 5c4e50d673..d4b7e5c898 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditor.jsx +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditor.jsx @@ -7,7 +7,7 @@ import GridItem from 'nfvo-components/grid/GridItem.jsx'; import {LIMITS_FORM_NAME, selectValues} from './LimitEditorConstants.js'; import Button from 'sdc-ui/lib/react/Button.js'; import Validator from 'nfvo-utils/Validator.js'; -import {other as optionInputOther} from 'nfvo-components/input/inputOptions/InputOptions.jsx'; +import {other as optionInputOther} from 'nfvo-components/input/validation/InputOptions.jsx'; import InputOptions from 'nfvo-components/input/validation/InputOptions.jsx'; const LimitPropType = React.PropTypes.shape({ @@ -96,9 +96,9 @@ class LimitEditor extends React.Component { isMultiSelect={false} isRequired={true} onEnumChange={metric => onDataChanged({metric:{choice: metric, other: ''}}, - LIMITS_FORM_NAME, {metric: this.validateChoiceWithOther})} + LIMITS_FORM_NAME)} onOtherChange={metric => onDataChanged({metric:{choice: optionInputOther.OTHER, - other: metric}}, LIMITS_FORM_NAME, {metric: this.validateChoiceWithOther})} + other: metric}}, LIMITS_FORM_NAME)} label={i18n('Metric')} data-test-id='limit-editor-metric' type='select' @@ -196,23 +196,6 @@ class LimitEditor extends React.Component { {isValid: false, errorText: i18n('Limit by the name \'' + value + '\' already exists. Limit name must be unique')}; } - validateChoiceWithOther(value) { - let chosen = value.choice; - // if we have an empty multiple select we have a problem since it's required - if (value.choices) { - if (value.choices.length === 0) { - return Validator.validate('field', '', [{type: 'required', data: true}]); - } else { - // continuing validation with the first chosen value in case we have the 'Other' field - chosen = value.choices[0]; - } - } - if (chosen !== optionInputOther.OTHER) { - return Validator.validate('field', chosen, [{type: 'required', data: true}]); - } else { // when 'Other' was chosen, validate other value - return Validator.validate('field', value.other, [{type: 'required', data: true}]); - } - } submit() { if (!this.props.formReady) { diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditorReducer.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditorReducer.js index de9e7c8c38..99d94a09cc 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditorReducer.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/limits/LimitEditorReducer.js @@ -15,6 +15,7 @@ */ import {actionTypes, LIMITS_FORM_NAME, defaultState} from './LimitEditorConstants.js'; +import {other as optionInputOther} from 'nfvo-components/input/validation/InputOptions.jsx'; export default (state = {}, action) => { switch (action.type) { @@ -38,7 +39,7 @@ export default (state = {}, action) => { 'metric' : { isValid: true, errorText: '', - validations: [] + validations: [{type: 'required', data: true}, {type: 'requiredChoiceWithOther', data: optionInputOther.OTHER}] }, 'value' : { isValid: true, @@ -398,6 +398,7 @@ <activeByDefault>false</activeByDefault> </activation> <modules> + <module>build-tools</module> <module>onboarding</module> </modules> </profile> |