aboutsummaryrefslogtreecommitdiffstats
path: root/common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core
diff options
context:
space:
mode:
authorAviZi <avi.ziv@amdocs.com>2017-06-09 02:39:56 +0300
committerAviZi <avi.ziv@amdocs.com>2017-06-09 02:39:56 +0300
commit280f8015d06af1f41a3ef12e8300801c7a5e0d54 (patch)
tree9c1d3978c04cd28068f02073038c936bb49ca9e0 /common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core
parentfd3821dad11780d33c5373d74c957c442489945e (diff)
[SDC-29] Amdocs OnBoard 1707 initial commit.
Change-Id: Ie4d12a3f574008b792899b368a0902a8b46b5370 Signed-off-by: AviZi <avi.ziv@amdocs.com>
Diffstat (limited to 'common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core')
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/pom.xml125
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/GeneratorManager.java91
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/GeneratorTask.java74
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/MockArtifactGenerator.java81
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aai/AaiArtifactGenerator.java687
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aai/AaiModelGeneratorImpl.java282
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aspect/AuditAspect.java126
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/aspect/MetricsAspect.java140
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/impl/ArtifactGenerationServiceImpl.java86
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/main/java/org/openecomp/sdc/generator/util/ArtifactGeneratorUtil.java298
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/java/org/openecomp/sdc/generator/ArtifactGenerationServiceTest.java1745
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai/service_vmme_template_1.yml98
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai/vf_vmme_template_1.yml1299
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/resource-AllottedResource-template.yml78
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/resource-Extvl-template.yml61
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai2/service-ServiceWithAllotedVfAndExvl-template.yml90
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-IpMuxDemux-template.yml80
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-ServiceAdmin-template.yml81
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-TunnelXconn-template.yml81
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/resource-VhnfNonHeat-template.yml24
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/aai3/service-SdWan-template.yml233
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/config/Artifact-Generator.properties264
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/logback.xml51
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingResourceTosca/service_vmme_template_1.yml99
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingVLTosca/resource-AllottedResource-template.yml60
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/missingVLTosca/service-ServiceWithAllotedVfAndExvl-template.yml90
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_InvalidVfModInvUuIdAttr.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_InvalidVfModUuIdAttr.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModInvUUID.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelName.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelUUID.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/service_vmme_template_ModelVersion.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testAllotedResourceWithDependingSerWithGroups/resource-AllottedResource-template_IpMux_WithGroups.yml283
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testAllotedResourceWithDependingSerWithGroups/service-ServiceWithAllottedResourceIpmux-template_WithGroups.yml62
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration10/service_vmme_template_1.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/resource-IpMuxDemux-template.yml83
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/resource-TunnelXconn-template.yml83
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration15/service-Allottedipmux-template.yml126
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration16/resource-AllottedResource-template_IpMux.yml78
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration16/service-ServiceWithAllottedResourceIpmux-template.yml62
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/resource-AllottedResource1SameInvariant-IpMux-template.yml81
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/resource-AllottedResource2SameInvariant-IpMux-template.yml81
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration17/service-ServiceWithAllottedResourcesIpMuxSameInvariant-template.yml74
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration18/resource-AllottedResourceSameInvariantSameVers-IpMux-template.yml81
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration18/service-ServiceWithAllottedResourcesIpMuxSameInvariantSameVers-template.yml74
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration2/Resource0-template.yml24
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration4/service_vmme_template_1.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration5/service_vmme_template_1.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration6/Resource0-template.yml24
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration6/service_vmme_template_1.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration8/service_vmme_template_1.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGeneration9/service_vmme_template_1.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-IpMuxDemux-template_AllRes_VF.yml81
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-ServiceAdmin-template_AllRes_VF.yml81
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-TunnelXconn-template_AllRes_VF.yml81
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/resource-VhnfNonHeat-template_AllRes_VF.yml24
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testArtifactGenerationAllottedResourceWithVF/service-SdWan-template_AllRes_VF.yml233
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-IpMuxDemux-template_WithOutDepSerId.yml80
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-ServiceAdmin-template_WithOutDepSerId.yml81
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-TunnelXconn-template_WithOutDepSerId.yml81
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/resource-VhnfNonHeat-template_WithOutDepSerId.yml24
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenAllottedResourceWithOutDependingServiceId/service-SdWan-template_WithOutDepSerId.yml233
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidInvId/service_vmme_template_1.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion1/service_vmme_template_1.yml98
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion1/vf_vmme_template_1.yml1299
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion2/service_vmme_template_1.yml98
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidResourceVersion2/vf_vmme_template_1.yml1299
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenInvalidUuId/service_vmme_template_1.yml194
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenNoResourceVersion/service_vmme_template_1.yml98
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testErrorWhenNoResourceVersion/vf_vmme_template_1.yml1299
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-AllottedResource-template.yml78
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-Extvl-template.yml61
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/resource-Extvl-template_1.yml61
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/service_vmme_template_1.yml139
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testSameVLdifferentVersion/vf_vmme_template_1.yml1299
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testWidgetinServiceTosca/ServiceMock-template.yml74
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/testWidgetinServiceTosca/VadtranDemo-template.yml170
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_InvalidVfModInvUuIdAttr.yml1299
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_InvalidVfModUuIdAttr.yml1299
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModInvUUID.yml1299
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelName.yml1299
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelUUID.yml1299
-rw-r--r--common/openecomp-sdc-artifact-generator-lib/openecomp-sdc-artifact-generator-core/src/test/resources/vf_vmme_template_ModelVersion.yml1299
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=&lt;%M&gt;, Desc=&lt;%msg&gt;%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