diff options
Diffstat (limited to 'common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core')
83 files changed, 25222 insertions, 0 deletions
diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/pom.xml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/pom.xml new file mode 100644 index 0000000000..70dd0107ad --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/pom.xml @@ -0,0 +1,125 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <name>openecomp-sdc-artifact-generator-core</name> + <groupId>org.openecomp.sdc.common</groupId> + <artifactId>openecomp-sdc-artifact-generator-core</artifactId> + + <parent> + <artifactId>openecomp-common-lib</artifactId> + <groupId>org.openecomp.sdc.common</groupId> + <version>1.1.0-SNAPSHOT</version> + <relativePath>../../</relativePath> + </parent> + + <dependencies> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>1.7.10</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>${logback.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + <version>${logback.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.dataformat</groupId> + <artifactId>jackson-dataformat-yaml</artifactId> + <version>${jackson.version}</version> + </dependency> + <dependency> + <groupId>commons-codec</groupId> + <artifactId>commons-codec</artifactId> + <version>${commons.codec.version}</version> + </dependency> + <dependency> + <groupId>org.openecomp.sdc.common</groupId> + <artifactId>openecomp-logging-api</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.openecomp.sdc.common</groupId> + <artifactId>openecomp-logging-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.openecomp.sdc.common</groupId> + <artifactId>openecomp-sdc-artifact-generator-api</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.testng</groupId> + <artifactId>testng</artifactId> + <scope>test</scope> + <version>6.8.5</version> + </dependency> + <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + <version>RELEASE</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.reflections</groupId> + <artifactId>reflections</artifactId> + <version>${org.reflections.version}</version> + </dependency> + </dependencies> + <build> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>${mvn.surefire.version}</version> + <configuration> + <systemPropertyVariables> + <artifactgenerator.config>${project.basedir}/src/test/resources/config/Artifact-Generator.properties</artifactgenerator.config> + </systemPropertyVariables> + </configuration> + </plugin> + + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>aspectj-maven-plugin</artifactId> + <version>1.8</version> + <!-- new configuration is here --> + <configuration> + <complianceLevel>1.8</complianceLevel> + <source>1.8</source> + <target>1.8</target> + </configuration> + <executions> + <execution> + <goals> + <goal>compile</goal> + <goal>test-compile</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </pluginManagement> + + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>aspectj-maven-plugin</artifactId> + </plugin> + </plugins> + </build> +</project> diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/GeneratorManager.java b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/GeneratorManager.java new file mode 100644 index 0000000000..2d50826dee --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/GeneratorManager.java @@ -0,0 +1,91 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.generator; + +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_ERROR_INVALID_CLIENT_CONFIGURATION; +import static org.openecomp.sdc.generator.util.ArtifactGeneratorUtil.logError; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.openecomp.core.logging.api.Logger; +import org.openecomp.core.logging.api.LoggerFactory; +import org.openecomp.sdc.generator.data.ArtifactType; +import org.openecomp.sdc.generator.data.GeneratorConfiguration; +import org.openecomp.sdc.generator.intf.ArtifactGenerator; +import org.openecomp.sdc.generator.intf.Generator; +import org.reflections.Reflections; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +public class GeneratorManager { + + private static Logger log = LoggerFactory.getLogger(GeneratorManager.class.getName()); + private static Map<ArtifactType, ArtifactGenerator> generators = new HashMap<>(); + + /** + * Gets active artifact generators. + * + * @param clientConfiguration the client configuration + * @return the active artifact generators + * @throws Exception the exception + */ + public static List<ArtifactGenerator> getActiveArtifactGenerators(String clientConfiguration) + throws Exception { + + if (generators.isEmpty()) { + log.debug("Getting list of active generators"); + Reflections reflections = new Reflections("org.openecomp.sdc.generator"); + Set<Class<?>> annotated = reflections.getTypesAnnotatedWith(Generator.class); + for (Class<?> clazz : annotated) { + Generator generator = clazz.getAnnotation(Generator.class); + generators.put(generator.artifactType(), (ArtifactGenerator) clazz.newInstance()); + } + } + + log.debug("Parsing generator configuration from the client configuration : " + + clientConfiguration); + GeneratorConfiguration gf = getGeneratorConfiguration(clientConfiguration); + List<ArtifactGenerator> generatorList = new ArrayList<>(); + if (gf.getArtifactTypes() != null && !gf.getArtifactTypes().isEmpty()) { + for (ArtifactType type : gf.getArtifactTypes()) { + if (generators.get(type) != null) { + generatorList.add(generators.get(type)); + } + } + } + + return generatorList; + } + + private static GeneratorConfiguration getGeneratorConfiguration(String jsonConfiguration) { + try { + return new ObjectMapper().readValue(jsonConfiguration, GeneratorConfiguration.class); + } catch (Exception exception) { + logError(GENERATOR_ERROR_INVALID_CLIENT_CONFIGURATION, exception); + throw new IllegalArgumentException( + GENERATOR_ERROR_INVALID_CLIENT_CONFIGURATION, exception); + } + } + +} diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/GeneratorTask.java b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/GeneratorTask.java new file mode 100644 index 0000000000..beb8f2d576 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/GeneratorTask.java @@ -0,0 +1,74 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.generator; + +import org.openecomp.core.logging.api.Logger; +import org.openecomp.core.logging.api.LoggerFactory; +import org.openecomp.sdc.generator.data.Artifact; +import org.openecomp.sdc.generator.data.GenerationData; +import org.openecomp.sdc.generator.intf.ArtifactGenerator; + +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.RecursiveTask; + +public class GeneratorTask extends RecursiveTask<GenerationData> { + + private static Logger log = LoggerFactory.getLogger(GeneratorTask.class.getName()); + + List<Artifact> input; + List<ArtifactGenerator> generators; + Map<String, String> additionalParams; + + /** + * Instantiates a new Generator task. + * + * @param generators the generators + * @param input the input + * @param additionalParams the additional params + */ + public GeneratorTask(List<ArtifactGenerator> generators, List<Artifact> input, + Map<String, String> additionalParams ) { + this.input = input; + this.generators = generators; + this.additionalParams = additionalParams; + } + + @Override + protected GenerationData compute() { + if (generators.size() == 1) { + log.debug("Instantiating Generator : " + generators.get(0).getClass().getName()); + return generators.remove(0).generateArtifact(input, additionalParams); + } else { + LinkedList<ArtifactGenerator> generator = new LinkedList<>(); + generator.add(generators.remove(0)); + GeneratorTask tobeDone = new GeneratorTask(generator, input, additionalParams); + GeneratorTask tobeForked = + new GeneratorTask(new LinkedList<ArtifactGenerator>(generators), input, additionalParams); + tobeForked.fork(); + GenerationData output = tobeDone.compute(); + output.add(tobeForked.join()); + return output; + } + } + +} diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/MockArtifactGenerator.java b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/MockArtifactGenerator.java new file mode 100644 index 0000000000..78241a29ad --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/MockArtifactGenerator.java @@ -0,0 +1,81 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.generator; + +import org.openecomp.sdc.generator.data.Artifact; +import org.openecomp.sdc.generator.data.ArtifactType; +import org.openecomp.sdc.generator.data.GenerationData; +import org.openecomp.sdc.generator.data.GeneratorUtil; +import org.openecomp.sdc.generator.data.GroupType; +import org.openecomp.sdc.generator.intf.ArtifactGenerator; +import org.openecomp.sdc.generator.intf.Generator; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +@Generator(artifactType = ArtifactType.OTHER) +public class MockArtifactGenerator implements ArtifactGenerator { + + @Override + public GenerationData generateArtifact(List<Artifact> input, + Map<String, String> additionalParams) { + final GenerationData data = new GenerationData(); + + String staticArtifactName = "MOCK_Generator-Static-Artifact.xml"; + String staticArtifactLabel = "MOCK-Generator-Static-Artifact"; + final String dynamicArtifactName = "MOCK_Generator-Dynamic-Artifact.xml"; + final String dynamicArtifactLabel = "MOCK-Generator-Dynamic-Artifact"; + String staticArtifact = getStaticArtifact(); + String dynamicArtifact = getDynamicArtifact(); + + Artifact staticArtifactModel = new Artifact(ArtifactType.OTHER.name(), GroupType.OTHER.name(), + GeneratorUtil.checkSum(staticArtifact.getBytes()), + GeneratorUtil.encode(staticArtifact.getBytes())); + staticArtifactModel.setName(staticArtifactName); + staticArtifactModel.setLabel(staticArtifactLabel); + staticArtifactModel.setDescription("Mock Generator"); + + Artifact dynamicArtifactModel = new Artifact(ArtifactType.OTHER.name(), GroupType.OTHER.name(), + GeneratorUtil.checkSum(dynamicArtifact.getBytes()), + GeneratorUtil.encode(dynamicArtifact.getBytes())); + dynamicArtifactModel.setName(dynamicArtifactName); + dynamicArtifactModel.setLabel(dynamicArtifactLabel); + dynamicArtifactModel.setDescription("Mock Generator"); + + data.add(staticArtifactModel); + data.add(dynamicArtifactModel); + + return data; + + } + + private String getStaticArtifact() { + return "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><theObj><name>Hi I'm Static</name></theObj>"; + } + + private String getDynamicArtifact() { + return + "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><theObj><name>Hi I'm Static</name><timestamp>" + + new Date() + "</timestamp></theObj>"; + } + +} diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aai/AaiArtifactGenerator.java b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aai/AaiArtifactGenerator.java new file mode 100644 index 0000000000..552e11e91d --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aai/AaiArtifactGenerator.java @@ -0,0 +1,687 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.generator.aai; + +import static org.openecomp.sdc.generator.data.GeneratorConstants.ARTIFACT_MODEL_INFO; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_CONFIGFILE_NOT_FOUND; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_CONFIGLOCATION_NOT_FOUND; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_PROVIDING_SERVICE_METADATA_MISSING; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_PROVIDING_SERVICE_MISSING; +import static org.openecomp.sdc.generator.data.GeneratorConstants.ID_LENGTH; +import static org.openecomp.sdc.generator.util.ArtifactGeneratorUtil.logError; + +import org.openecomp.core.logging.api.Logger; +import org.openecomp.core.logging.api.LoggerFactory; +import org.openecomp.sdc.generator.aai.model.AllotedResource; +import org.openecomp.sdc.generator.aai.model.ProvidingService; +import org.openecomp.sdc.generator.aai.model.L3NetworkWidget; +import org.openecomp.sdc.generator.aai.model.Model; +import org.openecomp.sdc.generator.aai.model.Resource; +import org.openecomp.sdc.generator.aai.model.Service; +import org.openecomp.sdc.generator.aai.model.TunnelXconnectWidget; +import org.openecomp.sdc.generator.aai.model.VfModule; +import org.openecomp.sdc.generator.aai.model.Widget; +import org.openecomp.sdc.generator.aai.tosca.GroupDefinition; +import org.openecomp.sdc.generator.aai.tosca.NodeTemplate; +import org.openecomp.sdc.generator.aai.tosca.ToscaTemplate; +import org.openecomp.sdc.generator.aai.types.ModelType; +import org.openecomp.sdc.generator.data.AdditionalParams; +import org.openecomp.sdc.generator.data.Artifact; +import org.openecomp.sdc.generator.data.ArtifactType; +import org.openecomp.sdc.generator.data.GenerationData; +import org.openecomp.sdc.generator.data.GeneratorConstants; +import org.openecomp.sdc.generator.data.GeneratorUtil; +import org.openecomp.sdc.generator.data.GroupType; +import org.openecomp.sdc.generator.data.WidgetConfigurationUtil; +import org.openecomp.sdc.generator.intf.ArtifactGenerator; +import org.openecomp.sdc.generator.intf.Generator; +import org.openecomp.sdc.generator.logging.annotations.Audit; +import org.openecomp.sdc.generator.util.ArtifactGeneratorUtil; +import org.slf4j.MDC; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; + +@Generator(artifactType = ArtifactType.AAI) +public class AaiArtifactGenerator implements ArtifactGenerator { + + private static Logger log = LoggerFactory.getLogger(AaiArtifactGenerator.class.getName()); + + /** + * Implementation of the method to generate AAI artifacts. + * + * @param input List of input tosca files + * @return Translated/Error data as a {@link GenerationData} object + */ + @Override + @Audit + public GenerationData generateArtifact(List<Artifact> input, + Map<String, String> additionalParams) { + try { + if (input != null && input.size() != 0 ) { + ArtifactGeneratorUtil.initializeArtifactLoggingContext(input.get(0)); + } + initWidgetConfiguration(); + return generateArtifactInternal(input, additionalParams); + } catch (Exception exception) { + logError(exception.getMessage(), exception); + GenerationData generationData = new GenerationData(); + generationData.add(ArtifactType.AAI.name(), exception.getMessage()); + return generationData; + } + } + + /** + * Helper method to generate AAI artifacts. + * + * @param input List of input tosca files + * @return Translated/Error data as a {@link GenerationData} object + */ + private GenerationData generateArtifactInternal(List<Artifact> input, + Map<String, String> additionalParams) { + final GenerationData generationData = new GenerationData(); + + List<Resource> resources = new LinkedList<>(); + Map<String, String> idTypeStore = new HashMap<>(); + Map<String, String> resourcesVersion = new HashMap<>(); + + List<ToscaTemplate> toscas = new LinkedList<>(); + + String serviceVersion = additionalParams.get(AdditionalParams.ServiceVersion.getName()); + if (serviceVersion == null) { + throw new IllegalArgumentException(GeneratorConstants + .GENERATOR_AAI_ERROR_MISSING_SERVICE_VERSION); + } else { + String versionRegex = "^[1-9]\\d*(\\.0)$"; + if (! (serviceVersion.matches(versionRegex))) { + throw new IllegalArgumentException(String + .format(GeneratorConstants + .GENERATOR_AAI_INVALID_SERVICE_VERSION)); + } + } + + for (Artifact inputArtifact : input) { + ToscaTemplate tosca = getToscaModel(inputArtifact, serviceVersion); + validateTosca(tosca, inputArtifact); + ToscaTemplate processedTosca = preProcessingTosca(tosca); + toscas.add(processedTosca); + } + + //Get the service tosca from the list of artifacts + ToscaTemplate serviceTosca = getServiceTosca(toscas); + if (serviceTosca == null) { + throw new IllegalArgumentException(GeneratorConstants + .GENERATOR_AAI_ERROR_MISSING_SERVICE_TOSCA); + } + + Service service = new Service(); + //Populate basic service model metadata + service.populateModelIdentificationInformation(serviceTosca.getMetadata()); + + if (serviceTosca.getTopology_template() != null + && serviceTosca.getTopology_template().getNode_templates() != null) { + processServiceTosca(service, idTypeStore,resourcesVersion, serviceTosca,resources); + } + validateResourceToscaAgainstService(idTypeStore, toscas); + + //Process the resource tosca files + int counter = 0; + List<Resource> currentToscaResources = new LinkedList<>(); + while (toscas.size() > 0) { + ToscaTemplate resourceTemplate = toscas.remove(0); + String resourceUuId = resourceTemplate.getMetadata().get("UUID"); + String mapValue = idTypeStore.get(resourceUuId); + if (mapValue == null) { + log.warn( + "Additional tosca file found with resource version id : " + + resourceUuId); + break; + } + //update resource version with version from service tosca + String resourceVersion = resourcesVersion.get(resourceUuId); + resourceTemplate.getMetadata().put("version", resourceVersion); + Model model = Model.getModelFor(idTypeStore.get(resourceTemplate.getModelVersionId())); + + log.debug("Inside Resource artifact generation for resource"); + model.populateModelIdentificationInformation( + resourceTemplate.getMetadata()); //Get base resource metadata information + //Found model from the type store so removing the same + idTypeStore.remove(model.getModelNameVersionId()); + if (resourceTemplate.getTopology_template() != null + && resourceTemplate.getTopology_template().getNode_templates() != null) { + processVfTosca(idTypeStore, resourceTemplate, model); + } + + //Process group information from tosca for vfModules + if (resourceTemplate.getTopology_template() != null + && resourceTemplate.getTopology_template().getGroups() != null) { + processVfModule(resources, currentToscaResources, resourceTemplate, model); + } else { + model.getWidgets().clear(); + } + + if ("Tunnel XConnect".equals(resourceTemplate.getMetadata().get("subcategory")) + && "Allotted Resource".equals(resourceTemplate.getMetadata().get("category"))) { + model.addWidget(new TunnelXconnectWidget()); + } + + resources.add((Resource) model); + currentToscaResources + .clear(); //Clearing the current tosca resource list for the next iteration + counter = 0; + } + + AaiModelGenerator modelGenerator = AaiModelGenerator.getInstance(); + //Generate AAI XML service model + MDC.put(ARTIFACT_MODEL_INFO , service.getModelName() + "," + getArtifactLabel(service)); + String aaiServiceModel = modelGenerator.generateModelFor(service); + generationData.add(getServiceArtifact(service, aaiServiceModel)); + + //Generate AAI XML resource model + for (Resource res : resources) { + MDC.put(ARTIFACT_MODEL_INFO , res.getModelName() + "," + getArtifactLabel(res)); + String aaiResourceModel = modelGenerator.generateModelFor(res); + generationData.add(getResourceArtifact(res, aaiResourceModel)); + } + + //Resetting logging parameters since they get overridden while writing metrics logs + // recursively for service, resource and widgets. + if (input != null && input.size() != 0 ) { + ArtifactGeneratorUtil.initializeArtifactLoggingContext(input.get(0)); + } + + return generationData; + } + + private void validateResourceToscaAgainstService(Map<String, String> idTypeStore, + List<ToscaTemplate> toscas) { + Iterator entries = idTypeStore.entrySet().iterator(); + while (entries.hasNext()) { + Map.Entry entry = (Map.Entry) entries.next(); + String resourceUuidFromService = (String)entry.getKey(); + Iterator<ToscaTemplate> itr = toscas.iterator(); + boolean toscaFound = false; + while (itr.hasNext()) { + ToscaTemplate toscaTemplate = itr.next(); + String resourceUuId = toscaTemplate.getMetadata().get("UUID"); + if (resourceUuidFromService.equals(resourceUuId)) { + toscaFound = true; + break; + } + } + if (toscaFound == false) { + throw new IllegalArgumentException(String + .format(GeneratorConstants.GENERATOR_AAI_ERROR_MISSING_RESOURCE_TOSCA, + resourceUuidFromService)); + } + } + + } + + private ToscaTemplate preProcessingTosca(ToscaTemplate tosca) { + ToscaTemplate processedTosca = tosca; + if (tosca.getTopology_template() != null + && tosca.getTopology_template().getNode_templates() != null) { + Collection<NodeTemplate> coll = + processedTosca.getTopology_template().getNode_templates().values(); + for (NodeTemplate node : coll) { + + if (node.getType().contains("org.openecomp.resource.vf.") && node.getMetadata().get("category") + .equals("Allotted Resource")) { + node.setType("org.openecomp.resource.vf.allottedResource"); + } + if (node.getType().contains("org.openecomp.resource.vfc.") && node.getMetadata().get + ("category") + .equals("Allotted Resource")) { + node.setType("org.openecomp.resource.vfc.AllottedResource"); + } + } + } + return processedTosca; + } + + private void processVfTosca(Map<String, String> idTypeStore, ToscaTemplate resourceTemplate, + Model model) { + Set<String> keys = resourceTemplate.getTopology_template().getNode_templates().keySet(); + boolean flag = false; + for (String key : keys) { + NodeTemplate node = resourceTemplate.getTopology_template().getNode_templates().get(key); + Model resourceNode = Model.getModelFor(node.getType()); + if (resourceNode != null) { + if (resourceNode instanceof ProvidingService) { + flag = true; + Map<String, String> properties = new HashMap<>(); + Map<String, Object> nodeProperties = node.getProperties(); + if (nodeProperties.get("providing_service_uuid") == null || nodeProperties.get( + "providing_service_invariant_uuid") == null) { + throw new IllegalArgumentException(String.format( + GENERATOR_AAI_PROVIDING_SERVICE_METADATA_MISSING + , model.getModelId())); + } + for (String key1 : nodeProperties.keySet()) { + if (nodeProperties.get(key1) instanceof String) { + properties.put(key1, nodeProperties.get(key1).toString()); + } + } + properties.put("version","1.0"); + resourceNode.populateModelIdentificationInformation(properties); + model.addResource((Resource) resourceNode); + } else if (resourceNode instanceof Resource && !(resourceNode.getWidgetType().equals( + Widget.Type + .L3_NET))) { + //resourceNode.populateModelIdentificationInformation(node.getMetadata()); + idTypeStore.put(resourceNode.getModelNameVersionId(), node.getType()); + model.addResource((Resource) resourceNode); + } + } + } + if(model instanceof AllotedResource){ + if(!flag) { + throw new IllegalArgumentException(String.format(GENERATOR_AAI_PROVIDING_SERVICE_MISSING, + model.getModelId())); + } + } + } + + /* private void vfWarnScenario(Map<String, String> idTypeStore, ToscaTemplate resourceTemplate) { + if (idTypeStore.size() == 0) { + //Log message for extra model file + log.warn( + "Additional tosca file found with resource version id : " + + resourceTemplate.getModelVersionId()); + } else { + //Log message for missing model files.. Replace with logger statement + log.warn("Service-Resource Tosca mapping not found for : " + + idTypeStore.keySet().toString()); + } + return; + }*/ + + private void processVfModule(List<Resource> resources, List<Resource> currentToscaResources, + ToscaTemplate resourceTemplate, Model model) { + log.debug("Inside Resource artifact generation for group/vfModule"); + Collection<GroupDefinition> groups = + resourceTemplate.getTopology_template().getGroups().values(); + Set<String> nodeNameListForGroups = new HashSet<>(); + for (GroupDefinition gd : groups) { + Model group = Model.getModelFor(gd.getType()); + if (group != null) { + group.populateModelIdentificationInformation(gd.getMetadata()); + Map<String, String> properties = new HashMap<>(); + Map<String, Object> groupProperties = gd.getProperties(); + for (String key : groupProperties.keySet()) { + if (groupProperties.get(key) instanceof String) { + properties.put(key, groupProperties.get(key).toString()); + } + } + group.populateModelIdentificationInformation(properties); + if (group instanceof VfModule && !currentToscaResources.contains(group)) { + if (gd.getMembers() != null && !gd.getMembers().isEmpty()) { + Set<String> groupMembers = new HashSet<>(); + ((VfModule) group).setMembers(gd.getMembers()); + nodeNameListForGroups.addAll(gd.getMembers()); + groupMembers.addAll(gd.getMembers()); + + for (String member : groupMembers) { + NodeTemplate node = + resourceTemplate.getTopology_template().getNode_templates().get(member); + if (node != null) { + Model resourceNode = null; + //L3-network inside vf-module to be generated as Widget a special handling. + if (node.getType().contains("org.openecomp.resource.vl")) { + resourceNode = new L3NetworkWidget(); + } else { + resourceNode = Model.getModelFor(node.getType()); + } + if (resourceNode != null) { + if (!(resourceNode instanceof Resource)) { + Widget widget = (Widget) resourceNode; + widget.addKey(member); + //Add the widget element encountered + // in the resource tosca in the resource model + boolean isAdded = group.addWidget(widget); + + //Add only widgets which are members of vf module and remove others + if (isAdded) { + model.addWidget(widget); + } + } + } + } + } + } + + model.addResource((Resource) group); //Added group (VfModule) to the (VF) model + currentToscaResources + .add((Resource) group); //Adding the VfModule group to file specific resources + //Check if we have already encountered the same VfModule across all the artifacts + if (!resources.contains(group)) { + resources.add((Resource) group); + } + } + } + } + + Iterator<Widget> iter = model.getWidgets().iterator(); + while (iter.hasNext()) { + if (iter.next().allInstancesUsed(nodeNameListForGroups) || true) { + iter.remove(); + } + } + } + + private void processServiceTosca(Service service, Map<String, String> idTypeStore,Map<String, + String> resourcesVersion,ToscaTemplate serviceTosca, List<Resource> resources) { + Collection<NodeTemplate> coll = + serviceTosca.getTopology_template().getNode_templates().values(); + log.debug("Inside Service Tosca "); + //Get the resource/widgets in the service according to the node-template types + for (NodeTemplate node : coll) { + Model model = Model.getModelFor(node.getType()); + if (model != null) { + model.populateModelIdentificationInformation(node.getMetadata()); + if (model instanceof Resource) { + String resourceVersion = node.getMetadata().get("version"); + validateVersion(resourceVersion,model.getModelNameVersionId()); + //Keeping track of resource types and + // their uuid for identification during resource tosca processing + idTypeStore.put(model.getModelNameVersionId(), node.getType()); + resourcesVersion.put(model.getModelNameVersionId(),resourceVersion); + service.addResource((Resource) model); + } else { + service.addWidget((Widget) model); + } + } + } + } + + /** + * Create Service artifact model from the AAI xml model string. + * + * @param serviceModel Model of the service artifact + * @param aaiServiceModel AAI model as string + * @return Generated {@link Artifact} model for the service + */ + private Artifact getServiceArtifact(Model serviceModel, String aaiServiceModel) { + Artifact artifact = + new Artifact(ArtifactType.MODEL_INVENTORY_PROFILE.name(), GroupType.DEPLOYMENT.name(), + GeneratorUtil.checkSum(aaiServiceModel.getBytes()), + GeneratorUtil.encode(aaiServiceModel.getBytes())); + String serviceArtifactName = getArtifactName(serviceModel); + String serviceArtifactLabel = getArtifactLabel(serviceModel); + artifact.setName(serviceArtifactName); + artifact.setLabel(serviceArtifactLabel); + String description = getArtifactDescription(serviceModel); + artifact.setDescription(description); + return artifact; + } + + /** + * Create Resource artifact model from the AAI xml model string. + * + * @param resourceModel Model of the resource artifact + * @param aaiResourceModel AAI model as string + * @return Generated {@link Artifact} model for the resource + */ + private Artifact getResourceArtifact(Model resourceModel, String aaiResourceModel) { + Artifact artifact = + new Artifact(ArtifactType.MODEL_INVENTORY_PROFILE.name(), GroupType.DEPLOYMENT.name(), + GeneratorUtil.checkSum(aaiResourceModel.getBytes()), + GeneratorUtil.encode(aaiResourceModel.getBytes())); + String resourceArtifactName = getArtifactName(resourceModel); + String resourceArtifactLabel = getArtifactLabel(resourceModel); + artifact.setName(resourceArtifactName); + artifact.setLabel(resourceArtifactLabel); + String description = getArtifactDescription(resourceModel); + artifact.setDescription(description); + return artifact; + } + + /** + * Method to generate the artifact name for an AAI model. + * + * @param model AAI artifact model + * @return Model artifact name + */ + private String getArtifactName(Model model) { + StringBuilder artifactName = new StringBuilder(ArtifactType.AAI.name()); + artifactName.append("-"); + + String truncatedArtifactName = ""; + truncatedArtifactName = truncateName(model.getModelName()); + artifactName.append(truncatedArtifactName); + + artifactName.append("-"); + artifactName.append(model.getModelType().name().toLowerCase()); + artifactName.append("-"); + artifactName.append(model.getModelVersion()); + + //artifactName.append(model.getModelVersion()); + artifactName.append("."); + artifactName.append(GeneratorConstants.GENERATOR_AAI_GENERATED_ARTIFACT_EXTENSION); + return artifactName.toString(); + } + + private String getArtifactLabel(Model model) { + // String label = ""; + StringBuilder artifactName = new StringBuilder(ArtifactType.AAI.name()); + artifactName.append("-"); + artifactName.append(model.getModelType().name().toLowerCase()); + artifactName.append("-"); + artifactName.append(hashCodeUuId(model.getModelNameVersionId())); + String label = (artifactName.toString()).replaceAll("[^a-zA-Z0-9 +]+", "-"); + return label; + } + + private int hashCodeUuId(String uuId) { + int hashcode = 0; + for (int i = 0; i < uuId.length(); i++) { + hashcode = 31 * hashcode + uuId.charAt(i); + } + return hashcode; + } + + + private String truncateName(String name) { + String truncatedName = name; + if (name.length() >= 200) { + truncatedName = name.substring(0, 199); + } + return truncatedName; + } + + private String getArtifactDescription(Model model) { + String artifactDesc = model.getModelDescription(); + if (model.getModelType().equals(ModelType.SERVICE)) { + artifactDesc = "AAI Service Model"; + } else if (model.getModelType().equals(ModelType.RESOURCE)) { + artifactDesc = "AAI Resource Model"; + } + return artifactDesc; + } + + private void validateVersion(String version, String uuId) { + String versionRegex = "^[0-9]\\d*(\\.\\d+)$"; + if (null == version || version == "") { + throw new IllegalArgumentException(String + .format(GeneratorConstants.GENERATOR_AAI_ERROR_NULL_RESOURCE_VERSION_IN_SERVICE_TOSCA, + uuId)); + } else if ( version.equals("0.0") || !(version.matches(versionRegex))) { + throw new IllegalArgumentException(String + .format(GeneratorConstants.GENERATOR_AAI_ERROR_INVALID_RESOURCE_VERSION_IN_SERVICE_TOSCA, + uuId)); + } + } + /** + * Get the tosca java model from the tosca input artifact. + * + * @param input Input tosca file and its metadata information as {@link Artifact} object + * @return Translated {@link ToscaTemplate tosca} object + */ + + private ToscaTemplate getToscaModel(Artifact input, String serviceVersion) + throws SecurityException { + byte[] decodedInput = GeneratorUtil.decoder(input.getPayload()); + String checksum = GeneratorUtil.checkSum(decodedInput); + ToscaTemplate tosca = null; + if (checksum.equalsIgnoreCase(input.getChecksum())) { + try { + tosca = GeneratorUtil.translateTosca(new String(decodedInput), ToscaTemplate.class); + tosca.getMetadata().put("version", serviceVersion); + return tosca; + } catch (Exception exception) { + throw new IllegalArgumentException( + String.format(GeneratorConstants.GENERATOR_AAI_ERROR_INVALID_TOSCA, input.getName())); + } + } else { + throw new SecurityException(GeneratorConstants.GENERATOR_AAI_ERROR_CHECKSUM_MISMATCH); + } + } + + private void validateTosca(ToscaTemplate tosca, Artifact input) { + log.debug("Validating tosca for Artifact: " + input.getName()); + if (tosca.getMetadata().containsKey("invariantUUID")) { + if (tosca.getMetadata().get("invariantUUID") == null + || tosca.getMetadata().get("invariantUUID") == "") { + throw new IllegalArgumentException(String + .format(GeneratorConstants.GENERATOR_AAI_ERROR_MANDATORY_METADATA_DEFINITION, + "invariantUUID", + input.getName())); + } else if (tosca.getMetadata().get("invariantUUID").length() != ID_LENGTH) { + throw new IllegalArgumentException(String.format( + GeneratorConstants.GENERATOR_AAI_ERROR_INVALID_ID, "invariantUUID", input.getName())); + } + } + + if (tosca.getMetadata().containsKey("UUID")) { + if (tosca.getMetadata().get("UUID") == null || tosca.getMetadata().get("UUID") == "") { + throw new IllegalArgumentException(String + .format(GeneratorConstants.GENERATOR_AAI_ERROR_MANDATORY_METADATA_DEFINITION, "UUID", + input.getName())); + } else if (tosca.getMetadata().get("UUID").length() != ID_LENGTH) { + throw new IllegalArgumentException(String + .format(GeneratorConstants.GENERATOR_AAI_ERROR_INVALID_ID, "UUID", input.getName())); + } + + } + if (tosca.getMetadata().containsKey("name")) { + if (tosca.getMetadata().get("name") == null || tosca.getMetadata().get("name") == "") { + throw new IllegalArgumentException(String + .format(GeneratorConstants.GENERATOR_AAI_ERROR_MANDATORY_METADATA_DEFINITION, "name", + input.getName())); + } + } + + //Validate VFmodule + if (tosca.getTopology_template() != null && tosca.getTopology_template().getGroups() != null) { + Collection<GroupDefinition> groups = tosca.getTopology_template().getGroups().values(); + for (GroupDefinition gd : groups) { + Model group = Model.getModelFor(gd.getType()); + if (group != null && group instanceof VfModule) { + if (gd.getMetadata().containsKey("vfModuleModelName") + && gd.getMetadata().get("vfModuleModelName") == null) { + throw new IllegalArgumentException(String + .format(GeneratorConstants.GENERATOR_AAI_ERROR_MANDATORY_METADATA_DEFINITION, + "vfModuleModelName", + input.getName())); + } + if (gd.getMetadata().containsKey("vfModuleModelInvariantUUID") + && gd.getMetadata().get("vfModuleModelInvariantUUID") == null) { + throw new IllegalArgumentException(String + .format(GeneratorConstants.GENERATOR_AAI_ERROR_MANDATORY_METADATA_DEFINITION, + "vfModuleModelInvariantUUID", input.getName())); + } else if (gd.getMetadata().get("vfModuleModelInvariantUUID").length() != ID_LENGTH) { + throw new IllegalArgumentException(String.format( + GeneratorConstants.GENERATOR_AAI_ERROR_INVALID_ID, "vfModuleModelInvariantUUID", + input.getName())); + } + + if (gd.getMetadata().containsKey("vfModuleModelUUID") + && gd.getMetadata().get("vfModuleModelUUID") == null) { + throw new IllegalArgumentException(String + .format(GeneratorConstants.GENERATOR_AAI_ERROR_MANDATORY_METADATA_DEFINITION, + "vfModuleModelUUID", + input.getName())); + } else if (gd.getMetadata().get("vfModuleModelUUID").length() != ID_LENGTH) { + throw new IllegalArgumentException(String.format( + GeneratorConstants.GENERATOR_AAI_ERROR_INVALID_ID, "vfModuleModelUUID", + input.getName())); + } + if (gd.getMetadata().containsKey("vfModuleModelVersion") + && gd.getMetadata().get("vfModuleModelVersion") == null) { + throw new IllegalArgumentException(String + .format(GeneratorConstants.GENERATOR_AAI_ERROR_MANDATORY_METADATA_DEFINITION, + "vfModuleModelVersion", + input.getName())); + } + } + } + } + } + + /** + * Identify the service tosca artifact from the list of translated tosca inputs. + * + * @param input List of translated {@link ToscaTemplate tosca} object models + * @return Identified service {@link ToscaTemplate tosca} + */ + private ToscaTemplate getServiceTosca(List<ToscaTemplate> input) { + Iterator<ToscaTemplate> iter = input.iterator(); + while (iter.hasNext()) { + ToscaTemplate tosca = iter.next(); + if (tosca.isService()) { + iter.remove(); + return tosca; + } + } + return null; + } + + private void initWidgetConfiguration() throws IOException { + log.debug("Getting Widget Configuration"); + String configLocation = System.getProperty("artifactgenerator.config"); + Properties properties = null; + if (configLocation != null) { + File file = new File(configLocation); + if (file.exists()) { + properties = new Properties(); + properties.load(new FileInputStream(file)); + WidgetConfigurationUtil.setConfig(properties); + } else { + throw new IllegalArgumentException(String.format(GENERATOR_AAI_CONFIGFILE_NOT_FOUND, + configLocation)); + } + } else { + throw new IllegalArgumentException(GENERATOR_AAI_CONFIGLOCATION_NOT_FOUND); + } + } + +} diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aai/AaiModelGeneratorImpl.java b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aai/AaiModelGeneratorImpl.java new file mode 100644 index 0000000000..ddddfed2e6 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aai/AaiModelGeneratorImpl.java @@ -0,0 +1,282 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.generator.aai; + +import org.openecomp.core.logging.api.Logger; +import org.openecomp.core.logging.api.LoggerFactory; +import org.openecomp.sdc.generator.aai.model.Resource; +import org.openecomp.sdc.generator.aai.model.Service; +import org.openecomp.sdc.generator.aai.model.Widget; +import org.openecomp.sdc.generator.aai.xml.Model; +import org.openecomp.sdc.generator.aai.xml.ModelElement; +import org.openecomp.sdc.generator.aai.xml.ModelElements; +import org.openecomp.sdc.generator.aai.xml.ModelVer; +import org.openecomp.sdc.generator.aai.xml.ModelVers; +import org.openecomp.sdc.generator.aai.xml.Relationship; +import org.openecomp.sdc.generator.aai.xml.RelationshipData; +import org.openecomp.sdc.generator.aai.xml.RelationshipList; +import org.openecomp.sdc.generator.logging.annotations.Audit; +import org.openecomp.sdc.generator.logging.annotations.Metrics; +import org.w3c.dom.DOMException; + +import java.io.StringWriter; +import java.util.List; +import java.util.Set; +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; + +/** + * Implementation of the {@link AaiModelGenerator} which generates the XML models from the + * Service/Resource/Widget java models. + */ +public class AaiModelGeneratorImpl implements AaiModelGenerator { + private static Logger log = LoggerFactory.getLogger(AaiModelGeneratorImpl.class.getName()); + + /** + * Method to generate the AAI model for a Service. + * + * @param service Java object model representing an AAI {@link Service} model + * @return XML representation of the service model in String format + */ + @Override + @Metrics + public String generateModelFor(Service service) { + //Create a JAXB Model for AAI service model + Model aaiServiceModel = new Model(); + log.debug("Generating Model for Service with ModelName: " + service.getModelName()); + // after new model + aaiServiceModel.setModelInvariantId(service.getModelId()); + aaiServiceModel.setModelVers(new ModelVers()); + ModelVer modelVer = new ModelVer(); + modelVer.setModelDescription(service.getModelDescription()); + modelVer.setModelName(service.getModelName()); + modelVer.setModelVersion(service.getModelVersion()); + modelVer.setModelVersionId(service.getModelNameVersionId()); + modelVer.setModelElements(new ModelElements()); + ModelElements modelElements = modelVer.getModelElements(); + //Populate basic model details + aaiServiceModel + .setModelType(service.getModelType().name().toLowerCase()); //Using enum name as model type + List<ModelElement> modelElementList = modelElements.getModelElement(); + + //Add service base widget model element + ModelElement serviceWidgetModelRelationshipElement = + createRelationshipModelElement(getNewDataDelFlagValue(service.getDeleteFlag()), + service.getWidgetId(),service.getWidgetInvariantId()); + modelElementList.add(serviceWidgetModelRelationshipElement); + + //Add the resource model elements + ModelElements serviceModelElements = serviceWidgetModelRelationshipElement.getModelElements(); + List<ModelElement> serviceModelElementList = serviceModelElements.getModelElement(); + Set<Resource> serviceResources = service.getResources(); + if (serviceResources != null && !serviceResources.isEmpty()) { + for (Resource resourceModel : serviceResources) { + ModelElement aaiResourceModelElement = + createRelationshipModelElement(getNewDataDelFlagValue(resourceModel.getDeleteFlag()), + resourceModel.getModelNameVersionId(),resourceModel.getModelId()); + serviceModelElementList.add(aaiResourceModelElement); + } + } + + //Add the widget model elements + Set<Widget> serviceWidgets = service.getWidgets(); + if (serviceWidgets != null && !serviceWidgets.isEmpty()) { + for (Widget widgetModel : serviceWidgets) { + ModelElement widgetModelElement = + createRelationshipModelElement(getNewDataDelFlagValue(widgetModel.getDeleteFlag()), + widgetModel.getId(),widgetModel.getWidgetId()); + serviceModelElementList.add(widgetModelElement); + } + } + ModelVers modelVers = aaiServiceModel.getModelVers(); + List<ModelVer> modelVerList = modelVers.getModelVer(); + modelVerList.add(modelVer); + return getModelAsString(aaiServiceModel); + } + + /** + * Method to generate the AAI model for a Resource. + * + * @param resource Java object model representing an AAI {@link Resource} model + * @return XML representation of the resource model in String format + */ + @Override + @Metrics + public String generateModelFor(Resource resource) { + //Create a JAXB Model for AAI Resource model + Model aaiResourceModel = new Model(); + log.debug("Generating Model for Resource with ModelName: " + resource.getModelName()); + aaiResourceModel.setModelInvariantId(resource.getModelId()); + aaiResourceModel.setModelVers(new ModelVers()); + ModelVer modelVer = new ModelVer(); + modelVer.setModelDescription(resource.getModelDescription()); + modelVer.setModelName(resource.getModelName()); + modelVer.setModelVersion(resource.getModelVersion()); + modelVer.setModelVersionId(resource.getModelNameVersionId()); + modelVer.setModelElements(new ModelElements()); + ModelElements modelElements = modelVer.getModelElements(); + aaiResourceModel + .setModelType(resource.getModelType().name().toLowerCase()); //Using enum name as model type + List<ModelElement> modelElementList = modelElements.getModelElement(); + + //Add resource base widget model element + ModelElement resourceWidgetModelRelationshipElement = + createRelationshipModelElement(getNewDataDelFlagValue(resource.getDeleteFlag()), + resource.getWidgetId(),resource.getWidgetInvariantId()); + modelElementList.add(resourceWidgetModelRelationshipElement); + + //Add the child resources to the base widget model element list + ModelElements baseResourceWidgetModelElements = + resourceWidgetModelRelationshipElement.getModelElements(); + List<ModelElement> baseResourceWidgetModelElementList = + baseResourceWidgetModelElements.getModelElement(); + Set<Resource> childResources = resource.getResources(); + if (childResources != null && !childResources.isEmpty()) { + for (Resource childResourceModel : childResources) { + ModelElement aaiChildResourceModelElement = createRelationshipModelElement( + getNewDataDelFlagValue(childResourceModel.getDeleteFlag()), + childResourceModel.getModelNameVersionId(),childResourceModel.getModelId()); + baseResourceWidgetModelElementList.add(aaiChildResourceModelElement); + } + } + //Add resource widgets/resources to the resource widget model relationship element + Set<Widget> resourceWidgets = resource.getWidgets(); + if (resourceWidgets != null && !resourceWidgets.isEmpty()) { + generateWidgetChildren(resourceWidgetModelRelationshipElement, resourceWidgets); + } + + ModelVers modelVers = aaiResourceModel.getModelVers(); + List<ModelVer> modelVerList = modelVers.getModelVer(); + modelVerList.add(modelVer); + return getModelAsString(aaiResourceModel); + + } + + /** + * Method to create the <model-element></model-element> holding the relationship value for a + * resource/widget + * model. + * + * @param newDataDelFlag Value of the <new-data-del-flag></new-data-del-flag> attribute for + * a widget/resource in + * the model xml + * @param relationshipValue Value of the <relationship-value></relationship-value> attribute + * for the widget/resource in + * the model xml + * @return Java object representation for the <model-element></model-element> holding the + relationship + */ + private ModelElement createRelationshipModelElement(String newDataDelFlag, + String modelVersionId,String + modelInvariantId) { + ModelElement relationshipModelElement = new ModelElement(); + relationshipModelElement.setNewDataDelFlag(newDataDelFlag); //Set new-data-del-flag value + relationshipModelElement.setCardinality("unbounded"); + RelationshipList relationShipList = new RelationshipList(); + final List<Relationship> relationships = relationShipList.getRelationship(); + Relationship relationship = new Relationship(); + relationship.setRelatedTo("model-ver"); + List<RelationshipData> relationshipDataList = relationship.getRelationshipData(); + + RelationshipData modelVersionRelationshipData = new RelationshipData(); + modelVersionRelationshipData.setRelationshipKey("model-ver.model-version-id"); + modelVersionRelationshipData.setRelationshipValue( + modelVersionId); //Set the widget/resource name-version-uuid as value + relationshipDataList.add(modelVersionRelationshipData); + RelationshipData modelInvariantRelationshipData = new RelationshipData(); + modelInvariantRelationshipData.setRelationshipKey("model.model-invariant-id"); + modelInvariantRelationshipData.setRelationshipValue( + modelInvariantId); + relationshipDataList.add(modelInvariantRelationshipData); + relationships.add(relationship); + relationshipModelElement.setRelationshipList(relationShipList); + relationshipModelElement.setModelElements(new ModelElements()); + return relationshipModelElement; + } + + /** + * Method to create the child model elements of the widget. Handles the generation of recursive + * child widget elements (if any) + * + * @param parent Reference to the parent widget model element + * @param widgetChildrenSet Set of children obtained from the tosca/widget definition + */ + private void generateWidgetChildren(ModelElement parent, Set<Widget> widgetChildrenSet) { + for (Widget widget : widgetChildrenSet) { + Set<Widget> widgetSubChildren = widget.getWidgets(); + if (widgetSubChildren != null && !widgetSubChildren.isEmpty()) { + ModelElement widgetChildRelationshipElement = + createRelationshipModelElement(getNewDataDelFlagValue(widget.getDeleteFlag()), + widget.getId(),widget.getWidgetId()); + //Recursive call for getting the children of widgets (if any) + generateWidgetChildren(widgetChildRelationshipElement, widgetSubChildren); + parent.getModelElements().getModelElement().add(widgetChildRelationshipElement); + } else { + ModelElement widgetChildRelationshipElement = + createRelationshipModelElement(getNewDataDelFlagValue(widget.getDeleteFlag()), + widget.getId(),widget.getWidgetId() + ); + parent.getModelElements().getModelElement().add(widgetChildRelationshipElement); + } + } + } + + /** + * Converts the data delete flag value from boolean to String as per AAI model. + * + * @param delFlag Boolean value as true/false from the annotation + * @return Converted value to a flag as per AAI model + */ + private String getNewDataDelFlagValue(boolean delFlag) { + if (delFlag) { + return "T"; + } else { + return "F"; + } + } + + /** + * JAXB marshalling helper method to convert the Java object model to XML String. + * + * @param model Java Object model of a service/widget/resource + * @return XML representation of the Java model in String format + */ + private String getModelAsString(Model model) { + JAXBContext jaxbContext; + StringWriter modelStringWriter = new StringWriter(); + try { + jaxbContext = JAXBContext.newInstance(Model.class); + Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); + jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + jaxbMarshaller.setProperty(Marshaller.JAXB_ENCODING, "US-ASCII"); + jaxbMarshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE); + jaxbMarshaller.marshal(model, modelStringWriter); + } catch (JAXBException jaxbException) { + //jaxbException.printStackTrace(); + log.error(jaxbException.getMessage()); + throw new DOMException(DOMException.SYNTAX_ERR, jaxbException.getMessage()); + } + + //System.out.println(modelStringWriter.toString()); + return modelStringWriter.toString(); + } +} diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aspect/AuditAspect.java b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aspect/AuditAspect.java new file mode 100644 index 0000000000..19166df522 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aspect/AuditAspect.java @@ -0,0 +1,126 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.generator.aspect; + +import static org.openecomp.sdc.generator.data.GeneratorConstants.BEGIN_TIMESTAMP; +import static org.openecomp.sdc.generator.data.GeneratorConstants.ELAPSED_TIME; +import static org.openecomp.sdc.generator.data.GeneratorConstants.END_TIMESTAMP; +import static org.openecomp.sdc.generator.data.GeneratorConstants.ERROR_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AUDIT_NO_ARTIFACT_TYPE_RESPONSE_DESC; +import static org.openecomp.sdc.generator.data.GeneratorConstants + .GENERATOR_METRICS_FAILURE_RESPONSE_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_METRICS_FAILURE_RESPONSE_DESC; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_METRICS_SUCCESS_RESPONSE_DESC; + +import static org.openecomp.sdc.generator.data.GeneratorConstants.RESPONSE_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.RESPONSE_DESCRIPTION; +import static org.openecomp.sdc.generator.data.GeneratorConstants.SERVICE_NAME; +import static org.openecomp.sdc.generator.data.GeneratorConstants.STATUS_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.TARGET_ENTITY; +import static org.openecomp.sdc.generator.data.GeneratorConstants.TARGET_SERVICE_NAME; +import static org.openecomp.sdc.generator.util.ArtifactGeneratorUtil.artifactGeneratorErrorLogProcessor; +import static org.openecomp.sdc.generator.util.ArtifactGeneratorUtil.getLogUtcDateStringFromTimestamp; +import static org.openecomp.sdc.generator.util.ArtifactGeneratorUtil.logError; +import static org.openecomp.sdc.generator.util.ArtifactGeneratorUtil.resetLoggingContext; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.openecomp.core.logging.api.Logger; +import org.openecomp.core.logging.api.LoggerFactory; +import org.openecomp.sdc.generator.data.GenerationData; +import org.openecomp.sdc.generator.logging.CategoryLogLevel; +import org.openecomp.sdc.generator.logging.StatusCode; +import org.openecomp.sdc.generator.util.ArtifactGeneratorUtil; +import org.slf4j.MDC; + +import java.util.Date; + +/** + * Wraps around any method annotated with + * {@link org.openecomp.sdc.generator.logging.annotations.Audit} for auditing information + * In order for the aspect to be used, AspectJ annotation processing must be + * turned on and this particular aspect enabled. + * + * @see org.openecomp.sdc.generator.logging.annotations.Audit + */ +@Aspect +public class AuditAspect { + + /** + * Log Audit information for the method. + * + * @param pjp the pjp + * @return the object + * @throws Throwable the throwable + */ + @Around("@annotation(org.openecomp.sdc.generator.logging.annotations.Audit)") + public Object logAuditInfo(ProceedingJoinPoint pjp) throws Throwable { + + final Logger logger = LoggerFactory.getLogger(pjp.getSignature().getDeclaringTypeName()); + // check if audit aspect is enabled + if (logger.isAuditEnabled()) { + final String method = pjp.getSignature().getName(); + final long beginTimestamp = System.currentTimeMillis(); + try { + Object obj = pjp.proceed(); + MDC.put(RESPONSE_DESCRIPTION, String.format(GENERATOR_METRICS_SUCCESS_RESPONSE_DESC, MDC + .get(SERVICE_NAME))); + + GenerationData data = (GenerationData)obj; + if (data.getErrorData() != null && !data.getErrorData().isEmpty()) { + MDC.put(STATUS_CODE, StatusCode.ERROR.name()); + artifactGeneratorErrorLogProcessor(CategoryLogLevel.ERROR,data.getErrorData().get("AAI") + .get(0)); + MDC.put(RESPONSE_CODE, MDC.get(ERROR_CODE)); + // MDC.put(RESPONSE_CODE, GENERATOR_METRICS_FAILURE_RESPONSE_CODE); + // If not service name found log no artifact type found error. + if (MDC.get(SERVICE_NAME) == null) { + MDC.put(RESPONSE_DESCRIPTION, GENERATOR_AUDIT_NO_ARTIFACT_TYPE_RESPONSE_DESC); + } else { + MDC.put(RESPONSE_DESCRIPTION, String.format(GENERATOR_METRICS_FAILURE_RESPONSE_DESC, MDC + .get(SERVICE_NAME))); + } + } + return obj; + + } catch (Exception ex) { + artifactGeneratorErrorLogProcessor(CategoryLogLevel.ERROR,ex.getMessage()); + MDC.put(STATUS_CODE, StatusCode.ERROR.name()); + MDC.put(RESPONSE_CODE, MDC.get(ERROR_CODE)); + MDC.put(RESPONSE_DESCRIPTION, String.format(GENERATOR_METRICS_FAILURE_RESPONSE_DESC, MDC + .get(SERVICE_NAME))); + throw ex; + } finally { + long endTimestamp = System.currentTimeMillis(); + MDC.put(BEGIN_TIMESTAMP, getLogUtcDateStringFromTimestamp(new Date(beginTimestamp))); + MDC.put(END_TIMESTAMP, getLogUtcDateStringFromTimestamp(new Date(endTimestamp))); + MDC.put(ELAPSED_TIME, String.valueOf(endTimestamp - beginTimestamp)); + + logger.audit(""); + resetLoggingContext(); + MDC.remove(SERVICE_NAME); + } + } else { + return pjp.proceed(); + } + } +} diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aspect/MetricsAspect.java b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aspect/MetricsAspect.java new file mode 100644 index 0000000000..d226b00b05 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aspect/MetricsAspect.java @@ -0,0 +1,140 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.generator.aspect; + +import static org.openecomp.sdc.generator.data.GeneratorConstants.ARTIFACT_MODEL_INFO; +import static org.openecomp.sdc.generator.data.GeneratorConstants.BEGIN_TIMESTAMP; +import static org.openecomp.sdc.generator.data.GeneratorConstants.ELAPSED_TIME; +import static org.openecomp.sdc.generator.data.GeneratorConstants.END_TIMESTAMP; +import static org.openecomp.sdc.generator.data.GeneratorConstants.ERROR_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AUDIT_NO_ARTIFACT_TYPE_RESPONSE_DESC; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_METRICS_FAILURE_RESPONSE_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_METRICS_FAILURE_RESPONSE_DESC; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_METRICS_SUCCESS_RESPONSE_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_METRICS_SUCCESS_RESPONSE_DESC; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_METRICS_TARGET_ENTITY; +import static org.openecomp.sdc.generator.data.GeneratorConstants.REQUEST_ID; +import static org.openecomp.sdc.generator.data.GeneratorConstants.RESPONSE_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.RESPONSE_DESCRIPTION; +import static org.openecomp.sdc.generator.data.GeneratorConstants.SERVICE_INSTANCE_ID; +import static org.openecomp.sdc.generator.data.GeneratorConstants.SERVICE_NAME; +import static org.openecomp.sdc.generator.data.GeneratorConstants.STATUS_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.TARGET_ENTITY; +import static org.openecomp.sdc.generator.data.GeneratorConstants.TARGET_SERVICE_NAME; +import static org.openecomp.sdc.generator.util.ArtifactGeneratorUtil.artifactGeneratorErrorLogProcessor; +import static org.openecomp.sdc.generator.util.ArtifactGeneratorUtil.getLogUtcDateStringFromTimestamp; +import static org.openecomp.sdc.generator.util.ArtifactGeneratorUtil.resetLoggingContext; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.openecomp.core.logging.api.Logger; +import org.openecomp.core.logging.api.LoggerFactory; +import org.openecomp.sdc.generator.data.GenerationData; +import org.openecomp.sdc.generator.logging.CategoryLogLevel; +import org.openecomp.sdc.generator.logging.StatusCode; +import org.slf4j.MDC; + +import java.util.Date; + +/** + * Wraps around any method annotated with + * {@link org.openecomp.sdc.generator.logging.annotations.Metrics} for logging metrics information + * In order for the aspect to be used, AspectJ annotation processing must be + * turned on and this particular aspect enabled. + * + * @see org.openecomp.sdc.generator.logging.annotations.Metrics + */ +@Aspect +public class MetricsAspect { + + /** + * Log Audit information for the method. + * + * @param pjp the pjp + * @return the object + * @throws Throwable the throwable + */ + @Around("@annotation(org.openecomp.sdc.generator.logging.annotations.Metrics)") + public Object logMetrics(ProceedingJoinPoint pjp) throws Throwable { + + final Logger logger = LoggerFactory.getLogger(pjp.getSignature().getDeclaringTypeName()); + String [] modelInfo = MDC.get(ARTIFACT_MODEL_INFO).split(","); + + if (modelInfo.length == 2) { + //Since ARTIFACT_MODEL_INFO is passed as String from caller "null" value is populated. + //So resetting "null" to "" in logs + String serviceInstanceId = modelInfo[0].equals("null") ? "" : modelInfo[0]; + String requestId = modelInfo[1].equals("null") ? "" : modelInfo[1]; + MDC.put(SERVICE_INSTANCE_ID, serviceInstanceId); + MDC.put(REQUEST_ID, requestId); + } + + MDC.put(TARGET_ENTITY, GENERATOR_METRICS_TARGET_ENTITY); + MDC.put(TARGET_SERVICE_NAME, MDC.get(SERVICE_NAME) + " artifact generation"); + // check if metrics aspect is enabled + if (logger.isMetricsEnabled()) { + final long beginTimestamp = System.currentTimeMillis(); + try { + MDC.put(RESPONSE_DESCRIPTION, String.format(GENERATOR_METRICS_SUCCESS_RESPONSE_DESC, MDC + .get(SERVICE_NAME))); + Object obj = pjp.proceed(); + if (obj instanceof GenerationData) { + GenerationData data = (GenerationData) obj; + if (data.getErrorData() != null && !data.getErrorData().isEmpty()) { + MDC.put(STATUS_CODE, StatusCode.ERROR.name()); + artifactGeneratorErrorLogProcessor(CategoryLogLevel.ERROR, data.getErrorData().get( + "AAI").get(0)); + MDC.put(RESPONSE_CODE, MDC.get(ERROR_CODE)); + // MDC.put(RESPONSE_CODE, GENERATOR_METRICS_FAILURE_RESPONSE_CODE); + // If not service name found log no artifact type found error. + if (MDC.get(SERVICE_NAME) == null) { + MDC.put(RESPONSE_DESCRIPTION, GENERATOR_AUDIT_NO_ARTIFACT_TYPE_RESPONSE_DESC); + } else { + MDC.put(RESPONSE_DESCRIPTION, + String.format(GENERATOR_METRICS_FAILURE_RESPONSE_DESC, MDC + .get(SERVICE_NAME))); + } + } + } + return obj; + + + } catch (Exception ex) { + artifactGeneratorErrorLogProcessor(CategoryLogLevel.ERROR,ex.getMessage()); + MDC.put(STATUS_CODE, StatusCode.ERROR.name()); + MDC.put(RESPONSE_CODE, MDC.get(ERROR_CODE)); + MDC.put(RESPONSE_DESCRIPTION, String.format(GENERATOR_METRICS_FAILURE_RESPONSE_DESC, MDC + .get(SERVICE_NAME))); + throw ex; + } finally { + long endTimestamp = System.currentTimeMillis(); + MDC.put(BEGIN_TIMESTAMP, getLogUtcDateStringFromTimestamp(new Date(beginTimestamp))); + MDC.put(END_TIMESTAMP, getLogUtcDateStringFromTimestamp(new Date(endTimestamp))); + MDC.put(ELAPSED_TIME, String.valueOf(endTimestamp - beginTimestamp)); + logger.metrics(""); + resetLoggingContext(); + } + } else { + return pjp.proceed(); + } + } +} diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/impl/ArtifactGenerationServiceImpl.java b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/impl/ArtifactGenerationServiceImpl.java new file mode 100644 index 0000000000..38e1b4c64e --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/impl/ArtifactGenerationServiceImpl.java @@ -0,0 +1,86 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.generator.impl; + +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_ERROR_ARTIFACT_GENERATION_FAILED; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_INVOCATION_ERROR_CODE; +import static org.openecomp.sdc.generator.util.ArtifactGeneratorUtil.logError; + +import org.openecomp.core.logging.api.Logger; +import org.openecomp.core.logging.api.LoggerFactory; +import org.openecomp.sdc.generator.GeneratorManager; +import org.openecomp.sdc.generator.GeneratorTask; +import org.openecomp.sdc.generator.data.Artifact; +import org.openecomp.sdc.generator.data.GenerationData; +import org.openecomp.sdc.generator.intf.ArtifactGenerator; +import org.openecomp.sdc.generator.service.ArtifactGenerationService; +import org.openecomp.sdc.generator.util.ArtifactGeneratorUtil; + +import java.util.List; +import java.util.Map; +import java.util.concurrent.ForkJoinPool; + +/** + * Artifact Generation Service implementation class. + */ +public class ArtifactGenerationServiceImpl implements ArtifactGenerationService { + + private static Logger log = + LoggerFactory.getLogger(ArtifactGenerationServiceImpl.class.getName()); + + /** + * Artifact generator method. + * + * @param input List of input files as {@link Artifact} models + * @param overridingConfiguration Configuration data for invoking generators + * @param additionalParams Additional Parameters + * @return Generated artifacts/Error data in a {@link GenerationData} object + */ + @Override + public GenerationData generateArtifact(List<Artifact> input, String overridingConfiguration, + Map<String, String> additionalParams) { + try { + //Initialize artifact generation logging context + ArtifactGeneratorUtil.initializeLoggingContext(); + + List<ArtifactGenerator> generatorsToBeUsed = + GeneratorManager.getActiveArtifactGenerators(overridingConfiguration); + if (generatorsToBeUsed.size() > 0) { + return ForkJoinPool.commonPool().invoke(new GeneratorTask(generatorsToBeUsed, input, + additionalParams)); + } else { + return new GenerationData(); + } + } catch (IllegalArgumentException iae) { + //Invalid client configuration + logError(GENERATOR_ERROR_ARTIFACT_GENERATION_FAILED, iae); + GenerationData errorData = new GenerationData(); + errorData.add(GENERATOR_INVOCATION_ERROR_CODE, iae.getMessage()); + return errorData; + } catch (Exception ex) { + logError(GENERATOR_ERROR_ARTIFACT_GENERATION_FAILED, ex); + GenerationData errorData = new GenerationData(); + errorData.add(GENERATOR_INVOCATION_ERROR_CODE, + GENERATOR_ERROR_ARTIFACT_GENERATION_FAILED); + return errorData; + } + } +} diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/util/ArtifactGeneratorUtil.java b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/util/ArtifactGeneratorUtil.java new file mode 100644 index 0000000000..94c332da54 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/util/ArtifactGeneratorUtil.java @@ -0,0 +1,298 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.generator.util; + +import static org.openecomp.sdc.generator.data.GeneratorConstants.BEGIN_TIMESTAMP; +import static org.openecomp.sdc.generator.data.GeneratorConstants.BE_FQDN; +import static org.openecomp.sdc.generator.data.GeneratorConstants.CATEGORY_LOG_LEVEL; +import static org.openecomp.sdc.generator.data.GeneratorConstants.CLIENT_IP; +import static org.openecomp.sdc.generator.data.GeneratorConstants.ELAPSED_TIME; +import static org.openecomp.sdc.generator.data.GeneratorConstants.END_TIMESTAMP; +import static org.openecomp.sdc.generator.data.GeneratorConstants.ERROR_CATEGORY; +import static org.openecomp.sdc.generator.data.GeneratorConstants.ERROR_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.ERROR_DESCRIPTION; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_CONFIGFILE_NOT_FOUND; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_CONFIGLOCATION_NOT_FOUND; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_CONFIGLPROP_NOT_FOUND; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_PROVIDING_SERVICE_METADATA_MISSING; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_PROVIDING_SERVICE_MISSING; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_ERROR_INVALID_ID; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_ERROR_INVALID_RESOURCE_VERSION_IN_SERVICE_TOSCA; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_ERROR_INVALID_TOSCA_MSG; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_ERROR_MANDATORY_METADATA_DEFINITION_MSG; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_ERROR_MISSING_RESOURCE_TOSCA; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_ERROR_MISSING_SERVICE_TOSCA_MSG; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_ERROR_MISSING_SERVICE_VERSION; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_ERROR_NULL_RESOURCE_VERSION_IN_SERVICE_TOSCA; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_INVALID_SERVICE_VERSION; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_ERROR_ARTIFACT_GENERATION_FAILED_MSG; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_ERROR_INVALID_CLIENT_CONFIGURATION_MSG; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_PARTNER_NAME; +import static org.openecomp.sdc.generator.data.GeneratorConstants.INSTANCE_UUID; +import static org.openecomp.sdc.generator.data.GeneratorConstants.LOCAL_ADDR; +import static org.openecomp.sdc.generator.data.GeneratorConstants.MDC_SDC_INSTANCE_UUID; +import static org.openecomp.sdc.generator.data.GeneratorConstants.PARTNER_NAME; +import static org.openecomp.sdc.generator.data.GeneratorConstants.REMOTE_HOST; +import static org.openecomp.sdc.generator.data.GeneratorConstants.REQUEST_ID; +import static org.openecomp.sdc.generator.data.GeneratorConstants.RESPONSE_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.RESPONSE_DESCRIPTION; +import static org.openecomp.sdc.generator.data.GeneratorConstants.SERVICE_INSTANCE_ID; +import static org.openecomp.sdc.generator.data.GeneratorConstants.SERVICE_METRIC_BEGIN_TIMESTAMP; +import static org.openecomp.sdc.generator.data.GeneratorConstants.SERVICE_NAME; +import static org.openecomp.sdc.generator.data.GeneratorConstants.STATUS_CODE; +import static org.openecomp.sdc.generator.data.GeneratorConstants.TARGET_ENTITY; +import static org.openecomp.sdc.generator.data.GeneratorConstants.TARGET_SERVICE_NAME; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.INTERNAL_SERVER_ERROR; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.INVALID_CLIENT_CONFIGURATION; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.INVALID_ID_VALUE; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.INVALID_RESOURCE_VERSION; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.INVALID_SERVICE_VERSION; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.INVALID_TOSCA_YAML; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.MANDATORY_ATTRIBUTE_MISSING; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.MISSING_CONFIG_PROPERTIES_FILE; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.MISSING_PRO_SERVICE; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.MISSING_PRO_SERVICE_METADATA; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.MISSING_RESOURCE_VERSION; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.MISSING_SERVICE_VERSION; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.MISSING_SYSTME_PROPERY_CONFIGURATION; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.MISSING_WIDGET_CONFIGURATION; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.RESOURCE_TOSCA_MISSING; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.SERVICE_TOSCA_MISSING; +import static org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode.UNABLE_TO_GENERATE_ARTIFACT; + +import org.openecomp.core.logging.api.Logger; +import org.openecomp.core.logging.api.LoggerFactory; +import org.openecomp.sdc.generator.data.Artifact; +import org.openecomp.sdc.generator.logging.ArtifactGeneratorLogResponseCode; +import org.openecomp.sdc.generator.logging.CategoryLogLevel; +import org.openecomp.sdc.generator.logging.StatusCode; +import org.slf4j.MDC; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.TimeZone; + + +public class ArtifactGeneratorUtil { + + private static Logger log = LoggerFactory.getLogger(ArtifactGeneratorUtil.class.getName()); + private static final String LOG_UTC_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS"; + + /** + * Artifact Generator Error logging Helper. + * @param errorDescription Description of the error + */ + public static void logError(String errorDescription) { + logError(errorDescription, ""); + } + + /** + * Artifact Generator Error logging Helper. + * @param errorDescription Description of the error + * @param ex Exception object for stackstrace + */ + public static void logError(String errorDescription, Exception ex) { + StringWriter sw = new StringWriter(); + ex.printStackTrace(new PrintWriter(sw)); + String detailMessage = sw.toString(); + logError(CategoryLogLevel.ERROR, errorDescription, detailMessage); + } + + /** + * Artifact Generator Error logging Helper. + * @param errorDescription Description of the error + * @param detailMessage Detailed Error message + */ + public static void logError(String errorDescription, String detailMessage) { + logError(CategoryLogLevel.ERROR, errorDescription, detailMessage); + } + + /** + * Artifact Generator Error logging Helper. + * @param errorCategory ERROR + * @param errorDescription Description of the error + * @param detailMessage Detailed Error message + */ + public static void logError(CategoryLogLevel errorCategory, + String errorDescription, String detailMessage) { + MDC.put(ERROR_CATEGORY, errorCategory.name()); + MDC.put(STATUS_CODE, StatusCode.ERROR.name()); + artifactGeneratorErrorLogProcessor(errorCategory,errorDescription); + log.error(detailMessage); + resetLoggingContext(); + } + + /** + * Initialize generic MDC attributes for logging the current request. + * + */ + public static void initializeLoggingContext() { + log.debug("Initializing generic logging context "); + MDC.put(PARTNER_NAME, GENERATOR_PARTNER_NAME); + MDC.put(SERVICE_METRIC_BEGIN_TIMESTAMP, String.valueOf(System.currentTimeMillis())); + MDC.put(INSTANCE_UUID, MDC_SDC_INSTANCE_UUID); + MDC.put(STATUS_CODE, StatusCode.COMPLETE.name()); + MDC.put(CLIENT_IP, MDC.get(REMOTE_HOST)); + + try { + InetAddress ip = InetAddress.getLocalHost(); + MDC.put(LOCAL_ADDR, ip.getHostAddress()); + String hostname = ip.getHostName(); + MDC.put(BE_FQDN, hostname); + } catch (UnknownHostException uhe) { + log.error("Failed to get server FQDN"); + } + + if (log.isDebugEnabled()) { + MDC.put(CATEGORY_LOG_LEVEL, CategoryLogLevel.DEBUG.name()); + } else if (log.isInfoEnabled()) { + MDC.put(CATEGORY_LOG_LEVEL, CategoryLogLevel.INFO.name()); + } else if (log.isWarnEnabled()) { + MDC.put(CATEGORY_LOG_LEVEL, CategoryLogLevel.WARN.name()); + } else if (log.isErrorEnabled()) { + MDC.put(CATEGORY_LOG_LEVEL, CategoryLogLevel.ERROR.name()); + } + } + + /** + * Initialize MDC for logging the current artifact request. + * + * @param artifact Current artifact + */ + public static void initializeArtifactLoggingContext(Artifact artifact) { + log.debug("Initializing logging context for " + artifact.getLabel()); + MDC.put(REQUEST_ID, artifact.getLabel()); + MDC.put(SERVICE_NAME, artifact.getType()); + MDC.put(SERVICE_INSTANCE_ID, artifact.getName()); + } + + /** + * Reset the logging context after a Audit/Metrics logging operation. + */ + public static void resetLoggingContext() { + MDC.remove(ERROR_CATEGORY); + MDC.remove(ERROR_CODE); + MDC.remove(STATUS_CODE); + MDC.remove(ERROR_DESCRIPTION); + MDC.remove(BEGIN_TIMESTAMP); + MDC.remove(END_TIMESTAMP); + MDC.remove(ELAPSED_TIME); + MDC.put(STATUS_CODE, StatusCode.COMPLETE.name()); + MDC.remove(RESPONSE_CODE); + MDC.remove(RESPONSE_DESCRIPTION); + MDC.remove(TARGET_ENTITY); + MDC.remove(TARGET_SERVICE_NAME); + } + + /** + * Convert timestamp to UTC format date string. + * + * @param timeStamp UTC timestamp to be converted to the UTC Date format. + * @return UTC formatted Date string from timestamp. + */ + public static String getLogUtcDateStringFromTimestamp(Date timeStamp) { + DateFormat df = new SimpleDateFormat(LOG_UTC_DATE_FORMAT); + df.setTimeZone(TimeZone.getTimeZone("GMT")); + return df.format(timeStamp); + } + + /** + * Artifact Gnenerator Error logging Helper. + * + * @param errorCategory WARN or ERROR. + * @param errorDescription Description of the error. + */ + public static void artifactGeneratorErrorLogProcessor(CategoryLogLevel errorCategory, + String errorDescription) { + MDC.put(ERROR_CATEGORY, errorCategory.name()); + if (errorDescription != null) { + String errorType = ""; + switch (errorCategory) { + case WARN: + errorType = "W"; + break; + case ERROR: + errorType = "E"; + break; + case FATAL: + errorType = "F"; + break; + default: + break; + } + MDC.put(ERROR_CODE, getLogResponseCode(errorDescription) + errorType); + } + MDC.put(ERROR_DESCRIPTION, errorDescription); + } + + + /** + * + * @return Audit log code corresponding to the Artifact Generator exception. + */ + public static int getLogResponseCode(String errorDescription) { + ArtifactGeneratorLogResponseCode responseCode = INTERNAL_SERVER_ERROR; + if (errorDescription.contains(GENERATOR_AAI_ERROR_MANDATORY_METADATA_DEFINITION_MSG)) { + responseCode = MANDATORY_ATTRIBUTE_MISSING; + } else if (errorDescription.contains(GENERATOR_AAI_ERROR_INVALID_TOSCA_MSG)) { + responseCode = INVALID_TOSCA_YAML; + } else if (errorDescription.contains(GENERATOR_AAI_ERROR_MISSING_SERVICE_TOSCA_MSG)) { + responseCode = SERVICE_TOSCA_MISSING; + } else if (errorDescription.contains(GENERATOR_ERROR_INVALID_CLIENT_CONFIGURATION_MSG)) { + responseCode = INVALID_CLIENT_CONFIGURATION; + } else if (errorDescription.contains(GENERATOR_ERROR_ARTIFACT_GENERATION_FAILED_MSG)) { + responseCode = UNABLE_TO_GENERATE_ARTIFACT; + } else if (errorDescription.contains(GENERATOR_AAI_CONFIGLOCATION_NOT_FOUND.split("%s")[0])) { + responseCode = MISSING_SYSTME_PROPERY_CONFIGURATION; + } else if (errorDescription.contains(GENERATOR_AAI_CONFIGFILE_NOT_FOUND.split("%s")[0])) { + responseCode = MISSING_CONFIG_PROPERTIES_FILE; + } else if (errorDescription.contains(GENERATOR_AAI_CONFIGLPROP_NOT_FOUND.split("%s")[0])) { + responseCode = MISSING_WIDGET_CONFIGURATION; + } else if (errorDescription.contains(GENERATOR_AAI_ERROR_INVALID_ID.split("%s")[0])) { + responseCode = INVALID_ID_VALUE; + } else if (errorDescription.contains(GENERATOR_AAI_ERROR_MISSING_RESOURCE_TOSCA.split("%s")[0])) + { + responseCode = RESOURCE_TOSCA_MISSING; + } else if(errorDescription.contains(GENERATOR_AAI_ERROR_MISSING_SERVICE_VERSION)) { + responseCode = MISSING_SERVICE_VERSION; + } else if(errorDescription.contains(GENERATOR_AAI_INVALID_SERVICE_VERSION)) + { + responseCode = INVALID_SERVICE_VERSION; + } else if(errorDescription.contains(GENERATOR_AAI_ERROR_NULL_RESOURCE_VERSION_IN_SERVICE_TOSCA. + split("%s")[0])) { + responseCode = MISSING_RESOURCE_VERSION; + } else if(errorDescription.contains( + GENERATOR_AAI_ERROR_INVALID_RESOURCE_VERSION_IN_SERVICE_TOSCA.split("%s")[0])) { + responseCode = INVALID_RESOURCE_VERSION; + } else if(errorDescription.contains(GENERATOR_AAI_PROVIDING_SERVICE_MISSING.split("%s")[0])) { + responseCode = MISSING_PRO_SERVICE; + } else if(errorDescription.contains( + GENERATOR_AAI_PROVIDING_SERVICE_METADATA_MISSING.split("%s")[0])) { + responseCode = MISSING_PRO_SERVICE_METADATA; + } + return responseCode.getValue(); + } +} diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/java/org/openecomp/sdc/generator/ArtifactGenerationServiceTest.java b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/java/org/openecomp/sdc/generator/ArtifactGenerationServiceTest.java new file mode 100644 index 0000000000..0ebe41c9a4 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/java/org/openecomp/sdc/generator/ArtifactGenerationServiceTest.java @@ -0,0 +1,1745 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.generator; + +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_CONFIGFILE_NOT_FOUND; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_CONFIGLOCATION_NOT_FOUND; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_CONFIGLPROP_NOT_FOUND; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_PROVIDING_SERVICE_METADATA_MISSING; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_PROVIDING_SERVICE_MISSING; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_ERROR_INVALID_ID; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_ERROR_MISSING_SERVICE_VERSION; +import static org.openecomp.sdc.generator.data.GeneratorConstants.GENERATOR_AAI_INVALID_SERVICE_VERSION; + +import org.apache.commons.io.FileUtils; +import org.openecomp.sdc.generator.aai.model.Resource; +import org.openecomp.sdc.generator.aai.model.Service; +import org.openecomp.sdc.generator.aai.model.Widget; +import org.openecomp.sdc.generator.aai.tosca.GroupDefinition; +import org.openecomp.sdc.generator.aai.tosca.NodeTemplate; +import org.openecomp.sdc.generator.aai.tosca.ToscaTemplate; +import org.openecomp.sdc.generator.data.AdditionalParams; +import org.openecomp.sdc.generator.aai.xml.Model; +import org.openecomp.sdc.generator.aai.xml.ModelElement; +import org.openecomp.sdc.generator.aai.xml.ModelElements; +import org.openecomp.sdc.generator.aai.xml.ModelVer; +import org.openecomp.sdc.generator.aai.xml.Relationship; +import org.openecomp.sdc.generator.aai.xml.RelationshipData; +import org.openecomp.sdc.generator.data.Artifact; +import org.openecomp.sdc.generator.data.ArtifactType; +import org.openecomp.sdc.generator.data.GenerationData; +import org.openecomp.sdc.generator.data.GeneratorConstants; +import org.openecomp.sdc.generator.data.GeneratorUtil; +import org.openecomp.sdc.generator.data.GroupType; +import org.openecomp.sdc.generator.impl.ArtifactGenerationServiceImpl; +import org.testng.Assert; +import org.testng.annotations.BeforeSuite; +import org.testng.annotations.Test; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URL; +import java.util.*; +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Unmarshaller; + +@SuppressWarnings("Duplicates") +public class ArtifactGenerationServiceTest { + + private static final String aaiArtifactType = ArtifactType.AAI.name(); + private static final String aaiArtifactGroupType = GroupType.DEPLOYMENT.name(); + private static final String generatorConfig = "{\"artifactTypes\": [\"OTHER\",\"AAI\"]}"; + Properties properties = new Properties(); + Map<String, String> additionalParams = new HashMap(); + Map<String, String> resourcesVersion = new HashMap<>(); + + @BeforeSuite + public void loadProperties() throws Exception{ + loadConfigFromClasspath(properties); + additionalParams.put(AdditionalParams.ServiceVersion.getName(), "1.0"); + } + + @Test + public void testArtifactGeneration() { + // Sunny day scenario service with VF anf vfmodule + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "aai/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + List<Artifact> resultData = data.getResultData(); + + /*for( int i = 0 ; i < resultData.size() ; i++) { + Artifact artifact = resultData.get(i); + String fileName = artifact.getName(); + while(fileName.contains(":")){ + fileName = fileName.replace(":",""); + } + File targetFile =new File("src/test/resources/"+fileName); + OutputStream outStream = new FileOutputStream(targetFile); + outStream.write(Base64.getDecoder().decode(artifact.getPayload())); + }*/ + + Assert.assertEquals(resultData.size(),5); // 1-service,1-VF-resource,1-vfmodule and 2 + // others + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + testResourceTosca(toscas.iterator(), outputArtifactMap); + } else { + Assert.fail("error encountered : " + data.getErrorData().get("AAI")); + } + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testWidgetinServiceTosca() { + // Sunny day scenario service with VF and extra widget like CP anf vf has vfmodule without + // member + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testWidgetinServiceTosca/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + List<Artifact> resultData = data.getResultData(); + Assert.assertEquals(resultData.size(),5); // 1-service,1-VF-resource,1-vfmodule and 2 + // others + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + testResourceTosca(toscas.iterator(), outputArtifactMap); + } else { + Assert.fail("error encountered : " + data.getErrorData().get("AAI")); + } + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testSameVLdifferentVersion() { + // Sunny day scenario service with VF and extra widget like CP anf vf has vfmodule without + // member + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testSameVLdifferentVersion/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + List<Artifact> resultData = data.getResultData(); + Assert.assertEquals(resultData.size(),8); + // others + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + testResourceTosca(toscas.iterator(), outputArtifactMap); + } else { + Assert.fail("error encountered : " + data.getErrorData().get("AAI")); + } + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testArtifactGenerationAllottedResourceAndL3Network() { + // Sunny day scenario service with allotted resource and L3-network + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "aai2/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + List<Artifact> resultData = data.getResultData(); + + Assert.assertEquals(resultData.size(),5); + // and 2 + // others + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + testResourceTosca(toscas.iterator(), outputArtifactMap); + } else { + Assert.fail("error encountered : " + data.getErrorData().get("AAI")); + } + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test(dependsOnMethods = {"testArtifactGeneration"}) + public void testWhenMissingTosca() { + try { + //Missing Service tosca test case + String aaiResourceBasePaths = "testArtifactGeneration2/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().get("AAI").get(0),"Service tosca missing from list of input artifacts"); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test(dependsOnMethods = {"testWhenMissingTosca"}) + public void testWhenInvaildConfig() { + try { + //Invalid config test case + String generatorConfig1 = "{\"artifactTypes\": [\"ABC\"]}"; + String aaiResourceBasePaths = "testArtifactGeneration2/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig1, additionalParams); + Assert.assertEquals(data.getErrorData().get("ARTIFACT_GENERATOR_INVOCATION_ERROR").get(0),"Invalid Client Configuration"); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test(dependsOnMethods = {"testArtifactGeneration"}) + public void testWhenOnlyServToscaNoResTosca() { + try { + //Testing only service tosca no resource Tosca + Map<String, Model> outputArtifactMap = new HashMap<>(); + String aaiResourceBasePaths = "testArtifactGeneration4/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + List<Artifact> resultData = data.getResultData(); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + } + Assert.assertEquals(resultData.size(),3); // 1-service and 2-Others + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test(dependsOnMethods = {"testArtifactGeneration"}) + public void testWhenInvaildYaml() { + try { + //Invalid Yaml file test case + String aaiResourceBasePaths = "testArtifactGeneration5/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().get("AAI").get(0),"Invalid format for Tosca YML : " + inputArtifacts.get(0).getName()); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test(dependsOnMethods = {"testArtifactGeneration"}) + public void testWhenExtraResToscaNotPartOfServ() { + try { + // Valid scenario with extra resource tosca which is not part of Service + Map<String, Model> outputArtifactMap = new HashMap<>(); + String aaiResourceBasePaths = "testArtifactGeneration6/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + List<Artifact> resultData = data.getResultData(); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + } + Assert.assertEquals(resultData.size(),3); // 1-service and 2 Others + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + + @Test + public void testWhenInvUuIdAttrMissing() { + try { + // mandatory attribute <invariantUUID> missing + String aaiResourceBasePaths = "testArtifactGeneration8/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals( + data.getErrorData().get("AAI").get(0),"Invalid Service/Resource definition mandatory attribute <invariantUUID> missing in Artifact: <" + + inputArtifacts.get(0).getName() + ">"); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testErrorWhenInvalidInvId() { + try { + //Invariant Id in service tosca of length not 36 + String aaiResourceBasePaths = "testErrorWhenInvalidInvId/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals( + data.getErrorData().get("AAI").get(0),String.format(GENERATOR_AAI_ERROR_INVALID_ID, + "invariantUUID",inputArtifacts.get(0).getName())); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testWhenUuIdAttrMissing() { + try { + //mandatory attribute <UUID> missing + String aaiResourceBasePaths = "testArtifactGeneration9/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals( + data.getErrorData().get("AAI").get(0),"Invalid Service/Resource definition mandatory attribute <UUID> missing in Artifact: <" + + inputArtifacts.get(0).getName() + ">"); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testErrorWhenInvalidUuId() { + try { + //UUID Id in service tosca of length not 36 + String aaiResourceBasePaths = "testErrorWhenInvalidUuId/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals( + data.getErrorData().get("AAI").get(0),String.format(GENERATOR_AAI_ERROR_INVALID_ID, + "UUID",inputArtifacts.get(0).getName())); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testWhenNameAttrMissing() { + try { + //mandatory attribute <name> missing + String aaiResourceBasePaths = "testArtifactGeneration10/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals( + data.getErrorData().get("AAI").get(0),"Invalid Service/Resource definition mandatory attribute <name> missing in Artifact: <" + + inputArtifacts.get(0).getName() + ">"); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test //(dependsOnMethods = {"testArtifactGeneration"}) + public void testWhenVfModInvUuIdAttrMissing() { + try { + //mandatory attribute <vfModuleModelInvariantUUID> missing + List<Artifact> inputArtifacts = new ArrayList<>(); + InputStream fis1 = ArtifactGenerationServiceTest.class.getResourceAsStream("/service_vmme_template_ModInvUUID.yml"); + readPayload(inputArtifacts,fis1, "service_vmme_template_ModInvUUID.yml"); + fis1.close(); + + InputStream fis2 = ArtifactGenerationServiceTest.class.getResourceAsStream("/vf_vmme_template_ModInvUUID.yml"); + readPayload(inputArtifacts,fis2, "vf_vmme_template_ModInvUUID.yml"); + fis2.close(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals( + data.getErrorData().get("AAI").get(0),"Invalid Service/Resource definition mandatory attribute <vfModuleModelInvariantUUID> missing in Artifact: <" + + inputArtifacts.get(1).getName() + ">"); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + public static void readPayload(List<Artifact> inputArtifacts,InputStream fis, String fileName) throws + IOException { + byte[] payload = new byte[fis.available()]; + fis.read(payload); + String checksum = GeneratorUtil.checkSum(payload); + byte[] encodedPayload = GeneratorUtil.encode(payload); + Artifact artifact = new Artifact(aaiArtifactType, aaiArtifactGroupType, checksum, encodedPayload); + artifact.setName(fileName); + artifact.setLabel(fileName); + artifact.setDescription(fileName); + artifact.setVersion("1.0"); + System.out.println(artifact.getName()); + inputArtifacts.add(artifact); + } + + @Test + public void testWhenInvalidVfModInvUuIdAttr() { + try { + //invalid id since not of length 36 for <vfModuleModelInvariantUUID> + List<Artifact> inputArtifacts = new ArrayList<>(); + InputStream fis1 = ArtifactGenerationServiceTest.class.getResourceAsStream("/service_vmme_template_InvalidVfModInvUuIdAttr.yml"); + readPayload(inputArtifacts,fis1, "service_vmme_template_InvalidVfModInvUuIdAttr.yml"); + fis1.close(); + + InputStream fis2 = ArtifactGenerationServiceTest.class.getResourceAsStream("/vf_vmme_template_InvalidVfModInvUuIdAttr.yml"); + readPayload(inputArtifacts,fis2, "vf_vmme_template_InvalidVfModInvUuIdAttr.yml"); + fis2.close(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals( + data.getErrorData().get("AAI").get(0),String.format(GENERATOR_AAI_ERROR_INVALID_ID, + "vfModuleModelInvariantUUID", inputArtifacts.get(1).getName() )); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test //(dependsOnMethods = {"testArtifactGeneration"}) + public void testWhenVfModNameAttrMissing() { + try { + //mandatory attribute <vfModuleModelName> missing + List<Artifact> inputArtifacts = new ArrayList<>(); + InputStream fis1 = ArtifactGenerationServiceTest.class.getResourceAsStream("/service_vmme_template_ModelName.yml"); + readPayload(inputArtifacts,fis1, "service_vmme_template_ModelName.yml"); + fis1.close(); + + InputStream fis2 = ArtifactGenerationServiceTest.class.getResourceAsStream("/vf_vmme_template_ModelName.yml"); + readPayload(inputArtifacts,fis2, "vf_vmme_template_ModelName.yml"); + fis2.close(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals( + data.getErrorData().get("AAI").get(0),"Invalid Service/Resource definition mandatory attribute <vfModuleModelName> missing in Artifact: <" + + inputArtifacts.get(1).getName() + ">"); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + /*public static void readPayload(List<Artifact> inputArtifacts,InputStream fis, String fileName) + throws + IOException { + byte[] payload = new byte[fis.available()]; + fis.read(payload); + String checksum = GeneratorUtil.checkSum(payload); + byte[] encodedPayload = GeneratorUtil.encode(payload); + Artifact artifact = new Artifact(aaiArtifactType, aaiArtifactGroupType, checksum, encodedPayload); + artifact.setName(fileName); + artifact.setLabel(fileName); + artifact.setDescription(fileName); + artifact.setVersion("1.0"); + System.out.println(artifact.getName()); + inputArtifacts.add(artifact); + }*/ + + @Test //(dependsOnMethods = {"testArtifactGeneration"}) + public void testWhenVfModUuIdAttrMissing() { + try { + //mandatory attribute <vfModuleModelUUID> missing in Artifact + List<Artifact> inputArtifacts = new ArrayList<>(); + InputStream fis1 = ArtifactGenerationServiceTest.class.getResourceAsStream("/service_vmme_template_ModelUUID.yml"); + readPayload(inputArtifacts,fis1, "service_vmme_template_ModelUUID.yml"); + fis1.close(); + + InputStream fis2 = ArtifactGenerationServiceTest.class.getResourceAsStream("/vf_vmme_template_ModelUUID.yml"); + readPayload(inputArtifacts,fis2, "vf_vmme_template_ModelUUID.yml"); + fis2.close(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals( + data.getErrorData().get("AAI").get(0),"Invalid Service/Resource definition mandatory " + + "attribute <vfModuleModelUUID> missing in Artifact: <" + + inputArtifacts.get(1).getName() + ">"); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testWhenInvalidVfModUuIdAttr() { + try { + //invalid id since not of length 36 for <vfModuleModelUUID> + List<Artifact> inputArtifacts = new ArrayList<>(); + InputStream fis1 = ArtifactGenerationServiceTest.class.getResourceAsStream("/service_vmme_template_InvalidVfModUuIdAttr.yml"); + readPayload(inputArtifacts,fis1, "service_vmme_template_InvalidVfModUuIdAttr.yml"); + fis1.close(); + + InputStream fis2 = ArtifactGenerationServiceTest.class.getResourceAsStream("/vf_vmme_template_InvalidVfModUuIdAttr.yml"); + readPayload(inputArtifacts,fis2, "vf_vmme_template_InvalidVfModUuIdAttr.yml"); + fis2.close(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals( + data.getErrorData().get("AAI").get(0),String.format(GENERATOR_AAI_ERROR_INVALID_ID, + "vfModuleModelUUID", inputArtifacts.get(1).getName() )); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test //(dependsOnMethods = {"testArtifactGeneration"}) + public void testWhenVfModVersionAttrMissing() { + try { + //mandatory attribute <vfModuleModelVersion> missing + List<Artifact> inputArtifacts = new ArrayList<>(); + InputStream fis1 = ArtifactGenerationServiceTest.class.getResourceAsStream("/service_vmme_template_ModelVersion.yml"); + readPayload(inputArtifacts,fis1, "service_vmme_template_ModelVersion.yml"); + fis1.close(); + + InputStream fis2 = ArtifactGenerationServiceTest.class.getResourceAsStream("/vf_vmme_template_ModelVersion.yml"); + readPayload(inputArtifacts,fis2, "vf_vmme_template_ModelVersion.yml"); + fis2.close(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals( + data.getErrorData().get("AAI").get(0),"Invalid Service/Resource definition mandatory attribute <vfModuleModelVersion> missing in Artifact: <" + + inputArtifacts.get(1).getName() + ">"); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testErrorWhenNoSystemPropConfigured() throws Exception { + String configLoc = System.getProperty("artifactgenerator.config"); + try { + System.clearProperty("artifactgenerator.config"); + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "aai/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(false,data.getErrorData().isEmpty()); + Assert.assertEquals(data.getErrorData(). + get("AAI").get(0),GENERATOR_AAI_CONFIGLOCATION_NOT_FOUND); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + finally{ + System.setProperty("artifactgenerator.config",configLoc); + } + } + + @Test + public void testErrorWhenNoWidgetInConfig() throws Exception { + String configLoc = System.getProperty("artifactgenerator.config"); + final File configFile = new File(configLoc); + String configDir = configLoc.substring(0, configLoc.lastIndexOf(File.separator)); + final File tempFile = new File(configDir + File.separator + "temp.properties"); + try { + //copy orignal Artifact-Generator.properties to temp.properties for backup + FileUtils.copyFile(configFile, tempFile); + + String serviceWidgetName = ArtifactType.AAI.name()+".model-version-id."+Widget.getWidget + (Widget.Type.SERVICE) + .getName(); + String assertMsg = ArtifactType.AAI.name() + ".model-version-id." +Widget.getWidget + (Widget.Type.SERVICE).getName(); + OutputStream fos = new FileOutputStream(new File(configLoc)); + String serviceWidgetId = properties.getProperty(serviceWidgetName); + + //Remove property from Artifact-Generator.properties + properties.remove(serviceWidgetName); + properties.store(fos,null); + fos.close(); + + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "aai/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(false,data.getErrorData().isEmpty()); + String errMsg = String.format(GENERATOR_AAI_CONFIGLPROP_NOT_FOUND,assertMsg); + Assert.assertEquals(data.getErrorData().get("AAI").get(0),errMsg); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + finally{ + if(tempFile.exists()){ + //Revert the changes + FileUtils.copyFile(tempFile, configFile); + loadConfigFromClasspath(properties); + tempFile.delete(); + } + } + } + + @Test + public void testErrorWhenNoFileAtConfigLocation() throws Exception { + String configLoc = System.getProperty("artifactgenerator.config"); + try { + System.setProperty("artifactgenerator.config",configLoc + File.separator + "testErrorWhenNoFileAtConfigLocation"); + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "aai/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().isEmpty(),false); + Assert.assertEquals(data.getErrorData().get("AAI").get(0),String.format(GENERATOR_AAI_CONFIGFILE_NOT_FOUND,System.getProperty + ("artifactgenerator.config"))); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + finally{ + System.setProperty("artifactgenerator.config",configLoc); + } + } + + @Test + public void testErrorWhenNoServiceVersion() { + // scenario service with VF anf vfmodule but no service version in additional parameter + try { + additionalParams.clear(); + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "aai/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().isEmpty(),false); + Assert.assertEquals(data.getErrorData().get("AAI").get(0), + GENERATOR_AAI_ERROR_MISSING_SERVICE_VERSION); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + finally{ + additionalParams.put(AdditionalParams.ServiceVersion.getName(),"1.0"); + } + } + + @Test + public void testArtifactGenerationWithServiceVersion() { + // Sunny day scenario service with VF anf vfmodule and service version as adiitional parameter + try { + additionalParams.put(AdditionalParams.ServiceVersion.getName(),"9.0"); + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "aai/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + List<Artifact> resultData = data.getResultData(); + + /*for( int i = 0 ; i < resultData.size() ; i++) { + Artifact artifact = resultData.get(i); + String fileName = artifact.getName(); + while(fileName.contains(":")){ + fileName = fileName.replace(":",""); + } + File targetFile =new File("src/test/resources/"+fileName); + OutputStream outStream = new FileOutputStream(targetFile); + outStream.write(Base64.getDecoder().decode(artifact.getPayload())); + }*/ + + Assert.assertEquals(resultData.size(),5); // 1-service,1-VF-resource,1-vfmodule and 2 + // others + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + testResourceTosca(toscas.iterator(), outputArtifactMap); + } else { + Assert.fail("error encountered : " + data.getErrorData().get("AAI")); + } + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + finally{ + additionalParams.put(AdditionalParams.ServiceVersion.getName(),"1.0"); + } + } + + @Test + public void testErrorWhenInvalidServiceVersion() { + // scenario service with VF anf vfmodule but invalid service version in additional parameter + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "aai/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + + additionalParams.put(AdditionalParams.ServiceVersion.getName(),"1"); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().isEmpty(),false); + Assert.assertEquals(data.getErrorData().get("AAI").get(0), + GENERATOR_AAI_INVALID_SERVICE_VERSION); + + additionalParams.put(AdditionalParams.ServiceVersion.getName(),"0.1"); + data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().isEmpty(),false); + Assert.assertEquals(data.getErrorData().get("AAI").get(0), + GENERATOR_AAI_INVALID_SERVICE_VERSION); + + additionalParams.put(AdditionalParams.ServiceVersion.getName(),"0.0"); + data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().isEmpty(),false); + Assert.assertEquals(data.getErrorData().get("AAI").get(0), + GENERATOR_AAI_INVALID_SERVICE_VERSION); + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + finally{ + additionalParams.put(AdditionalParams.ServiceVersion.getName(),"1.0"); + } + } + + @Test + public void testMissingResourceTosca() { + try { + //Service with resource but seperate resource tosca not coming as input. + String aaiResourceBasePaths = "missingResourceTosca/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().get("AAI").get(0),"Cannot generate artifacts. Resource Tosca missing for resource with UUID: <b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc>"); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + @Test + public void testMissingVLTosca() { + try { + //Service with VL but seperate VL tosca not coming as input artifact. + String aaiResourceBasePaths = "missingVLTosca/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().get("AAI").get(0),"Cannot generate artifacts. Resource Tosca missing for resource with UUID: <3f8fa4d2-2b86-4b36-bbc8-ffb8f9f57468>"); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testErrorWhenNoResourceVersion() { + // scenario service with VF but missing resource version in service tosca + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testErrorWhenNoResourceVersion/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().isEmpty(),false); + Assert.assertEquals(data.getErrorData().get("AAI").get(0), + "Invalid Service definition mandatory attribute version missing for resource with UUID: <b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc>"); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testErrorWhenInvalidResourceVersion1() { + // scenario service with VF but invalid resource version 0.0 in service tosca + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testErrorWhenInvalidResourceVersion1/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().isEmpty(),false); + Assert.assertEquals(data.getErrorData().get("AAI").get(0), + "Cannot generate artifacts. Invalid Resource version in Service tosca for resource with UUID: <b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc>"); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testErrorWhenInvalidResourceVersion2() { + // scenario service with VF but invalid resource version 1 in service tosca + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testErrorWhenInvalidResourceVersion2/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().isEmpty(),false); + Assert.assertEquals(data.getErrorData().get("AAI").get(0), + "Cannot generate artifacts. Invalid Resource version in Service tosca for resource with UUID: <b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc>"); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testArtifactGenerationAllottedResourceWithIpMuxAndTunnelXConn() { + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testArtifactGeneration15/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + List<Artifact> resultData = data.getResultData(); + + Assert.assertEquals(resultData.size(),5); + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + testResourceTosca(toscas.iterator(), outputArtifactMap); + } else { + Assert.fail("error encountered : " + data.getErrorData().get("AAI")); + } + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + //@Test + public void testErrorWhenAllottedResourceWithOutProvidingServiceId() { + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testErrorWhenAllottedResourceWithOutDependingServiceId/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().isEmpty(),false); + Assert.assertEquals(data.getErrorData().get("AAI").get(0),String.format + (GENERATOR_AAI_PROVIDING_SERVICE_METADATA_MISSING, "707b2850-e830-4b00-9902-879f44ac05a4")); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testArtifactGenerationWithoutAllottedResource() { + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testArtifactGeneration16/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + Assert.assertEquals(data.getErrorData().isEmpty(),false); + Assert.assertEquals(data.getErrorData().get("AAI").get(0),String.format + (GENERATOR_AAI_PROVIDING_SERVICE_MISSING, "a54a5235-b69d-4f8a-838b-d011e6783fa5")); + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testArtifactGenerationAllottedResourceIpmuxSameInvariantDiffVersion() { + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testArtifactGeneration17/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + List<Artifact> resultData = data.getResultData(); + + Assert.assertEquals(resultData.size(),5); + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + testResourceTosca(toscas.iterator(), outputArtifactMap); + } else { + Assert.fail("error encountered : " + data.getErrorData().get("AAI")); + } + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testArtifactGenerationAllottedResourceIpmuxSameInvariantSameVersion() { + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testArtifactGeneration18/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + List<Artifact> resultData = data.getResultData(); + + + Assert.assertEquals(resultData.size(),4); + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + testResourceTosca(toscas.iterator(), outputArtifactMap); + } else { + Assert.fail("error encountered : " + data.getErrorData().get("AAI")); + } + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testArtifactGenerationAllottedResourceIpmuxWithGroups() { + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testAllotedResourceWithDependingSerWithGroups/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + List<Artifact> resultData = data.getResultData(); + + Assert.assertEquals(resultData.size(),5); + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + testResourceTosca(toscas.iterator(), outputArtifactMap); + } else { + Assert.fail("error encountered : " + data.getErrorData().get("AAI")); + } + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + @Test + public void testArtifactGenerationAllottedResourceWithVF() { + try { + Map<String, Model> outputArtifactMap = new HashMap<>(); + ArtifactGenerationServiceImpl obj = new ArtifactGenerationServiceImpl(); + List<ToscaTemplate> toscas = new LinkedList<>(); + String aaiResourceBasePaths = "testArtifactGenerationAllottedResourceWithVF/"; + List<Artifact> inputArtifacts = init(aaiResourceBasePaths); + GenerationData data = obj.generateArtifact(inputArtifacts, generatorConfig, additionalParams); + if (data.getErrorData().isEmpty()) { + for (Artifact inputArtifact : inputArtifacts) { + toscas.add(getToscaModel(inputArtifact)); + } + List<Artifact> resultData = data.getResultData(); + + Assert.assertEquals(resultData.size(),7); + outputArtifactMap = populateAAIGeneratedModelStore(resultData); + testServiceTosca(toscas, outputArtifactMap); + testResourceTosca(toscas.iterator(), outputArtifactMap); + } else { + Assert.fail("error encountered : " + data.getErrorData().get("AAI")); + } + + } catch (Exception e) { + Assert.fail(e.getMessage()); + } + } + + + //@Test + public void testServiceTosca(List<ToscaTemplate> toscas, Map<String, Model> outputArtifactMap) { + try { + ToscaTemplate serviceTosca = getServiceTosca(toscas); + if (serviceTosca == null) { + Assert.fail("Service Tosca not found"); + } + serviceTosca.getMetadata().put("version", "1.0"); + Service service = new Service(); + service.populateModelIdentificationInformation(serviceTosca.getMetadata()); + String serviceNameVersionId = service.getModelNameVersionId(); + Model serviceAAIModel = getAAIModelByNameVersionId(serviceNameVersionId, outputArtifactMap); + validateServiceModelMetadata(service, serviceAAIModel); + //Validate Service instance base widget + ModelVer modelVersion = serviceAAIModel.getModelVers().getModelVer().get(0); + + List<ModelElement> matchedServiceBaseWidgetElements = + getModelElementbyRelationshipValue( modelVersion.getModelElements(), + Widget.getWidget(Widget.Type.SERVICE).getId()); + validateMatchedModelElementsInService(matchedServiceBaseWidgetElements, + Widget.getWidget(Widget.Type.SERVICE).getName()); + + validateWidgetIds(matchedServiceBaseWidgetElements, Widget.getWidget(Widget.Type.SERVICE).getName(), + Widget.getWidget(Widget.Type.SERVICE).getWidgetId()); + + ModelElements baseServiceWidgetModelElements = + matchedServiceBaseWidgetElements.get(0).getModelElements(); + + + Map<String, String> nodeTemplateIdTypeStore = getNodeTemplateTypeStore(serviceTosca); + if (nodeTemplateIdTypeStore != null) { + for (String key : nodeTemplateIdTypeStore.keySet()) { + if (nodeTemplateIdTypeStore.get(key).contains("org.openecomp.resource.vf")) { + List<ModelElement> matchedResourceElements = + getModelElementbyRelationshipValue(baseServiceWidgetModelElements, key); + if (nodeTemplateIdTypeStore.get(key).contains("org.openecomp.resource.vf.allottedResource")){ + validateMatchedModelElementsInService(matchedResourceElements, + Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getName()); + }else { + validateMatchedModelElementsInService(matchedResourceElements, + Widget.getWidget(Widget.Type.VF).getName()); + } + + //Validate uuid and invariantuuid are populated in model-ver.model-version-id and model.model-invariant-id + Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList() + .getRelationship().get(0) + .getRelationshipData().get(0).getRelationshipValue(),key); + + Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList().getRelationship().get(0) + .getRelationshipData().get(1).getRelationshipValue(), nodeTemplateIdTypeStore + .get(key+"-INV_UID")); + } else if(nodeTemplateIdTypeStore.get(key).contains("org.openecomp.resource.vl")){ + //validate l3-network in service tosca + List<ModelElement> matchedResourceElements = + getModelElementbyRelationshipValue(baseServiceWidgetModelElements, key); + validateMatchedModelElementsInService(matchedResourceElements, + Widget.getWidget(Widget.Type.L3_NET).getName()); + //Validate uuid and invariantuuid are populated in model-ver.model-version-id and model.model-invariant-id + Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList() + .getRelationship().get(0) + .getRelationshipData().get(0).getRelationshipValue(),key); + + Assert.assertEquals(matchedResourceElements.get(0).getRelationshipList().getRelationship().get(0) + .getRelationshipData().get(1).getRelationshipValue(), nodeTemplateIdTypeStore + .get(key+"-INV_UID")); + } + } + + + System.out.println(); + + } + } catch (IllegalArgumentException e) { + Assert.fail(e.getMessage()); //Can come while populating metadata + } + } + + private void validateWidgetIds(List<ModelElement> matchedServiceBaseWidgetElements, + String widgetName, String widgetInvUuId) { + Assert.assertEquals(matchedServiceBaseWidgetElements.get(0).getRelationshipList().getRelationship().get(0) + .getRelationshipData().get(0).getRelationshipValue(), properties.getProperty(ArtifactType.AAI.name() + + ".model-version-id."+ widgetName)); + + Assert.assertEquals(matchedServiceBaseWidgetElements.get(0).getRelationshipList().getRelationship().get(0) + .getRelationshipData().get(1).getRelationshipValue(), widgetInvUuId); + } + + + public void testL3NetworkResourceTosca(Map<String, Model> outputArtifactMap , ToscaTemplate + resourceTosca) { + try { + if (resourceTosca != null) { + Resource resource = new Resource(); + resource.populateModelIdentificationInformation(resourceTosca.getMetadata()); + String resourceNameVersionId = resource.getModelNameVersionId(); + Model resourceAAIModel = + getAAIModelByNameVersionId(resourceNameVersionId, outputArtifactMap); + if (resourceAAIModel != null) { + validateResourceModelMetadata(resource, resourceAAIModel); + //Validate Resource instance base widget + + ModelVer modelVersion = resourceAAIModel.getModelVers().getModelVer().get(0); + + List<ModelElement> matchedVFBaseWidgetElements = + getModelElementbyRelationshipValue(modelVersion.getModelElements(), + Widget.getWidget(Widget.Type.L3_NET).getId()); + validateMatchedModelElementsInService(matchedVFBaseWidgetElements, + Widget.getWidget(Widget.Type.L3_NET).getName()); + + validateWidgetIds(matchedVFBaseWidgetElements, Widget.getWidget(Widget.Type.L3_NET).getName(), + Widget.getWidget(Widget.Type.L3_NET).getWidgetId()); + + }else { + System.out.println("Resource mapping not found for " + resourceNameVersionId); + } + } + + }catch (IllegalArgumentException e) { + Assert.fail(e.getMessage()); //Can come while populating metadata + } + + } + + public void testAllottedResourceTosca(Map<String, Model> outputArtifactMap , ToscaTemplate + resourceTosca) { + try { + if (resourceTosca != null) { + Resource resource = new Resource(); + resource.populateModelIdentificationInformation(resourceTosca.getMetadata()); + String resourceNameVersionId = resource.getModelNameVersionId(); + Model resourceAAIModel = + getAAIModelByNameVersionId(resourceNameVersionId, outputArtifactMap); + if (resourceAAIModel != null) { + validateResourceModelMetadata(resource, resourceAAIModel); + //Validate Resource instance base widget + + ModelVer modelVersion = resourceAAIModel.getModelVers().getModelVer().get(0); + + List<ModelElement> matchedVFBaseWidgetElements = + getModelElementbyRelationshipValue(modelVersion.getModelElements(), + Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getId()); + validateMatchedModelElementsInService(matchedVFBaseWidgetElements, + Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getName()); + + validateWidgetIds(matchedVFBaseWidgetElements, Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getName(), + Widget.getWidget(Widget.Type.ALLOTTED_RESOURCE).getWidgetId()); + + Map<String, Object> dependingServiceDetails = getProvidingServiceDetails(resourceTosca); + + ModelElements containedModelElements = modelVersion.getModelElements().getModelElement(). + get(0).getModelElements(); + Assert.assertEquals( containedModelElements.getModelElement().get(0).getRelationshipList() + .getRelationship().get(0).getRelationshipData().get(0).getRelationshipValue(), + dependingServiceDetails.get("providing_service_uuid")); + + Assert.assertEquals(containedModelElements.getModelElement().get(0).getRelationshipList() + .getRelationship().get(0).getRelationshipData().get(1).getRelationshipValue(), + dependingServiceDetails.get("providing_service_invariant_uuid")); + + if("Allotted Resource".equals(resourceTosca.getMetadata().get("category")) && + "Tunnel XConnect".equals(resourceTosca.getMetadata().get("subcategory"))) { + + List<ModelElement> matchedTunnelXConnectWidgetElements = + getModelElementbyRelationshipValue(containedModelElements, + Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getId()); + validateMatchedModelElementsInService(matchedTunnelXConnectWidgetElements, + Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getName()); + + validateWidgetIds(matchedTunnelXConnectWidgetElements, Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getName(), + Widget.getWidget(Widget.Type.TUNNEL_XCONNECT).getWidgetId()); + } + + }else { + System.out.println("Resource mapping not found for " + resourceNameVersionId); + } + } + + }catch (IllegalArgumentException e) { + Assert.fail(e.getMessage()); //Can come while populating metadata + } + + } + + public Map<String, Object> getProvidingServiceDetails(ToscaTemplate resourceTemplate) { +Set<String> keys = resourceTemplate.getTopology_template().getNode_templates().keySet(); + +Map<String, Object> nodeProperties =null; +for(String key : keys) { +NodeTemplate node = resourceTemplate.getTopology_template().getNode_templates().get(key); +if(node.getType().equals("org.openecomp.resource.vfc.AllottedResource")) { +nodeProperties = node.getProperties(); + } +} + + return nodeProperties; + } + + public void testVfTosca(Map<String, Model> outputArtifactMap , ToscaTemplate resourceTosca) { + try { + //ToscaTemplate resourceTosca = getResourceTosca(toscas); + //resourceTosca.getTopology_template().getGroups(). + if (resourceTosca != null) { + Resource resource = new Resource(); + resource.populateModelIdentificationInformation(resourceTosca.getMetadata()); + String resourceNameVersionId = resource.getModelNameVersionId(); + Model resourceAAIModel = + getAAIModelByNameVersionId(resourceNameVersionId, outputArtifactMap); + if (resourceAAIModel != null) { + validateResourceModelMetadata(resource, resourceAAIModel); + //Validate Resource instance base widget + + ModelVer modelVersion = resourceAAIModel.getModelVers().getModelVer().get(0); + + List<ModelElement> matchedVFBaseWidgetElements = + getModelElementbyRelationshipValue(modelVersion.getModelElements(), + Widget.getWidget(Widget.Type.VF).getId()); + validateMatchedModelElementsInService(matchedVFBaseWidgetElements, + Widget.getWidget(Widget.Type.VF).getName()); + + validateWidgetIds(matchedVFBaseWidgetElements, Widget.getWidget(Widget.Type.VF).getName(), + Widget.getWidget(Widget.Type.VF).getWidgetId()); + + ModelElements baseResourceWidgetModelElements = + matchedVFBaseWidgetElements.get(0).getModelElements(); + if (resourceTosca.getTopology_template() != null) { + Map<String, String> groupIdTypeStore = getGroupsTypeStore(resourceTosca); + + if (baseResourceWidgetModelElements.getModelElement().size() != + groupIdTypeStore.size()) { + Assert.fail("Missing VFModule in VF model.xml"); + } + + for (String key : groupIdTypeStore.keySet()) { + + List<ModelElement> matchedResourceElements = + getModelElementbyRelationshipValue(baseResourceWidgetModelElements, key); + validateMatchedModelElementsInService(matchedResourceElements, + Widget.getWidget(Widget.Type.VFMODULE).getName()); + Model resourceAAIVFModel = getAAIModelByNameVersionId(key, outputArtifactMap); + Map<String, String> vfModuleModelMetadata = + getVFModuleMetadataTosca(resourceTosca, key); + Map<String, Object> vfModuleMembers = getVFModuleMembersTosca(resourceTosca, key); + + validateVFModelMetadata(vfModuleModelMetadata, resourceAAIVFModel); + + + ModelVer modelVfVersion = resourceAAIVFModel.getModelVers().getModelVer().get(0); + + List<ModelElement> matchedVFModuleBaseWidgetElements = + getModelElementbyRelationshipValue(modelVfVersion.getModelElements(), + Widget.getWidget(Widget.Type.VFMODULE).getId()); + validateMatchedModelElementsInService(matchedVFModuleBaseWidgetElements, + Widget.getWidget(Widget.Type.VFMODULE).getName()); + validateWidgetIds(matchedVFModuleBaseWidgetElements, Widget.getWidget(Widget.Type.VFMODULE) + .getName(), Widget.getWidget(Widget.Type.VFMODULE).getWidgetId()); + + ModelElements baseResourceVFModuleWidgetModelElements = + matchedVFModuleBaseWidgetElements.get(0).getModelElements(); + if (vfModuleMembers.containsKey("l3-network")) { + //Validate l3 + List<ModelElement> matchedL3NetworkElements = + getModelElementbyRelationshipValue(baseResourceVFModuleWidgetModelElements, + Widget.getWidget(Widget.Type.L3_NET).getId()); + validateMatchedModelElementsInService(matchedL3NetworkElements, + Widget.getWidget(Widget.Type.L3_NET).getName()); + validateWidgetIds(matchedL3NetworkElements, Widget.getWidget(Widget.Type.L3_NET) + .getName(), Widget.getWidget(Widget.Type.L3_NET).getWidgetId()); + } + if (vfModuleMembers.containsKey("vserver")) { + //Validate vserver + List<ModelElement> matchedVserverElements = + getModelElementbyRelationshipValue(baseResourceVFModuleWidgetModelElements, + Widget.getWidget(Widget.Type.VSERVER).getId()); + validateMatchedModelElementsInService(matchedVserverElements, + Widget.getWidget(Widget.Type.VSERVER).getName()); + ModelElements vserverWidgetModelElements = + matchedVserverElements.get(0).getModelElements(); + + validateWidgetIds(matchedVserverElements, Widget.getWidget(Widget.Type.VSERVER) + .getName(), Widget.getWidget(Widget.Type.VSERVER).getWidgetId()); + + + //Validate vserver->vfc + List<ModelElement> matchedVfcElements = + getModelElementbyRelationshipValue(vserverWidgetModelElements, + Widget.getWidget(Widget.Type.VFC).getId()); + validateMatchedModelElementsInService(matchedVfcElements, + Widget.getWidget(Widget.Type.VFC).getName()); + validateWidgetIds(matchedVfcElements, Widget.getWidget(Widget.Type.VFC).getName(), + Widget.getWidget(Widget.Type.VFC).getWidgetId()); + + //Validate vserver->Image + List<ModelElement> matchedImageElements = + getModelElementbyRelationshipValue(vserverWidgetModelElements, + Widget.getWidget(Widget.Type.IMAGE).getId()); + validateMatchedModelElementsInService(matchedImageElements, + Widget.getWidget(Widget.Type.IMAGE).getName()); + validateWidgetIds(matchedImageElements, Widget.getWidget(Widget.Type.IMAGE) + .getName(), Widget.getWidget(Widget.Type.IMAGE).getWidgetId()); + + + //Validate vserver->Flavor + List<ModelElement> matchedFlavorElements = + getModelElementbyRelationshipValue(vserverWidgetModelElements, + Widget.getWidget(Widget.Type.FLAVOR).getId()); + validateMatchedModelElementsInService(matchedFlavorElements, + Widget.getWidget(Widget.Type.FLAVOR).getName()); + validateWidgetIds(matchedFlavorElements, Widget.getWidget(Widget.Type.FLAVOR).getName(), + Widget.getWidget(Widget.Type.FLAVOR).getWidgetId()); + + //Validate vserver->Tenant + List<ModelElement> matchedTenantElements = + getModelElementbyRelationshipValue(vserverWidgetModelElements, + Widget.getWidget(Widget.Type.TENANT).getId()); + validateMatchedModelElementsInService(matchedTenantElements, + Widget.getWidget(Widget.Type.TENANT).getName()); + validateWidgetIds(matchedTenantElements, Widget.getWidget(Widget.Type.TENANT).getName(), + Widget.getWidget(Widget.Type.TENANT).getWidgetId()); + + //Validate vserver->l-interface + if (vfModuleMembers.containsKey("l-interface")) { + List<ModelElement> matchedLinterfaceElements = + getModelElementbyRelationshipValue(vserverWidgetModelElements, + Widget.getWidget(Widget.Type.LINT).getId()); + validateMatchedModelElementsInService(matchedLinterfaceElements, + Widget.getWidget(Widget.Type.LINT).getName()); + validateWidgetIds(matchedLinterfaceElements, Widget.getWidget(Widget.Type.LINT).getName(), + Widget.getWidget(Widget.Type.LINT).getWidgetId()); + } + //Validate vserver->volume + if (vfModuleMembers.containsKey("volume")) { + List<ModelElement> matchedVolumeElements = + getModelElementbyRelationshipValue(vserverWidgetModelElements, + Widget.getWidget(Widget.Type.VOLUME).getId()); + validateMatchedModelElementsInService(matchedVolumeElements, + Widget.getWidget(Widget.Type.VOLUME).getName()); + validateWidgetIds(matchedVolumeElements, Widget.getWidget(Widget.Type.VOLUME).getName(), + Widget.getWidget(Widget.Type.VOLUME).getWidgetId()); + } + } + } + } + } else { + System.out.println("Resource mapping not found for " + resourceNameVersionId); + } + } + + } catch (IllegalArgumentException e) { + Assert.fail(e.getMessage()); //Can come while populating metadata + } + + } + + private void validateMatchedModelElementsInService(List<ModelElement> matchedModelElements, + String modelType) { + if (matchedModelElements.isEmpty()) { + Assert.fail(modelType + " not present "); + } + if (matchedModelElements.size() > 1) { + Assert.fail("More than one " + modelType + " present "); + } + } + + private Map<String, String> getNodeTemplateTypeStore(ToscaTemplate toscaTemplate) { + if (toscaTemplate.getTopology_template() != null) { + Map<String, NodeTemplate> nodeTemplateMap = + toscaTemplate.getTopology_template().getNode_templates(); + Map<String, String> nodeTemplateIdTypeStore = new LinkedHashMap<>(); + if (nodeTemplateMap != null) { + for (Map.Entry<String, NodeTemplate> e : nodeTemplateMap.entrySet()) { + String uuid = e.getValue().getMetadata().get("resourceUUID"); + if (GeneratorUtil.isEmpty(uuid)) { + uuid = e.getValue().getMetadata().get("UUID"); + if (GeneratorUtil.isEmpty(uuid)) { + Assert.fail("UUID Not found"); + } + } + if(e.getValue().getType().contains("org.openecomp.resource.vf.")&& (e.getValue() + .getMetadata().get("category").equals("Allotted Resource"))) + { + e.getValue().setType("org.openecomp.resource.vf.allottedResource"); + } + nodeTemplateIdTypeStore.put(uuid, e.getValue().getType()); + resourcesVersion.put(uuid,e.getValue().getMetadata().get + ("version")); + //Populate invraintUuId for V9 + String invUuId = e.getValue().getMetadata().get("invariantUUID"); + nodeTemplateIdTypeStore.put(uuid+"-INV_UID" , invUuId); + } + } + return nodeTemplateIdTypeStore; + } else { + return null; + } + } + + private Map<String, String> getGroupsTypeStore(ToscaTemplate toscaTemplate) { + if (toscaTemplate.getTopology_template() != null) { + Map<String, GroupDefinition> groupDefinitionMap = + toscaTemplate.getTopology_template().getGroups(); + Map<String, String> groupDefinitionIdTypeStore = new LinkedHashMap<>(); + if (groupDefinitionMap != null) { + for (Map.Entry<String, GroupDefinition> e : groupDefinitionMap.entrySet()) { + if (e.getValue().getType().contains("org.openecomp.groups.VfModule")) { + String uuid = e.getValue().getMetadata().get("vfModuleModelUUID"); + if (GeneratorUtil.isEmpty(uuid)) { + uuid = e.getValue().getMetadata().get("UUID"); + if (GeneratorUtil.isEmpty(uuid)) { + Assert.fail("UUID Not found"); + } + } + groupDefinitionIdTypeStore.put(uuid, e.getValue().getType()); + } + } + } + return groupDefinitionIdTypeStore; + } else { + return null; + } + + } + + private void validateServiceModelMetadata(Service serviceToscaModel, Model generatedAAIModel) { + ModelVer modelVersion = generatedAAIModel.getModelVers().getModelVer().get(0); + Assert.assertEquals(serviceToscaModel.getModelNameVersionId(), + modelVersion.getModelVersionId()); + Assert.assertEquals(serviceToscaModel.getModelId(), generatedAAIModel.getModelInvariantId()); + Assert.assertEquals(serviceToscaModel.getModelName(), modelVersion.getModelName()); + Assert.assertEquals(additionalParams.get(AdditionalParams.ServiceVersion.getName()), modelVersion + .getModelVersion()); + Assert.assertEquals(serviceToscaModel.getModelDescription(), + modelVersion.getModelDescription()); + + } + + private void validateResourceModelMetadata(Resource resouerceToscaModel, + Model generatedAAIModel) { + ModelVer modelVersion = generatedAAIModel.getModelVers().getModelVer().get(0); + Assert.assertEquals(resouerceToscaModel.getModelNameVersionId(), + modelVersion.getModelVersionId()); + Assert.assertEquals(resouerceToscaModel.getModelId(), generatedAAIModel.getModelInvariantId()); + Assert.assertEquals(resouerceToscaModel.getModelName(), modelVersion.getModelName()); + Assert + .assertEquals(resouerceToscaModel.getModelVersion(), modelVersion.getModelVersion()); + Assert.assertEquals(resouerceToscaModel.getModelDescription(), + modelVersion.getModelDescription()); + + } + + private void validateVFModelMetadata(Map<String, String> vfModuleModelMetadata, + Model generatedAAIModel) { + ModelVer modelVersion = generatedAAIModel.getModelVers().getModelVer().get(0); + Assert.assertEquals(vfModuleModelMetadata.get("vfModuleModelUUID"), + modelVersion.getModelVersionId()); + Assert.assertEquals(vfModuleModelMetadata.get("vfModuleModelInvariantUUID"), + generatedAAIModel.getModelInvariantId()); + Assert.assertEquals(vfModuleModelMetadata.get("vfModuleModelName"), + modelVersion.getModelName()); + Assert.assertEquals(vfModuleModelMetadata.get("vfModuleModelVersion"), + modelVersion.getModelVersion()); + Assert.assertEquals(vfModuleModelMetadata.get("vf_module_description"), + modelVersion.getModelDescription()); + } + + private Model getAAIModelByNameVersionId(String nameVersionId, + Map<String, Model> outputArtifactMap) { + return outputArtifactMap.get(nameVersionId); + } + + private List<ModelElement> getModelElementbyRelationshipValue(ModelElements modelElements, + String relationshipValue) { + List<ModelElement> matchedModelElements = new ArrayList<>(); + if (modelElements != null) { + List<ModelElement> modelElementList = modelElements.getModelElement(); + for (ModelElement element : modelElementList) { + List<Relationship> relationshipList = element.getRelationshipList().getRelationship(); + for (Relationship r : relationshipList) { + List<RelationshipData> relationshipDataList = r.getRelationshipData(); + for (RelationshipData relationshipData : relationshipDataList) { + if (relationshipData.getRelationshipValue().equals(relationshipValue)) { + matchedModelElements.add(element); + } + } + } + } + } + return matchedModelElements; + } + + private Map<String, Model> populateAAIGeneratedModelStore(List<Artifact> resultData) { + Map<String, Model> outputArtifactMap = new HashMap<>(); + for (Artifact outputArtifact : resultData) { + if (outputArtifact.getType().equals(ArtifactType.MODEL_INVENTORY_PROFILE.name())) { + byte[] decodedPayload = GeneratorUtil.decoder(outputArtifact.getPayload()); + Model aaiModel = getUnmarshalledArtifactModel(new String(decodedPayload)); + List<ModelVer> modelVersions = aaiModel.getModelVers().getModelVer(); + outputArtifactMap.put(modelVersions.get(0).getModelVersionId(), aaiModel); + } + } + return outputArtifactMap; + } + + private Model getUnmarshalledArtifactModel(String aaiModel) { + JAXBContext jaxbContext; + try { + jaxbContext = JAXBContext.newInstance(Model.class); + Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); + InputStream aaiModelStream = new ByteArrayInputStream(aaiModel.getBytes()); + return (Model) unmarshaller.unmarshal(aaiModelStream); + } catch (JAXBException e) { + e.printStackTrace(); + } + return null; + } + + /** + * Get the tosca java model from the tosca input artifact + * + * @param input Input tosca file and its metadata information as {@link Artifact} object + * @return Translated {@link ToscaTemplate tosca} object + */ + private ToscaTemplate getToscaModel(Artifact input) throws SecurityException { + byte[] decodedInput = GeneratorUtil.decoder(input.getPayload()); + String checksum = GeneratorUtil.checkSum(decodedInput); + if (checksum.equals(input.getChecksum())) { + try { + return GeneratorUtil.translateTosca(new String(decodedInput), ToscaTemplate.class); + } catch (Exception e) { + e.printStackTrace(); + throw new IllegalArgumentException( + String.format(GeneratorConstants.GENERATOR_AAI_ERROR_INVALID_TOSCA, input.getName())); + } + } else { + throw new SecurityException( + String.format(GeneratorConstants.GENERATOR_AAI_ERROR_CHECKSUM_MISMATCH, input.getName())); + } + } + + /** + * Identify the service tosca artifact from the list of translated tosca inputs + * + * @param input List of translated {@link ToscaTemplate tosca} object models + * @return Identified service {@link ToscaTemplate tosca} + */ + private ToscaTemplate getServiceTosca(List<ToscaTemplate> input) { + Iterator<ToscaTemplate> iter = input.iterator(); + while (iter.hasNext()) { + ToscaTemplate tosca = iter.next(); + if (tosca.isService()) { + iter.remove(); + return tosca; + } + } + return null; + } + + + private ToscaTemplate getResourceTosca(List<ToscaTemplate> input) { + Iterator<ToscaTemplate> iter = input.iterator(); + while (iter.hasNext()) { + ToscaTemplate tosca = iter.next(); + if (!tosca.isService()) { + iter.remove(); + return tosca; + } + } + return null; + } + + + private Map<String, String> getVFModuleMetadataTosca(ToscaTemplate toscaTemplate, + String vfModuleModelUUID) { + Map<String, GroupDefinition> groupDefinitionMap = + toscaTemplate.getTopology_template().getGroups(); + Map<String, String> vfModuleModelMetadata = new LinkedHashMap<>(); + for (Map.Entry<String, GroupDefinition> e : groupDefinitionMap.entrySet()) { + if (e.getValue().getType().contains("org.openecomp.groups.VfModule")) { + String uuid = e.getValue().getMetadata().get("vfModuleModelUUID"); + if (uuid == vfModuleModelUUID) { + vfModuleModelMetadata = e.getValue().getMetadata(); + vfModuleModelMetadata.put("vf_module_description", + (String) e.getValue().getProperties().get("vf_module_description")); + } + } + } + return vfModuleModelMetadata; + } + + private Map<String, Object> getVFModuleMembersTosca(ToscaTemplate toscaTemplate, + String vfModuleModelUUID) { + Map<String, GroupDefinition> groupDefinitionMap = + toscaTemplate.getTopology_template().getGroups(); + Map<String, NodeTemplate> nodeTemplateMaps = + toscaTemplate.getTopology_template().getNode_templates(); + Map<String, Object> vfModuleMembers = new LinkedHashMap<>(); + List<String> vfModuleModelMetadata = new ArrayList<>(); + for (Map.Entry<String, GroupDefinition> e : groupDefinitionMap.entrySet()) { + if (e.getValue().getType().contains("org.openecomp.groups.VfModule")) { + String uuid = e.getValue().getMetadata().get("vfModuleModelUUID"); + if (uuid == vfModuleModelUUID) { + vfModuleModelMetadata = e.getValue().getMembers(); + if (vfModuleModelMetadata !=null) { + Iterator itr = vfModuleModelMetadata.iterator(); + while (itr.hasNext()) { + Object obj = itr.next(); + NodeTemplate nodeTemplate = nodeTemplateMaps.get(obj); + String nodetype = null; + if (nodeTemplate != null) { + nodetype = nodeTemplate.getType(); + } + if (nodetype != null) { + String widgetType = membersType(nodetype); + if (widgetType != null) { + vfModuleMembers.put(widgetType, obj); + } + } + } + } + } + } + } + + return vfModuleMembers; + } + + + private String membersType(String toscaType) { + String modelToBeReturned = null; + while (toscaType != null && toscaType.lastIndexOf(".") != -1 && modelToBeReturned == null) { + + switch (toscaType) { + case "org.openecomp.resource.vf.allottedResource": + modelToBeReturned = "allotted-resource"; + break; + case "org.openecomp.resource.vfc": + modelToBeReturned = "vserver"; + break; + case "org.openecomp.resource.cp": + case "org.openecomp.cp": + modelToBeReturned = "l-interface"; + break; + case "org.openecomp.resource.vl": + modelToBeReturned = "l3-network"; + break; + case "org.openecomp.resource.vf": + modelToBeReturned = "generic-vnf"; + break; + case "org.openecomp.groups.VfModule": + modelToBeReturned = "vf-module"; + break; + case "org.openecomp.resource.vfc.nodes.heat.cinder": + modelToBeReturned = "volume"; + break; + default: + modelToBeReturned = null; + break; + } + + toscaType = toscaType.substring(0, toscaType.lastIndexOf(".")); + } + return modelToBeReturned; + } + + private List<Artifact> init(String aaiResourceBasePaths) { + List<Artifact> inputArtifacts1 = new ArrayList<>(); + try { + + String[] resourceFileList = {}; + URL resourceDirUrl = this.getClass().getClassLoader().getResource(aaiResourceBasePaths); + if (resourceDirUrl != null && resourceDirUrl.getProtocol().equals("file")) { + resourceFileList = new File(resourceDirUrl.toURI()).list(); + } else { + Assert.fail("Invalid resource directory"); + } + + for (int i = 0; i < resourceFileList.length; i++) { + byte[] payload = null; + File resourceFile = new File( + this.getClass().getClassLoader().getResource(aaiResourceBasePaths + resourceFileList[i]) + .getPath()); + FileInputStream fileInputStream; + //convert service tosca file into array of bytes + payload = new byte[(int) resourceFile.length()]; + fileInputStream = new FileInputStream(resourceFile); + fileInputStream.read(payload); + fileInputStream.close(); + String checksum = GeneratorUtil.checkSum(payload); + byte[] encodedPayload = GeneratorUtil.encode(payload); + Artifact artifact = + new Artifact(aaiArtifactType, aaiArtifactGroupType, checksum, encodedPayload); + artifact.setName(resourceFileList[i]); + artifact.setLabel(resourceFileList[i]); + artifact.setDescription(resourceFileList[i]); + artifact.setVersion("1.0"); + inputArtifacts1.add(artifact); + + } + } catch (Exception e) { + //e.printStackTrace(); + Assert.fail(e.getMessage()); + } + return inputArtifacts1; + } + + private void loadConfigFromClasspath(Properties properties) throws IOException { + String configLocation = System.getProperty("artifactgenerator.config"); + if (configLocation != null) { + File file = new File(configLocation); + if (file.exists()) { + properties.load(new FileInputStream(file)); + } + } + } + + public void testResourceTosca(Iterator<ToscaTemplate> itr, Map<String, Model> + outputArtifactMap) { + while(itr.hasNext()){ + ToscaTemplate toscaTemplate = itr.next(); + String resourceVersion=resourcesVersion.get(toscaTemplate.getMetadata().get("UUID")); + toscaTemplate.getMetadata().put("version", resourceVersion); + if("VF".equals(toscaTemplate.getMetadata().get("type")) && !("Allotted Resource".equals + (toscaTemplate.getMetadata().get("category"))) ){ + testVfTosca(outputArtifactMap, toscaTemplate); + } else if("VF".equals(toscaTemplate.getMetadata().get("type")) && ("Allotted Resource".equals + (toscaTemplate.getMetadata().get("category"))) ){ + testAllottedResourceTosca(outputArtifactMap, toscaTemplate); + } else if("VL".equals(toscaTemplate.getMetadata().get("type"))){ + testL3NetworkResourceTosca(outputArtifactMap, toscaTemplate); + } + } + } +} diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai/service_vmme_template_1.yml new file mode 100644 index 0000000000..c740f67b51 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai/service_vmme_template_1.yml @@ -0,0 +1,98 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 3.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai/vf_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai/vf_vmme_template_1.yml new file mode 100644 index 0000000000..6aee48b9d9 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai/vf_vmme_template_1.yml @@ -0,0 +1,1299 @@ +--- +description: "VF Template for pseodo vMME" +imports: + NovaServerGlobalTypes: + file: NovaServerGlobalTypesServiceTemplate.yaml +metadata: + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + subcategory: Firewall + type: VF + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + resourceVendor: Ericsson +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: adf1a10a-f788-492f-9ea7-7ff91dd55f8c + vfModuleModelName: "vMME::module-1" + vfModuleModelUUID: x020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + vfModuleModelVersion: 1 + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + vmme_small: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + properties: + description: "HOT template to create vmme 2 fsb 2 ncb 2 gbp 2 vlc" + heat_file: ../Artifacts/vmme_small.yml + type: org.openecomp.groups.heat.HeatStack + vmme_small_create_fsb: + members: + - FSB1_volume + - FSB2_volume + properties: + description: "server template for vMME" + heat_file: ../Artifacts/vmme_small_create_fsb.yml + type: org.openecomp.groups.heat.HeatStack + inputs: + Internal1_net_cidr: + default: 169.253.0.0/17 + hidden: false + immutable: false + type: string + Internal1_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal1_net_gateway_ip: + default: "169.253.0.3" + hidden: false + immutable: false + type: string + Internal2_net_cidr: + default: 169.255.0.0/17 + hidden: false + immutable: false + type: string + Internal2_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal2_net_gateway_ip: + default: "169.255.0.3" + hidden: false + immutable: false + type: string + fsb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + fsb1_vfc_image_name: + default: MME_FSB1_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + fsb1_vfc_type_tag: + description: "VFC type tag" + type: string + fsb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb2_vfc_flavor: + defualt: m4.xlarge4 + description: "VFC flavor" + type: string + fsb2_vfc_image_name: + default: MME_FSB2_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb2_vfc_instance_name: + default: ZRDM1MMEX36FSB002 + description: "VFC instance name" + type: string + fsb2_vfc_type_tag: + description: "VFC type tag" + type: string + gpb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb1_vfc_image_name: + default: MME_GPB1_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb1_vfc_type_tag: + description: "VFC type tag" + type: string + gpb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb2_vfc_image_name: + default: MME_GPB2_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb2_vfc_type_tag: + description: "VFC type tag" + type: string + ncb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb1_vfc_image_name: + default: MME_NCB1_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb1_vfc_type_tag: + description: "VFC type tag" + type: string + ncb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb2_vfc_image_name: + default: MME_NCB2_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb2_vfc_type_tag: + description: "VFC type tag" + type: string + network_deployment_node: + description: "The target LCP node for deployment of this Network instance" + type: string + oam_net_id: + default: 47bf4cca-0961-422f-bcd6-d5a4fbb1a351 + description: "uuid of oam network" + hidden: false + immutable: false + type: string + vlc1_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc1_vfc_image_name: + default: MME_VLC1_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc1_vfc_type_tag: + description: "VFC type tag" + type: string + vlc2_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc2_vfc_image_name: + default: MME_VLC2_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc2_vfc_type_tag: + description: "VFC type tag" + type: string + node_templates: + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb1_vfc_image_name + vfc_instance_name: + get_input: gpb1_vfc_instance_name + vfc_type_tag: + get_input: gpb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb2_vfc_image_name + vfc_instance_name: + get_input: gpb2_vfc_instance_name + vfc_type_tag: + get_input: gpb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + Internal1_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal1_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_1 + vn_shared: false + enable_dhcp: + get_input: Internal1_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal1_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + Internal2_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal2_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_2 + vn_shared: false + enable_dhcp: + get_input: Internal2_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal2_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb2_vfc_image_name + vfc_instance_name: + get_input: ncb2_vfc_instance_name + vfc_type_tag: + get_input: ncb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC1 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc1_vfc_image_name + vfc_instance_name: + get_input: vlc1_vfc_instance_name + vfc_type_tag: + get_input: vlc1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC2 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc2_vfc_image_name + vfc_instance_name: + get_input: vlc2_vfc_instance_name + vfc_type_tag: + get_input: vlc2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + fsb1_internal1: + properties: + address_info: + mac_address: + get_input: fsb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_internal2: + properties: + address_info: + mac_address: + get_input: fsb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_oam: + properties: + address_Info: + ip_address: + get_input: fsb1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal1: + properties: + address_info: + mac_address: + get_input: fsb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal2: + properties: + address_info: + mac_address: + get_input: fsb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_oam: + properties: + address_Info: + ip_address: + get_input: fsb2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal1: + properties: + address_info: + mac_address: + get_input: gpb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal2: + properties: + address_info: + mac_address: + get_input: gpb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal1: + properties: + address_info: + mac_address: + get_input: gpb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal2: + properties: + address_info: + mac_address: + get_input: gpb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal1: + properties: + address_info: + mac_address: + get_input: ncb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal2: + properties: + address_info: + mac_address: + get_input: ncb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal1: + properties: + address_info: + mac_address: + get_input: ncb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal2: + properties: + address_info: + mac_address: + get_input: ncb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + oam_net: + metadata: + category: VL + description: "Mobility OAM Network" + invariantUUID: 18643c59-e2c2-4f86-880d-371d4d9dc52a + name: "Mobility OAM Network" + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da7fcc + resourceVendor: AT&T + version: 2.0 + properties: + flow_pattern: E-LAN + layer_protocol: IP + network_id: + get_input: oam_net_id + network_technology: Contrail + network_type: vIPR_ATM_OAM + test_access: none + type: org.openecomp.resource.vl.OAM + vlc1_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc1_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_internal2: + properties: + address_info: + mac_address: + get_input: vlc1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_oam: + properties: + address_Info: + ip_address: + get_input: vlc1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc2_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal1: + properties: + address_info: + mac_address: + get_input: vlc2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal2: + properties: + address_info: + mac_address: + get_input: vlc2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_oam: + properties: + address_Info: + ip_address: + get_input: vlc2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + policies: + - + mme_autoscale_policy: + properties: + factor: cpu_load + increment: 1 + max_instances: 4 + min_instances: 1 + threshold: 80% + target: + - vfmoduleVmmeModule-1 + type: org.openecomp.policy.Autoscaling + substitution_mapping: + requirements: + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc2_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + type: org.openecomp.resource.vf.vmme +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/resource-AllottedResource-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/resource-AllottedResource-template.yml new file mode 100644 index 0000000000..c80e701913 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/resource-AllottedResource-template.yml @@ -0,0 +1,78 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: Allotted Resource + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Alloted resource: + file: resource-AllotedResource-template.yml +topology_template: + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: 666b409b-5614-41a8-945e-a53d68f5d439 + UUID: df0c1c4d-1756-4b2a-998e-73f9f4d77afa + version: '1.0' + name: Alloted resource + description: This is a VFC- Allotted resource + type: VFC + category: Allotted Resource + subcategory: Allotted Resource + properties: + role: name + ecomp_naming: + naming_policy: test + ecomp_generated_naming: false + supplemental_data: + Key1: key1 + providing_service_invariant_uuid: 34a4d119-06bc-4ab4-8c5a-a498d638297c + min_instances: 1 + max_instances: 1 + providing_service_uuid: e14a509f-b611-4b30-b38c-bc7f11b679aa + providing_service_name: vVIGaaS + ecomp_homing: + instance_node_target: Test + homing_policy: Test + supplemental_data: + Key: key + ecomp_selected_instance_node_target: false + substitution_mappings: + node_type: org.openecomp.resource.vf.AllottedResource + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/resource-Extvl-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/resource-Extvl-template.yml new file mode 100644 index 0000000000..512d62bdaa --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/resource-Extvl-template.yml @@ -0,0 +1,61 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: f148dbb0-8c53-466d-9687-791c0e9d40cf + UUID: 3f8fa4d2-2b86-4b36-bbc8-ffb8f9f57468 + name: ExtVL + description: OPENECOMP generic virtual link (network) base type for all other service-level and global networks + type: VL + category: Generic + subcategory: Network Elements + resourceVendor: OPENECOMP (Tosca) + resourceVendorRelease: 1.0.0.wd03 +node_types: + org.openecomp.resource.vl.extVL: + derived_from: tosca.nodes.Root + description: OPENECOMP generic virtual link (network) base type for all other service-level and global networks + properties: + physical_network: + type: org.openecomp.datatypes.network.PhysicalNetwork + network_role: + type: string + description: | + Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network + network_assignments: + type: org.openecomp.datatypes.network.NetworkAssignments + network_flows: + type: org.openecomp.datatypes.network.NetworkFlows + vl_artifacts: + type: map + description: List of artifacts associated with the VL + entry_schema: + type: org.openecomp.datatypes.Artifact + network_scope: + type: string + description: | + Uniquely identifies the network scope. Valid values for the network scope includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects the VFs within the service GLOBAL - Global network which can be shared by multiple services + network_ecomp_naming: + type: org.openecomp.datatypes.EcompNaming + network_type: + type: string + description: OPENECOMP supported network types. + network_technology: + type: string + description: OPENECOMP supported network technology + network_homing: + type: org.openecomp.datatypes.EcompHoming + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable + occurrences: + - 1 + - UNBOUNDED +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/service-ServiceWithAllotedVfAndExvl-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/service-ServiceWithAllotedVfAndExvl-template.yml new file mode 100644 index 0000000000..dbd039669c --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/service-ServiceWithAllotedVfAndExvl-template.yml @@ -0,0 +1,90 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: e8a6c85c-429f-47cd-b594-376a0ffccd29 + UUID: 14fd2446-691a-4d7d-8ef4-ece19c3176f5 + name: Service with alloted VF and exVL + description: 'This service contains two instances : 1. Allotted resource VF 2. ExVL + - Network' + type: Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false +imports: +- ExtVL: + file: resource-Extvl-template.yml +- Allotted Resource: + file: resource-AllottedResource-template.yml +topology_template: + node_templates: + ExtVL 1: + type: org.openecomp.resource.vl.extVL + metadata: + invariantUUID: f148dbb0-8c53-466d-9687-791c0e9d40cf + UUID: 3f8fa4d2-2b86-4b36-bbc8-ffb8f9f57468 + version: '2.0' + name: ExtVL + description: OPENECOMP generic virtual link (network) base type for all other service-level and global networks + type: VL + category: Generic + subcategory: Network Elements + Allotted Resource 2: + type: org.openecomp.resource.vf.AllottedResource + metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + version: '0.1' + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: Allotted Resource + substitution_mappings: + node_type: org.openecomp.service.ServiceWithAllotedVfAndExvl + capabilities: + ExtVL 1.virtual_linkable: + type: tosca.capabilities.network.Linkable + occurrences: + - 1 + - UNBOUNDED + Allotted Resource 2.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + ExtVL 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + ExtVL 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Allotted Resource 2.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Allotted Resource 2.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-IpMuxDemux-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-IpMuxDemux-template.yml new file mode 100644 index 0000000000..4549306475 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-IpMuxDemux-template.yml @@ -0,0 +1,80 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 707b2850-e830-4b00-9902-879f44ac05a4 + UUID: 495b483b-282a-45df-bbfe-63d1d1d80813 + name: IP_Mux_Demux + description: IP_Mux_Demux + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Allotedresource: + file: resource-Allotedresource-template.yml +topology_template: + inputs: + role: + type: string + ecomp_naming: + type: string + max_instances: + type: string + min_instances: + type: string + ecomp_homing: + type: string + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: bc0bebc1-6dc1-4637-883e-aed77bffd63c + UUID: 7763d3a3-048f-4e5b-96c5-e7818dbc066a + customizationUUID: 5eac2a36-bcb5-4158-ace4-802b81e87248 + version: '1.0' + name: Allotedresource + description: Allotedresource + type: VFC + category: Allotted Resource + subcategory: IP Mux Demux + properties: + ecomp_naming: + naming_policy: + get input: ecomp_naming + providing_service_invariant_uuid: e42ea8ff-1862-43f4-a597-4b885cf3c6e5 + min_instances: 1 + max_instances: 1 + providing_service_uuid: 2fb4b63d-7ec8-4fc0-98c7-a1c51fb4b794 + substitution_mappings: + node_type: org.openecomp.resource.vf.IpMuxDemux + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-ServiceAdmin-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-ServiceAdmin-template.yml new file mode 100644 index 0000000000..549c18b55b --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-ServiceAdmin-template.yml @@ -0,0 +1,81 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 0df08d3e-9701-4f5a-b3ed-82a0b504b366 + UUID: a9c6246c-0807-4a43-a64c-442a170c2088 + name: service_admin + description: service_admin + type: VF + category: Allotted Resource + subcategory: Service admin + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Allotedresource: + file: resource-Allotedresource-template.yml +topology_template: + inputs: + role: + type: string + ecomp_naming: + type: string + max_instances: + type: string + min_instances: + type: string + ecomp_homing: + type: string + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: bc0bebc1-6dc1-4637-883e-aed77bffd63c + UUID: 7763d3a3-048f-4e5b-96c5-e7818dbc066a + customizationUUID: f61f785d-2c82-4d6d-9184-8cbdf2df4da0 + version: '1.0' + name: Allotedresource + description: Allotedresource + type: VFC + category: Allotted Resource + subcategory: Service admin + properties: + ecomp_naming: + naming_policy: + get input: ecomp_naming + providing_service_invariant_uuid: e42ea8ff-1862-43f4-a597-4b885cf3c6e5 + min_instances: 1 + max_instances: 1 + providing_service_uuid: 2fb4b63d-7ec8-4fc0-98c7-a1c51fb4b794 + providing_service_name: HNPortalaaS + substitution_mappings: + node_type: org.openecomp.resource.vf.ServiceAdmin + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-TunnelXconn-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-TunnelXconn-template.yml new file mode 100644 index 0000000000..cf97321035 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-TunnelXconn-template.yml @@ -0,0 +1,81 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 63b95d9a-9c89-40d3-a646-36a1418c5246 + UUID: ae79ba1b-5d12-4813-b01c-755fa6c800bb + name: Tunnel_XConn + description: Tunnel_XConn + type: VF + category: Allotted Resource + subcategory: Tunnel XConnect + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Allotedresource: + file: resource-Allotedresource-template.yml +topology_template: + inputs: + role: + type: string + ecomp_naming: + type: string + min_instances: + type: string + max_instances: + type: string + ecomp_homing: + type: string + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: bc0bebc1-6dc1-4637-883e-aed77bffd63c + UUID: 7763d3a3-048f-4e5b-96c5-e7818dbc066a + customizationUUID: 22ca20ca-1577-46d3-b3ef-77483cca37d6 + version: '1.0' + name: Allotedresource + description: Allotedresource + type: VFC + category: Allotted Resource + subcategory: Tunnel XConnect + properties: + ecomp_naming: + naming_policy: + get input: ecomp_naming + providing_service_invariant_uuid: 34a4d119-06bc-4ab4-8c5a-a498d638297c + min_instances: 1 + max_instances: 1 + providing_service_uuid: e14a509f-b611-4b30-b38c-bc7f11b679aa + providing_service_name: vVIGaaS + substitution_mappings: + node_type: org.openecomp.resource.vf.TunnelXconn + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-VhnfNonHeat-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-VhnfNonHeat-template.yml new file mode 100644 index 0000000000..8ec1c192ee --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-VhnfNonHeat-template.yml @@ -0,0 +1,24 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: f61adc31-6004-4377-a661-090f59e6b32a + UUID: 2118e830-5e0d-409a-9d7a-63b6a72d6f5f + name: vHNF non Heat + description: vHNF non Heat + type: VF + category: Generic + subcategory: Network Elements + resourceVendor: '1' + resourceVendorRelease: '1' +topology_template: + substitution_mappings: + node_type: org.openecomp.resource.vf.VhnfNonHeat +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/service-SdWan-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/service-SdWan-template.yml new file mode 100644 index 0000000000..bc3ab6dabb --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/service-SdWan-template.yml @@ -0,0 +1,233 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 3d8b7a76-7c47-4974-b5b9-e24c54b817a2 + UUID: eb31504f-9f60-4936-a2f2-8ac592b611a6 + name: SD-WAN + description: SD-WAN + type: Service + category: Network L4+ + serviceEcompNaming: false + serviceHoming: false +imports: +- service_admin: + file: resource-ServiceAdmin-template.yml +- Tunnel_XConn: + file: resource-TunnelXconn-template.yml +- vHNF non Heat: + file: resource-VhnfNonHeat-template.yml +- IP_Mux_Demux: + file: resource-IpMuxDemux-template.yml +topology_template: + node_templates: + Sec_IP_Mux_Demux: + type: org.openecomp.resource.vf.IpMuxDemux + metadata: + invariantUUID: 707b2850-e830-4b00-9902-879f44ac05a4 + UUID: 495b483b-282a-45df-bbfe-63d1d1d80813 + customizationUUID: f4b764bb-6721-4219-8c69-7ce61969f755 + version: '0.1' + name: IP_Mux_Demux + description: IP_Mux_Demux + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + Pri_Tunnel_XConn: + type: org.openecomp.resource.vf.TunnelXconn + metadata: + invariantUUID: 63b95d9a-9c89-40d3-a646-36a1418c5246 + UUID: ae79ba1b-5d12-4813-b01c-755fa6c800bb + customizationUUID: 96d0bbf6-d9f7-441d-8f00-67d79dbf30de + version: '0.1' + name: Tunnel_XConn + description: Tunnel_XConn + type: VF + category: Allotted Resource + subcategory: Tunnel XConnect + Pri_service_admin: + type: org.openecomp.resource.vf.ServiceAdmin + metadata: + invariantUUID: 0df08d3e-9701-4f5a-b3ed-82a0b504b366 + UUID: a9c6246c-0807-4a43-a64c-442a170c2088 + customizationUUID: 6b4a2a55-3b82-4799-8329-4fc2939fd5b5 + version: '0.1' + name: service_admin + description: service_admin + type: VF + category: Allotted Resource + subcategory: Service admin + Pri_IP_Mux_Demux: + type: org.openecomp.resource.vf.IpMuxDemux + metadata: + invariantUUID: 707b2850-e830-4b00-9902-879f44ac05a4 + UUID: 495b483b-282a-45df-bbfe-63d1d1d80813 + customizationUUID: d8f656d9-179d-4f02-9a46-8af7421eb2a0 + version: '0.1' + name: IP_Mux_Demux + description: IP_Mux_Demux + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + Sec_Tunnel_XConn: + type: org.openecomp.resource.vf.TunnelXconn + metadata: + invariantUUID: 63b95d9a-9c89-40d3-a646-36a1418c5246 + UUID: ae79ba1b-5d12-4813-b01c-755fa6c800bb + customizationUUID: b432136d-0a2a-460b-a3da-f921e1e0dcfa + version: '0.1' + name: Tunnel_XConn + description: Tunnel_XConn + type: VF + category: Allotted Resource + subcategory: Tunnel XConnect + vHNF non Heat 22: + type: org.openecomp.resource.vf.VhnfNonHeat + metadata: + invariantUUID: f61adc31-6004-4377-a661-090f59e6b32a + UUID: 2118e830-5e0d-409a-9d7a-63b6a72d6f5f + customizationUUID: 9c7a5f7f-6b17-4066-a6f1-094ea925495b + version: '0.1' + name: vHNF non Heat + description: vHNF non Heat + type: VF + category: Generic + subcategory: Network Elements + Sec_service_admin: + type: org.openecomp.resource.vf.ServiceAdmin + metadata: + invariantUUID: 0df08d3e-9701-4f5a-b3ed-82a0b504b366 + UUID: a9c6246c-0807-4a43-a64c-442a170c2088 + customizationUUID: 5a8ef05b-451f-40f4-9531-3ee00bd3c5c4 + version: '0.1' + name: service_admin + description: service_admin + type: VF + category: Allotted Resource + subcategory: Service admin + substitution_mappings: + node_type: org.openecomp.service.SdWan + capabilities: + Sec_service_admin.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Sec_IP_Mux_Demux.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Pri_service_admin.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Pri_IP_Mux_Demux.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Pri_Tunnel_XConn.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Sec_Tunnel_XConn.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Pri_service_admin.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Sec_Tunnel_XConn.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_service_admin.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Pri_IP_Mux_Demux.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Pri_Tunnel_XConn.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_service_admin.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Pri_service_admin.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_IP_Mux_Demux.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_IP_Mux_Demux.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Pri_Tunnel_XConn.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Sec_Tunnel_XConn.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Pri_IP_Mux_Demux.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/config/Artifact-Generator.properties b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/config/Artifact-Generator.properties new file mode 100644 index 0000000000..1d7e5fa01a --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/config/Artifact-Generator.properties @@ -0,0 +1,264 @@ +#action widget details +AAI.model-version-id.action=fd7fb09e-d930-41b9-b83f-cfde9df48640 +AAI.model-invariant-id.action=af593b4b-490e-4665-ad74-2f6351c0a7ce +#action-data widget details +AAI.model-invariant-id.action-data=9551346c-7d8b-4daf-9926-b93e96e2344a +AAI.model-version-id.action-data=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd +#allotted-resource widget details +AAI.model-invariant-id.allotted-resource=f6d6a23d-a1a9-48ff-8419-b6530da2d381 +AAI.model-version-id.allotted-resource=7ad0915f-25c0-4a70-b9bc-185a75f87564 +#availability-zone widget details +AAI.model-version-id.availability-zone=6c092fb1-21b2-456b-9e01-67fb4de1896e +AAI.model-invariant-id.availability-zone=61b88c01-d819-41c0-8e21-7fd7ba47148e +#az-and-dvs-switches widget details +AAI.model-version-id.az-and-dvs-switches=b2dea88d-78a0-49bf-95c9-5819df08e966 +AAI.model-invariant-id.az-and-dvs-switches=53dc00d4-e6d9-48ec-b6cc-3d3797e9b896 +#class-of-service widget details +AAI.model-version-id.class-of-service=d2fb27cc-15eb-4c4e-828e-71d41aaecc5b +AAI.model-invariant-id.class-of-service=18094b19-d16d-4822-8acf-e92c6aefa178 +#cloud-region widget details +AAI.model-version-id.cloud-region=2a160989-b202-47dd-874b-4a0f275998f7 +AAI.model-invariant-id.cloud-region=425b2158-e51d-4509-9945-dad4556474a3 +#complex widget details +AAI.model-invariant-id.complex=af91c2f7-35fc-43cf-a13d-443f385b2353 +AAI.model-version-id.complex=3a8ab1ee-9220-4fe8-b89c-9251d160ddc2 +#connector widget details +AAI.model-version-id.connector=22104c9f-29fd-462f-be07-96cd6b46dd33 +AAI.model-invariant-id.connector=4c01c948-7607-4d66-8a6c-99c2c2717936 +#constrained-element-set widget details +AAI.model-invariant-id.constrained-element-set=c0292b4f-ee97-40cc-8c2e-f967c48f5701 +AAI.model-version-id.constrained-element-set=01102126-9c04-4a89-945b-b131e61e95d7 +#ctag-assignment widget details +AAI.model-version-id.ctag-assignment=44e5cb1f-0938-41aa-b766-d4595109fe89 +AAI.model-invariant-id.ctag-assignment=fcb8d46b-b656-4ad6-8fa4-22cef74b443f +#ctag-pool widget details +AAI.model-invariant-id.ctag-pool=46c51d4e-d67e-4a9c-b1f5-49b1e9c6fcaa +AAI.model-version-id.ctag-pool=2056c41f-23b9-4de7-9f50-819adad37d76 +#customer widget details +AAI.model-invariant-id.customer=c1d4305f-cdbd-4bbe-9069-a2f4978fd89e +AAI.model-version-id.customer=d4df5c27-98a1-4812-a8aa-c17f055b7a3f +#cvlan-tag-entry widget details +AAI.model-version-id.cvlan-tag-entry=c3878ffb-8d85-4114-bee6-e4074a9db10b +AAI.model-invariant-id.cvlan-tag-entry=245cf4b0-7cc5-4eea-bbd9-753e939adcab +#dvs-switch widget details +AAI.model-invariant-id.dvs-switch=98fbb471-1f86-428e-bd8a-c8a25de6fa23 +AAI.model-version-id.dvs-switch=4cb44ae8-e3ab-452a-9f95-bcc8a44c55ea +#edge-prop-names widget details +AAI.model-invariant-id.edge-prop-names=7a08cad4-8759-46a5-8245-095d1ba57ac6 +AAI.model-version-id.edge-prop-names=f0442326-8201-4d0e-857c-74b4ddcbfc9f +#element-choice-set widget details +AAI.model-invariant-id.element-choice-set=9a011958-7165-47a3-b872-00951d1f09ae +AAI.model-version-id.element-choice-set=af27fbfd-598d-44da-aeae-0f9d3a5fcd6a +#entitlement widget details +AAI.model-version-id.entitlement=7e27ba2e-b7db-4e13-9fae-d142152ef98a +AAI.model-invariant-id.entitlement=ae75b5a0-d5e1-4f3a-b8fb-37626a753da3 +#flavor widget details +AAI.model-invariant-id.flavor=bace8d1c-a261-4041-9e37-823117415d0f +AAI.model-version-id.flavor=36200fb5-f251-4f5d-a520-7c5ad5c2cd4b +#generic-vnf widget details +AAI.model-version-id.generic-vnf=93a6166f-b3d5-4f06-b4ba-aed48d009ad9 +AAI.model-invariant-id.generic-vnf=acc6edd8-a8d4-4b93-afaa-0994068be14c +#group-assignment widget details +AAI.model-invariant-id.group-assignment=7cc05f25-7ba2-42b7-a237-c5662a1689e1 +AAI.model-version-id.group-assignment=fe578080-ce19-4604-8760-fc264fbb2565 +#image widget details +AAI.model-version-id.image=f6a038c2-820c-42ba-8c2b-375e24e8f932 +AAI.model-invariant-id.image=3f4c7204-739b-4bbb-87a7-8a6856439c90 +#include-node-filter widget details +AAI.model-invariant-id.include-node-filter=2a2d8ad2-af0a-4e1f-9982-0c899e7dc827 +AAI.model-version-id.include-node-filter=f05f804d-7057-4ffe-bdc5-39f2f0c9c9fd +#instance-group widget details +AAI.model-version-id.instance-group=8e6ee9dc-9017-444a-83b3-219edb018128 +AAI.model-invariant-id.instance-group=3bf1e610-45f7-4ad6-b833-ca4c5ee6a3fd +#inventory-item widget details +AAI.model-invariant-id.inventory-item=cd57d844-9017-4078-aa19-926935a3d77c +AAI.model-version-id.inventory-item=69957f4a-2155-4b95-8d72-d6dd9b88b27b +#inventory-item-data widget details +AAI.model-version-id.inventory-item-data=0e54bb87-bd6e-4a2b-ad1c-6d935b87ae51 +AAI.model-invariant-id.inventory-item-data=87a383ae-cf03-432e-a9de-04e6a622d0fd +#ipsec-configuration widget details +AAI.model-invariant-id.ipsec-configuration=aca4c310-cb45-42bd-9f88-73e40ba7b962 +AAI.model-version-id.ipsec-configuration=d949fd10-36bf-408a-ac7a-cad5004d2e0d +#key-data widget details +AAI.model-version-id.key-data=c23ea04d-1a3b-453d-bc49-a6c783a5e92b +AAI.model-invariant-id.key-data=f5faa464-c2f2-4cc3-89d2-a90452dc3a07 +#l3-interface-ipv4-address-list widget details +AAI.model-version-id.l3-interface-ipv4-address-list=41e76b6f-1e06-4fd4-82cd-81c50fc4574b +AAI.model-invariant-id.l3-interface-ipv4-address-list=aad85df2-09be-40fa-b867-16415e4e10e2 +#l3-interface-ipv6-address-list widget details +AAI.model-invariant-id.l3-interface-ipv6-address-list=82966045-43ee-4982-8307-7e9610866140 +AAI.model-version-id.l3-interface-ipv6-address-list=d040621d-541a-477b-bb1b-a2b61b14e295 +#l3-network widget details +AAI.model-version-id.l3-network=9111f20f-e680-4001-b83f-19a2fc23bfc1 +AAI.model-invariant-id.l3-network=3d560d81-57d0-438b-a2a1-5334dba0651a +#lag-interface widget details +AAI.model-version-id.lag-interface=ce95f7c3-b61b-4758-ae9e-7e943b1c103d +AAI.model-invariant-id.lag-interface=e0ee9bde-c1fc-4651-a95d-8e0597bf7d70 +#lag-link widget details +AAI.model-version-id.lag-link=d29a087a-af59-4053-a3f8-0f95a92faa75 +AAI.model-invariant-id.lag-link=86ffe6e5-4d0e-4cec-80b5-5c38aa3eff98 +#license widget details +AAI.model-invariant-id.license=b9a9b337-1f86-42d3-b9f9-f987a089507c +AAI.model-version-id.license=6889274b-a1dc-40ab-9090-93677e13e2e6 +#license-key-resource widget details +AAI.model-invariant-id.license-key-resource=9022ebfe-b54f-4911-a6b2-8c3f5ec189b7 +AAI.model-version-id.license-key-resource=24b25f8c-b8bd-4c62-9421-87c12667aac9 +#l-interface widget details +AAI.model-version-id.l-interface=a32613fd-18b9-459e-aab8-fffb3912966a +AAI.model-invariant-id.l-interface=cea0a982-8d55-4093-921e-418fbccf7060 +#logical-link widget details +AAI.model-version-id.logical-link=a1481a38-f8ba-4ae4-bdf1-06c2c6af4c54 +AAI.model-invariant-id.logical-link=fe012535-2c31-4a39-a739-612374c638a0 +#metadatum widget details +AAI.model-invariant-id.metadatum=86dbb63a-265e-4614-993f-6771c30b56a5 +AAI.model-version-id.metadatum=6bae950e-8939-41d3-a6a7-251b03e4c1fc +#model widget details +AAI.model-invariant-id.model=06d1418a-5faa-452d-a94b-a2829df5f67b +AAI.model-version-id.model=1f51c05c-b164-4c27-9c03-5cbb239fd6be +#model-constraint widget details +AAI.model-invariant-id.model-constraint=c28966f3-e758-4483-b37b-a90b05d3dd33 +AAI.model-version-id.model-constraint=ad70dd19-f156-4fb5-a865-97b5563b0d37 +#model-element widget details +AAI.model-invariant-id.model-element=2076e726-3577-477a-a300-7fa65cd4df11 +AAI.model-version-id.model-element=753e813a-ba9e-4a1d-ab34-b2f6dc6eec0c +#multicast-configuration widget details +AAI.model-invariant-id.multicast-configuration=ea78c9e3-514d-4a0a-9162-13837fa54c35 +AAI.model-version-id.multicast-configuration=666a06ee-4b57-46df-bacf-908da8f10c3f +#named-query widget details +AAI.model-version-id.named-query=5c3b7c33-afa3-4be5-8da7-1a5ac6f99896 +AAI.model-invariant-id.named-query=80b712fd-0ad3-4180-a99c-8c995cf1cc32 +#named-query-element widget details +AAI.model-version-id.named-query-element=204c641a-3494-48c8-979a-86856f5fd32a +AAI.model-invariant-id.named-query-element=3c504d40-b847-424c-9d25-4fb7e0a3e994 +#network-policy widget details +AAI.model-invariant-id.network-policy=6aa05779-94d7-4d8b-9bee-59ef2ab0c246 +AAI.model-version-id.network-policy=a0ccd9dc-7062-4940-9bcc-e91dd28af510 +#network-profile widget details +AAI.model-version-id.network-profile=01f45471-4240-498c-a9e1-235dc0b8b4a6 +AAI.model-invariant-id.network-profile=2734b44a-b8a2-40f6-957d-6256589e5d00 +#newvce widget details +AAI.model-version-id.newvce=7c79e11f-a408-4593-aa86-ba948a1236af +AAI.model-invariant-id.newvce=4b05ec9c-c55d-4987-83ff-e08d6ddb694f +#oam-network widget details +AAI.model-invariant-id.oam-network=2851cf01-9c40-4064-87d4-6184a6fcff35 +AAI.model-version-id.oam-network=f4fb34f3-fd6e-4a8f-a3fb-4ab61a343b79 +#physical-link widget details +AAI.model-invariant-id.physical-link=c822d81f-822f-4304-9623-1025b53da568 +AAI.model-version-id.physical-link=9c523936-95b4-4d7f-9f53-6bdfe0cf2c05 +#p-interface widget details +AAI.model-invariant-id.p-interface=94043c37-4e73-439c-a790-0fdd697924cd +AAI.model-version-id.p-interface=d2cdb2d0-fc1f-4a57-a89e-591b1c4e3754 +#pnf widget details +AAI.model-version-id.pnf=e9f1fa7d-c839-418a-9601-03dc0d2ad687 +AAI.model-invariant-id.pnf=862b25a1-262a-4961-bdaa-cdc55d69785a +#port-group widget details +AAI.model-version-id.port-group=03e8bb6b-b48a-46ae-b5d4-e5af577e6844 +AAI.model-invariant-id.port-group=8ce940fb-55d7-4230-9e7f-a56cc2741f77 +#property-constraint widget details +AAI.model-version-id.property-constraint=81706bbd-981e-4362-ae20-995cbcb2d995 +AAI.model-invariant-id.property-constraint=f4a863c3-6886-470a-a6ae-05723837ea45 +#pserver widget details +AAI.model-invariant-id.pserver=6d932c8f-463b-4e76-83fb-87acfbaa2e2d +AAI.model-version-id.pserver=72f0d495-bc27-4653-9e1a-eef76bd34bc9 +#related-lookup widget details +AAI.model-invariant-id.related-lookup=468f6f5b-2996-41bb-b2a3-7cf9613ebb9b +AAI.model-version-id.related-lookup=0988bab5-bf4f-4938-a419-ab249867d12a +#reserved-prop-names widget details +AAI.model-invariant-id.reserved-prop-names=0c3e0ba3-618c-498d-9127-c8d42b00170f +AAI.model-version-id.reserved-prop-names=ac49d26d-9163-430e-934a-13b738a04f5c +#result-data widget details +AAI.model-version-id.result-data=4e9b50aa-5227-4f6f-b489-62e6bbc03c79 +AAI.model-invariant-id.result-data=ff656f23-6185-406f-9006-4b26834f3e1c +#route-table-reference widget details +AAI.model-version-id.route-table-reference=fed7e326-03a7-45ff-a3f2-471470d268c4 +AAI.model-invariant-id.route-table-reference=a8614b63-2636-4c4f-98df-fd448c4241db +#routing-instance widget details +AAI.model-invariant-id.routing-instance=1c2ded4f-8b01-4193-829c-966847dfec3e +AAI.model-version-id.routing-instance=3ccbcbc7-d19e-44d5-a52f-7e18aa8d69fa +#secondary-filter widget details +AAI.model-version-id.secondary-filter=1380619d-dd1a-4cec-b755-c6407833e065 +AAI.model-invariant-id.secondary-filter=738ff299-6290-4c00-8998-bd0e96a07b93 +#segmentation-assignment widget details +AAI.model-invariant-id.segmentation-assignment=6e814aee-46e1-4583-a9d4-0049bfd2b59b +AAI.model-version-id.segmentation-assignment=c5171ae0-44fb-4c04-b482-d56702241a44 +#service widget details +AAI.model-version-id.service=ecce2c42-3957-4ae0-9442-54bc6afe27b6 +AAI.model-invariant-id.service=07a3a60b-1b6c-4367-8173-8014386f89e3 +#service-capability widget details +AAI.model-invariant-id.service-capability=b1a7cc05-d19d-443b-a5d1-733e325c4232 +AAI.model-version-id.service-capability=f9cfec1b-18da-4bba-bd83-4b26cca115cd +#service-instance widget details +AAI.model-invariant-id.service-instance=82194af1-3c2c-485a-8f44-420e22a9eaa4 +AAI.model-version-id.service-instance=46b92144-923a-4d20-b85a-3cbd847668a9 +#service-subscription widget details +AAI.model-invariant-id.service-subscription=2e1a602a-acd8-4f78-94ff-618b802a303b +AAI.model-version-id.service-subscription=5e68299a-79f2-4bfb-8fbc-2bae877a2459 +#site-pair widget details +AAI.model-version-id.site-pair=7106bc02-6552-4fc3-8a56-4f3df9034531 +AAI.model-invariant-id.site-pair=db63f3e6-f8d1-484e-8d5e-191600b7914b +#site-pair-set widget details +AAI.model-invariant-id.site-pair-set=5d4dae3e-b402-4bfd-909e-ece12ff75d26 +AAI.model-version-id.site-pair-set=a5c6c1bc-dc38-468e-9459-bb08f87247df +#snapshot widget details +AAI.model-version-id.snapshot=962a7c8b-687f-4d32-a775-fe098e214bcd +AAI.model-invariant-id.snapshot=24de00ef-aead-4b52-995b-0adf8d4bd90d +#sriov-vf widget details +AAI.model-version-id.sriov-vf=1e8b331f-3d4a-4160-b7aa-f4d5a8916625 +AAI.model-invariant-id.sriov-vf=04b2935f-33c4-40a9-8af0-8b52690042dc +#start-node-filter widget details +AAI.model-version-id.start-node-filter=aad96fd3-e75f-42fc-9777-3450c36f1168 +AAI.model-invariant-id.start-node-filter=083093a3-e407-447a-ba5d-7583e4d23e1d +#subnet widget details +AAI.model-version-id.subnet=f902a6bc-6be4-4fe5-8458-a6ec0056b374 +AAI.model-invariant-id.subnet=1b2c9ba7-e449-4831-ba15-3073672f5ef2 +#tagged-inventory-item-list widget details +AAI.model-invariant-id.tagged-inventory-item-list=e78a7eaa-f65d-4919-9c2b-5b258c8c4d7e +AAI.model-version-id.tagged-inventory-item-list=c246f6e2-e3a1-4697-94c0-5672a7fbbf04 +#tenant widget details +AAI.model-invariant-id.tenant=97c26c99-6870-44c1-8a07-1d900d3f4ce6 +AAI.model-version-id.tenant=abcc54bc-bb74-49dc-9043-7f7171707545 +#tunnel-xconnect widget details +AAI.model-invariant-id.tunnel-xconnect=50b9e2fa-005c-4bbe-b651-3251dece4cd8 +AAI.model-version-id.tunnel-xconnect=e7cb4ca8-e1a5-4487-a716-4ae0bcd8aef5 +#update-node-key widget details +AAI.model-version-id.update-node-key=6004cfa6-eb6d-4062-971f-b1fde6b74aa0 +AAI.model-invariant-id.update-node-key=fe81c801-f65d-408a-b2b7-a729a18f8154 +#vce widget details +AAI.model-version-id.vce=b6cf54b5-ec45-43e1-be64-97b4e1513333 +AAI.model-invariant-id.vce=bab6dceb-e7e6-4301-a5e0-a7399b48d792 +#vf-module widget details +AAI.model-invariant-id.vf-module=ef86f9c5-2165-44f3-8fc3-96018b609ea5 +AAI.model-version-id.vf-module=c00563ae-812b-4e62-8330-7c4d0f47088a +#vig-server widget details +AAI.model-version-id.vig-server=8e8c22f1-fbdf-48ea-844c-8bdeb44e7b16 +AAI.model-invariant-id.vig-server=bed7c3b7-35d0-4cd9-abde-41b20e68b28e +#virtual-data-center widget details +AAI.model-invariant-id.virtual-data-center=5150abcf-0c5f-4593-9afe-a19c48fc4824 +AAI.model-version-id.virtual-data-center=6dd43ced-d789-47af-a759-d3abc14e3ac1 +#vlan widget details +AAI.model-version-id.vlan=257d88a5-a269-4c35-944f-aca04fbdb791 +AAI.model-invariant-id.vlan=d2b1eaf1-ae59-4116-9ee4-aa0179faa4f8 +#vnfc widget details +AAI.model-invariant-id.vnfc=96129eb9-f0de-4e05-8af2-73146473f766 +AAI.model-version-id.vnfc=5761e0a7-c6df-4d8a-9ebd-b8f445054dec +#vnf-image widget details +AAI.model-invariant-id.vnf-image=f9a628ff-7aa0-40e2-a93d-02d91c950982 +AAI.model-version-id.vnf-image=c4d3e747-ba4a-4b17-9896-94c6f18c19d3 +#volume widget details +AAI.model-version-id.volume=0fbe2e8f-4d91-4415-a772-88387049b38d +AAI.model-invariant-id.volume=ddd739b4-2b25-46c4-affc-41a32af5cc42 +#volume-group widget details +AAI.model-invariant-id.volume-group=fcec1b02-b2d0-4834-aef8-d71be04717dd +AAI.model-version-id.volume-group=99d44c90-1f61-4418-b9a6-56586bf38c79 +#vpe widget details +AAI.model-invariant-id.vpe=053ec3a7-5b72-492d-b54d-123805a9b967 +AAI.model-version-id.vpe=203817d3-829c-42d4-942d-2a935478e993 +#vpls-pe widget details +AAI.model-version-id.vpls-pe=b1566228-6785-4ce1-aea2-053736f80341 +AAI.model-invariant-id.vpls-pe=457ba89b-334c-4fbd-acc4-160ac0e0cdc0 +#vpn-binding widget details +AAI.model-invariant-id.vpn-binding=9e23b675-db2b-488b-b459-57aa9857baa0 +AAI.model-version-id.vpn-binding=21a146e5-9901-448c-9197-723076770119 +#vserver widget details +AAI.model-invariant-id.vserver=ff69d4e0-a8e8-4108-bdb0-dd63217e63c7 +AAI.model-version-id.vserver=8ecb2c5d-7176-4317-a255-26274edfdd53
\ No newline at end of file diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/logback.xml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/logback.xml new file mode 100644 index 0000000000..68438967b1 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/logback.xml @@ -0,0 +1,51 @@ +<configuration scan="true" scanPeriod="3 seconds"> + + <property name="logDir" value="logs"/> + <property name="componentName" value="COMMON"/> + <property name="OPENECOMP-subcomponent-name" value="ARTIFACT_GENERATOR"/> + + <property name="defaultPattern" + value="%msg%n"/> + + <!--<property name="MetricsLogPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{CategoryLogLevel}|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{ClientIP}|%logger%n" /> + <property name="AuditLogPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{CategoryLogLevel}|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{ClientIP}%n" /> + <property name="ErrorLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS, GMT}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|%X{ErrorDescription}|%msg%n"/> + <property name="DebugLogPattern" value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS, GMT}|%X{RequestId}||%logger|%msg%n"/>--> + + <!-- new pattern --> + <property name="default-log-pattern" + value="%d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{BeginTimestamp}|%X{EndTimestamp}|%X{uuid}|%X{serviceInstanceID}|%thread|%X{ServerName}|%X{ServiceName}|${OPENECOMP-subcomponent-name}|%X{userId}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%X{ErrorCategory}|%X{ErrorCode}|%X{ErrorDescription}|%X{level}|%X{alarmSeverity}|%X{localAddr}|%X{ElapsedTime}|%X{beFqdn}|%X{remoteAddr}|%logger{35}|%X{timer}|ActivityType=<%M>, Desc=<%msg>%n"/> + + <property name="logDirectory" value="${logDir}/${componentName}"/> + + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>${defaultPattern}</pattern> + </encoder> + </appender> + + <appender name="DISPATCHER" class="ch.qos.logback.classic.sift.SiftingAppender"> + <discriminator class="org.openecomp.core.logging.logback.EventTypeDiscriminator"/> + <sift> + <appender name="${eventType}" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/${eventType}.log</file> + <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/${eventType}.%i.log.zip</fileNamePattern> + <minIndex>1</minIndex> + <maxIndex>9</maxIndex> + </rollingPolicy> + <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> + <encoder> + <pattern>${default-log-pattern}</pattern> + </encoder> + </appender> + </sift> + </appender> + + <root level="DEBUG"> + <appender-ref ref="DISPATCHER"/> + </root> + +</configuration>
\ No newline at end of file diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingResourceTosca/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingResourceTosca/service_vmme_template_1.yml new file mode 100644 index 0000000000..822484eda4 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingResourceTosca/service_vmme_template_1.yml @@ -0,0 +1,99 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingVLTosca/resource-AllottedResource-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingVLTosca/resource-AllottedResource-template.yml new file mode 100644 index 0000000000..8c85966229 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingVLTosca/resource-AllottedResource-template.yml @@ -0,0 +1,60 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: Allotted Resource + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Alloted resource: + file: resource-AllotedResource-template.yml +topology_template: + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource1 + metadata: + invariantUUID: 666b409b-5614-41a8-945e-a53d68f5d439 + UUID: df0c1c4d-1756-4b2a-998e-73f9f4d77afa + version: '1.0' + name: Alloted resource + description: This is a VFC- Allotted resource + type: VFC + category: Allotted Resource + subcategory: Allotted Resource + substitution_mappings: + node_type: org.openecomp.resource.vf.AllottedResource + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingVLTosca/service-ServiceWithAllotedVfAndExvl-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingVLTosca/service-ServiceWithAllotedVfAndExvl-template.yml new file mode 100644 index 0000000000..dbd039669c --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingVLTosca/service-ServiceWithAllotedVfAndExvl-template.yml @@ -0,0 +1,90 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: e8a6c85c-429f-47cd-b594-376a0ffccd29 + UUID: 14fd2446-691a-4d7d-8ef4-ece19c3176f5 + name: Service with alloted VF and exVL + description: 'This service contains two instances : 1. Allotted resource VF 2. ExVL + - Network' + type: Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false +imports: +- ExtVL: + file: resource-Extvl-template.yml +- Allotted Resource: + file: resource-AllottedResource-template.yml +topology_template: + node_templates: + ExtVL 1: + type: org.openecomp.resource.vl.extVL + metadata: + invariantUUID: f148dbb0-8c53-466d-9687-791c0e9d40cf + UUID: 3f8fa4d2-2b86-4b36-bbc8-ffb8f9f57468 + version: '2.0' + name: ExtVL + description: OPENECOMP generic virtual link (network) base type for all other service-level and global networks + type: VL + category: Generic + subcategory: Network Elements + Allotted Resource 2: + type: org.openecomp.resource.vf.AllottedResource + metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + version: '0.1' + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: Allotted Resource + substitution_mappings: + node_type: org.openecomp.service.ServiceWithAllotedVfAndExvl + capabilities: + ExtVL 1.virtual_linkable: + type: tosca.capabilities.network.Linkable + occurrences: + - 1 + - UNBOUNDED + Allotted Resource 2.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + ExtVL 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + ExtVL 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Allotted Resource 2.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Allotted Resource 2.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_InvalidVfModInvUuIdAttr.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_InvalidVfModInvUuIdAttr.yml new file mode 100644 index 0000000000..f57a7d2300 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_InvalidVfModInvUuIdAttr.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_InvalidVfModUuIdAttr.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_InvalidVfModUuIdAttr.yml new file mode 100644 index 0000000000..f57a7d2300 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_InvalidVfModUuIdAttr.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModInvUUID.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModInvUUID.yml new file mode 100644 index 0000000000..4d50982f63 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModInvUUID.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelName.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelName.yml new file mode 100644 index 0000000000..4d50982f63 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelName.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelUUID.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelUUID.yml new file mode 100644 index 0000000000..4d50982f63 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelUUID.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelVersion.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelVersion.yml new file mode 100644 index 0000000000..4d50982f63 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelVersion.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testAllotedResourceWithDependingSerWithGroups/resource-AllottedResource-template_IpMux_WithGroups.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testAllotedResourceWithDependingSerWithGroups/resource-AllottedResource-template_IpMux_WithGroups.yml new file mode 100644 index 0000000000..282750351c --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testAllotedResourceWithDependingSerWithGroups/resource-AllottedResource-template_IpMux_WithGroups.yml @@ -0,0 +1,283 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Alloted resource: + file: resource-AllotedResource-template.yml +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: adf1a10a-f788-492f-9ea7-7ff91dd55f8c + vfModuleModelName: "vMME::module-1" + vfModuleModelUUID: x020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + vfModuleModelVersion: 1 + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + node_templates: + allotedresource1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: 666b409b-5614-41a8-945e-a53d68f5d439 + UUID: df0c1c4d-1756-4b2a-998e-73f9f4d77afa + customizationUUID: 1c217567-5093-41f5-86e6-22c97ef24e75 + version: '1.0' + name: Alloted resource + description: This is a VFC- Allotted resource + type: VFC + category: Allotted Resource + subcategory: Allotted Resource + properties: + role: name + ecomp_naming: + naming_policy: test + ecomp_generated_naming: false + supplemental_data: + Key1: key1 + providing_service_invariant_uuid: 34a4d119-06bc-4ab4-8c5a-a498d638297c + min_instances: 1 + max_instances: 1 + providing_service_uuid: e14a509f-b611-4b30-b38c-bc7f11b679aa + providing_service_name: vVIGaaS + ecomp_homing: + instance_node_target: Test + homing_policy: Test + supplemental_data: + Key: key + ecomp_selected_instance_node_target: false + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + substitution_mappings: + node_type: org.openecomp.resource.vf.AllottedResource + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testAllotedResourceWithDependingSerWithGroups/service-ServiceWithAllottedResourceIpmux-template_WithGroups.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testAllotedResourceWithDependingSerWithGroups/service-ServiceWithAllottedResourceIpmux-template_WithGroups.yml new file mode 100644 index 0000000000..1fba2e727f --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testAllotedResourceWithDependingSerWithGroups/service-ServiceWithAllottedResourceIpmux-template_WithGroups.yml @@ -0,0 +1,62 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: faa4359b-6ecf-4eeb-9960-6440d4cf1f2f + UUID: 614316ee-94ae-41b3-b59a-46e87d3d91a5 + name: Service with allotted resource IPMUX + description: safa + type: Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false +imports: +- Allotted Resource: + file: resource-AllottedResource-template.yml +topology_template: + node_templates: + allottedresource1: + type: org.openecomp.resource.vf.AllottedResource + metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + customizationUUID: 958fb310-184f-463d-b634-1660a626f320 + version: '0.2' + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + groups: { + } + substitution_mappings: + node_type: org.openecomp.service.ServiceWithAllottedResourceIpmux + capabilities: + Allotted Resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Allotted Resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Allotted Resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration10/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration10/service_vmme_template_1.yml new file mode 100644 index 0000000000..4a16e555ff --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration10/service_vmme_template_1.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/resource-IpMuxDemux-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/resource-IpMuxDemux-template.yml new file mode 100644 index 0000000000..5b4ffd971e --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/resource-IpMuxDemux-template.yml @@ -0,0 +1,83 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: ec95fbf0-5d05-4fea-a11e-27869c0032e2 + UUID: 41e4949f-85b3-4bc5-b7a2-2c166bf87270 + name: IP_Mux_Demux + description: nbvnbb + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + resourceVendor: stella + resourceVendorRelease: '1.0' +imports: +- newAllotted: + file: resource-Newallotted-template.yml +topology_template: + inputs: + role: + type: string + ecomp_naming: + type: string + max_instances: + type: string + min_instances: + type: string + ecomp_homing: + type: string + node_templates: + allotedresource1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: cce8d00f-1a7a-439d-b186-207599f8bbf2 + UUID: 468a08a2-10a7-4ee7-86eb-dcf2e74a028f + customizationUUID: e7a3e375-9bec-4552-88d2-26cb5dcf580d + version: '1.0' + name: newAllotted + description: vcxvcx + type: VFC + category: Allotted Resource + subcategory: IP Mux Demux + properties: + ecomp_naming: + naming_policy: + get input: ecomp_naming + providing_service_invariant_uuid: 2bec5c69-b64e-4ffe-b74a-62f14d255d46 + min_instances: 1 + max_instances: 1 + providing_service_uuid: 8ca1e477-77ec-47ed-a498-303fd0de9080 + providing_service_name: ServiceAllMichael1801 + groups: { + } + substitution_mappings: + node_type: org.openecomp.resource.vf.IpMuxDemux + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/resource-TunnelXconn-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/resource-TunnelXconn-template.yml new file mode 100644 index 0000000000..434757d30e --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/resource-TunnelXconn-template.yml @@ -0,0 +1,83 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: fadbb726-37b6-4939-ba78-9e86974232c5 + UUID: 68d68207-007a-49f3-a9ae-5f88757d5061 + name: Tunnel_XConn + description: stella + type: VF + category: Allotted Resource + subcategory: Tunnel XConnect + resourceVendor: stella + resourceVendorRelease: '1.0' +imports: +- newAllotted: + file: resource-Newallotted-template.yml +topology_template: + inputs: + role: + type: string + ecomp_naming: + type: string + max_instances: + type: string + min_instances: + type: string + ecomp_homing: + type: string + node_templates: + allotedresource1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: cce8d00f-1a7a-439d-b186-207599f8bbf2 + UUID: 468a08a2-10a7-4ee7-86eb-dcf2e74a028f + customizationUUID: a92f5f2e-fe08-4711-84f6-2e64608aca13 + version: '1.0' + name: newAllotted + description: vcxvcx + type: VFC + category: Allotted Resource + subcategory: IP Mux Demux + properties: + ecomp_naming: + naming_policy: + get input: ecomp_naming + providing_service_invariant_uuid: c964ef13-9d61-4d1b-a1a6-7060f3d7ddb4 + min_instances: 1 + max_instances: 1 + providing_service_uuid: 3d6f84f5-84fd-441a-8fd8-401f71196712 + providing_service_name: ServiceSprint38stella + groups: { + } + substitution_mappings: + node_type: org.openecomp.resource.vf.TunnelXconn + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/service-Allottedipmux-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/service-Allottedipmux-template.yml new file mode 100644 index 0000000000..449e0925d5 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/service-Allottedipmux-template.yml @@ -0,0 +1,126 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 9c5b8e77-6ae1-4817-994f-a14a03635868 + UUID: 2722acbc-a8cb-4d73-ab14-9b2d79dc2131 + name: AllottedIPMux + description: cbvbv + type: Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false +imports: +- Tunnel_XConn: + file: resource-TunnelXconn-template.yml +- IP_Mux_Demux: + file: resource-IpMuxDemux-template.yml +topology_template: + node_templates: + Tunnel_XConn 3: + type: org.openecomp.resource.vf.TunnelXconn + metadata: + invariantUUID: fadbb726-37b6-4939-ba78-9e86974232c5 + UUID: 68d68207-007a-49f3-a9ae-5f88757d5061 + customizationUUID: ae051f74-0d64-40f8-877b-791330cd7801 + version: '1.0' + name: Tunnel_XConn + description: stella + type: VF + category: Allotted Resource + subcategory: Tunnel XConnect + IP_Mux_Demux 2: + type: org.openecomp.resource.vf.IpMuxDemux + metadata: + invariantUUID: ec95fbf0-5d05-4fea-a11e-27869c0032e2 + UUID: 41e4949f-85b3-4bc5-b7a2-2c166bf87270 + customizationUUID: 8cb6b8f7-a9bc-4745-92bd-f815f68fa6bc + version: '1.0' + name: IP_Mux_Demux + description: nbvnbb + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + IP_Mux_Demux 1: + type: org.openecomp.resource.vf.IpMuxDemux + metadata: + invariantUUID: ec95fbf0-5d05-4fea-a11e-27869c0032e2 + UUID: 41e4949f-85b3-4bc5-b7a2-2c166bf87270 + customizationUUID: 7801f43f-f3f6-453f-89ea-4c182c569ad6 + version: '1.0' + name: IP_Mux_Demux + description: nbvnbb + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + groups: { + } + substitution_mappings: + node_type: org.openecomp.service.Allottedipmux + capabilities: + IP_Mux_Demux 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Tunnel_XConn 3.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + IP_Mux_Demux 2.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Tunnel_XConn 3.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + IP_Mux_Demux 2.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + IP_Mux_Demux 2.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + IP_Mux_Demux 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + IP_Mux_Demux 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Tunnel_XConn 3.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration16/resource-AllottedResource-template_IpMux.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration16/resource-AllottedResource-template_IpMux.yml new file mode 100644 index 0000000000..84b412d591 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration16/resource-AllottedResource-template_IpMux.yml @@ -0,0 +1,78 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Alloted resource: + file: resource-AllotedResource-template.yml +topology_template: + node_templates: + allotedresource1: + type: org.openecomp.resource.vfc.AllottedResource123 + metadata: + invariantUUID: 666b409b-5614-41a8-945e-a53d68f5d439 + UUID: df0c1c4d-1756-4b2a-998e-73f9f4d77afa + customizationUUID: 1c217567-5093-41f5-86e6-22c97ef24e75 + version: '1.0' + name: Alloted resource + description: This is a VFC- Allotted resource + type: VFC + category: Allotted Resource123 + subcategory: Allotted Resource + properties: + role: name + ecomp_naming: + naming_policy: test + ecomp_generated_naming: false + supplemental_data: + Key1: key1 + max_instances: 1 + min_instances: 1 + ecomp_homing: + instance_node_target: Test + homing_policy: Test + supplemental_data: + Key: key + ecomp_selected_instance_node_target: false + groups: { + } + substitution_mappings: + node_type: org.openecomp.resource.vf.AllottedResource + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration16/service-ServiceWithAllottedResourceIpmux-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration16/service-ServiceWithAllottedResourceIpmux-template.yml new file mode 100644 index 0000000000..1fba2e727f --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration16/service-ServiceWithAllottedResourceIpmux-template.yml @@ -0,0 +1,62 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: faa4359b-6ecf-4eeb-9960-6440d4cf1f2f + UUID: 614316ee-94ae-41b3-b59a-46e87d3d91a5 + name: Service with allotted resource IPMUX + description: safa + type: Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false +imports: +- Allotted Resource: + file: resource-AllottedResource-template.yml +topology_template: + node_templates: + allottedresource1: + type: org.openecomp.resource.vf.AllottedResource + metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + customizationUUID: 958fb310-184f-463d-b634-1660a626f320 + version: '0.2' + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + groups: { + } + substitution_mappings: + node_type: org.openecomp.service.ServiceWithAllottedResourceIpmux + capabilities: + Allotted Resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Allotted Resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Allotted Resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/resource-AllottedResource1SameInvariant-IpMux-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/resource-AllottedResource1SameInvariant-IpMux-template.yml new file mode 100644 index 0000000000..2852d03568 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/resource-AllottedResource1SameInvariant-IpMux-template.yml @@ -0,0 +1,81 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Alloted resource: + file: resource-AllotedResource-template.yml +topology_template: + node_templates: + allotedresource1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: 666b409b-5614-41a8-945e-a53d68f5d439 + UUID: df0c1c4d-1756-4b2a-998e-73f9f4d77afa + customizationUUID: 1c217567-5093-41f5-86e6-22c97ef24e75 + version: '1.0' + name: Alloted resource + description: This is a VFC- Allotted resource + type: VFC + category: Allotted Resource + subcategory: Allotted Resource + properties: + role: name + ecomp_naming: + naming_policy: test + ecomp_generated_naming: false + supplemental_data: + Key1: key1 + providing_service_invariant_uuid: 34a4d119-06bc-4ab4-8c5a-a498d638297c + min_instances: 1 + max_instances: 1 + providing_service_uuid: e14a509f-b611-4b30-b38c-bc7f11b679aa + providing_service_name: vVIGaaS + ecomp_homing: + instance_node_target: Test + homing_policy: Test + supplemental_data: + Key: key + ecomp_selected_instance_node_target: false + groups: { + } + substitution_mappings: + node_type: org.openecomp.resource.vf.AllottedResource + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/resource-AllottedResource2SameInvariant-IpMux-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/resource-AllottedResource2SameInvariant-IpMux-template.yml new file mode 100644 index 0000000000..0986300436 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/resource-AllottedResource2SameInvariant-IpMux-template.yml @@ -0,0 +1,81 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f64afdc3-6308-4f0c-a476-0d39c8a1fb4d + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Alloted resource: + file: resource-AllotedResource-template.yml +topology_template: + node_templates: + allotedresource1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: 666b409b-5614-41a8-945e-a53d68f5d439 + UUID: df0c1c4d-1756-4b2a-998e-73f9f4d77afa + customizationUUID: 1c217567-5093-41f5-86e6-22c97ef24e75 + version: '1.0' + name: Alloted resource + description: This is a VFC- Allotted resource + type: VFC + category: Allotted Resource + subcategory: Allotted Resource + properties: + role: name + ecomp_naming: + naming_policy: test + ecomp_generated_naming: false + supplemental_data: + Key1: key1 + providing_service_invariant_uuid: 34a4d119-06bc-4ab4-8c5a-a498d638297c + min_instances: 1 + max_instances: 1 + providing_service_uuid: e24a509f-b611-4b30-b38c-bc7f11b679aa + providing_service_name: vVIGaaS + ecomp_homing: + instance_node_target: Test + homing_policy: Test + supplemental_data: + Key: key + ecomp_selected_instance_node_target: false + groups: { + } + substitution_mappings: + node_type: org.openecomp.resource.vf.AllottedResource + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/service-ServiceWithAllottedResourcesIpMuxSameInvariant-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/service-ServiceWithAllottedResourcesIpMuxSameInvariant-template.yml new file mode 100644 index 0000000000..efd2dea67a --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/service-ServiceWithAllottedResourcesIpMuxSameInvariant-template.yml @@ -0,0 +1,74 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: faa4359b-6ecf-4eeb-9960-6440d4cf1f2f + UUID: 614316ee-94ae-41b3-b59a-46e87d3d91a5 + name: Service with allotted resource IPMUX + description: safa + type: Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false +imports: +- Allotted Resource: + file: resource-AllottedResource-template.yml +topology_template: + node_templates: + allottedresource1: + type: org.openecomp.resource.vf.AllottedResource + metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + customizationUUID: 958fb310-184f-463d-b634-1660a626f320 + version: '0.2' + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + allottedresource2: + type: org.openecomp.resource.vf.AllottedResource + metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f64afdc3-6308-4f0c-a476-0d39c8a1fb4d + customizationUUID: 958fb310-184f-463d-b634-1660a626f320 + version: '0.3' + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + groups: { + } + substitution_mappings: + node_type: org.openecomp.service.ServiceWithAllottedResourceIpmux + capabilities: + Allotted Resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Allotted Resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Allotted Resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration18/resource-AllottedResourceSameInvariantSameVers-IpMux-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration18/resource-AllottedResourceSameInvariantSameVers-IpMux-template.yml new file mode 100644 index 0000000000..2852d03568 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration18/resource-AllottedResourceSameInvariantSameVers-IpMux-template.yml @@ -0,0 +1,81 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Alloted resource: + file: resource-AllotedResource-template.yml +topology_template: + node_templates: + allotedresource1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: 666b409b-5614-41a8-945e-a53d68f5d439 + UUID: df0c1c4d-1756-4b2a-998e-73f9f4d77afa + customizationUUID: 1c217567-5093-41f5-86e6-22c97ef24e75 + version: '1.0' + name: Alloted resource + description: This is a VFC- Allotted resource + type: VFC + category: Allotted Resource + subcategory: Allotted Resource + properties: + role: name + ecomp_naming: + naming_policy: test + ecomp_generated_naming: false + supplemental_data: + Key1: key1 + providing_service_invariant_uuid: 34a4d119-06bc-4ab4-8c5a-a498d638297c + min_instances: 1 + max_instances: 1 + providing_service_uuid: e14a509f-b611-4b30-b38c-bc7f11b679aa + providing_service_name: vVIGaaS + ecomp_homing: + instance_node_target: Test + homing_policy: Test + supplemental_data: + Key: key + ecomp_selected_instance_node_target: false + groups: { + } + substitution_mappings: + node_type: org.openecomp.resource.vf.AllottedResource + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration18/service-ServiceWithAllottedResourcesIpMuxSameInvariantSameVers-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration18/service-ServiceWithAllottedResourcesIpMuxSameInvariantSameVers-template.yml new file mode 100644 index 0000000000..08c5329212 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration18/service-ServiceWithAllottedResourcesIpMuxSameInvariantSameVers-template.yml @@ -0,0 +1,74 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: faa4359b-6ecf-4eeb-9960-6440d4cf1f2f + UUID: 614316ee-94ae-41b3-b59a-46e87d3d91a5 + name: Service with allotted resource IPMUX + description: safa + type: Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false +imports: +- Allotted Resource: + file: resource-AllottedResource-template.yml +topology_template: + node_templates: + allottedresource1: + type: org.openecomp.resource.vf.AllottedResource + metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + customizationUUID: 958fb310-184f-463d-b634-1660a626f320 + version: '0.2' + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + allottedresource2: + type: org.openecomp.resource.vf.AllottedResource + metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + customizationUUID: 958fb310-184f-463d-b634-1660a626f320 + version: '0.2' + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + groups: { + } + substitution_mappings: + node_type: org.openecomp.service.ServiceWithAllottedResourceIpmux + capabilities: + Allotted Resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Allotted Resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Allotted Resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration2/Resource0-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration2/Resource0-template.yml new file mode 100644 index 0000000000..49666f9bae --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration2/Resource0-template.yml @@ -0,0 +1,24 @@ + # _______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 461a4839-2572-4dc1-b3be-dcb4c1908764 + UUID: bca09900-d37a-48db-8cd2-de014b2fdbba + name: resource_0 + description: description + type: VF + category: Generic + subcategory: Infrastructure + resourceVendor: vendor name + resourceVendorRelease: vendor release +topology_template: + substitution_mapping: + node_type: org.openecomp.resource.vf.Resource0 + # _______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration4/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration4/service_vmme_template_1.yml new file mode 100644 index 0000000000..76bb35ceec --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration4/service_vmme_template_1.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vasf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vsl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vasl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vasl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration5/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration5/service_vmme_template_1.yml new file mode 100644 index 0000000000..338f5511bf --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration5/service_vmme_template_1.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration6/Resource0-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration6/Resource0-template.yml new file mode 100644 index 0000000000..49666f9bae --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration6/Resource0-template.yml @@ -0,0 +1,24 @@ + # _______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 461a4839-2572-4dc1-b3be-dcb4c1908764 + UUID: bca09900-d37a-48db-8cd2-de014b2fdbba + name: resource_0 + description: description + type: VF + category: Generic + subcategory: Infrastructure + resourceVendor: vendor name + resourceVendorRelease: vendor release +topology_template: + substitution_mapping: + node_type: org.openecomp.resource.vf.Resource0 + # _______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration6/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration6/service_vmme_template_1.yml new file mode 100644 index 0000000000..4daeca3972 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration6/service_vmme_template_1.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vsf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vsdl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vsdl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vsdl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration8/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration8/service_vmme_template_1.yml new file mode 100644 index 0000000000..ff9e604bf3 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration8/service_vmme_template_1.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration9/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration9/service_vmme_template_1.yml new file mode 100644 index 0000000000..403ad87be0 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration9/service_vmme_template_1.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-IpMuxDemux-template_AllRes_VF.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-IpMuxDemux-template_AllRes_VF.yml new file mode 100644 index 0000000000..d8885bb84b --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-IpMuxDemux-template_AllRes_VF.yml @@ -0,0 +1,81 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 707b2850-e830-4b00-9902-879f44ac05a4 + UUID: 495b483b-282a-45df-bbfe-63d1d1d80813 + name: IP_Mux_Demux + description: IP_Mux_Demux + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Allotedresource: + file: resource-Allotedresource-template.yml +topology_template: + inputs: + role: + type: string + ecomp_naming: + type: string + max_instances: + type: string + min_instances: + type: string + ecomp_homing: + type: string + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: bc0bebc1-6dc1-4637-883e-aed77bffd63c + UUID: 7763d3a3-048f-4e5b-96c5-e7818dbc066a + customizationUUID: 5eac2a36-bcb5-4158-ace4-802b81e87248 + version: '1.0' + name: Allotedresource + description: Allotedresource + type: VFC + category: Allotted Resource + subcategory: IP Mux Demux + properties: + ecomp_naming: + naming_policy: + get input: ecomp_naming + providing_service_invariant_uuid: e42ea8ff-1862-43f4-a597-4b885cf3c6e5 + min_instances: 1 + max_instances: 1 + providing_service_uuid: 2fb4b63d-7ec8-4fc0-98c7-a1c51fb4b794 + providing_service_name: vVIGaaS + substitution_mappings: + node_type: org.openecomp.resource.vf.IpMuxDemux + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-ServiceAdmin-template_AllRes_VF.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-ServiceAdmin-template_AllRes_VF.yml new file mode 100644 index 0000000000..549c18b55b --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-ServiceAdmin-template_AllRes_VF.yml @@ -0,0 +1,81 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 0df08d3e-9701-4f5a-b3ed-82a0b504b366 + UUID: a9c6246c-0807-4a43-a64c-442a170c2088 + name: service_admin + description: service_admin + type: VF + category: Allotted Resource + subcategory: Service admin + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Allotedresource: + file: resource-Allotedresource-template.yml +topology_template: + inputs: + role: + type: string + ecomp_naming: + type: string + max_instances: + type: string + min_instances: + type: string + ecomp_homing: + type: string + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: bc0bebc1-6dc1-4637-883e-aed77bffd63c + UUID: 7763d3a3-048f-4e5b-96c5-e7818dbc066a + customizationUUID: f61f785d-2c82-4d6d-9184-8cbdf2df4da0 + version: '1.0' + name: Allotedresource + description: Allotedresource + type: VFC + category: Allotted Resource + subcategory: Service admin + properties: + ecomp_naming: + naming_policy: + get input: ecomp_naming + providing_service_invariant_uuid: e42ea8ff-1862-43f4-a597-4b885cf3c6e5 + min_instances: 1 + max_instances: 1 + providing_service_uuid: 2fb4b63d-7ec8-4fc0-98c7-a1c51fb4b794 + providing_service_name: HNPortalaaS + substitution_mappings: + node_type: org.openecomp.resource.vf.ServiceAdmin + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-TunnelXconn-template_AllRes_VF.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-TunnelXconn-template_AllRes_VF.yml new file mode 100644 index 0000000000..1eb97a0976 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-TunnelXconn-template_AllRes_VF.yml @@ -0,0 +1,81 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 63b95d9a-9c89-40d3-a646-36a1418c5246 + UUID: ae79ba1b-5d12-4813-b01c-755fa6c800bb + name: Tunnel_XConn + description: Tunnel_XConn + type: VF + category: Allotted Resource + subcategory: Tunnel XConnect + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Allotedresource: + file: resource-Allotedresource-template.yml +topology_template: + inputs: + role: + type: string + ecomp_naming: + type: string + min_instances: + type: string + max_instances: + type: string + ecomp_homing: + type: string + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: bc0bebc1-6dc1-4637-883e-aed77bffd63c + UUID: 7763d3a3-048f-4e5b-96c5-e7818dbc066a + customizationUUID: 22ca20ca-1577-46d3-b3ef-77483cca37d6 + version: '1.0' + name: Allotedresource + description: Allotedresource + type: VFC + category: Allotted Resource + subcategory: Tunnel XConnect + properties: + ecomp_naming: + naming_policy: + get input: ecomp_naming + providing_service_invariant_uuid: 34a4d119-06bc-4ab4-8c5a-a498d638297c + min_instances: 1 + max_instances: 1 + providing_service_uuid: 2fb4b63d-7ec8-4fc0-98c7-a1c51fb4b794 + providing_service_name: vVIGaaS + substitution_mappings: + node_type: org.openecomp.resource.vf.TunnelXconn + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-VhnfNonHeat-template_AllRes_VF.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-VhnfNonHeat-template_AllRes_VF.yml new file mode 100644 index 0000000000..8ec1c192ee --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-VhnfNonHeat-template_AllRes_VF.yml @@ -0,0 +1,24 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: f61adc31-6004-4377-a661-090f59e6b32a + UUID: 2118e830-5e0d-409a-9d7a-63b6a72d6f5f + name: vHNF non Heat + description: vHNF non Heat + type: VF + category: Generic + subcategory: Network Elements + resourceVendor: '1' + resourceVendorRelease: '1' +topology_template: + substitution_mappings: + node_type: org.openecomp.resource.vf.VhnfNonHeat +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/service-SdWan-template_AllRes_VF.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/service-SdWan-template_AllRes_VF.yml new file mode 100644 index 0000000000..bc3ab6dabb --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/service-SdWan-template_AllRes_VF.yml @@ -0,0 +1,233 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 3d8b7a76-7c47-4974-b5b9-e24c54b817a2 + UUID: eb31504f-9f60-4936-a2f2-8ac592b611a6 + name: SD-WAN + description: SD-WAN + type: Service + category: Network L4+ + serviceEcompNaming: false + serviceHoming: false +imports: +- service_admin: + file: resource-ServiceAdmin-template.yml +- Tunnel_XConn: + file: resource-TunnelXconn-template.yml +- vHNF non Heat: + file: resource-VhnfNonHeat-template.yml +- IP_Mux_Demux: + file: resource-IpMuxDemux-template.yml +topology_template: + node_templates: + Sec_IP_Mux_Demux: + type: org.openecomp.resource.vf.IpMuxDemux + metadata: + invariantUUID: 707b2850-e830-4b00-9902-879f44ac05a4 + UUID: 495b483b-282a-45df-bbfe-63d1d1d80813 + customizationUUID: f4b764bb-6721-4219-8c69-7ce61969f755 + version: '0.1' + name: IP_Mux_Demux + description: IP_Mux_Demux + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + Pri_Tunnel_XConn: + type: org.openecomp.resource.vf.TunnelXconn + metadata: + invariantUUID: 63b95d9a-9c89-40d3-a646-36a1418c5246 + UUID: ae79ba1b-5d12-4813-b01c-755fa6c800bb + customizationUUID: 96d0bbf6-d9f7-441d-8f00-67d79dbf30de + version: '0.1' + name: Tunnel_XConn + description: Tunnel_XConn + type: VF + category: Allotted Resource + subcategory: Tunnel XConnect + Pri_service_admin: + type: org.openecomp.resource.vf.ServiceAdmin + metadata: + invariantUUID: 0df08d3e-9701-4f5a-b3ed-82a0b504b366 + UUID: a9c6246c-0807-4a43-a64c-442a170c2088 + customizationUUID: 6b4a2a55-3b82-4799-8329-4fc2939fd5b5 + version: '0.1' + name: service_admin + description: service_admin + type: VF + category: Allotted Resource + subcategory: Service admin + Pri_IP_Mux_Demux: + type: org.openecomp.resource.vf.IpMuxDemux + metadata: + invariantUUID: 707b2850-e830-4b00-9902-879f44ac05a4 + UUID: 495b483b-282a-45df-bbfe-63d1d1d80813 + customizationUUID: d8f656d9-179d-4f02-9a46-8af7421eb2a0 + version: '0.1' + name: IP_Mux_Demux + description: IP_Mux_Demux + type: VF + category: Allotted Resource + subcategory: IP Mux Demux + Sec_Tunnel_XConn: + type: org.openecomp.resource.vf.TunnelXconn + metadata: + invariantUUID: 63b95d9a-9c89-40d3-a646-36a1418c5246 + UUID: ae79ba1b-5d12-4813-b01c-755fa6c800bb + customizationUUID: b432136d-0a2a-460b-a3da-f921e1e0dcfa + version: '0.1' + name: Tunnel_XConn + description: Tunnel_XConn + type: VF + category: Allotted Resource + subcategory: Tunnel XConnect + vHNF non Heat 22: + type: org.openecomp.resource.vf.VhnfNonHeat + metadata: + invariantUUID: f61adc31-6004-4377-a661-090f59e6b32a + UUID: 2118e830-5e0d-409a-9d7a-63b6a72d6f5f + customizationUUID: 9c7a5f7f-6b17-4066-a6f1-094ea925495b + version: '0.1' + name: vHNF non Heat + description: vHNF non Heat + type: VF + category: Generic + subcategory: Network Elements + Sec_service_admin: + type: org.openecomp.resource.vf.ServiceAdmin + metadata: + invariantUUID: 0df08d3e-9701-4f5a-b3ed-82a0b504b366 + UUID: a9c6246c-0807-4a43-a64c-442a170c2088 + customizationUUID: 5a8ef05b-451f-40f4-9531-3ee00bd3c5c4 + version: '0.1' + name: service_admin + description: service_admin + type: VF + category: Allotted Resource + subcategory: Service admin + substitution_mappings: + node_type: org.openecomp.service.SdWan + capabilities: + Sec_service_admin.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Sec_IP_Mux_Demux.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Pri_service_admin.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Pri_IP_Mux_Demux.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Pri_Tunnel_XConn.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Sec_Tunnel_XConn.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Pri_service_admin.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Sec_Tunnel_XConn.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_service_admin.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Pri_IP_Mux_Demux.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Pri_Tunnel_XConn.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_service_admin.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Pri_service_admin.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_IP_Mux_Demux.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_IP_Mux_Demux.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Pri_Tunnel_XConn.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Sec_Tunnel_XConn.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Pri_IP_Mux_Demux.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-IpMuxDemux-template_WithOutDepSerId.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-IpMuxDemux-template_WithOutDepSerId.yml new file mode 100644 index 0000000000..2e06cf467b --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-IpMuxDemux-template_WithOutDepSerId.yml @@ -0,0 +1,80 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 707b2850-e830-4b00-9902-879f44ac05a4 + UUID: 495b483b-282a-45df-bbfe-63d1d1d80813 + name: IP_Mux_Demux + description: IP_Mux_Demux + type: VF + category: Allotted Resource + subcategory: Allotted Resource + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Allotedresource: + file: resource-Allotedresource-template.yml +topology_template: + inputs: + role: + type: string + ecomp_naming: + type: string + max_instances: + type: string + min_instances: + type: string + ecomp_homing: + type: string + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: bc0bebc1-6dc1-4637-883e-aed77bffd63c + UUID: 7763d3a3-048f-4e5b-96c5-e7818dbc066a + customizationUUID: 5eac2a36-bcb5-4158-ace4-802b81e87248 + version: '1.0' + name: Allotedresource + description: Allotedresource + type: VFC + category: Allotted Resource + subcategory: Allotted Resource + properties: + ecomp_naming: + naming_policy: + get input: ecomp_naming + providing_service_invariant_uuid: + min_instances: 1 + max_instances: 1 + providing_service_uuid: + substitution_mappings: + node_type: org.openecomp.resource.vf.IpMuxDemux + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-ServiceAdmin-template_WithOutDepSerId.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-ServiceAdmin-template_WithOutDepSerId.yml new file mode 100644 index 0000000000..c8a641d1ac --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-ServiceAdmin-template_WithOutDepSerId.yml @@ -0,0 +1,81 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 0df08d3e-9701-4f5a-b3ed-82a0b504b366 + UUID: a9c6246c-0807-4a43-a64c-442a170c2088 + name: service_admin + description: service_admin + type: VF + category: Allotted Resource + subcategory: Allotted Resource + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Allotedresource: + file: resource-Allotedresource-template.yml +topology_template: + inputs: + role: + type: string + ecomp_naming: + type: string + max_instances: + type: string + min_instances: + type: string + ecomp_homing: + type: string + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: bc0bebc1-6dc1-4637-883e-aed77bffd63c + UUID: 7763d3a3-048f-4e5b-96c5-e7818dbc066a + customizationUUID: f61f785d-2c82-4d6d-9184-8cbdf2df4da0 + version: '1.0' + name: Allotedresource + description: Allotedresource + type: VFC + category: Allotted Resource + subcategory: Allotted Resource + properties: + ecomp_naming: + naming_policy: + get input: ecomp_naming + providing_service_invariant_uuid: + min_instances: 1 + max_instances: 1 + providing_service_uuid: + providing_service_name: HNPortalaaS + substitution_mappings: + node_type: org.openecomp.resource.vf.ServiceAdmin + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-TunnelXconn-template_WithOutDepSerId.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-TunnelXconn-template_WithOutDepSerId.yml new file mode 100644 index 0000000000..eb248d1d65 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-TunnelXconn-template_WithOutDepSerId.yml @@ -0,0 +1,81 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 63b95d9a-9c89-40d3-a646-36a1418c5246 + UUID: ae79ba1b-5d12-4813-b01c-755fa6c800bb + name: Tunnel_XConn + description: Tunnel_XConn + type: VF + category: Allotted Resource + subcategory: Allotted Resource + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Allotedresource: + file: resource-Allotedresource-template.yml +topology_template: + inputs: + role: + type: string + ecomp_naming: + type: string + min_instances: + type: string + max_instances: + type: string + ecomp_homing: + type: string + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: bc0bebc1-6dc1-4637-883e-aed77bffd63c + UUID: 7763d3a3-048f-4e5b-96c5-e7818dbc066a + customizationUUID: 22ca20ca-1577-46d3-b3ef-77483cca37d6 + version: '1.0' + name: Allotedresource + description: Allotedresource + type: VFC + category: Allotted Resource + subcategory: Allotted Resource + properties: + ecomp_naming: + naming_policy: + get input: ecomp_naming + providing_service_invariant_uuid: + min_instances: 1 + max_instances: 1 + providing_service_uuid: + providing_service_name: vVIGaaS + substitution_mappings: + node_type: org.openecomp.resource.vf.TunnelXconn + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-VhnfNonHeat-template_WithOutDepSerId.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-VhnfNonHeat-template_WithOutDepSerId.yml new file mode 100644 index 0000000000..8ec1c192ee --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-VhnfNonHeat-template_WithOutDepSerId.yml @@ -0,0 +1,24 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: f61adc31-6004-4377-a661-090f59e6b32a + UUID: 2118e830-5e0d-409a-9d7a-63b6a72d6f5f + name: vHNF non Heat + description: vHNF non Heat + type: VF + category: Generic + subcategory: Network Elements + resourceVendor: '1' + resourceVendorRelease: '1' +topology_template: + substitution_mappings: + node_type: org.openecomp.resource.vf.VhnfNonHeat +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/service-SdWan-template_WithOutDepSerId.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/service-SdWan-template_WithOutDepSerId.yml new file mode 100644 index 0000000000..51d8c2d8ba --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/service-SdWan-template_WithOutDepSerId.yml @@ -0,0 +1,233 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 3d8b7a76-7c47-4974-b5b9-e24c54b817a2 + UUID: eb31504f-9f60-4936-a2f2-8ac592b611a6 + name: SD-WAN + description: SD-WAN + type: Service + category: Network L4+ + serviceEcompNaming: false + serviceHoming: false +imports: +- service_admin: + file: resource-ServiceAdmin-template.yml +- Tunnel_XConn: + file: resource-TunnelXconn-template.yml +- vHNF non Heat: + file: resource-VhnfNonHeat-template.yml +- IP_Mux_Demux: + file: resource-IpMuxDemux-template.yml +topology_template: + node_templates: + Sec_IP_Mux_Demux: + type: org.openecomp.resource.vf.IpMuxDemux + metadata: + invariantUUID: 707b2850-e830-4b00-9902-879f44ac05a4 + UUID: 495b483b-282a-45df-bbfe-63d1d1d80813 + customizationUUID: f4b764bb-6721-4219-8c69-7ce61969f755 + version: '0.1' + name: IP_Mux_Demux + description: IP_Mux_Demux + type: VF + category: Allotted Resource + subcategory: Allotted Resource + Pri_Tunnel_XConn: + type: org.openecomp.resource.vf.TunnelXconn + metadata: + invariantUUID: 63b95d9a-9c89-40d3-a646-36a1418c5246 + UUID: ae79ba1b-5d12-4813-b01c-755fa6c800bb + customizationUUID: 96d0bbf6-d9f7-441d-8f00-67d79dbf30de + version: '0.1' + name: Tunnel_XConn + description: Tunnel_XConn + type: VF + category: Allotted Resource + subcategory: Allotted Resource + Pri_service_admin: + type: org.openecomp.resource.vf.ServiceAdmin + metadata: + invariantUUID: 0df08d3e-9701-4f5a-b3ed-82a0b504b366 + UUID: a9c6246c-0807-4a43-a64c-442a170c2088 + customizationUUID: 6b4a2a55-3b82-4799-8329-4fc2939fd5b5 + version: '0.1' + name: service_admin + description: service_admin + type: VF + category: Allotted Resource + subcategory: Allotted Resource + Pri_IP_Mux_Demux: + type: org.openecomp.resource.vf.IpMuxDemux + metadata: + invariantUUID: 707b2850-e830-4b00-9902-879f44ac05a4 + UUID: 495b483b-282a-45df-bbfe-63d1d1d80813 + customizationUUID: d8f656d9-179d-4f02-9a46-8af7421eb2a0 + version: '0.1' + name: IP_Mux_Demux + description: IP_Mux_Demux + type: VF + category: Allotted Resource + subcategory: Allotted Resource + Sec_Tunnel_XConn: + type: org.openecomp.resource.vf.TunnelXconn + metadata: + invariantUUID: 63b95d9a-9c89-40d3-a646-36a1418c5246 + UUID: ae79ba1b-5d12-4813-b01c-755fa6c800bb + customizationUUID: b432136d-0a2a-460b-a3da-f921e1e0dcfa + version: '0.1' + name: Tunnel_XConn + description: Tunnel_XConn + type: VF + category: Allotted Resource + subcategory: Allotted Resource + vHNF non Heat 22: + type: org.openecomp.resource.vf.VhnfNonHeat + metadata: + invariantUUID: f61adc31-6004-4377-a661-090f59e6b32a + UUID: 2118e830-5e0d-409a-9d7a-63b6a72d6f5f + customizationUUID: 9c7a5f7f-6b17-4066-a6f1-094ea925495b + version: '0.1' + name: vHNF non Heat + description: vHNF non Heat + type: VF + category: Generic + subcategory: Network Elements + Sec_service_admin: + type: org.openecomp.resource.vf.ServiceAdmin + metadata: + invariantUUID: 0df08d3e-9701-4f5a-b3ed-82a0b504b366 + UUID: a9c6246c-0807-4a43-a64c-442a170c2088 + customizationUUID: 5a8ef05b-451f-40f4-9531-3ee00bd3c5c4 + version: '0.1' + name: service_admin + description: service_admin + type: VF + category: Allotted Resource + subcategory: Allotted Resource + substitution_mappings: + node_type: org.openecomp.service.SdWan + capabilities: + Sec_service_admin.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Sec_IP_Mux_Demux.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Pri_service_admin.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Pri_IP_Mux_Demux.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Pri_Tunnel_XConn.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + Sec_Tunnel_XConn.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Pri_service_admin.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Sec_Tunnel_XConn.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_service_admin.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Pri_IP_Mux_Demux.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Pri_Tunnel_XConn.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_service_admin.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Pri_service_admin.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_IP_Mux_Demux.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn + Sec_IP_Mux_Demux.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Pri_Tunnel_XConn.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Sec_Tunnel_XConn.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Pri_IP_Mux_Demux.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidInvId/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidInvId/service_vmme_template_1.yml new file mode 100644 index 0000000000..50c4c8230a --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidInvId/service_vmme_template_1.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: 7787da18-123 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion1/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion1/service_vmme_template_1.yml new file mode 100644 index 0000000000..fbb1e62a89 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion1/service_vmme_template_1.yml @@ -0,0 +1,98 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 0.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion1/vf_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion1/vf_vmme_template_1.yml new file mode 100644 index 0000000000..6aee48b9d9 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion1/vf_vmme_template_1.yml @@ -0,0 +1,1299 @@ +--- +description: "VF Template for pseodo vMME" +imports: + NovaServerGlobalTypes: + file: NovaServerGlobalTypesServiceTemplate.yaml +metadata: + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + subcategory: Firewall + type: VF + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + resourceVendor: Ericsson +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: adf1a10a-f788-492f-9ea7-7ff91dd55f8c + vfModuleModelName: "vMME::module-1" + vfModuleModelUUID: x020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + vfModuleModelVersion: 1 + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + vmme_small: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + properties: + description: "HOT template to create vmme 2 fsb 2 ncb 2 gbp 2 vlc" + heat_file: ../Artifacts/vmme_small.yml + type: org.openecomp.groups.heat.HeatStack + vmme_small_create_fsb: + members: + - FSB1_volume + - FSB2_volume + properties: + description: "server template for vMME" + heat_file: ../Artifacts/vmme_small_create_fsb.yml + type: org.openecomp.groups.heat.HeatStack + inputs: + Internal1_net_cidr: + default: 169.253.0.0/17 + hidden: false + immutable: false + type: string + Internal1_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal1_net_gateway_ip: + default: "169.253.0.3" + hidden: false + immutable: false + type: string + Internal2_net_cidr: + default: 169.255.0.0/17 + hidden: false + immutable: false + type: string + Internal2_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal2_net_gateway_ip: + default: "169.255.0.3" + hidden: false + immutable: false + type: string + fsb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + fsb1_vfc_image_name: + default: MME_FSB1_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + fsb1_vfc_type_tag: + description: "VFC type tag" + type: string + fsb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb2_vfc_flavor: + defualt: m4.xlarge4 + description: "VFC flavor" + type: string + fsb2_vfc_image_name: + default: MME_FSB2_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb2_vfc_instance_name: + default: ZRDM1MMEX36FSB002 + description: "VFC instance name" + type: string + fsb2_vfc_type_tag: + description: "VFC type tag" + type: string + gpb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb1_vfc_image_name: + default: MME_GPB1_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb1_vfc_type_tag: + description: "VFC type tag" + type: string + gpb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb2_vfc_image_name: + default: MME_GPB2_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb2_vfc_type_tag: + description: "VFC type tag" + type: string + ncb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb1_vfc_image_name: + default: MME_NCB1_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb1_vfc_type_tag: + description: "VFC type tag" + type: string + ncb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb2_vfc_image_name: + default: MME_NCB2_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb2_vfc_type_tag: + description: "VFC type tag" + type: string + network_deployment_node: + description: "The target LCP node for deployment of this Network instance" + type: string + oam_net_id: + default: 47bf4cca-0961-422f-bcd6-d5a4fbb1a351 + description: "uuid of oam network" + hidden: false + immutable: false + type: string + vlc1_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc1_vfc_image_name: + default: MME_VLC1_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc1_vfc_type_tag: + description: "VFC type tag" + type: string + vlc2_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc2_vfc_image_name: + default: MME_VLC2_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc2_vfc_type_tag: + description: "VFC type tag" + type: string + node_templates: + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb1_vfc_image_name + vfc_instance_name: + get_input: gpb1_vfc_instance_name + vfc_type_tag: + get_input: gpb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb2_vfc_image_name + vfc_instance_name: + get_input: gpb2_vfc_instance_name + vfc_type_tag: + get_input: gpb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + Internal1_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal1_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_1 + vn_shared: false + enable_dhcp: + get_input: Internal1_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal1_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + Internal2_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal2_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_2 + vn_shared: false + enable_dhcp: + get_input: Internal2_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal2_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb2_vfc_image_name + vfc_instance_name: + get_input: ncb2_vfc_instance_name + vfc_type_tag: + get_input: ncb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC1 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc1_vfc_image_name + vfc_instance_name: + get_input: vlc1_vfc_instance_name + vfc_type_tag: + get_input: vlc1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC2 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc2_vfc_image_name + vfc_instance_name: + get_input: vlc2_vfc_instance_name + vfc_type_tag: + get_input: vlc2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + fsb1_internal1: + properties: + address_info: + mac_address: + get_input: fsb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_internal2: + properties: + address_info: + mac_address: + get_input: fsb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_oam: + properties: + address_Info: + ip_address: + get_input: fsb1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal1: + properties: + address_info: + mac_address: + get_input: fsb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal2: + properties: + address_info: + mac_address: + get_input: fsb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_oam: + properties: + address_Info: + ip_address: + get_input: fsb2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal1: + properties: + address_info: + mac_address: + get_input: gpb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal2: + properties: + address_info: + mac_address: + get_input: gpb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal1: + properties: + address_info: + mac_address: + get_input: gpb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal2: + properties: + address_info: + mac_address: + get_input: gpb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal1: + properties: + address_info: + mac_address: + get_input: ncb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal2: + properties: + address_info: + mac_address: + get_input: ncb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal1: + properties: + address_info: + mac_address: + get_input: ncb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal2: + properties: + address_info: + mac_address: + get_input: ncb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + oam_net: + metadata: + category: VL + description: "Mobility OAM Network" + invariantUUID: 18643c59-e2c2-4f86-880d-371d4d9dc52a + name: "Mobility OAM Network" + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da7fcc + resourceVendor: AT&T + version: 2.0 + properties: + flow_pattern: E-LAN + layer_protocol: IP + network_id: + get_input: oam_net_id + network_technology: Contrail + network_type: vIPR_ATM_OAM + test_access: none + type: org.openecomp.resource.vl.OAM + vlc1_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc1_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_internal2: + properties: + address_info: + mac_address: + get_input: vlc1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_oam: + properties: + address_Info: + ip_address: + get_input: vlc1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc2_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal1: + properties: + address_info: + mac_address: + get_input: vlc2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal2: + properties: + address_info: + mac_address: + get_input: vlc2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_oam: + properties: + address_Info: + ip_address: + get_input: vlc2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + policies: + - + mme_autoscale_policy: + properties: + factor: cpu_load + increment: 1 + max_instances: 4 + min_instances: 1 + threshold: 80% + target: + - vfmoduleVmmeModule-1 + type: org.openecomp.policy.Autoscaling + substitution_mapping: + requirements: + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc2_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + type: org.openecomp.resource.vf.vmme +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion2/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion2/service_vmme_template_1.yml new file mode 100644 index 0000000000..94b6c9b29b --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion2/service_vmme_template_1.yml @@ -0,0 +1,98 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion2/vf_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion2/vf_vmme_template_1.yml new file mode 100644 index 0000000000..6aee48b9d9 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion2/vf_vmme_template_1.yml @@ -0,0 +1,1299 @@ +--- +description: "VF Template for pseodo vMME" +imports: + NovaServerGlobalTypes: + file: NovaServerGlobalTypesServiceTemplate.yaml +metadata: + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + subcategory: Firewall + type: VF + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + resourceVendor: Ericsson +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: adf1a10a-f788-492f-9ea7-7ff91dd55f8c + vfModuleModelName: "vMME::module-1" + vfModuleModelUUID: x020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + vfModuleModelVersion: 1 + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + vmme_small: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + properties: + description: "HOT template to create vmme 2 fsb 2 ncb 2 gbp 2 vlc" + heat_file: ../Artifacts/vmme_small.yml + type: org.openecomp.groups.heat.HeatStack + vmme_small_create_fsb: + members: + - FSB1_volume + - FSB2_volume + properties: + description: "server template for vMME" + heat_file: ../Artifacts/vmme_small_create_fsb.yml + type: org.openecomp.groups.heat.HeatStack + inputs: + Internal1_net_cidr: + default: 169.253.0.0/17 + hidden: false + immutable: false + type: string + Internal1_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal1_net_gateway_ip: + default: "169.253.0.3" + hidden: false + immutable: false + type: string + Internal2_net_cidr: + default: 169.255.0.0/17 + hidden: false + immutable: false + type: string + Internal2_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal2_net_gateway_ip: + default: "169.255.0.3" + hidden: false + immutable: false + type: string + fsb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + fsb1_vfc_image_name: + default: MME_FSB1_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + fsb1_vfc_type_tag: + description: "VFC type tag" + type: string + fsb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb2_vfc_flavor: + defualt: m4.xlarge4 + description: "VFC flavor" + type: string + fsb2_vfc_image_name: + default: MME_FSB2_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb2_vfc_instance_name: + default: ZRDM1MMEX36FSB002 + description: "VFC instance name" + type: string + fsb2_vfc_type_tag: + description: "VFC type tag" + type: string + gpb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb1_vfc_image_name: + default: MME_GPB1_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb1_vfc_type_tag: + description: "VFC type tag" + type: string + gpb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb2_vfc_image_name: + default: MME_GPB2_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb2_vfc_type_tag: + description: "VFC type tag" + type: string + ncb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb1_vfc_image_name: + default: MME_NCB1_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb1_vfc_type_tag: + description: "VFC type tag" + type: string + ncb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb2_vfc_image_name: + default: MME_NCB2_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb2_vfc_type_tag: + description: "VFC type tag" + type: string + network_deployment_node: + description: "The target LCP node for deployment of this Network instance" + type: string + oam_net_id: + default: 47bf4cca-0961-422f-bcd6-d5a4fbb1a351 + description: "uuid of oam network" + hidden: false + immutable: false + type: string + vlc1_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc1_vfc_image_name: + default: MME_VLC1_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc1_vfc_type_tag: + description: "VFC type tag" + type: string + vlc2_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc2_vfc_image_name: + default: MME_VLC2_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc2_vfc_type_tag: + description: "VFC type tag" + type: string + node_templates: + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb1_vfc_image_name + vfc_instance_name: + get_input: gpb1_vfc_instance_name + vfc_type_tag: + get_input: gpb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb2_vfc_image_name + vfc_instance_name: + get_input: gpb2_vfc_instance_name + vfc_type_tag: + get_input: gpb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + Internal1_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal1_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_1 + vn_shared: false + enable_dhcp: + get_input: Internal1_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal1_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + Internal2_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal2_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_2 + vn_shared: false + enable_dhcp: + get_input: Internal2_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal2_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb2_vfc_image_name + vfc_instance_name: + get_input: ncb2_vfc_instance_name + vfc_type_tag: + get_input: ncb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC1 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc1_vfc_image_name + vfc_instance_name: + get_input: vlc1_vfc_instance_name + vfc_type_tag: + get_input: vlc1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC2 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc2_vfc_image_name + vfc_instance_name: + get_input: vlc2_vfc_instance_name + vfc_type_tag: + get_input: vlc2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + fsb1_internal1: + properties: + address_info: + mac_address: + get_input: fsb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_internal2: + properties: + address_info: + mac_address: + get_input: fsb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_oam: + properties: + address_Info: + ip_address: + get_input: fsb1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal1: + properties: + address_info: + mac_address: + get_input: fsb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal2: + properties: + address_info: + mac_address: + get_input: fsb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_oam: + properties: + address_Info: + ip_address: + get_input: fsb2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal1: + properties: + address_info: + mac_address: + get_input: gpb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal2: + properties: + address_info: + mac_address: + get_input: gpb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal1: + properties: + address_info: + mac_address: + get_input: gpb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal2: + properties: + address_info: + mac_address: + get_input: gpb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal1: + properties: + address_info: + mac_address: + get_input: ncb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal2: + properties: + address_info: + mac_address: + get_input: ncb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal1: + properties: + address_info: + mac_address: + get_input: ncb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal2: + properties: + address_info: + mac_address: + get_input: ncb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + oam_net: + metadata: + category: VL + description: "Mobility OAM Network" + invariantUUID: 18643c59-e2c2-4f86-880d-371d4d9dc52a + name: "Mobility OAM Network" + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da7fcc + resourceVendor: AT&T + version: 2.0 + properties: + flow_pattern: E-LAN + layer_protocol: IP + network_id: + get_input: oam_net_id + network_technology: Contrail + network_type: vIPR_ATM_OAM + test_access: none + type: org.openecomp.resource.vl.OAM + vlc1_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc1_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_internal2: + properties: + address_info: + mac_address: + get_input: vlc1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_oam: + properties: + address_Info: + ip_address: + get_input: vlc1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc2_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal1: + properties: + address_info: + mac_address: + get_input: vlc2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal2: + properties: + address_info: + mac_address: + get_input: vlc2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_oam: + properties: + address_Info: + ip_address: + get_input: vlc2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + policies: + - + mme_autoscale_policy: + properties: + factor: cpu_load + increment: 1 + max_instances: 4 + min_instances: 1 + threshold: 80% + target: + - vfmoduleVmmeModule-1 + type: org.openecomp.policy.Autoscaling + substitution_mapping: + requirements: + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc2_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + type: org.openecomp.resource.vf.vmme +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidUuId/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidUuId/service_vmme_template_1.yml new file mode 100644 index 0000000000..5edb3bf8af --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidUuId/service_vmme_template_1.yml @@ -0,0 +1,194 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + UUID: 7787da18-123 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: 1.0 + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + + + # Virtual Links (Networks) + + gtp_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: ab2995c59-ff34-4f86-a60d-371d4d9d1896 + UUID: 101a0ed2e-a12d-ff20-004e-cc7af4daffc3 + version: 1.0 + name: GTPNet + description: GTP External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: {get_input: gtp_net_network_name} + route_targets: {get_input: gtp_net_route_targets} + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: {get_input: gtp_net_cidr} + gateway_ip: {get_input: gtp_net_gateway_ip} + start_ip: {get_input: gtp_net_start_ip} + end_ip: {get_input: gtp_net_end_ip} + + sctp_a_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 29205c59-1111-4f86-880d-371d4d9dc999 + UUID: 1890ed2e-abcd-3f20-124e-cc7af4da4321 + version: 1.0 + name: SCTPANet + description: SCTP A External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPA_net_1 + route_targets: 13979:105717 + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.0/27 # HEAT ENV + gateway_ip: 107.243.37.1 # HEAT ENV + start_ip: 107.243.37.3 # HEAT ENV + end_ip: 107.243.37.30 # HEAT ENV + + sctp_b_net: + type: org.openecomp.resource.vl.VL + metadata: + invariantUUID: 89595c59-2134-4f86-880d-371d4d9d12a6 + UUID: 1af0ed2e-abcd-3f20-834e-cc7af4dafc45 + version: 1.0 + name: SCTPBNet + description: SCTP B External Network + type: VL + category: VL + resourceVendor: AT&T + properties: + network_type: Tenant_Layer_3 + network_technology: Contrail + network_ecomp_name: false + network_homing: false + network_deployment_node: { get_input : network_deployment_node } + contrail_virtual_network: + network_name: MME-24474-Ericsson-WTC-lab_gn_SCTPB_net_1 + route_targets: 13979:105719 + network_id: + layer_protocol: IP + flow_pattern: E-LAN + test_access: none + l3_access_parameters: + ip_version: 4 + cidr: 107.243.37.32/24 # HEAT ENV + gateway_ip: 107.243.37.33 # HEAT ENV + start_ip: 107.243.37.35 # HEAT ENV + end_ip: 107.243.37.62 # HEAT ENV + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenNoResourceVersion/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenNoResourceVersion/service_vmme_template_1.yml new file mode 100644 index 0000000000..d50b285b70 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenNoResourceVersion/service_vmme_template_1.yml @@ -0,0 +1,98 @@ +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 + +description: Service Template for deploing MME Service + +metadata: + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + type: Service + name: vMME_Service + description: vMME_Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false + +imports: + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + +topology_template: + + inputs: + mme_vf_instance_name: + type: string + description: VF instance name + mme_vf_deployment_node: + type: string + description: The target LCP node for deployment of this VF instance + gtp_net_network_name: + type: string + description: The GTP network route targets + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 # HEAT ENV + gtp_net_route_targets: + type: string + description: The GTP network route targets + default: "13979:105715" # HEAT ENV + gtp_net_cidr: + type: string + description: The GTP network cidr + default: 107.243.37.64/27 # HEAT ENV + gtp_net_gateway_ip: + type: string + description: The GTP network gateway + default: 107.243.37.65 # HEAT ENV + gtp_net_start_ip: + type: string + description: The GTP network start ip + default: 107.243.37.67 # HEAT ENV + gtp_net_end_ip: + type: string + description: The GTP network end ip + default: 107.243.37.94 # HEAT ENV + # more inputs were removed for brevity + + node_templates: + + mme: # vMME VNF + type: org.openecomp.resource.vf.vmme + + metadata: + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + version: + name: vMME_VF + description: vMME_VF + type: VF + category: Application L4+ + subcategory: Firewall + resourceVendor: Ericsson + + properties: + vf_ecomp_name: false + vf_instance_name: { get_input: vf_instance_name } + vf_homing: false + vf_deployment_node: { get_input: vf_deployment_node } + + requirements: + - vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + + groups: + + external_networks: # vMME_External_Network + type: org.openecomp.groups.externalNetworks + properties: + contrail_service_instance: true # from HEAT + availability_zone_count: 1 # from HEAT + + members: [ sctp_a_net, sctp_b_net, gtp_net ] diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenNoResourceVersion/vf_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenNoResourceVersion/vf_vmme_template_1.yml new file mode 100644 index 0000000000..6aee48b9d9 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenNoResourceVersion/vf_vmme_template_1.yml @@ -0,0 +1,1299 @@ +--- +description: "VF Template for pseodo vMME" +imports: + NovaServerGlobalTypes: + file: NovaServerGlobalTypesServiceTemplate.yaml +metadata: + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + subcategory: Firewall + type: VF + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + resourceVendor: Ericsson +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: adf1a10a-f788-492f-9ea7-7ff91dd55f8c + vfModuleModelName: "vMME::module-1" + vfModuleModelUUID: x020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + vfModuleModelVersion: 1 + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + vmme_small: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + properties: + description: "HOT template to create vmme 2 fsb 2 ncb 2 gbp 2 vlc" + heat_file: ../Artifacts/vmme_small.yml + type: org.openecomp.groups.heat.HeatStack + vmme_small_create_fsb: + members: + - FSB1_volume + - FSB2_volume + properties: + description: "server template for vMME" + heat_file: ../Artifacts/vmme_small_create_fsb.yml + type: org.openecomp.groups.heat.HeatStack + inputs: + Internal1_net_cidr: + default: 169.253.0.0/17 + hidden: false + immutable: false + type: string + Internal1_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal1_net_gateway_ip: + default: "169.253.0.3" + hidden: false + immutable: false + type: string + Internal2_net_cidr: + default: 169.255.0.0/17 + hidden: false + immutable: false + type: string + Internal2_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal2_net_gateway_ip: + default: "169.255.0.3" + hidden: false + immutable: false + type: string + fsb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + fsb1_vfc_image_name: + default: MME_FSB1_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + fsb1_vfc_type_tag: + description: "VFC type tag" + type: string + fsb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb2_vfc_flavor: + defualt: m4.xlarge4 + description: "VFC flavor" + type: string + fsb2_vfc_image_name: + default: MME_FSB2_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb2_vfc_instance_name: + default: ZRDM1MMEX36FSB002 + description: "VFC instance name" + type: string + fsb2_vfc_type_tag: + description: "VFC type tag" + type: string + gpb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb1_vfc_image_name: + default: MME_GPB1_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb1_vfc_type_tag: + description: "VFC type tag" + type: string + gpb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb2_vfc_image_name: + default: MME_GPB2_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb2_vfc_type_tag: + description: "VFC type tag" + type: string + ncb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb1_vfc_image_name: + default: MME_NCB1_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb1_vfc_type_tag: + description: "VFC type tag" + type: string + ncb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb2_vfc_image_name: + default: MME_NCB2_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb2_vfc_type_tag: + description: "VFC type tag" + type: string + network_deployment_node: + description: "The target LCP node for deployment of this Network instance" + type: string + oam_net_id: + default: 47bf4cca-0961-422f-bcd6-d5a4fbb1a351 + description: "uuid of oam network" + hidden: false + immutable: false + type: string + vlc1_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc1_vfc_image_name: + default: MME_VLC1_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc1_vfc_type_tag: + description: "VFC type tag" + type: string + vlc2_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc2_vfc_image_name: + default: MME_VLC2_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc2_vfc_type_tag: + description: "VFC type tag" + type: string + node_templates: + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb1_vfc_image_name + vfc_instance_name: + get_input: gpb1_vfc_instance_name + vfc_type_tag: + get_input: gpb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb2_vfc_image_name + vfc_instance_name: + get_input: gpb2_vfc_instance_name + vfc_type_tag: + get_input: gpb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + Internal1_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal1_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_1 + vn_shared: false + enable_dhcp: + get_input: Internal1_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal1_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + Internal2_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal2_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_2 + vn_shared: false + enable_dhcp: + get_input: Internal2_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal2_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb2_vfc_image_name + vfc_instance_name: + get_input: ncb2_vfc_instance_name + vfc_type_tag: + get_input: ncb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC1 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc1_vfc_image_name + vfc_instance_name: + get_input: vlc1_vfc_instance_name + vfc_type_tag: + get_input: vlc1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC2 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc2_vfc_image_name + vfc_instance_name: + get_input: vlc2_vfc_instance_name + vfc_type_tag: + get_input: vlc2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + fsb1_internal1: + properties: + address_info: + mac_address: + get_input: fsb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_internal2: + properties: + address_info: + mac_address: + get_input: fsb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_oam: + properties: + address_Info: + ip_address: + get_input: fsb1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal1: + properties: + address_info: + mac_address: + get_input: fsb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal2: + properties: + address_info: + mac_address: + get_input: fsb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_oam: + properties: + address_Info: + ip_address: + get_input: fsb2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal1: + properties: + address_info: + mac_address: + get_input: gpb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal2: + properties: + address_info: + mac_address: + get_input: gpb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal1: + properties: + address_info: + mac_address: + get_input: gpb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal2: + properties: + address_info: + mac_address: + get_input: gpb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal1: + properties: + address_info: + mac_address: + get_input: ncb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal2: + properties: + address_info: + mac_address: + get_input: ncb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal1: + properties: + address_info: + mac_address: + get_input: ncb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal2: + properties: + address_info: + mac_address: + get_input: ncb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + oam_net: + metadata: + category: VL + description: "Mobility OAM Network" + invariantUUID: 18643c59-e2c2-4f86-880d-371d4d9dc52a + name: "Mobility OAM Network" + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da7fcc + resourceVendor: AT&T + version: 2.0 + properties: + flow_pattern: E-LAN + layer_protocol: IP + network_id: + get_input: oam_net_id + network_technology: Contrail + network_type: vIPR_ATM_OAM + test_access: none + type: org.openecomp.resource.vl.OAM + vlc1_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc1_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_internal2: + properties: + address_info: + mac_address: + get_input: vlc1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_oam: + properties: + address_Info: + ip_address: + get_input: vlc1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc2_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal1: + properties: + address_info: + mac_address: + get_input: vlc2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal2: + properties: + address_info: + mac_address: + get_input: vlc2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_oam: + properties: + address_Info: + ip_address: + get_input: vlc2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + policies: + - + mme_autoscale_policy: + properties: + factor: cpu_load + increment: 1 + max_instances: 4 + min_instances: 1 + threshold: 80% + target: + - vfmoduleVmmeModule-1 + type: org.openecomp.policy.Autoscaling + substitution_mapping: + requirements: + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc2_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + type: org.openecomp.resource.vf.vmme +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-AllottedResource-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-AllottedResource-template.yml new file mode 100644 index 0000000000..c80e701913 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-AllottedResource-template.yml @@ -0,0 +1,78 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + name: Allotted Resource + description: This is a VF - Allotted resource + type: VF + category: Allotted Resource + subcategory: Allotted Resource + resourceVendor: '1' + resourceVendorRelease: '1' +imports: +- Alloted resource: + file: resource-AllotedResource-template.yml +topology_template: + node_templates: + Alloted resource 1: + type: org.openecomp.resource.vfc.AllottedResource + metadata: + invariantUUID: 666b409b-5614-41a8-945e-a53d68f5d439 + UUID: df0c1c4d-1756-4b2a-998e-73f9f4d77afa + version: '1.0' + name: Alloted resource + description: This is a VFC- Allotted resource + type: VFC + category: Allotted Resource + subcategory: Allotted Resource + properties: + role: name + ecomp_naming: + naming_policy: test + ecomp_generated_naming: false + supplemental_data: + Key1: key1 + providing_service_invariant_uuid: 34a4d119-06bc-4ab4-8c5a-a498d638297c + min_instances: 1 + max_instances: 1 + providing_service_uuid: e14a509f-b611-4b30-b38c-bc7f11b679aa + providing_service_name: vVIGaaS + ecomp_homing: + instance_node_target: Test + homing_policy: Test + supplemental_data: + Key: key + ecomp_selected_instance_node_target: false + substitution_mappings: + node_type: org.openecomp.resource.vf.AllottedResource + capabilities: + Alloted resource 1.feature: + type: tosca.capabilities.Node + occurrences: + - 1 + - UNBOUNDED + requirements: + Alloted resource 1.dependency: + occurrences: + - 0 + - UNBOUNDED + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + Alloted resource 1.service_dependency: + occurrences: + - 1 + - 1 + capability: org.openecomp.capabilities.AllottedResource + node: tosca.services.Root + relationship: tosca.relationships.DependsOn +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-Extvl-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-Extvl-template.yml new file mode 100644 index 0000000000..aa32d4ae01 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-Extvl-template.yml @@ -0,0 +1,61 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: f148dbb0-8c53-466d-9687-791c0e9d40cf + UUID: 3f8fa4d2-2b86-4b36-bbc8-ffb8f9f57468 + name: ExtVL1 + description: OPENECOMP generic virtual link (network) base type for all other service-level and global networks + type: VL + category: Generic + subcategory: Network Elements + resourceVendor: OPENECOMP (Tosca) + resourceVendorRelease: 1.0.0.wd03 +node_types: + org.openecomp.resource.vl.extVL: + derived_from: tosca.nodes.Root + description: OPENECOMP generic virtual link (network) base type for all other service-level and global networks + properties: + physical_network: + type: org.openecomp.datatypes.network.PhysicalNetwork + network_role: + type: string + description: | + Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network + network_assignments: + type: org.openecomp.datatypes.network.NetworkAssignments + network_flows: + type: org.openecomp.datatypes.network.NetworkFlows + vl_artifacts: + type: map + description: List of artifacts associated with the VL + entry_schema: + type: org.openecomp.datatypes.Artifact + network_scope: + type: string + description: | + Uniquely identifies the network scope. Valid values for the network scope includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects the VFs within the service GLOBAL - Global network which can be shared by multiple services + network_ecomp_naming: + type: org.openecomp.datatypes.EcompNaming + network_type: + type: string + description: OPENECOMP supported network types. + network_technology: + type: string + description: OPENECOMP supported network technology + network_homing: + type: org.openecomp.datatypes.EcompHoming + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable + occurrences: + - 1 + - UNBOUNDED +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-Extvl-template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-Extvl-template_1.yml new file mode 100644 index 0000000000..e474f9a637 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-Extvl-template_1.yml @@ -0,0 +1,61 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: f148dbb0-8c53-466d-9687-791c0e9d40cf + UUID: 3f8fa4d2-2b86-4b36-bbc8-ffb8f9f57433 + name: ExtVL2 + description: OPENECOMP generic virtual link (network) base type for all other service-level and global networks + type: VL + category: Generic + subcategory: Network Elements + resourceVendor: OPENECOMP (Tosca) + resourceVendorRelease: 1.0.0.wd03 +node_types: + org.openecomp.resource.vl.extVL: + derived_from: tosca.nodes.Root + description: OPENECOMP generic virtual link (network) base type for all other service-level and global networks + properties: + physical_network: + type: org.openecomp.datatypes.network.PhysicalNetwork + network_role: + type: string + description: | + Unique label that defines the role that this network performs. example: vce oam network, vnat sr-iov1 network + network_assignments: + type: org.openecomp.datatypes.network.NetworkAssignments + network_flows: + type: org.openecomp.datatypes.network.NetworkFlows + vl_artifacts: + type: map + description: List of artifacts associated with the VL + entry_schema: + type: org.openecomp.datatypes.Artifact + network_scope: + type: string + description: | + Uniquely identifies the network scope. Valid values for the network scope includes: VF - VF-level network. Intra-VF network which connects the VFCs (VMs) inside the VF. SERVICE - Service-level network. Intra-Service network which connects the VFs within the service GLOBAL - Global network which can be shared by multiple services + network_ecomp_naming: + type: org.openecomp.datatypes.EcompNaming + network_type: + type: string + description: OPENECOMP supported network types. + network_technology: + type: string + description: OPENECOMP supported network technology + network_homing: + type: org.openecomp.datatypes.EcompHoming + capabilities: + virtual_linkable: + type: tosca.capabilities.network.Linkable + occurrences: + - 1 + - UNBOUNDED +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/service_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/service_vmme_template_1.yml new file mode 100644 index 0000000000..c2b2875c75 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/service_vmme_template_1.yml @@ -0,0 +1,139 @@ +--- +description: "Service Template for deploing MME Service" +imports: + - + vmmeToscaTemplate: + file: vf_vmme_template_1.yml + - + ExtVL: + file: resource-Extvl-template.yml + - + ? "Allotted Resource" + : + file: resource-AllottedResource-template.yml +metadata: + UUID: 7787da18-7516-40cf-bec0-ebd4202c60f0 + category: Mobility + description: vMME_Service + invariantUUID: e255f20c-5331-4245-9ad5-8861a73080b7 + name: vMME_Service + serviceEcompNaming: false + serviceHoming: false + type: Service +topology_template: + groups: + external_networks: + members: + - sctp_a_net + - sctp_b_net + - gtp_net + properties: + availability_zone_count: 1 + contrail_service_instance: true + type: org.openecomp.groups.externalNetworks + inputs: + gtp_net_cidr: + default: 107.243.37.64/27 + description: "The GTP network cidr" + type: string + gtp_net_end_ip: + default: "107.243.37.94" + description: "The GTP network end ip" + type: string + gtp_net_gateway_ip: + default: "107.243.37.65" + description: "The GTP network gateway" + type: string + gtp_net_network_name: + default: MME-24474-Ericsson-WTC-lab_gn_GTP_net_1 + description: "The GTP network route targets" + type: string + gtp_net_route_targets: + default: "13979:105715" + description: "The GTP network route targets" + type: string + gtp_net_start_ip: + default: "107.243.37.67" + description: "The GTP network start ip" + type: string + mme_vf_deployment_node: + description: "The target LCP node for deployment of this VF instance" + type: string + mme_vf_instance_name: + description: "VF instance name" + type: string + node_templates: + ? "Allotted Resource 2" + : + metadata: + UUID: f32afdc3-6308-4f0c-a476-0d39c8a1fb4d + category: "Allotted Resource" + description: "This is a VF - Allotted resource" + invariantUUID: a54a5235-b69d-4f8a-838b-d011e6783fa5 + name: "Allotted Resource" + subcategory: "Allotted Resource" + type: VF + version: "1.0" + type: org.openecomp.resource.vf.AllottedResource + ? "ExtVL 1" + : + metadata: + UUID: 3f8fa4d2-2b86-4b36-bbc8-ffb8f9f57468 + category: Generic + description: "OPENECOMP generic virtual link (network) base type for all other service-level and global networks" + invariantUUID: f148dbb0-8c53-466d-9687-791c0e9d40cf + name: ExtVL + subcategory: "Network Elements" + type: VL + version: "2.0" + type: org.openecomp.resource.vl.extVL + ? "ExtVL 2" + : + metadata: + UUID: 3f8fa4d2-2b86-4b36-bbc8-ffb8f9f57433 + category: Generic + description: "OPENECOMP generic virtual link (network) base type for all other service-level and global networks" + invariantUUID: f148dbb0-8c53-466d-9687-791c0e9d40cf + name: ExtVL + subcategory: "Network Elements" + type: VL + version: "4.0" + type: org.openecomp.resource.vl.extVL + + mme: + metadata: + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + resourceVendor: Ericsson + subcategory: Firewall + type: VF + version: 1.0 + properties: + vf_deployment_node: + get_input: vf_deployment_node + vf_ecomp_name: false + vf_homing: false + vf_instance_name: + get_input: vf_instance_name + requirements: + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Bindable + node: sctp_a_net + relationship: tosca.relationships.network.BindsTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Bindable + node: sctp_b_net + relationship: tosca.relationships.network.BindsTo + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Bindable + node: gtp_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vf.vmme + +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/vf_vmme_template_1.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/vf_vmme_template_1.yml new file mode 100644 index 0000000000..6aee48b9d9 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/vf_vmme_template_1.yml @@ -0,0 +1,1299 @@ +--- +description: "VF Template for pseodo vMME" +imports: + NovaServerGlobalTypes: + file: NovaServerGlobalTypesServiceTemplate.yaml +metadata: + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + subcategory: Firewall + type: VF + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + resourceVendor: Ericsson +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: adf1a10a-f788-492f-9ea7-7ff91dd55f8c + vfModuleModelName: "vMME::module-1" + vfModuleModelUUID: x020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + vfModuleModelVersion: 1 + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + vmme_small: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + properties: + description: "HOT template to create vmme 2 fsb 2 ncb 2 gbp 2 vlc" + heat_file: ../Artifacts/vmme_small.yml + type: org.openecomp.groups.heat.HeatStack + vmme_small_create_fsb: + members: + - FSB1_volume + - FSB2_volume + properties: + description: "server template for vMME" + heat_file: ../Artifacts/vmme_small_create_fsb.yml + type: org.openecomp.groups.heat.HeatStack + inputs: + Internal1_net_cidr: + default: 169.253.0.0/17 + hidden: false + immutable: false + type: string + Internal1_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal1_net_gateway_ip: + default: "169.253.0.3" + hidden: false + immutable: false + type: string + Internal2_net_cidr: + default: 169.255.0.0/17 + hidden: false + immutable: false + type: string + Internal2_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal2_net_gateway_ip: + default: "169.255.0.3" + hidden: false + immutable: false + type: string + fsb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + fsb1_vfc_image_name: + default: MME_FSB1_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + fsb1_vfc_type_tag: + description: "VFC type tag" + type: string + fsb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb2_vfc_flavor: + defualt: m4.xlarge4 + description: "VFC flavor" + type: string + fsb2_vfc_image_name: + default: MME_FSB2_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb2_vfc_instance_name: + default: ZRDM1MMEX36FSB002 + description: "VFC instance name" + type: string + fsb2_vfc_type_tag: + description: "VFC type tag" + type: string + gpb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb1_vfc_image_name: + default: MME_GPB1_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb1_vfc_type_tag: + description: "VFC type tag" + type: string + gpb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb2_vfc_image_name: + default: MME_GPB2_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb2_vfc_type_tag: + description: "VFC type tag" + type: string + ncb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb1_vfc_image_name: + default: MME_NCB1_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb1_vfc_type_tag: + description: "VFC type tag" + type: string + ncb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb2_vfc_image_name: + default: MME_NCB2_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb2_vfc_type_tag: + description: "VFC type tag" + type: string + network_deployment_node: + description: "The target LCP node for deployment of this Network instance" + type: string + oam_net_id: + default: 47bf4cca-0961-422f-bcd6-d5a4fbb1a351 + description: "uuid of oam network" + hidden: false + immutable: false + type: string + vlc1_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc1_vfc_image_name: + default: MME_VLC1_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc1_vfc_type_tag: + description: "VFC type tag" + type: string + vlc2_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc2_vfc_image_name: + default: MME_VLC2_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc2_vfc_type_tag: + description: "VFC type tag" + type: string + node_templates: + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb1_vfc_image_name + vfc_instance_name: + get_input: gpb1_vfc_instance_name + vfc_type_tag: + get_input: gpb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb2_vfc_image_name + vfc_instance_name: + get_input: gpb2_vfc_instance_name + vfc_type_tag: + get_input: gpb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + Internal1_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal1_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_1 + vn_shared: false + enable_dhcp: + get_input: Internal1_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal1_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + Internal2_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal2_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_2 + vn_shared: false + enable_dhcp: + get_input: Internal2_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal2_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb2_vfc_image_name + vfc_instance_name: + get_input: ncb2_vfc_instance_name + vfc_type_tag: + get_input: ncb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC1 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc1_vfc_image_name + vfc_instance_name: + get_input: vlc1_vfc_instance_name + vfc_type_tag: + get_input: vlc1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC2 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc2_vfc_image_name + vfc_instance_name: + get_input: vlc2_vfc_instance_name + vfc_type_tag: + get_input: vlc2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + fsb1_internal1: + properties: + address_info: + mac_address: + get_input: fsb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_internal2: + properties: + address_info: + mac_address: + get_input: fsb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_oam: + properties: + address_Info: + ip_address: + get_input: fsb1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal1: + properties: + address_info: + mac_address: + get_input: fsb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal2: + properties: + address_info: + mac_address: + get_input: fsb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_oam: + properties: + address_Info: + ip_address: + get_input: fsb2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal1: + properties: + address_info: + mac_address: + get_input: gpb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal2: + properties: + address_info: + mac_address: + get_input: gpb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal1: + properties: + address_info: + mac_address: + get_input: gpb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal2: + properties: + address_info: + mac_address: + get_input: gpb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal1: + properties: + address_info: + mac_address: + get_input: ncb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal2: + properties: + address_info: + mac_address: + get_input: ncb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal1: + properties: + address_info: + mac_address: + get_input: ncb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal2: + properties: + address_info: + mac_address: + get_input: ncb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + oam_net: + metadata: + category: VL + description: "Mobility OAM Network" + invariantUUID: 18643c59-e2c2-4f86-880d-371d4d9dc52a + name: "Mobility OAM Network" + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da7fcc + resourceVendor: AT&T + version: 2.0 + properties: + flow_pattern: E-LAN + layer_protocol: IP + network_id: + get_input: oam_net_id + network_technology: Contrail + network_type: vIPR_ATM_OAM + test_access: none + type: org.openecomp.resource.vl.OAM + vlc1_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc1_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_internal2: + properties: + address_info: + mac_address: + get_input: vlc1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_oam: + properties: + address_Info: + ip_address: + get_input: vlc1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc2_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal1: + properties: + address_info: + mac_address: + get_input: vlc2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal2: + properties: + address_info: + mac_address: + get_input: vlc2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_oam: + properties: + address_Info: + ip_address: + get_input: vlc2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + policies: + - + mme_autoscale_policy: + properties: + factor: cpu_load + increment: 1 + max_instances: 4 + min_instances: 1 + threshold: 80% + target: + - vfmoduleVmmeModule-1 + type: org.openecomp.policy.Autoscaling + substitution_mapping: + requirements: + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc2_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + type: org.openecomp.resource.vf.vmme +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testWidgetinServiceTosca/ServiceMock-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testWidgetinServiceTosca/ServiceMock-template.yml new file mode 100644 index 0000000000..84ba6c9298 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testWidgetinServiceTosca/ServiceMock-template.yml @@ -0,0 +1,74 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: c2749b42-28db-45e0-ab55-b05d0118d91d + UUID: b8ff69ca-786d-479e-9f9c-217a90ee0ebc + name: service_mock + description: aaa + type: Service + category: Mobility + serviceEcompNaming: false + serviceHoming: false +imports: +- Network: + file: NeutronNet-template.yml +- vadtran_Demo: + file: VadtranDemo-template.yml +- Port: + file: ContrailPort-template.yml +topology_template: + node_templates: + Port 1: + type: org.openecomp.resource.cp.nodes.heat.network.contrail.Port + metadata: + invariantUUID: fc94daa0-a1a9-405e-a84c-b15987f92357 + UUID: 4dd2144f-72d4-47de-b361-8ed51c33c4a8 + resourceCustomizationUUID: 6402d92d-0050-46a9-8202-623a46680ba7 + version: '1.0' + name: ContrailPort + description: Represents a logical entity that associates between Compute and Network normative types for contrail. + type: CP + category: Generic + subcategory: Network Elements + + vadtran_Demo 1: + type: org.openecomp.resource.vf.VadtranDemo + metadata: + invariantUUID: 886d689d-351d-485a-829c-d86ec2dde4c4 + UUID: 3d6e1e60-14ac-4665-83de-6e2c729f0222 + resourceCustomizationUUID: 8cc0b0f6-d0fd-4742-b054-8d1786e07ff8 + version: '1.0' + name: vadtran_Demo + description: test + type: VF + category: Generic + subcategory: Database + + groups: + vadtran_Demo..base_adtran_pmaa_heat_04..module-0: + type: org.openecomp.groups.VfModule + metadata: + vfModuleModelName: vadtran_Demo..base_adtran_pmaa_heat_04..module-0 + vfModuleModelCustomizationUUID: fbf41c77-6b84-4e77-ae26-d86ec2dde4c4 + vfModuleModelInvariantUUID: d84f61c9-160a-44b6-a008-6caadbb6c612 + vfModuleModelUUID: fbf41c77-a7ee-4203-ad6c-eeb8a4ad7178 + vfModuleModelVersion: '1' + properties: + vf_module_type: Base + vf_module_description: + volume_group: false + vf_module_label: + min_vf_module_instances: 2 + max_vf_module_instances: 2 + initial_count: 2 + + +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testWidgetinServiceTosca/VadtranDemo-template.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testWidgetinServiceTosca/VadtranDemo-template.yml new file mode 100644 index 0000000000..bddcf9f284 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testWidgetinServiceTosca/VadtranDemo-template.yml @@ -0,0 +1,170 @@ +#_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| +tosca_definitions_version: tosca_simple_yaml_1_0 +metadata: + invariantUUID: 886d689d-351d-485a-829c-d86ec2dde4c4 + UUID: 3d6e1e60-14ac-4665-83de-6e2c729f0222 + name: vadtran_Demo + description: test + type: VF + category: Generic + subcategory: Database + resourceVendor: Test + resourceVendorRelease: '1.0' +imports: +- NeutronPort: + file: Neutronport-template.yml +- VadtranDemo.nodes.heat.vnf: + file: VadtrandemoNodesHeatVnf-template.yml +topology_template: + inputs: + pmaa_dpu_net_id: + type: string + default: bd3be094-ddf0-43b3-91e7-d424f09dd2b9 + description: PMAA DPU network ID + pmaa_dpu_fixed_ip: + type: string + default: 10.0.2.50 + description: PMAA fixed IP address for DPU network port + pmaa_flavor: + type: string + default: m1.medium + description: PMAA instance Flavor (RAM, DISK, vCPUs) + pmaa_image: + type: string + default: adtran_pmaa_ubuntu_multi + description: PMAA image for compute instance + pmaa_mgt_net_id: + type: string + default: 991cdd94-18ca-4bf8-a931-922a64500840 + description: PMAA management network + vnf_id: + type: string + default: pmaa_vnf_id + description: PMAA unique ID + pmaa_availability_zone: + type: string + default: nova + description: PMAA availability zone ID to deploy the instance + vnf_name: + type: string + default: pmaa + description: PMAA vnf name + pmaa_dpu_cidr: + type: string + default: 10.0.2.0/24 + description: PMAA DPU subnetwork CIDR address block + pmaa_dpu_subnet_id: + type: string + default: e848430b-e956-4b47-9cc8-f7a6ca2c790a + description: PMAA DPU subnetwork ID + pmaa_dpu_gateway: + type: string + default: 10.0.2.254 + description: PMAA DPU subnetwork gateway IP address + node_templates: + pmaa_mgt_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + metadata: + invariantUUID: cba26d10-4613-4c82-9f9e-af95eaf959a3 + UUID: 2606755b-d301-45c6-900e-ca676cc9f348 + resourceCustomizationUUID: 6402d92d-0050-46a9-8202-f7a6ca2c790a + version: '1.0' + name: NeutronPort + description: Represents a logical entity that associates between Compute and Network normative types. + type: CP + category: Generic + subcategory: Network Elements + properties: + network: + get_input: pmaa_mgt_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: pmaa_server_0 + relationship: tosca.relationships.network.BindsTo + pmaa_dpu_port: + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + metadata: + invariantUUID: cba26d10-4613-4c82-9f9e-af95eaf959a3 + UUID: 2606755b-d301-45c6-900e-ca676cc9f348 + resourceCustomizationUUID: 6402d92d-4613-4c82-9f9e-f7a6ca2c790a + version: '1.0' + name: NeutronPort + description: Represents a logical entity that associates between Compute and Network normative types. + type: CP + category: Generic + subcategory: Network Elements + properties: + fixed_ips: + - ip_address: + get_input: pmaa_dpu_fixed_ip + network: + get_input: pmaa_dpu_net_id + requirements: + - binding: + capability: tosca.capabilities.network.Bindable + node: pmaa_server_0 + relationship: tosca.relationships.network.BindsTo + pmaa_server_0: + type: org.openecomp.resource.vfc.VadtranDemo.abstact.nodes.heat.vnf + metadata: + invariantUUID: 660310f4-8851-46d3-9cb7-9f1188b43aa7 + UUID: 82150098-aead-4ae0-a3e0-d5273b4ab923 + resourceCustomizationUUID: 6402d92d-8851-46d3-9cb7-f7a6ca2c790a + version: '1.0' + name: VadtranDemo.nodes.heat.vnf + description: Not reusable inner VFC + type: VFC + category: Generic + subcategory: Abstract + properties: + flavor: + get_input: pmaa_flavor + image: + get_input: pmaa_image + availability_zone: + get_input: pmaa_availability_zone + metadata: + pmaa.sb_nic: + address: + get_input: pmaa_dpu_fixed_ip + cidr: + get_input: pmaa_dpu_cidr + gateway: + get_input: pmaa_dpu_gateway + user_data_format: + name: + get_input: vnf_name + groups: + vadtran_Demo..base_adtran_pmaa_heat_04..module-0: + type: org.openecomp.groups.VfModule + metadata: + vfModuleModelName: vadtran_Demo..base_adtran_pmaa_heat_04..module-0 + vfModuleModelInvariantUUID: d84f61c9-160a-44b6-a008-6caadbb6c612 + vfModuleModelUUID: fbf41c77-a7ee-4203-ad6c-eeb8a4ad7178 + vfModuleModelVersion: '1' + properties: + vf_module_type: Base + vf_module_description: + volume_group: false + base_adtran_pmaa_heat_04: + type: org.openecomp.groups.heat.HeatStack + members: + - pmaa_mgt_port + - pmaa_dpu_port + - pmaa_server_0 + metadata: + invariantUUID: d2e21beb-b7e4-44cf-bf6c-f8c8802fe532 + UUID: c9d6f49a-6785-4693-a921-d980e4d11aa4 + version: '1' + name: base_adtran_pmaa_heat_04 + + #_______________________________________________________________________________________________________________________________________ + #| AT&T Proprietary (Restricted) | + #| Only for use by authorized individuals or any above-designated team(s) | + #| within the AT&T companies and not for general distribution | + #|_______________________________________________________________________________________________________________________________________| diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_InvalidVfModInvUuIdAttr.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_InvalidVfModInvUuIdAttr.yml new file mode 100644 index 0000000000..7d3a420a00 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_InvalidVfModInvUuIdAttr.yml @@ -0,0 +1,1299 @@ +--- +description: "VF Template for pseodo vMME" +imports: + NovaServerGlobalTypes: + file: NovaServerGlobalTypesServiceTemplate.yaml +metadata: + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + subcategory: Firewall + type: VF + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + resourceVendor: Ericsson +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: x020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc3333 + vfModuleModelName: "vMME::module-1" + vfModuleModelUUID: x020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + vfModuleModelVersion: 1 + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + vmme_small: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + properties: + description: "HOT template to create vmme 2 fsb 2 ncb 2 gbp 2 vlc" + heat_file: ../Artifacts/vmme_small.yml + type: org.openecomp.groups.heat.HeatStack + vmme_small_create_fsb: + members: + - FSB1_volume + - FSB2_volume + properties: + description: "server template for vMME" + heat_file: ../Artifacts/vmme_small_create_fsb.yml + type: org.openecomp.groups.heat.HeatStack + inputs: + Internal1_net_cidr: + default: 169.253.0.0/17 + hidden: false + immutable: false + type: string + Internal1_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal1_net_gateway_ip: + default: "169.253.0.3" + hidden: false + immutable: false + type: string + Internal2_net_cidr: + default: 169.255.0.0/17 + hidden: false + immutable: false + type: string + Internal2_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal2_net_gateway_ip: + default: "169.255.0.3" + hidden: false + immutable: false + type: string + fsb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + fsb1_vfc_image_name: + default: MME_FSB1_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + fsb1_vfc_type_tag: + description: "VFC type tag" + type: string + fsb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb2_vfc_flavor: + defualt: m4.xlarge4 + description: "VFC flavor" + type: string + fsb2_vfc_image_name: + default: MME_FSB2_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb2_vfc_instance_name: + default: ZRDM1MMEX36FSB002 + description: "VFC instance name" + type: string + fsb2_vfc_type_tag: + description: "VFC type tag" + type: string + gpb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb1_vfc_image_name: + default: MME_GPB1_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb1_vfc_type_tag: + description: "VFC type tag" + type: string + gpb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb2_vfc_image_name: + default: MME_GPB2_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb2_vfc_type_tag: + description: "VFC type tag" + type: string + ncb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb1_vfc_image_name: + default: MME_NCB1_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb1_vfc_type_tag: + description: "VFC type tag" + type: string + ncb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb2_vfc_image_name: + default: MME_NCB2_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb2_vfc_type_tag: + description: "VFC type tag" + type: string + network_deployment_node: + description: "The target LCP node for deployment of this Network instance" + type: string + oam_net_id: + default: 47bf4cca-0961-422f-bcd6-d5a4fbb1a351 + description: "uuid of oam network" + hidden: false + immutable: false + type: string + vlc1_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc1_vfc_image_name: + default: MME_VLC1_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc1_vfc_type_tag: + description: "VFC type tag" + type: string + vlc2_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc2_vfc_image_name: + default: MME_VLC2_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc2_vfc_type_tag: + description: "VFC type tag" + type: string + node_templates: + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb1_vfc_image_name + vfc_instance_name: + get_input: gpb1_vfc_instance_name + vfc_type_tag: + get_input: gpb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb2_vfc_image_name + vfc_instance_name: + get_input: gpb2_vfc_instance_name + vfc_type_tag: + get_input: gpb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + Internal1_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal1_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_1 + vn_shared: false + enable_dhcp: + get_input: Internal1_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal1_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + Internal2_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal2_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_2 + vn_shared: false + enable_dhcp: + get_input: Internal2_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal2_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb2_vfc_image_name + vfc_instance_name: + get_input: ncb2_vfc_instance_name + vfc_type_tag: + get_input: ncb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC1 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc1_vfc_image_name + vfc_instance_name: + get_input: vlc1_vfc_instance_name + vfc_type_tag: + get_input: vlc1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC2 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc2_vfc_image_name + vfc_instance_name: + get_input: vlc2_vfc_instance_name + vfc_type_tag: + get_input: vlc2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + fsb1_internal1: + properties: + address_info: + mac_address: + get_input: fsb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_internal2: + properties: + address_info: + mac_address: + get_input: fsb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_oam: + properties: + address_Info: + ip_address: + get_input: fsb1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal1: + properties: + address_info: + mac_address: + get_input: fsb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal2: + properties: + address_info: + mac_address: + get_input: fsb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_oam: + properties: + address_Info: + ip_address: + get_input: fsb2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal1: + properties: + address_info: + mac_address: + get_input: gpb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal2: + properties: + address_info: + mac_address: + get_input: gpb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal1: + properties: + address_info: + mac_address: + get_input: gpb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal2: + properties: + address_info: + mac_address: + get_input: gpb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal1: + properties: + address_info: + mac_address: + get_input: ncb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal2: + properties: + address_info: + mac_address: + get_input: ncb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal1: + properties: + address_info: + mac_address: + get_input: ncb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal2: + properties: + address_info: + mac_address: + get_input: ncb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + oam_net: + metadata: + category: VL + description: "Mobility OAM Network" + invariantUUID: 18643c59-e2c2-4f86-880d-371d4d9dc52a + name: "Mobility OAM Network" + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da7fcc + resourceVendor: AT&T + version: 2.0 + properties: + flow_pattern: E-LAN + layer_protocol: IP + network_id: + get_input: oam_net_id + network_technology: Contrail + network_type: vIPR_ATM_OAM + test_access: none + type: org.openecomp.resource.vl.OAM + vlc1_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc1_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_internal2: + properties: + address_info: + mac_address: + get_input: vlc1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_oam: + properties: + address_Info: + ip_address: + get_input: vlc1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc2_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal1: + properties: + address_info: + mac_address: + get_input: vlc2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal2: + properties: + address_info: + mac_address: + get_input: vlc2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_oam: + properties: + address_Info: + ip_address: + get_input: vlc2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + policies: + - + mme_autoscale_policy: + properties: + factor: cpu_load + increment: 1 + max_instances: 4 + min_instances: 1 + threshold: 80% + target: + - vfmoduleVmmeModule-1 + type: org.openecomp.policy.Autoscaling + substitution_mapping: + requirements: + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc2_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + type: org.openecomp.resource.vf.vmme +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_InvalidVfModUuIdAttr.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_InvalidVfModUuIdAttr.yml new file mode 100644 index 0000000000..a2d65041b0 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_InvalidVfModUuIdAttr.yml @@ -0,0 +1,1299 @@ +--- +description: "VF Template for pseodo vMME" +imports: + NovaServerGlobalTypes: + file: NovaServerGlobalTypesServiceTemplate.yaml +metadata: + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + subcategory: Firewall + type: VF + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + resourceVendor: Ericsson +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: adf1a10a-f788-492f-9ea7-7ff91dd55f8c + vfModuleModelName: "vMME::module-1" + vfModuleModelUUID: adf1a1- + vfModuleModelVersion: 1 + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + vmme_small: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + properties: + description: "HOT template to create vmme 2 fsb 2 ncb 2 gbp 2 vlc" + heat_file: ../Artifacts/vmme_small.yml + type: org.openecomp.groups.heat.HeatStack + vmme_small_create_fsb: + members: + - FSB1_volume + - FSB2_volume + properties: + description: "server template for vMME" + heat_file: ../Artifacts/vmme_small_create_fsb.yml + type: org.openecomp.groups.heat.HeatStack + inputs: + Internal1_net_cidr: + default: 169.253.0.0/17 + hidden: false + immutable: false + type: string + Internal1_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal1_net_gateway_ip: + default: "169.253.0.3" + hidden: false + immutable: false + type: string + Internal2_net_cidr: + default: 169.255.0.0/17 + hidden: false + immutable: false + type: string + Internal2_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal2_net_gateway_ip: + default: "169.255.0.3" + hidden: false + immutable: false + type: string + fsb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + fsb1_vfc_image_name: + default: MME_FSB1_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + fsb1_vfc_type_tag: + description: "VFC type tag" + type: string + fsb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb2_vfc_flavor: + defualt: m4.xlarge4 + description: "VFC flavor" + type: string + fsb2_vfc_image_name: + default: MME_FSB2_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb2_vfc_instance_name: + default: ZRDM1MMEX36FSB002 + description: "VFC instance name" + type: string + fsb2_vfc_type_tag: + description: "VFC type tag" + type: string + gpb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb1_vfc_image_name: + default: MME_GPB1_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb1_vfc_type_tag: + description: "VFC type tag" + type: string + gpb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb2_vfc_image_name: + default: MME_GPB2_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb2_vfc_type_tag: + description: "VFC type tag" + type: string + ncb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb1_vfc_image_name: + default: MME_NCB1_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb1_vfc_type_tag: + description: "VFC type tag" + type: string + ncb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb2_vfc_image_name: + default: MME_NCB2_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb2_vfc_type_tag: + description: "VFC type tag" + type: string + network_deployment_node: + description: "The target LCP node for deployment of this Network instance" + type: string + oam_net_id: + default: 47bf4cca-0961-422f-bcd6-d5a4fbb1a351 + description: "uuid of oam network" + hidden: false + immutable: false + type: string + vlc1_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc1_vfc_image_name: + default: MME_VLC1_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc1_vfc_type_tag: + description: "VFC type tag" + type: string + vlc2_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc2_vfc_image_name: + default: MME_VLC2_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc2_vfc_type_tag: + description: "VFC type tag" + type: string + node_templates: + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb1_vfc_image_name + vfc_instance_name: + get_input: gpb1_vfc_instance_name + vfc_type_tag: + get_input: gpb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb2_vfc_image_name + vfc_instance_name: + get_input: gpb2_vfc_instance_name + vfc_type_tag: + get_input: gpb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + Internal1_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal1_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_1 + vn_shared: false + enable_dhcp: + get_input: Internal1_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal1_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + Internal2_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal2_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_2 + vn_shared: false + enable_dhcp: + get_input: Internal2_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal2_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb2_vfc_image_name + vfc_instance_name: + get_input: ncb2_vfc_instance_name + vfc_type_tag: + get_input: ncb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC1 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc1_vfc_image_name + vfc_instance_name: + get_input: vlc1_vfc_instance_name + vfc_type_tag: + get_input: vlc1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC2 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc2_vfc_image_name + vfc_instance_name: + get_input: vlc2_vfc_instance_name + vfc_type_tag: + get_input: vlc2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + fsb1_internal1: + properties: + address_info: + mac_address: + get_input: fsb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_internal2: + properties: + address_info: + mac_address: + get_input: fsb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_oam: + properties: + address_Info: + ip_address: + get_input: fsb1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal1: + properties: + address_info: + mac_address: + get_input: fsb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal2: + properties: + address_info: + mac_address: + get_input: fsb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_oam: + properties: + address_Info: + ip_address: + get_input: fsb2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal1: + properties: + address_info: + mac_address: + get_input: gpb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal2: + properties: + address_info: + mac_address: + get_input: gpb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal1: + properties: + address_info: + mac_address: + get_input: gpb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal2: + properties: + address_info: + mac_address: + get_input: gpb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal1: + properties: + address_info: + mac_address: + get_input: ncb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal2: + properties: + address_info: + mac_address: + get_input: ncb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal1: + properties: + address_info: + mac_address: + get_input: ncb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal2: + properties: + address_info: + mac_address: + get_input: ncb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + oam_net: + metadata: + category: VL + description: "Mobility OAM Network" + invariantUUID: 18643c59-e2c2-4f86-880d-371d4d9dc52a + name: "Mobility OAM Network" + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da7fcc + resourceVendor: AT&T + version: 2.0 + properties: + flow_pattern: E-LAN + layer_protocol: IP + network_id: + get_input: oam_net_id + network_technology: Contrail + network_type: vIPR_ATM_OAM + test_access: none + type: org.openecomp.resource.vl.OAM + vlc1_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc1_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_internal2: + properties: + address_info: + mac_address: + get_input: vlc1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_oam: + properties: + address_Info: + ip_address: + get_input: vlc1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc2_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal1: + properties: + address_info: + mac_address: + get_input: vlc2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal2: + properties: + address_info: + mac_address: + get_input: vlc2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_oam: + properties: + address_Info: + ip_address: + get_input: vlc2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + policies: + - + mme_autoscale_policy: + properties: + factor: cpu_load + increment: 1 + max_instances: 4 + min_instances: 1 + threshold: 80% + target: + - vfmoduleVmmeModule-1 + type: org.openecomp.policy.Autoscaling + substitution_mapping: + requirements: + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc2_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + type: org.openecomp.resource.vf.vmme +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModInvUUID.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModInvUUID.yml new file mode 100644 index 0000000000..0961302ead --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModInvUUID.yml @@ -0,0 +1,1299 @@ +--- +description: "VF Template for pseodo vMME" +imports: + NovaServerGlobalTypes: + file: NovaServerGlobalTypesServiceTemplate.yaml +metadata: + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + subcategory: Firewall + type: VF + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + resourceVendor: Ericsson +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: + vfModuleModelName: "vMME::module-1" + vfModuleModelUUID: x020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + vfModuleModelVersion: 1 + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + vmme_small: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + properties: + description: "HOT template to create vmme 2 fsb 2 ncb 2 gbp 2 vlc" + heat_file: ../Artifacts/vmme_small.yml + type: org.openecomp.groups.heat.HeatStack + vmme_small_create_fsb: + members: + - FSB1_volume + - FSB2_volume + properties: + description: "server template for vMME" + heat_file: ../Artifacts/vmme_small_create_fsb.yml + type: org.openecomp.groups.heat.HeatStack + inputs: + Internal1_net_cidr: + default: 169.253.0.0/17 + hidden: false + immutable: false + type: string + Internal1_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal1_net_gateway_ip: + default: "169.253.0.3" + hidden: false + immutable: false + type: string + Internal2_net_cidr: + default: 169.255.0.0/17 + hidden: false + immutable: false + type: string + Internal2_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal2_net_gateway_ip: + default: "169.255.0.3" + hidden: false + immutable: false + type: string + fsb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + fsb1_vfc_image_name: + default: MME_FSB1_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + fsb1_vfc_type_tag: + description: "VFC type tag" + type: string + fsb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb2_vfc_flavor: + defualt: m4.xlarge4 + description: "VFC flavor" + type: string + fsb2_vfc_image_name: + default: MME_FSB2_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb2_vfc_instance_name: + default: ZRDM1MMEX36FSB002 + description: "VFC instance name" + type: string + fsb2_vfc_type_tag: + description: "VFC type tag" + type: string + gpb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb1_vfc_image_name: + default: MME_GPB1_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb1_vfc_type_tag: + description: "VFC type tag" + type: string + gpb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb2_vfc_image_name: + default: MME_GPB2_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb2_vfc_type_tag: + description: "VFC type tag" + type: string + ncb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb1_vfc_image_name: + default: MME_NCB1_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb1_vfc_type_tag: + description: "VFC type tag" + type: string + ncb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb2_vfc_image_name: + default: MME_NCB2_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb2_vfc_type_tag: + description: "VFC type tag" + type: string + network_deployment_node: + description: "The target LCP node for deployment of this Network instance" + type: string + oam_net_id: + default: 47bf4cca-0961-422f-bcd6-d5a4fbb1a351 + description: "uuid of oam network" + hidden: false + immutable: false + type: string + vlc1_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc1_vfc_image_name: + default: MME_VLC1_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc1_vfc_type_tag: + description: "VFC type tag" + type: string + vlc2_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc2_vfc_image_name: + default: MME_VLC2_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc2_vfc_type_tag: + description: "VFC type tag" + type: string + node_templates: + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb1_vfc_image_name + vfc_instance_name: + get_input: gpb1_vfc_instance_name + vfc_type_tag: + get_input: gpb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb2_vfc_image_name + vfc_instance_name: + get_input: gpb2_vfc_instance_name + vfc_type_tag: + get_input: gpb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + Internal1_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal1_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_1 + vn_shared: false + enable_dhcp: + get_input: Internal1_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal1_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + Internal2_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal2_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_2 + vn_shared: false + enable_dhcp: + get_input: Internal2_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal2_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb2_vfc_image_name + vfc_instance_name: + get_input: ncb2_vfc_instance_name + vfc_type_tag: + get_input: ncb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC1 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc1_vfc_image_name + vfc_instance_name: + get_input: vlc1_vfc_instance_name + vfc_type_tag: + get_input: vlc1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC2 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc2_vfc_image_name + vfc_instance_name: + get_input: vlc2_vfc_instance_name + vfc_type_tag: + get_input: vlc2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + fsb1_internal1: + properties: + address_info: + mac_address: + get_input: fsb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_internal2: + properties: + address_info: + mac_address: + get_input: fsb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_oam: + properties: + address_Info: + ip_address: + get_input: fsb1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal1: + properties: + address_info: + mac_address: + get_input: fsb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal2: + properties: + address_info: + mac_address: + get_input: fsb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_oam: + properties: + address_Info: + ip_address: + get_input: fsb2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal1: + properties: + address_info: + mac_address: + get_input: gpb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal2: + properties: + address_info: + mac_address: + get_input: gpb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal1: + properties: + address_info: + mac_address: + get_input: gpb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal2: + properties: + address_info: + mac_address: + get_input: gpb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal1: + properties: + address_info: + mac_address: + get_input: ncb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal2: + properties: + address_info: + mac_address: + get_input: ncb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal1: + properties: + address_info: + mac_address: + get_input: ncb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal2: + properties: + address_info: + mac_address: + get_input: ncb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + oam_net: + metadata: + category: VL + description: "Mobility OAM Network" + invariantUUID: 18643c59-e2c2-4f86-880d-371d4d9dc52a + name: "Mobility OAM Network" + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da7fcc + resourceVendor: AT&T + version: 2.0 + properties: + flow_pattern: E-LAN + layer_protocol: IP + network_id: + get_input: oam_net_id + network_technology: Contrail + network_type: vIPR_ATM_OAM + test_access: none + type: org.openecomp.resource.vl.OAM + vlc1_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc1_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_internal2: + properties: + address_info: + mac_address: + get_input: vlc1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_oam: + properties: + address_Info: + ip_address: + get_input: vlc1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc2_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal1: + properties: + address_info: + mac_address: + get_input: vlc2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal2: + properties: + address_info: + mac_address: + get_input: vlc2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_oam: + properties: + address_Info: + ip_address: + get_input: vlc2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + policies: + - + mme_autoscale_policy: + properties: + factor: cpu_load + increment: 1 + max_instances: 4 + min_instances: 1 + threshold: 80% + target: + - vfmoduleVmmeModule-1 + type: org.openecomp.policy.Autoscaling + substitution_mapping: + requirements: + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc2_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + type: org.openecomp.resource.vf.vmme +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelName.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelName.yml new file mode 100644 index 0000000000..2f5f4267b5 --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelName.yml @@ -0,0 +1,1299 @@ +--- +description: "VF Template for pseodo vMME" +imports: + NovaServerGlobalTypes: + file: NovaServerGlobalTypesServiceTemplate.yaml +metadata: + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + subcategory: Firewall + type: VF + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + resourceVendor: Ericsson +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: adf1a10a-f788-492f-9ea7-7ff91dd55f8c + vfModuleModelName: + vfModuleModelUUID: x020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + vfModuleModelVersion: 1 + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + vmme_small: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + properties: + description: "HOT template to create vmme 2 fsb 2 ncb 2 gbp 2 vlc" + heat_file: ../Artifacts/vmme_small.yml + type: org.openecomp.groups.heat.HeatStack + vmme_small_create_fsb: + members: + - FSB1_volume + - FSB2_volume + properties: + description: "server template for vMME" + heat_file: ../Artifacts/vmme_small_create_fsb.yml + type: org.openecomp.groups.heat.HeatStack + inputs: + Internal1_net_cidr: + default: 169.253.0.0/17 + hidden: false + immutable: false + type: string + Internal1_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal1_net_gateway_ip: + default: "169.253.0.3" + hidden: false + immutable: false + type: string + Internal2_net_cidr: + default: 169.255.0.0/17 + hidden: false + immutable: false + type: string + Internal2_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal2_net_gateway_ip: + default: "169.255.0.3" + hidden: false + immutable: false + type: string + fsb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + fsb1_vfc_image_name: + default: MME_FSB1_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + fsb1_vfc_type_tag: + description: "VFC type tag" + type: string + fsb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb2_vfc_flavor: + defualt: m4.xlarge4 + description: "VFC flavor" + type: string + fsb2_vfc_image_name: + default: MME_FSB2_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb2_vfc_instance_name: + default: ZRDM1MMEX36FSB002 + description: "VFC instance name" + type: string + fsb2_vfc_type_tag: + description: "VFC type tag" + type: string + gpb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb1_vfc_image_name: + default: MME_GPB1_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb1_vfc_type_tag: + description: "VFC type tag" + type: string + gpb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb2_vfc_image_name: + default: MME_GPB2_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb2_vfc_type_tag: + description: "VFC type tag" + type: string + ncb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb1_vfc_image_name: + default: MME_NCB1_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb1_vfc_type_tag: + description: "VFC type tag" + type: string + ncb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb2_vfc_image_name: + default: MME_NCB2_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb2_vfc_type_tag: + description: "VFC type tag" + type: string + network_deployment_node: + description: "The target LCP node for deployment of this Network instance" + type: string + oam_net_id: + default: 47bf4cca-0961-422f-bcd6-d5a4fbb1a351 + description: "uuid of oam network" + hidden: false + immutable: false + type: string + vlc1_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc1_vfc_image_name: + default: MME_VLC1_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc1_vfc_type_tag: + description: "VFC type tag" + type: string + vlc2_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc2_vfc_image_name: + default: MME_VLC2_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc2_vfc_type_tag: + description: "VFC type tag" + type: string + node_templates: + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb1_vfc_image_name + vfc_instance_name: + get_input: gpb1_vfc_instance_name + vfc_type_tag: + get_input: gpb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb2_vfc_image_name + vfc_instance_name: + get_input: gpb2_vfc_instance_name + vfc_type_tag: + get_input: gpb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + Internal1_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal1_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_1 + vn_shared: false + enable_dhcp: + get_input: Internal1_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal1_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + Internal2_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal2_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_2 + vn_shared: false + enable_dhcp: + get_input: Internal2_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal2_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb2_vfc_image_name + vfc_instance_name: + get_input: ncb2_vfc_instance_name + vfc_type_tag: + get_input: ncb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC1 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc1_vfc_image_name + vfc_instance_name: + get_input: vlc1_vfc_instance_name + vfc_type_tag: + get_input: vlc1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC2 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc2_vfc_image_name + vfc_instance_name: + get_input: vlc2_vfc_instance_name + vfc_type_tag: + get_input: vlc2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + fsb1_internal1: + properties: + address_info: + mac_address: + get_input: fsb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_internal2: + properties: + address_info: + mac_address: + get_input: fsb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_oam: + properties: + address_Info: + ip_address: + get_input: fsb1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal1: + properties: + address_info: + mac_address: + get_input: fsb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal2: + properties: + address_info: + mac_address: + get_input: fsb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_oam: + properties: + address_Info: + ip_address: + get_input: fsb2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal1: + properties: + address_info: + mac_address: + get_input: gpb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal2: + properties: + address_info: + mac_address: + get_input: gpb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal1: + properties: + address_info: + mac_address: + get_input: gpb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal2: + properties: + address_info: + mac_address: + get_input: gpb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal1: + properties: + address_info: + mac_address: + get_input: ncb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal2: + properties: + address_info: + mac_address: + get_input: ncb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal1: + properties: + address_info: + mac_address: + get_input: ncb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal2: + properties: + address_info: + mac_address: + get_input: ncb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + oam_net: + metadata: + category: VL + description: "Mobility OAM Network" + invariantUUID: 18643c59-e2c2-4f86-880d-371d4d9dc52a + name: "Mobility OAM Network" + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da7fcc + resourceVendor: AT&T + version: 2.0 + properties: + flow_pattern: E-LAN + layer_protocol: IP + network_id: + get_input: oam_net_id + network_technology: Contrail + network_type: vIPR_ATM_OAM + test_access: none + type: org.openecomp.resource.vl.OAM + vlc1_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc1_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_internal2: + properties: + address_info: + mac_address: + get_input: vlc1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_oam: + properties: + address_Info: + ip_address: + get_input: vlc1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc2_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal1: + properties: + address_info: + mac_address: + get_input: vlc2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal2: + properties: + address_info: + mac_address: + get_input: vlc2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_oam: + properties: + address_Info: + ip_address: + get_input: vlc2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + policies: + - + mme_autoscale_policy: + properties: + factor: cpu_load + increment: 1 + max_instances: 4 + min_instances: 1 + threshold: 80% + target: + - vfmoduleVmmeModule-1 + type: org.openecomp.policy.Autoscaling + substitution_mapping: + requirements: + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc2_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + type: org.openecomp.resource.vf.vmme +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelUUID.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelUUID.yml new file mode 100644 index 0000000000..7dec66c31b --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelUUID.yml @@ -0,0 +1,1299 @@ +--- +description: "VF Template for pseodo vMME" +imports: + NovaServerGlobalTypes: + file: NovaServerGlobalTypesServiceTemplate.yaml +metadata: + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + subcategory: Firewall + type: VF + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + resourceVendor: Ericsson +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: adf1a10a-f788-492f-9ea7-7ff91dd55f8c + vfModuleModelName: "vMME::module-1" + vfModuleModelUUID: + vfModuleModelVersion: 1 + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + vmme_small: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + properties: + description: "HOT template to create vmme 2 fsb 2 ncb 2 gbp 2 vlc" + heat_file: ../Artifacts/vmme_small.yml + type: org.openecomp.groups.heat.HeatStack + vmme_small_create_fsb: + members: + - FSB1_volume + - FSB2_volume + properties: + description: "server template for vMME" + heat_file: ../Artifacts/vmme_small_create_fsb.yml + type: org.openecomp.groups.heat.HeatStack + inputs: + Internal1_net_cidr: + default: 169.253.0.0/17 + hidden: false + immutable: false + type: string + Internal1_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal1_net_gateway_ip: + default: "169.253.0.3" + hidden: false + immutable: false + type: string + Internal2_net_cidr: + default: 169.255.0.0/17 + hidden: false + immutable: false + type: string + Internal2_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal2_net_gateway_ip: + default: "169.255.0.3" + hidden: false + immutable: false + type: string + fsb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + fsb1_vfc_image_name: + default: MME_FSB1_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + fsb1_vfc_type_tag: + description: "VFC type tag" + type: string + fsb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb2_vfc_flavor: + defualt: m4.xlarge4 + description: "VFC flavor" + type: string + fsb2_vfc_image_name: + default: MME_FSB2_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb2_vfc_instance_name: + default: ZRDM1MMEX36FSB002 + description: "VFC instance name" + type: string + fsb2_vfc_type_tag: + description: "VFC type tag" + type: string + gpb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb1_vfc_image_name: + default: MME_GPB1_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb1_vfc_type_tag: + description: "VFC type tag" + type: string + gpb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb2_vfc_image_name: + default: MME_GPB2_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb2_vfc_type_tag: + description: "VFC type tag" + type: string + ncb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb1_vfc_image_name: + default: MME_NCB1_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb1_vfc_type_tag: + description: "VFC type tag" + type: string + ncb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb2_vfc_image_name: + default: MME_NCB2_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb2_vfc_type_tag: + description: "VFC type tag" + type: string + network_deployment_node: + description: "The target LCP node for deployment of this Network instance" + type: string + oam_net_id: + default: 47bf4cca-0961-422f-bcd6-d5a4fbb1a351 + description: "uuid of oam network" + hidden: false + immutable: false + type: string + vlc1_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc1_vfc_image_name: + default: MME_VLC1_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc1_vfc_type_tag: + description: "VFC type tag" + type: string + vlc2_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc2_vfc_image_name: + default: MME_VLC2_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc2_vfc_type_tag: + description: "VFC type tag" + type: string + node_templates: + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb1_vfc_image_name + vfc_instance_name: + get_input: gpb1_vfc_instance_name + vfc_type_tag: + get_input: gpb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb2_vfc_image_name + vfc_instance_name: + get_input: gpb2_vfc_instance_name + vfc_type_tag: + get_input: gpb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + Internal1_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal1_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_1 + vn_shared: false + enable_dhcp: + get_input: Internal1_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal1_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + Internal2_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal2_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_2 + vn_shared: false + enable_dhcp: + get_input: Internal2_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal2_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb2_vfc_image_name + vfc_instance_name: + get_input: ncb2_vfc_instance_name + vfc_type_tag: + get_input: ncb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC1 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc1_vfc_image_name + vfc_instance_name: + get_input: vlc1_vfc_instance_name + vfc_type_tag: + get_input: vlc1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC2 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc2_vfc_image_name + vfc_instance_name: + get_input: vlc2_vfc_instance_name + vfc_type_tag: + get_input: vlc2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + fsb1_internal1: + properties: + address_info: + mac_address: + get_input: fsb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_internal2: + properties: + address_info: + mac_address: + get_input: fsb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_oam: + properties: + address_Info: + ip_address: + get_input: fsb1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal1: + properties: + address_info: + mac_address: + get_input: fsb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal2: + properties: + address_info: + mac_address: + get_input: fsb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_oam: + properties: + address_Info: + ip_address: + get_input: fsb2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal1: + properties: + address_info: + mac_address: + get_input: gpb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal2: + properties: + address_info: + mac_address: + get_input: gpb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal1: + properties: + address_info: + mac_address: + get_input: gpb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal2: + properties: + address_info: + mac_address: + get_input: gpb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal1: + properties: + address_info: + mac_address: + get_input: ncb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal2: + properties: + address_info: + mac_address: + get_input: ncb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal1: + properties: + address_info: + mac_address: + get_input: ncb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal2: + properties: + address_info: + mac_address: + get_input: ncb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + oam_net: + metadata: + category: VL + description: "Mobility OAM Network" + invariantUUID: 18643c59-e2c2-4f86-880d-371d4d9dc52a + name: "Mobility OAM Network" + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da7fcc + resourceVendor: AT&T + version: 2.0 + properties: + flow_pattern: E-LAN + layer_protocol: IP + network_id: + get_input: oam_net_id + network_technology: Contrail + network_type: vIPR_ATM_OAM + test_access: none + type: org.openecomp.resource.vl.OAM + vlc1_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc1_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_internal2: + properties: + address_info: + mac_address: + get_input: vlc1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_oam: + properties: + address_Info: + ip_address: + get_input: vlc1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc2_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal1: + properties: + address_info: + mac_address: + get_input: vlc2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal2: + properties: + address_info: + mac_address: + get_input: vlc2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_oam: + properties: + address_Info: + ip_address: + get_input: vlc2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + policies: + - + mme_autoscale_policy: + properties: + factor: cpu_load + increment: 1 + max_instances: 4 + min_instances: 1 + threshold: 80% + target: + - vfmoduleVmmeModule-1 + type: org.openecomp.policy.Autoscaling + substitution_mapping: + requirements: + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc2_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + type: org.openecomp.resource.vf.vmme +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 diff --git a/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelVersion.yml b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelVersion.yml new file mode 100644 index 0000000000..5ae33ed8ab --- /dev/null +++ b/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelVersion.yml @@ -0,0 +1,1299 @@ +--- +description: "VF Template for pseodo vMME" +imports: + NovaServerGlobalTypes: + file: NovaServerGlobalTypesServiceTemplate.yaml +metadata: + category: "Application L4+" + description: vMME_VF + invariantUUID: b8643c59-e2c2-4f86-880d-571d4d9d5d22 + name: vMME_VF + subcategory: Firewall + type: VF + UUID: b020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + resourceVendor: Ericsson +topology_template: + groups: + vfmoduleVmmeModule-1: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + metadata: + vfModuleModelInvariantUUID: adf1a10a-f788-492f-9ea7-7ff91dd55f8c + vfModuleModelName: "vMME::module-1" + vfModuleModelUUID: x020ed1e-4bc7-4fc0-ba7e-cc7af6da7ffc + vfModuleModelVersion: + properties: + artifacts: + - /Artifacts/vmme_small_create_fsb.yml + - /Artifacts/vmme_small.yml + availability_zone_count: 2 + contrail_service_instance: true + vf_module_description: "vMME expansion VF Module" + vf_module_label: "vMME Expansion VF Module" + vf_module_type: Expansion + volume_group: false + type: org.openecomp.groups.VfModule + vmme_small: + members: + - FSB1 + - FSB2 + - NCB1 + - NCB2 + - VLC1 + - VLC2 + - GPB1 + - GPB2 + - Internal1_net + - Internal2_net + - fsb1_oam + - fsb1_internal1 + - fsb1_internal2 + - fsb2_oam + - fsb2_internal2 + - ncb1_internal1 + - ncb1_internal2 + - ncb2_internal1 + - ncb2_internal2 + - gpb1_internal1 + - gpb1_internal2 + - gpb2_internal1 + - gpb2_internal2 + - vlc1_oam + - vlc1_internal1 + - vlc1_internal2 + - vlc1_sctp_a + - vlc1_sctp_b + - vlc1_gtp + - vlc2_oam + - vlc2_internal1 + - vlc2_internal2 + - vlc2_sctp_a + - vlc2_sctp_b + - vlc1_gtp + properties: + description: "HOT template to create vmme 2 fsb 2 ncb 2 gbp 2 vlc" + heat_file: ../Artifacts/vmme_small.yml + type: org.openecomp.groups.heat.HeatStack + vmme_small_create_fsb: + members: + - FSB1_volume + - FSB2_volume + properties: + description: "server template for vMME" + heat_file: ../Artifacts/vmme_small_create_fsb.yml + type: org.openecomp.groups.heat.HeatStack + inputs: + Internal1_net_cidr: + default: 169.253.0.0/17 + hidden: false + immutable: false + type: string + Internal1_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal1_net_gateway_ip: + default: "169.253.0.3" + hidden: false + immutable: false + type: string + Internal2_net_cidr: + default: 169.255.0.0/17 + hidden: false + immutable: false + type: string + Internal2_net_dhcp: + default: "False" + hidden: false + immutable: false + type: string + Internal2_net_gateway_ip: + default: "169.255.0.3" + hidden: false + immutable: false + type: string + fsb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + fsb1_vfc_image_name: + default: MME_FSB1_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + fsb1_vfc_type_tag: + description: "VFC type tag" + type: string + fsb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + fsb2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + fsb2_vfc_flavor: + defualt: m4.xlarge4 + description: "VFC flavor" + type: string + fsb2_vfc_image_name: + default: MME_FSB2_16ACP03.qcow2 + description: "VFC image name" + type: string + fsb2_vfc_instance_name: + default: ZRDM1MMEX36FSB002 + description: "VFC instance name" + type: string + fsb2_vfc_type_tag: + description: "VFC type tag" + type: string + gpb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb1_vfc_image_name: + default: MME_GPB1_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb1_vfc_type_tag: + description: "VFC type tag" + type: string + gpb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + gpb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + gpb2_vfc_image_name: + default: MME_GPB2_16ACP03.qcow2 + description: "VFC image name" + type: string + gpb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + gpb2_vfc_type_tag: + description: "VFC type tag" + type: string + ncb1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb1_vfc_image_name: + default: MME_NCB1_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb1_vfc_type_tag: + description: "VFC type tag" + type: string + ncb2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + ncb2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + ncb2_vfc_image_name: + default: MME_NCB2_16ACP03.qcow2 + description: "VFC image name" + type: string + ncb2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + ncb2_vfc_type_tag: + description: "VFC type tag" + type: string + network_deployment_node: + description: "The target LCP node for deployment of this Network instance" + type: string + oam_net_id: + default: 47bf4cca-0961-422f-bcd6-d5a4fbb1a351 + description: "uuid of oam network" + hidden: false + immutable: false + type: string + vlc1_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc1_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc1_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc1_vfc_image_name: + default: MME_VLC1_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc1_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc1_vfc_type_tag: + description: "VFC type tag" + type: string + vlc2_gtp_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_internal1_mac_address: + default: "00:80:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_internal2_mac_address: + default: "00:81:37:0E:0B:12" + description: "Internal connection point mac_address" + type: string + vlc2_oam_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_a_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_sctp_b_ip_address: + default: "107.250.172.221" + description: "OAM ip address" + type: string + vlc2_vfc_flavor: + default: m4.xlarge4 + description: "VFC flavor" + type: string + vlc2_vfc_image_name: + default: MME_VLC2_16ACP03.qcow2 + description: "VFC image name" + type: string + vlc2_vfc_instance_name: + default: ZRDM1MMEX36FSB001 + description: "VFC instance name" + type: string + vlc2_vfc_type_tag: + description: "VFC type tag" + type: string + node_templates: + FSB1: + capabilities: + monitoring_capabilty: + properties: + name: high_cpu + nfv_compute: + properties: + vfc_flavor: + get_input: fsb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb1_vfc_image_name + vfc_instance_name: + get_input: fsb1_vfc_instance_name + vfc_type_tag: + get_input: fsb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + FSB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: fsb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: FSB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: fsb2_vfc_image_name + vfc_instance_name: + get_input: fsb2_vfc_instance_name + vfc_type_tag: + get_input: fsb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: fsb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb1_vfc_image_name + vfc_instance_name: + get_input: gpb1_vfc_instance_name + vfc_type_tag: + get_input: gpb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + GPB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: gpb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: GPB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: gpb2_vfc_image_name + vfc_instance_name: + get_input: gpb2_vfc_instance_name + vfc_type_tag: + get_input: gpb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: gpb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + Internal1_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal1_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_1 + vn_shared: false + enable_dhcp: + get_input: Internal1_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal1_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + Internal2_net: + metadata: + category: Generic + description: "Internal Network" + invariantUUID: 14a25c59-e2c2-4f86-880d-371d4d9dc88c + name: Network + subcategory: Infrastructure + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da1234 + resourceVendor: AT&T + version: 1.0 + properties: + cidr: + get_input: Internal2_net_cidr + contrail_virtual_network: + vn_external: false + vn_forwarding_mode: l2 + vn_name: MME-24474-Ericsson-WTC-lab_int_MMEX36_net_2 + vn_shared: false + enable_dhcp: + get_input: Internal2_net_enable_dhcp + flow_pattern: E-LAN + gateway_ip: + get_input: Internal2_net_gateway_ip + ip_version: 4 + layer_protocol: IP + network_deployment_node: + get_input: network_deployment_node + network_ecomp_name: false + network_homing: false + network_role: ~ + network_technology: Contrail + network_type: Tenant_Layer_3 + test_access: none + type: org.openecomp.resource.vl.nodes.heat.network.contrail.VirtualNetwork + NCB1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB1 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb1_vfc_image_name + vfc_instance_name: + get_input: ncb1_vfc_instance_name + vfc_type_tag: + get_input: ncb1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + NCB2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: ncb2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: NCB2 + vfc_ecomp_name: false + vfc_image_name: + get_input: ncb2_vfc_image_name + vfc_instance_name: + get_input: ncb2_vfc_instance_name + vfc_type_tag: + get_input: ncb2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: ncb2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC1: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc1_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC1 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc1_vfc_image_name + vfc_instance_name: + get_input: vlc1_vfc_instance_name + vfc_type_tag: + get_input: vlc1_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc1_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + VLC2: + capabilities: + monitoring_capability: + properties: + name: cpu_load + nfv_compute: + properties: + vfc_flavor: + get_input: vlc2_vfc_flavor + scaling_capability: + properties: + init_instances: 1 + max_instances: 1 + min_instances: 1 + metadata: + category: Generic + description: "VFC based on OpenStack Nova Server" + invariantUUID: a8943d58-d3a3-4f42-770a-571abd9d3da2 + name: "Nova Server" + subcategory: Infrastructure + type: VFC + UUID: 7788dc12-9716-abcf-13c0-ebd4111c69f0 + resourceVendor: Ericsson + version: 1.0 + properties: + vfc_description: VLC2 + vfc_ecomp_name: false + vfc_image_name: + get_input: vlc2_vfc_image_name + vfc_instance_name: + get_input: vlc2_vfc_instance_name + vfc_type_tag: + get_input: vlc2_vfc_type_tag + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_oam + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal1 + relationship: tosca.relationships.network.BindsTo + - + binding: + capability: tosca.capabilities.network.Bindable + node: vlc2_internal2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.vfc.nodes.heat.nova.Server + fsb1_internal1: + properties: + address_info: + mac_address: + get_input: fsb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_internal2: + properties: + address_info: + mac_address: + get_input: fsb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb1_oam: + properties: + address_Info: + ip_address: + get_input: fsb1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal1: + properties: + address_info: + mac_address: + get_input: fsb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_internal2: + properties: + address_info: + mac_address: + get_input: fsb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + fsb2_oam: + properties: + address_Info: + ip_address: + get_input: fsb2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: FSB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal1: + properties: + address_info: + mac_address: + get_input: gpb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb1_internal2: + properties: + address_info: + mac_address: + get_input: gpb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal1: + properties: + address_info: + mac_address: + get_input: gpb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + gpb2_internal2: + properties: + address_info: + mac_address: + get_input: gpb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: GPB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal1: + properties: + address_info: + mac_address: + get_input: ncb1_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb1_internal2: + properties: + address_info: + mac_address: + get_input: ncb1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal1: + properties: + address_info: + mac_address: + get_input: ncb2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + ncb2_internal2: + properties: + address_info: + mac_address: + get_input: ncb2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: NCB2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + oam_net: + metadata: + category: VL + description: "Mobility OAM Network" + invariantUUID: 18643c59-e2c2-4f86-880d-371d4d9dc52a + name: "Mobility OAM Network" + type: VL + UUID: 1a20ed2e-abcd-3f20-ca4e-cc7af4da7fcc + resourceVendor: AT&T + version: 2.0 + properties: + flow_pattern: E-LAN + layer_protocol: IP + network_id: + get_input: oam_net_id + network_technology: Contrail + network_type: vIPR_ATM_OAM + test_access: none + type: org.openecomp.resource.vl.OAM + vlc1_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc1_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_internal2: + properties: + address_info: + mac_address: + get_input: vlc1_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_oam: + properties: + address_Info: + ip_address: + get_input: vlc1_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc1_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC1 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_gtp_net: + properties: + address_Info: + ip_address: + get_input: vlc2_gtp_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal1: + properties: + address_info: + mac_address: + get_input: vlc2_internal1_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal1_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_internal2: + properties: + address_info: + mac_address: + get_input: vlc2_internal2_mac_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: Internal2_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_oam: + properties: + address_Info: + ip_address: + get_input: vlc2_oam_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + - + link: + capability: tosca.capabilities.network.Bindable + node: oam_net + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_a: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_a_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + vlc2_sctp_b: + properties: + address_Info: + ip_address: + get_input: vlc2_sctp_b_ip_address + requirements: + - + binding: + capability: tosca.capabilities.network.Bindable + node: VLC2 + relationship: tosca.relationships.network.BindsTo + type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port + policies: + - + mme_autoscale_policy: + properties: + factor: cpu_load + increment: 1 + max_instances: 4 + min_instances: 1 + threshold: 80% + target: + - vfmoduleVmmeModule-1 + type: org.openecomp.policy.Autoscaling + substitution_mapping: + requirements: + - + vlc1_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc2_gtp_net.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_a.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - + vlc1_sctp_b.link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + type: org.openecomp.resource.vf.vmme +tosca_definitions_version: tosca_simple_profile_for_ecomp_1_0 |