aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib')
-rw-r--r--openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/json/JsonUtil.java8
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/pom.xml5
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/src/main/java/org/openecomp/sdc/healing/types/HealingContext.java41
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/resources/healingConfiguration.json3
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/pom.xml10
-rw-r--r--openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java73
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java10
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/UnifiedSubstitutionData.java12
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java17
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java10
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/MANIFEST.json250
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/base_vson.env135
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/base_vson.yaml422
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/deploy.sh317
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt.env68
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt.yaml151
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt_volume.env21
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt_volume.yaml69
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon.env68
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon.yaml151
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon_volume.env21
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon_volume.yaml69
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr.env68
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr.yaml151
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr_volume.env21
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr_volume.yaml69
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll.env94
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll.yaml195
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll_volume.env26
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll_volume.yaml116
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc.env76
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc.yaml165
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc_volume.env18
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc_volume.yaml61
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg.env76
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg.yaml165
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg_volume.env18
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg_volume.yaml62
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs.env90
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs.yaml187
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs_volume.env28
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs_volume.yaml94
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app.env85
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app.yaml182
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app_volume.env18
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app_volume.yaml62
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl.env99
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl.yaml200
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl_volume.env26
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl_volume.yaml116
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_9_vson_clm.env63
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_9_vson_clm.yaml148
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server.yaml205
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_from_vol.yaml192
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_with_vol.yaml211
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_with_vol_dual_ip_stack.yaml229
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml2040
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml1771
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_serverServiceTemplate.yaml452
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_from_volServiceTemplate.yaml439
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_with_volServiceTemplate.yaml454
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_with_vol_dual_ip_stackServiceTemplate.yaml478
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/EntitlementPoolZusammenDaoImpl.java16
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/FeatureGroupDaoZusammenImpl.java8
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/LicenseKeyGroupZusammenDaoImpl.java24
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityId.java7
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/impl/CompositionEntityDataManagerFactoryImpl.java1
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionEntityDataManagerImpl.java12
-rw-r--r--openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java4
69 files changed, 11235 insertions, 18 deletions
diff --git a/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/json/JsonUtil.java b/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/json/JsonUtil.java
index 87c75fce62..5f0bc90845 100644
--- a/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/json/JsonUtil.java
+++ b/openecomp-be/lib/openecomp-core-lib/openecomp-utilities-lib/src/main/java/org/openecomp/core/utilities/json/JsonUtil.java
@@ -25,7 +25,6 @@ import com.google.gson.GsonBuilder;
import com.google.gson.JsonIOException;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;
-
import org.apache.commons.collections4.CollectionUtils;
import org.everit.json.schema.EnumSchema;
import org.everit.json.schema.Schema;
@@ -33,6 +32,8 @@ import org.everit.json.schema.ValidationException;
import org.everit.json.schema.loader.SchemaLoader;
import org.json.JSONObject;
import org.openecomp.core.utilities.CommonMethods;
+import org.openecomp.sdc.logging.api.Logger;
+import org.openecomp.sdc.logging.api.LoggerFactory;
import java.io.BufferedReader;
import java.io.IOException;
@@ -49,6 +50,7 @@ import java.util.stream.Collectors;
* The type Json util.
*/
public class JsonUtil {
+ private static final Logger logger = LoggerFactory.getLogger(JsonUtil.class);
/**
* Object 2 json string.
@@ -163,13 +165,15 @@ public class JsonUtil {
Set<Object> possibleValues = ((EnumSchema) exception.getViolatedSchema()).getPossibleValues();
return exception.getMessage().replaceFirst("enum value", possibleValues.size() == 1
? String.format("value. %s is the only possible value for this field",
- possibleValues.iterator().next())
+ possibleValues.iterator().next())
: String.format("value. Possible values: %s", CommonMethods
.collectionToCommaSeparatedString(
possibleValues.stream().map(Object::toString).collect(Collectors.toList()))));
}
private static List<ValidationException> validateUsingEverit(String json, String jsonSchema) {
+ logger.debug(
+ String.format("validateUsingEverit start, json=%s, jsonSchema=%s", json, jsonSchema));
if (json == null || jsonSchema == null) {
throw new IllegalArgumentException("Input strings json and jsonSchema can not be null");
}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/pom.xml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/pom.xml
index 96951de82a..92e50063dd 100644
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/pom.xml
+++ b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/pom.xml
@@ -28,6 +28,11 @@
<artifactId>openecomp-sdc-validation-api</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>openecomp-sdc-versioning-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
</project>
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/src/main/java/org/openecomp/sdc/healing/types/HealingContext.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/src/main/java/org/openecomp/sdc/healing/types/HealingContext.java
new file mode 100644
index 0000000000..2ad143a0ec
--- /dev/null
+++ b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-api/src/main/java/org/openecomp/sdc/healing/types/HealingContext.java
@@ -0,0 +1,41 @@
+package org.openecomp.sdc.healing.types;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+/**
+ * Created by TALIO on 7/3/2017.
+ */
+public class HealingContext {
+ private String vspId;
+ private Version version;
+ private String user;
+
+ public HealingContext(String vspId, Version version, String user) {
+ this.vspId = vspId;
+ this.version = version;
+ this.user = user;
+ }
+
+ public String getVspId() {
+ return vspId;
+ }
+
+ public void setVspId(String vspId) {
+ this.vspId = vspId;
+ }
+
+ public Version getVersion() {
+ return version;
+ }
+
+ public void setVersion(Version version) {
+ this.version = version;
+ }
+
+ public String getUser() {
+ return user;
+ }
+
+ public void setUser(String user) {
+ this.user = user;
+ }
+}
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/resources/healingConfiguration.json b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/resources/healingConfiguration.json
index 23427ceb6a..fa79627575 100644
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/resources/healingConfiguration.json
+++ b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-core/src/main/resources/healingConfiguration.json
@@ -3,5 +3,6 @@
"QUESTIONNAIRE_HEALER" : "org.openecomp.sdc.healing.healers.VspQuestionnaireHealer",
"COMPOSITION_DATA_HEALER" : "org.openecomp.sdc.healing.healers.CompositionDataHealer",
"SUB_ENTITIES_HEALER" : "org.openecomp.sdc.healing.healers.SubEntitiesQuestionnaireHealer",
- "HEAT_TOSCA_TRANSLATION_HEALER" : "org.openecomp.sdc.healing.healers.HeatToToscaTranslationHealer"
+ "HEAT_TOSCA_TRANSLATION_HEALER" : "org.openecomp.sdc.healing.healers.HeatToToscaTranslationHealer",
+ "VLM_VERSION_HEALER" : "org.openecomp.sdc.healing.healers.VlmVersionHealer"
} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/pom.xml b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/pom.xml
index 70d40be2a6..bdbf985832 100644
--- a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/pom.xml
+++ b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/pom.xml
@@ -29,6 +29,16 @@
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>openecomp-sdc-vendor-license-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.openecomp.sdc</groupId>
+ <artifactId>openecomp-sdc-vendor-license-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
</dependencies>
</project>
diff --git a/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java
new file mode 100644
index 0000000000..5eb15bf9ba
--- /dev/null
+++ b/openecomp-be/lib/openecomp-healing-lib/openecomp-sdc-healing-impl/src/main/java/org/openecomp/sdc/healing/healers/VlmVersionHealer.java
@@ -0,0 +1,73 @@
+package org.openecomp.sdc.healing.healers;
+
+import org.openecomp.sdc.common.utils.SdcCommon;
+import org.openecomp.sdc.healing.interfaces.Healer;
+import org.openecomp.sdc.logging.api.Logger;
+import org.openecomp.sdc.logging.api.LoggerFactory;
+import org.openecomp.sdc.vendorlicense.dao.LicenseAgreementDao;
+import org.openecomp.sdc.vendorlicense.dao.LicenseAgreementDaoFactory;
+import org.openecomp.sdc.vendorlicense.dao.types.LicenseAgreementEntity;
+import org.openecomp.sdc.vendorlicense.dao.types.VendorLicenseModelEntity;
+import org.openecomp.sdc.vendorlicense.facade.VendorLicenseFacade;
+import org.openecomp.sdc.vendorlicense.facade.VendorLicenseFacadeFactory;
+import org.openecomp.sdc.vendorlicense.types.VersionedVendorLicenseModel;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDao;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.VendorSoftwareProductInfoDaoFactory;
+import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspDetails;
+import org.openecomp.sdc.versioning.dao.types.Version;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+
+/**
+ * Created by TALIO on 7/3/2017.
+ */
+public class VlmVersionHealer implements Healer {
+ private static final VendorLicenseFacade vendorLicenseFacade =
+ VendorLicenseFacadeFactory.getInstance().createInterface();
+ private static final VendorSoftwareProductInfoDao vspInfoDao =
+ VendorSoftwareProductInfoDaoFactory.getInstance().createInterface();
+ private static final LicenseAgreementDao licenseAgreementDao =
+ LicenseAgreementDaoFactory.getInstance().createInterface();
+ private static final Logger logger =
+ LoggerFactory.getLogger(VlmVersionHealer.class);
+
+ @Override
+ public Object heal(Map<String, Object> healingParams) throws Exception {
+ String vspId = (String) healingParams.get(SdcCommon.VSP_ID);
+ Version version = (Version) healingParams.get(SdcCommon.VERSION);
+ String user = (String) healingParams.get(SdcCommon.USER);
+
+ VspDetails vspDetails = vspInfoDao.get(new VspDetails(vspId, version));
+ VersionedVendorLicenseModel vendorLicenseModel;
+
+ try{
+ vendorLicenseModel =
+ vendorLicenseFacade.getVendorLicenseModel(vspDetails.getVendorId(), null, user);
+ } catch (Exception e){
+ logger.debug("No Vlm was found for Vsp " + vspDetails.getName());
+ return Optional.empty();
+ }
+
+ VendorLicenseModelEntity vlm = vendorLicenseModel.getVendorLicenseModel();
+ String vlmId = vlm.getId();
+ Version vlmVersion = vlm.getVersion();
+
+ List<LicenseAgreementEntity> laList =
+ new ArrayList<>(
+ licenseAgreementDao.list(new LicenseAgreementEntity(vlmId, vlmVersion, null)));
+
+ vspDetails.setVlmVersion(vlmVersion);
+ vspDetails.setLicenseAgreement(laList.get(0).getId());
+ vspDetails.setFeatureGroups(new ArrayList<>(laList.get(0).getFeatureGroupIds()));
+
+ vspInfoDao.update(vspDetails);
+
+ return vspDetails;
+
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java
index 227683603d..7401ac5f2c 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/TranslationContext.java
@@ -455,6 +455,16 @@ public class TranslationContext {
.isNestedServiceTemplateWasHandled(nestedServiceTemplateFileName);
}
+ public Set<String> getAllRelatedNestedNodeTypeIds(){
+ String globalName = "GlobalSubstitutionTypes";
+ if(Objects.isNull(this.unifiedSubstitutionData) ||
+ Objects.isNull(this.unifiedSubstitutionData.get(globalName))){
+ return new HashSet<>();
+ }
+
+ return this.unifiedSubstitutionData.get(globalName).getAllRelatedNestedNodeTypeIds();
+ }
+
public void addNestedFileToUsedNestedComputeType(String serviceTemplateName,
String nestedServiceTemplateFileName,
String computeType){
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/UnifiedSubstitutionData.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/UnifiedSubstitutionData.java
index ae3d888736..c7fb7bb75a 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/UnifiedSubstitutionData.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/datatypes/heattotosca/unifiedmodel/composition/UnifiedSubstitutionData.java
@@ -1,5 +1,6 @@
package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition;
+import org.apache.commons.collections4.MapUtils;
import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate;
import java.util.Collection;
@@ -106,6 +107,13 @@ public class UnifiedSubstitutionData {
: Optional.of(this.nestedNodeTypeRelatedUnifiedTranslatedId.get(nestedNodeTypeId));
}
+ public Set<String> getAllRelatedNestedNodeTypeIds(){
+ if(MapUtils.isEmpty(nestedNodeTypeRelatedUnifiedTranslatedId)){
+ return new HashSet<>();
+ }
+ return new HashSet<>(this.nestedNodeTypeRelatedUnifiedTranslatedId.values());
+ }
+
public void addHandledComputeType(String nestedServiceTemplateFileName,
String handledComputeType) {
@@ -147,7 +155,9 @@ public class UnifiedSubstitutionData {
public void addNewPropertyIdToNodeTemplate(String newPropertyId,
Object origPropertyValue){
- newParameterIdsToPropertiesFromOrigNodeTemplate.putIfAbsent(newPropertyId, origPropertyValue);
+ if(!newParameterIdsToPropertiesFromOrigNodeTemplate.containsKey(newPropertyId)) {
+ newParameterIdsToPropertiesFromOrigNodeTemplate.put(newPropertyId, origPropertyValue);
+ }
}
public Optional<Object> getNewPropertyInputParam(String newPropertyId){
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java
index d5a87ad668..185316dad7 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/UnifiedCompositionService.java
@@ -2642,12 +2642,17 @@ public class UnifiedCompositionService {
String newNestedNodeTypeId,
ServiceTemplate globalSubstitutionServiceTemplate,
TranslationContext context) {
- Map<String, NodeType> nodeTypes = globalSubstitutionServiceTemplate.getNode_types();
- NodeType nested = DataModelUtil.getNodeType(globalSubstitutionServiceTemplate,
- origNestedNodeTypeId);
- setNewValuesForNestedNodeType(origNestedNodeTypeId, newNestedNodeTypeId, nested, nodeTypes);
- context.addUnifiedNestedNodeTypeId(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME,
- origNestedNodeTypeId, newNestedNodeTypeId);
+ Set<String> relatedNestedNodeTypeIds =
+ context.getAllRelatedNestedNodeTypeIds();
+
+ if(!relatedNestedNodeTypeIds.contains(origNestedNodeTypeId)) {
+ Map<String, NodeType> nodeTypes = globalSubstitutionServiceTemplate.getNode_types();
+ NodeType nested = DataModelUtil.getNodeType(globalSubstitutionServiceTemplate,
+ origNestedNodeTypeId);
+ setNewValuesForNestedNodeType(origNestedNodeTypeId, newNestedNodeTypeId, nested, nodeTypes);
+ context.addUnifiedNestedNodeTypeId(Constants.GLOBAL_SUBSTITUTION_TYPES_TEMPLATE_NAME,
+ origNestedNodeTypeId, newNestedNodeTypeId);
+ }
}
private void setNewValuesForNestedNodeType(String origNestedNodeType,
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java
index 9f3232eaca..f52f43577e 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifiedCompositionNestedSingleComputeFullTest.java
@@ -164,4 +164,14 @@ public class UnifiedCompositionNestedSingleComputeFullTest extends BaseFullTrans
testTranslationWithInit();
}
+
+ @Test
+ public void testMultipleReferencesToSameNestedFilesWithSameComputeType() throws IOException {
+ inputFilesPath =
+ "/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in";
+ outputFilesPath =
+ "/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out";
+
+ testTranslationWithInit();
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/MANIFEST.json
new file mode 100644
index 0000000000..b13b3c8c65
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/MANIFEST.json
@@ -0,0 +1,250 @@
+{
+ "name": "",
+ "description": "",
+ "data": [
+ {
+ "file": "module_0_vson_mgt.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_0_vson_mgt.env",
+ "type": "HEAT_ENV"
+ },
+ {
+ "file": "module_0_vson_mgt_volume.yaml",
+ "type": "HEAT_VOL",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_0_vson_mgt_volume.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "file": "module_1_vson_mon.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_1_vson_mon.env",
+ "type": "HEAT_ENV"
+ },
+ {
+ "file": "module_1_vson_mon_volume.yaml",
+ "type": "HEAT_VOL",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_1_vson_mon_volume.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "file": "nested_vson_server_from_vol.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "module_7_vson_app.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_7_vson_app.env",
+ "type": "HEAT_ENV"
+ },
+ {
+ "file": "module_7_vson_app_volume.yaml",
+ "type": "HEAT_VOL",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_7_vson_app_volume.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "file": "module_8_vson_dcl.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_8_vson_dcl.env",
+ "type": "HEAT_ENV"
+ },
+ {
+ "file": "module_8_vson_dcl_volume.yaml",
+ "type": "HEAT_VOL",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_8_vson_dcl_volume.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "file": "nested_vson_server_with_vol.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "module_2_vson_mdr.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_2_vson_mdr.env",
+ "type": "HEAT_ENV"
+ },
+ {
+ "file": "module_2_vson_mdr_volume.yaml",
+ "type": "HEAT_VOL",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_2_vson_mdr_volume.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "file": "module_5_vson_dbg.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_5_vson_dbg.env",
+ "type": "HEAT_ENV"
+ },
+ {
+ "file": "module_5_vson_dbg_volume.yaml",
+ "type": "HEAT_VOL",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_5_vson_dbg_volume.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "file": "nested_vson_server_with_vol_dual_ip_stack.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "module_9_vson_clm.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_9_vson_clm.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ },
+ {
+ "file": "module_3_vson_cll.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_3_vson_cll.env",
+ "type": "HEAT_ENV"
+ },
+ {
+ "file": "module_3_vson_cll_volume.yaml",
+ "type": "HEAT_VOL",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_3_vson_cll_volume.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "file": "module_6_vson_dbs.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_6_vson_dbs.env",
+ "type": "HEAT_ENV"
+ },
+ {
+ "file": "module_6_vson_dbs_volume.yaml",
+ "type": "HEAT_VOL",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_6_vson_dbs_volume.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "file": "nested_vson_server.yaml",
+ "type": "HEAT",
+ "isBase": "false"
+ },
+ {
+ "file": "module_4_vson_dbc.yaml",
+ "type": "HEAT",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_4_vson_dbc.env",
+ "type": "HEAT_ENV"
+ },
+ {
+ "file": "module_4_vson_dbc_volume.yaml",
+ "type": "HEAT_VOL",
+ "isBase": "false",
+ "data": [
+ {
+ "file": "module_4_vson_dbc_volume.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "file": "base_vson.yaml",
+ "type": "HEAT",
+ "isBase": "true",
+ "data": [
+ {
+ "file": "base_vson.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ },
+ {
+ "file": "deploy.sh",
+ "type": "SHELL"
+ }
+ ]
+} \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/base_vson.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/base_vson.env
new file mode 100644
index 0000000000..a024b0f208
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/base_vson.env
@@ -0,0 +1,135 @@
+parameters:
+
+### Global parameters
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique ID for this VF instance.
+# vnf_id: 0
+
+## Unique name for this VF module instance.
+# vf_module_name: base_vson
+
+## Unique ID for this VF Module instance.
+# vf_module_id: 0
+
+### Network parameters
+
+## The ID of the OAM network.
+# oam_net_id: bff05d9d-9384-45bb-82d0-3684a5372249
+
+## Address length prefix for the subnet on the OAM network
+# oam_net_subnet_prefix_length: 24
+
+## Default gateway
+# default_gateway: 172.20.50.1
+
+## List of DNS servers
+# dns_servers: 8.8.8.8
+
+## List of NTP servers
+# ntp_servers: 155.165.201.253,155.165.201.252,155.165.201.251
+
+### ServerGroup parameters
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group is intended for Cluster Manager instances.
+ vson_clm_server_group_policy: anti-affinity
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group is intended for Cluster/DC leader instances.
+ vson_leader_server_group_policy: anti-affinity
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group is intended for DBC instances.
+ vson_dbc_server_group_policy: anti-affinity
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group is intended for DBG instances.
+ vson_dbg_server_group_policy: anti-affinity
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group is intended for DBS instances.
+ vson_dbs_server_group_policy: anti-affinity
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group is intended for MON instances.
+ vson_mon_server_group_policy: anti-affinity
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group is intended for Management instances.
+ vson_mgt_server_group_policy: anti-affinity
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group is intended for Mediator instances.
+ vson_mdr_server_group_policy: anti-affinity
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group is intended for Application instances.
+ vson_app_server_group_policy: anti-affinity
+
+### CLM parameters
+
+## vSON Cluster Management server Availability zone.
+## NOTE: vSON Cluster Management server instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_0: nova
+
+## Unique name for the Cluster Manager instance.
+# vson_clm_name_0: clm0
+
+## Fixed IP assignment for vSON CLM instances on the OAM network.
+# vson_clm_oam_net_ip_0: 172.20.50.250
+
+## The ID or name of the Cluster Manager flavor.
+ vson_clm_flavor_name: vson-clm-flavor
+
+## Base VM Image name CLM instance will be created from.
+ vson_clm_image_name: VSON-BASE-1.0
+
+## Master CLM IP. If the vSON Cluster belongs to a single OpenStack tenant,
+## the value SHOULD BE EMPTY.
+## In case the vSON Cluster is distributed between multiple tenants:
+## -> vSON Cluster instantiation - the value should be empty
+## -> Adding a new DC to existing vSON Cluster - IP of the CLM deployed during
+## vSON Cluster instantiation, should be set as the value.
+# vson_master_clm_ip: ""
+
+## vSON Cluster name.
+# vson_cluster_name: VSON-CLU-1
+
+### Swift parameters
+
+## Swift storage URL.
+## Example: http://<ip_address>:8080/v1/AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029
+## http://<ip_address>:8080 - protocol, IP and port,
+## v1 - API version
+## AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 - account ID
+# swift_storage_url: http://10.56.124.51:8080/v1/AUTH_a9fa278da4ed430b9c09ad03670e63fa
+
+## Swift account auth token.
+## Example: 041a5187bb4641f9b89583e2539776b0
+# swift_account_auth_token: 8bea874112134e8f9b6044cf504aed8b
+
+## Swift container storing vSON artifacts.
+ swift_son_container_name: vson
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/base_vson.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/base_vson.yaml
new file mode 100644
index 0000000000..f8449d142a
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/base_vson.yaml
@@ -0,0 +1,422 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+description: >
+ Creates essential resources:
+ vSON internal network, Security Groups and
+ vSON Cluster Manager instance.
+ Deploys and configure appropriate software on the Cluster Management server.
+ Exposes shared resource as outputs that could be used by add-on templates.
+
+parameters:
+
+### vSON VF base global parameters
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance.
+
+### OAM network parameters
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: Unique ID for the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: OAM network subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ vson_clm_server_group_policy:
+ type: string
+ label: vSON Cluster Management server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON Cluster Management instances.
+
+ vson_leader_server_group_policy:
+ type: string
+ label: vSON Cluster/DC leader server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON Cluster/DC leader instances.
+
+ vson_dbc_server_group_policy:
+ type: string
+ label: vSON Database server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON Database instances.
+
+ vson_dbg_server_group_policy:
+ type: string
+ label: vSON Database server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON DB Global instances.
+
+ vson_dbs_server_group_policy:
+ type: string
+ label: vSON Database server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON DB Shard instances.
+
+ vson_mon_server_group_policy:
+ type: string
+ label: vSON MON server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON MON instances.
+
+ vson_mgt_server_group_policy:
+ type: string
+ label: vSON Management server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON Management instances.
+
+ vson_mdr_server_group_policy:
+ type: string
+ label: vSON Mediator server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON Mediator instances.
+
+ vson_app_server_group_policy:
+ type: string
+ label: vSON Application server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON Application instances.
+
+### CLM server parameters
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: >
+ vSON Cluster Management server Availability zone.
+
+ vson_clm_name_0:
+ type: string
+ label: vSON Cluster Management server name
+ description: VM name for this vSON Cluster Management instance.
+
+ vson_clm_oam_net_ip_0:
+ type: string
+ label: vSON CLM OAM network IP address
+ description: Fixed IP assignment for vSON CLM instances on the OAM network.
+
+ vson_clm_flavor_name:
+ type: string
+ label: Flavor name
+ description: Cluster Manager VM flavor name.
+
+ vson_clm_image_name:
+ type: string
+ label: vSON Cluster Manager VM image name
+ description: Image name the volume will be created from.
+
+ vson_master_clm_ip:
+ type: string
+ label: vSON master CLM IP
+ description: >
+ Master CLM IP. If the vSON Cluster belongs to a single OpenStack tenant,
+ the value SHOULD BE EMPTY.
+ In case the vSON Cluster is distributed between multiple tenants:
+ -> vSON Cluster instantiation - the value should be empty
+ -> Adding a new DC to existing vSON Cluster - IP of the CLM deployed during
+ vSON Cluster instantiation, should be set as the value.
+
+ vson_cluster_name:
+ type: string
+ label: vSON Cluster name
+ description: Name of the vSON Cluster.
+ constraints:
+ - length: { min: 1, max: 13 }
+ description: User name must be between 1 and 13 characters
+
+ swift_storage_url:
+ type: string
+ label: swift storage URL
+ description: >
+ Swift storage URL.
+ Example: http://172.16.209.246:8080/v1/AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029
+ http://172.16.209.246:8080 - protocol, IP and port,
+ v1 - API version
+ AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 - account ID
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ swift_son_container_name:
+ type: string
+ label: SON Swift
+ description: Swift container storing vSON artifacts.
+
+resources:
+
+# Server Group implements appropriate scheduling policy for vSON Cluster Management instances
+ vson_clm_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_clm_server_group
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ policies:
+ - {get_param: vson_clm_server_group_policy}
+
+# Server Group implements appropriate scheduling policy for vSON Cluster/DC leaders
+ vson_leader_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_leader_server_group
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ policies:
+ - {get_param: vson_leader_server_group_policy}
+
+# Server Group implements appropriate scheduling policy for vSON DBC instances
+ vson_dbc_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_dbc_server_group
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ policies:
+ - {get_param: vson_dbc_server_group_policy}
+
+# Server Group implements appropriate scheduling policy for vSON DBG instances
+ vson_dbg_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_dbg_server_group
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ policies:
+ - {get_param: vson_dbg_server_group_policy}
+
+# Server Group implements appropriate scheduling policy for vSON DBS instances
+ vson_dbs_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_dbs_server_group
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ policies:
+ - {get_param: vson_dbs_server_group_policy}
+
+# Server Group implements appropriate scheduling policy for vSON MON instances
+ vson_mon_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_mon_server_group
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ policies:
+ - {get_param: vson_mon_server_group_policy}
+
+# Server Group implements appropriate scheduling policy for vSON Management instances
+ vson_mgt_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_mgt_server_group
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ policies:
+ - {get_param: vson_mgt_server_group_policy}
+
+# Server Group implements appropriate scheduling policy for vSON Mediator instances
+ vson_mdr_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_mdr_server_group
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ policies:
+ - {get_param: vson_mdr_server_group_policy}
+
+# Server Group implements appropriate scheduling policy for vSON Application instances
+ vson_app_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_app_server_group
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ policies:
+ - {get_param: vson_app_server_group_policy}
+
+ oam_net_security_group:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ description: Security Group for instances connected to the OAM network.
+ name:
+ str_replace:
+ template: VNF_NAME_oam_sec_group
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ rules:
+ - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "47", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "egress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"}
+ - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "47", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "egress", "remote_ip_prefix": "::/0", "protocol": "icmp", "ethertype": "IPv6"}
+ - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "tcp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "udp", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "47", "ethertype": "IPv4", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "ingress", "remote_ip_prefix": "0.0.0.0/0", "protocol": "icmp", "ethertype": "IPv4"}
+ - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "tcp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "udp", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "47", "ethertype": "IPv6", "port_range_max": 65535, "port_range_min": 1}
+ - {"direction": "ingress", "remote_ip_prefix": "::/0", "protocol": "icmp", "ethertype": "IPv6"}
+
+# vSON Cluster Manager
+ vson_clm_0:
+ type: nested_vson_server.yaml
+ depends_on: [vson_clm_server_group, oam_net_security_group]
+ properties:
+ instance_index: 0
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vfc_role: clm
+ vson_server_group_id: {get_resource: vson_clm_server_group}
+ oam_net_id: {get_param: oam_net_id}
+ oam_net_subnet_prefix_length: {get_param: oam_net_subnet_prefix_length}
+ default_gateway: {get_param: default_gateway}
+ dns_servers: {get_param: dns_servers}
+ ntp_servers: {get_param: ntp_servers}
+ oam_net_security_group_id: {get_resource: oam_net_security_group}
+ availability_zones: [{get_param: availability_zone_0}]
+ vson_vm_names: [{get_param: vson_clm_name_0}]
+ oam_net_ips: [{get_param: vson_clm_oam_net_ip_0}]
+ vson_vm_flavor_name: {get_param: vson_clm_flavor_name}
+ vson_vm_image_name: {get_param: vson_clm_image_name}
+ vson_clm_oam_net_ip: {get_param: vson_master_clm_ip}
+ vson_cluster_name: {get_param: vson_cluster_name}
+ swift_storage_url: {get_param: swift_storage_url}
+ swift_account_auth_token: {get_param: swift_account_auth_token}
+ swift_son_container_name: {get_param: swift_son_container_name}
+
+outputs:
+
+ oam_net_security_group_id:
+ value: {get_resource: oam_net_security_group}
+ description: ID of the OAM network Security group
+
+ vson_clm_server_group_id:
+ value: {get_resource: vson_clm_server_group}
+ description: ID of the Server Group intended for vSON Cluster Management instances.
+
+ vson_leader_server_group_id:
+ value: {get_resource: vson_leader_server_group}
+ description: ID of the Server Group intended for vSON Cluster/DC leaders.
+
+ vson_dbc_server_group_id:
+ value: {get_resource: vson_dbc_server_group}
+ description: ID of the Server Group intended for vSON DBC instances.
+
+ vson_dbg_server_group_id:
+ value: {get_resource: vson_dbg_server_group}
+ description: ID of the Server Group intended for vSON DBG instances.
+
+ vson_dbs_server_group_id:
+ value: {get_resource: vson_dbs_server_group}
+ description: ID of the Server Group intended for vSON DBS instances.
+
+ vson_mon_server_group_id:
+ value: {get_resource: vson_mon_server_group}
+ description: ID of the Server Group intended for vSON MON instances.
+
+ vson_mgt_server_group_id:
+ value: {get_resource: vson_mgt_server_group}
+ description: ID of the Server Group intended for vSON Management instances.
+
+ vson_mdr_server_group_id:
+ value: {get_resource: vson_mdr_server_group}
+ description: ID of the Server Group intended for vSON Mediator instances.
+
+ vson_app_server_group_id:
+ value: {get_resource: vson_app_server_group}
+ description: ID of the Server Group intended for vSON Application instances.
+
+ vson_clm_0_oam_net_ip_0:
+ value: {get_param: vson_clm_oam_net_ip_0}
+ description: vSON Cluster Management server IP on the OAM network.
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/deploy.sh b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/deploy.sh
new file mode 100644
index 0000000000..dc506d50e2
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/deploy.sh
@@ -0,0 +1,317 @@
+#!/bin/bash
+#####################################################
+# In case a volume should be attached to the instance
+# 1) partitioning cinder volume
+# 2) creating XFS on the volume
+# 3) labeling the volume
+# 4) mounting the volume
+# 5) adding appropriate entry to the /etc/fstab file
+#####################################################
+# Configure Salt-minion
+#####################################################
+# Deploy ,provision and configure vSON components
+#####################################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#####################################################
+# METADATA
+# Should be modified in case the version has changed
+CLM_PKG_VERSION=1.0
+#####################################################
+DEBUG_LOG=/tmp/minion_debug-$$.log
+vfc_role=$HOT_VFC_ROLE
+this_instance_index=$HOT_INSTANCE_INDEX
+IPv4="inet"
+IPv6="inet6"
+IP_INVALID="invalid"
+
+failure()
+{
+ local msg=$1
+ local signal=$2
+
+ $HOT_WC_NOTIFY -H "X-Auth-Token: $HOT_SWIFT_AUTH_TOKEN" --data-binary "{\"status\": \"FAILURE\", \"reason\": \"$signal\", \"data\": \"$msg\"}"
+ exit $signal
+}
+
+_get_ip_family()
+{
+ local ip=$1
+ local ip_family=$(python -c "
+
+import socket
+
+family = \"$IPv4\"
+try:
+ socket.inet_pton(socket.AF_INET, \"$ip\")
+except:
+ family = \"$IPv6\"
+ try:
+ socket.inet_pton(socket.AF_INET6, \"$ip\")
+ except:
+ family = \"$IP_INVALID\"
+print family")
+
+ [ "$ip_family" == "$IP_INVALID" ] && failure "Invalid IP $ip." 100
+ echo $ip_family
+}
+
+_volume_persist_config_intucell()
+{
+ mkdir -p /intucell
+ mount -L INTUCELL /intucell
+ chown intucell:intucell /intucell
+ echo "LABEL=INTUCELL /intucell xfs rw,noatime,attr2,noquota 0 2" >> /etc/fstab
+}
+
+set_static_ip()
+{
+ local ip=$1
+ local prefix_length=$2
+ local interface=$3
+ local ip_family=$4
+ local gw=$5
+
+ local netmask=$prefix_length
+
+ if [ "$ip_family" == "$IPv4" ];then
+ netmask=$(python -c "
+
+import struct
+import socket
+print socket.inet_ntoa(struct.pack('>L', (1<<32) - (1<<32>>$prefix_length)))"
+)
+ fi
+
+ if grep manual /etc/network/interfaces.d/$interface;then
+ echo "auto $interface" > /etc/network/interfaces.d/$interface
+ fi
+ cat << EOF >> /etc/network/interfaces.d/$interface
+iface $interface $ip_family static
+ address $ip
+ netmask $netmask
+EOF
+
+ if [ "X$gw" != "X" ];then
+ echo " gateway $gw" >> /etc/network/interfaces.d/$interface
+ fi
+
+ ifdown $interface --force || true
+ ifup $interface
+}
+
+set_dns_servers()
+{
+
+ for dns in $(echo $HOT_DNS_SERVERS|tr ',' ' ');do
+ if [ "X$dns" != "X" ];then
+ echo "nameserver $dns" >> /etc/resolv.conf
+ fi
+ done
+}
+
+set_ntp_servers()
+{
+ cat << EOF > /etc/systemd/timesyncd.conf
+[Time]
+Servers=$HOT_NTP_SERVERS
+EOF
+}
+
+dns_lookup()
+{
+ server_ip=$1
+
+ host $server_ip
+ (( $? == 0 )) || return 1
+}
+
+volume_main()
+{
+ set -e
+
+ if $(blkid -L INTUCELL &> /dev/null);then
+ _volume_persist_config_intucell
+ mount -a
+ return
+ fi
+
+ volume_id=$HOT_VOLUME_ID
+
+ disk_id=${volume_id:0:20}
+ for device in /dev/disk/by-id/*;do
+ [[ $device =~ part ]] && continue
+ id=${device##*/virtio-}
+ id=${id:0:20}
+ if [[ "$id" == "$disk_id" ]];then
+ (echo o; echo n; echo p; echo 1; echo; echo; echo w;) | fdisk $device
+ partition=${device}-part1
+ while true;do
+ partprobe
+ sleep 2
+ [[ -L ${device}-part1 ]] && break
+ done
+ mkfs.xfs -f -L INTUCELL ${device}-part1
+ _volume_persist_config_intucell
+ mount -a
+ fi
+ done
+
+ set +e
+}
+
+init_main()
+{
+ local ip_family=$1
+
+ ## SaltStack minion configuration
+ if [ -z "$HOT_CLM_SERVER_IP" ];then
+ clm_primary=1
+ clm_server_ip=$HOT_THIS_INSTANCE_OAM_NET_IP
+ else
+ clm_server_ip=$HOT_CLM_SERVER_IP
+ fi
+
+ minion_conf=/etc/salt/minion.d/vson-minion.conf
+
+ cat << EOF > $minion_conf
+environment: prod
+hash_type: sha256
+mine_interval: 5
+
+EOF
+ [ "$ip_family" == "$IPv6" ] && echo "ipv6: True" >> $minion_conf
+ host $clm_server_ip
+ if (($? != 0 ));then
+ echo "$clm_server_ip clm0" >> /etc/hosts
+ clm_server_ip=clm0
+ fi
+
+ if (( $clm_primary ));then
+ cat << EOF >> $minion_conf
+file_roots:
+ prod:
+ - /srv/cisco/salt/prod
+
+pillar_roots:
+ prod:
+ - /srv/cisco/pillar/prod
+
+EOF
+ fi
+
+ cat << EOF > /etc/salt/minion.d/vson-minion-mc.conf
+master:
+ - $clm_server_ip
+EOF
+
+ minion_grains_conf=/etc/salt/grains
+ cat << EOF > $minion_grains_conf
+vson.environment: prod
+vson.vfc_role: $vfc_role
+vson.this_vfc_instance_index: $this_instance_index
+EOF
+
+ if [ -n "$HOT_DC_NAME" ];then
+ echo "vson.dc_name: $HOT_DC_NAME" >> $minion_grains_conf
+ fi
+ if [ -n "$HOT_CLUSTER_NAME" ];then
+ echo "vson.cluster_name: $HOT_CLUSTER_NAME" >> $minion_grains_conf
+ fi
+ if [ -n "$HOT_VSON_JOIN_CLUSTER_AUTH_TOKEN" ];then
+ echo "vson.join_cluster_auth_token: $HOT_VSON_JOIN_CLUSTER_AUTH_TOKEN" >> $minion_grains_conf
+ fi
+ if [ -n "$HOT_SWIFT_CONTAINER_NAME" ];then
+ echo "swift.container_name: $HOT_SWIFT_CONTAINER_NAME" >> $minion_grains_conf
+ fi
+ if [ -n "$HOT_SWIFT_STORAGE_URL" ];then
+ echo "swift.storage_url: $HOT_SWIFT_STORAGE_URL" >> $minion_grains_conf
+ fi
+ if [ -n "$HOT_SWIFT_AUTH_TOKEN" ];then
+ echo "swift.auth_token: $HOT_SWIFT_AUTH_TOKEN" >> $minion_grains_conf
+ fi
+
+ cat << EOF > /etc/salt/minion.d/vson-minion-mc.conf
+master:
+ - $clm_server_ip
+EOF
+
+# Remove old minion_id file
+ rm -f /etc/salt/minion_id
+ rm -rf /var/cache/salt/minion/*
+# Start Salt minion service
+ systemctl start salt-minion
+# Enable Salt minion service
+ systemctl enable salt-minion
+ sleep 5
+}
+
+clm_main()
+{
+
+ cd /srv; curl -s -H "X-Auth-Token: $HOT_SWIFT_AUTH_TOKEN" $HOT_SWIFT_STORAGE_URL/$HOT_SWIFT_CONTAINER_NAME/vson-clm-${CLM_PKG_VERSION}.tar| tar xv
+
+ if (( $clm_primary ));then
+ salt-call --local state.apply vson.deploy -l debug --log-file-level=debug --log-file=$DEBUG_LOG
+ else
+ salt-call state.apply vson.deploy -l debug --log-file-level=debug --log-file=$DEBUG_LOG
+ salt-call state.apply vson.fire_events.reconfigure_minions -l debug --log-file-level=debug --log-file=$DEBUG_LOG
+ fi
+ if grep "ERROR" $DEBUG_LOG;then
+ return 1
+ fi
+}
+
+vfc_main()
+{
+ salt-call saltutil.sync_all
+ salt-call state.apply vson.deploy -l debug --log-file-level=debug --log-file=$DEBUG_LOG
+ if [ "$vfc_role" == "mon" ];then
+ salt-call state.apply vson.vfc-mon.fire_events.configure_multisite -l debug --log-file-level=debug --log-file=$DEBUG_LOG
+ fi
+ if grep "ERROR" $DEBUG_LOG;then
+ return 1
+ fi
+}
+
+###### For testing only #######
+echo -e "cisco\ncisco"|passwd
+sed -i "s#\(PermitRootLogin\) without-password#\1 yes#" /etc/ssh/sshd_config
+systemctl restart ssh
+###############################
+
+echo "LANG=en_US.utf-8" > /etc/environment
+echo "LC_ALL=en_US.utf-8" >> /etc/environment
+touch /var/lib/cloud/instance/locale-check.skip
+
+rm -rf /etc/apt/sources.list.d/*
+
+## Let rsyslog reread new name of the instance
+systemctl restart rsyslog
+
+set_static_ip "$HOT_THIS_INSTANCE_OAM_NET_IP" "$HOT_THIS_INSTANCE_OAM_NET_PREFIX" "eth0" $(_get_ip_family $HOT_THIS_INSTANCE_OAM_NET_IP) $HOT_THIS_INSTANCE_DEFAULT_GATEWAY
+if [ "X$HOT_THIS_INSTANCE_OAM_V6_NET_IP" != "X" ];then
+ set_static_ip "$HOT_THIS_INSTANCE_OAM_V6_NET_IP" "$HOT_THIS_INSTANCE_OAM_V6_NET_PREFIX" "eth0" $(_get_ip_family $HOT_THIS_INSTANCE_OAM_V6_NET_IP)
+fi
+
+set_dns_servers
+set_ntp_servers
+systemctl restart systemd-timesyncd
+
+if [ "$HOT_VOLUME_ATTACH" == "True" ];then
+ volume_main || failure "Cinder volume configuration." 110
+fi
+
+init_main $IPv4 || failure "VFC initial configuration" 120
+
+if [ "$vfc_role" == "clm" ];then
+ clm_main || failure "vSON CLM deployment." 130
+else
+ mkdir /intucell
+ chown -R intucell:intucell /intucell
+ vfc_main || failure "vSON $vfc_role deployment." 140
+fi
+
+ $HOT_WC_NOTIFY -H "X-Auth-Token: $HOT_SWIFT_AUTH_TOKEN" --data-binary '{"status": "SUCCESS"}'
+ rm -f $DEBUG_LOG
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt.env
new file mode 100644
index 0000000000..0041d69109
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt.env
@@ -0,0 +1,68 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique ID for this VF instance.
+# vnf_id: 0
+
+## Unique name for this VF module instance.
+# vf_module_name: module_0_vson_mgt
+
+## Unique ID for this VF Module instance.
+# vf_module_id: 0
+
+## The ID of the OAM network.
+# oam_net_id: e74c21d6-9d47-4620-9594-7e440b4302b0
+
+## Address length prefix for the subnet on the OAM network
+# oam_net_subnet_prefix_length: 24
+
+## Default gateway.Required for the Sandbox environment.
+# default_gateway: 10.56.124.1
+
+## List of DNS servers
+# dns_servers: 64.102.6.247
+
+## List of NTP servers
+# ntp_servers: 173.38.201.67
+
+## Availability zone.
+## NOTE: vSON MGT instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_0: nova
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group intended for vSON MGT.
+# vson_mgt_server_group_id: fb166e35-7006-49c9-b914-6c11d2082568
+
+## The ID of Security group applied on the port
+## bound to the vSON OAM network.
+# oam_net_security_group_id: 42e187a1-45cc-4a99-993b-40a42a5cb081
+
+## ID of the volume intended for the vSON Management server.
+# vson_mgt_volume_id_0: 4c0e5552-ff7d-44eb-90d1-7b7741751a77
+
+## Unique name for the vSON Management server.
+ vson_mgt_name_0: vson-03.cisco.com
+
+## The ID or name of the Management flavor.
+ vson_mgt_flavor_name: vson-mgt-flavor
+
+## Fixed IP assignment for the vSON MGT instance on the OAM network.
+# vson_mgt_oam_net_ip_0: 10.56.124.12
+
+## IP of the first vSON Cluster Management server.
+# vson_clm_0_oam_net_ip_0: 10.56.124.10
+
+## Name of the vSON Data Center.
+# vson_dc_unit: DC1
+
+## Swift account auth token.
+## Example: 041a5187bb4641f9b89583e2539776b0
+# swift_account_auth_token: 35a7c0fcc45f48988433834e4d88638c
+
+## Number of vSON Management servers.
+# number_of_servers: 1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt.yaml
new file mode 100644
index 0000000000..157d5a804c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt.yaml
@@ -0,0 +1,151 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: The template deploys vSON VFC of type MGT.
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance.
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: OAM network subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_mgt_server_group_id:
+ type: string
+ label: vSON Management server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON Management instances.
+
+ vson_mgt_volume_id_0:
+ type: string
+ label: vSON Management Volume ID 0
+ description: Volume ID of the vSON Management server.
+
+ vson_mgt_name_0:
+ type: string
+ label: vSON Management instance name
+ description: Unique name to be issued to the vSON Management instance.
+
+ vson_mgt_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_mgt_oam_net_ip_0:
+ type: string
+ label: vSON MGT OAM network IP address
+ description: Fixed IP assignment for the vSON MGT instance on the OAM network.
+
+ vson_clm_0_oam_net_ip_0:
+ type: string
+ label: vSON Cluster Manager 0 OAM net IP
+ description: IP of the first vSON Cluster Management server.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Datacenter name
+ description: vSON Datacenter name.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ number_of_servers:
+ type: number
+ label: Number of Servers
+ description: Number of vSON Management servers.
+ constraints:
+ - range: { min: 1, max: 1}
+
+resources:
+
+ vson_mgt_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: number_of_servers}
+ resource_def:
+ type: nested_vson_server_from_vol.yaml
+ properties:
+ instance_index: "%index%"
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vfc_role: mgt
+ oam_net_id: {get_param: oam_net_id}
+ oam_net_subnet_prefix_length: {get_param: oam_net_subnet_prefix_length}
+ default_gateway: {get_param: default_gateway}
+ dns_servers: {get_param: dns_servers}
+ ntp_servers: {get_param: ntp_servers}
+ oam_net_security_group_id: {get_param: oam_net_security_group_id}
+ availability_zones: [{get_param: availability_zone_0}]
+ vson_server_group_id: {get_param: vson_mgt_server_group_id}
+ volume_ids: [{get_param: vson_mgt_volume_id_0}]
+ vson_vm_names: [{get_param: vson_mgt_name_0}]
+ oam_net_ips: [{get_param: vson_mgt_oam_net_ip_0}]
+ vson_vm_flavor_name: {get_param: vson_mgt_flavor_name}
+ vson_clm_oam_net_ip: {get_param: vson_clm_0_oam_net_ip_0}
+ vson_dc_unit: {get_param: vson_dc_unit}
+ swift_account_auth_token: {get_param: swift_account_auth_token}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt_volume.env
new file mode 100644
index 0000000000..602d5f56c6
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt_volume.env
@@ -0,0 +1,21 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique name for this VF module instance.
+ vf_module_name: module_0_vson_mgt_volume
+
+## Base VM Image name the instance will be created from.
+ vson_mgt_image_name: VSON-BASE-1.0
+
+## Availability zone for the vSON Management Cinder volume.
+# availability_zone_0: nova
+
+## Volume name
+ vson_mgt_volume_name_0: vson_mgt_volume_0
+
+## Size of the volume.Measured in gigabytes.
+## Default: 100
+ vson_mgt_volume_size_0: 100
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt_volume.yaml
new file mode 100644
index 0000000000..46d7785dcf
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_0_vson_mgt_volume.yaml
@@ -0,0 +1,69 @@
+heat_template_version: 2014-10-16
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: >
+ Create a Cinder volume.
+ Cinder volume is a storage in the form of block devices.
+ It can be used, for example, for providing storage to instance.
+ Volume supports creation from snapshot, backup or image.
+ Also volume can be created only by size.
+ The template creates volume for vSON Management server
+ (Virtual Function Component MGT).
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_mgt_volume_name_0:
+ type: string
+ label: vSON MGT volume name
+ description: Volume name.
+
+ vson_mgt_volume_size_0:
+ type: number
+ label: vSON MGT cinder volume size
+ description: Size of the Cinder volume. Measured in gigabytes.
+
+ vson_mgt_image_name:
+ type: string
+ label: vSON Management VM image name
+ description: Image name the volume will be created from.
+
+resources:
+
+ vson_mgt_volume_0:
+ type: OS::Cinder::Volume
+ properties:
+ name: {get_param: vson_mgt_volume_name_0}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_0}
+ size: {get_param: vson_mgt_volume_size_0}
+ image: {get_param: vson_mgt_image_name}
+ description: >
+ vSON MGT cinder volume.
+ The volume is created from the vSON base VM image.
+
+outputs:
+
+ vson_mgt_volume_id_0:
+ value: {get_resource: vson_mgt_volume_0}
+ description: ID of the vSON Management volume.
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon.env
new file mode 100644
index 0000000000..a271b1de96
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon.env
@@ -0,0 +1,68 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique ID for this VF instance.
+# vnf_id: 0
+
+## Unique name for this VF module instance.
+# vf_module_name: module_1_vson_mon
+
+## Unique ID for this VF Module instance.
+# vf_module_id: 1
+
+## The ID of the OAM network.
+# oam_net_id: e74c21d6-9d47-4620-9594-7e440b4302b0
+
+## Address length prefix for the subnet on the OAM network
+# oam_net_subnet_prefix_length: 24
+
+## Default gateway.Required for the Sandbox environment.
+# default_gateway: 10.56.124.1
+
+## List of DNS servers
+# dns_servers: 64.102.6.247
+
+## List of NTP servers
+# ntp_servers: 173.38.201.67
+
+## Availability zone.
+## NOTE: vSON MON instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_0: nova
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group intended for vSON MON.
+# vson_mon_server_group_id: f62e69f5-6d33-4464-b474-d4969cdf285e
+
+## The ID of Security group applied on the port
+## bound to the vSON OAM network.
+# oam_net_security_group_id: 42e187a1-45cc-4a99-993b-40a42a5cb081
+
+## ID of the volume intended for the vSON MON server.
+# vson_mon_volume_id_0: 689419ee-269d-4493-a429-5d065d7f0607
+
+## Unique name for the vSON MON server.
+# vson_mon_name_0: vson-04.cisco.com
+
+## The ID or name of the MON flavor.
+# vson_mon_flavor_name: vson-mon-flavor
+
+## Fixed IP assignment for the vSON MON instance on the OAM network.
+# vson_mon_oam_net_ip_0: 10.56.124.13
+
+## IP of the first vSON Cluster Management server.
+# vson_clm_0_oam_net_ip_0: 10.56.124.10
+
+## Name of the vSON Data Center.
+# vson_dc_unit: DC1
+
+## Swift account auth token.
+## Example: 041a5187bb4641f9b89583e2539776b0
+# swift_account_auth_token: 35a7c0fcc45f48988433834e4d88638c
+
+## Number of vSON MON servers.
+# number_of_servers: 1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon.yaml
new file mode 100644
index 0000000000..82673c3a42
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon.yaml
@@ -0,0 +1,151 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: The template deploys vSON VFC of type MON.
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance.
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: OAM network subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_mon_server_group_id:
+ type: string
+ label: vSON MON server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON MON instances.
+
+ vson_mon_volume_id_0:
+ type: string
+ label: vSON MON Volume ID 0
+ description: Volume ID of the vSON MON server.
+
+ vson_mon_name_0:
+ type: string
+ label: vSON MON instance name
+ description: Unique name to be issued to the vSON MON instance.
+
+ vson_mon_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_mon_oam_net_ip_0:
+ type: string
+ label: vSON MON OAM network IP address
+ description: Fixed IP assignment for the vSON MON instance on the OAM network.
+
+ vson_clm_0_oam_net_ip_0:
+ type: string
+ label: vSON Cluster Manager 0 OAM net IP
+ description: IP of the first vSON Cluster Management server.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Datacenter name
+ description: vSON Datacenter name.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ number_of_servers:
+ type: number
+ label: Number of Servers
+ description: Number of vSON MON servers.
+ constraints:
+ - range: { min: 1, max: 1}
+
+resources:
+
+ vson_mon_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: number_of_servers}
+ resource_def:
+ type: nested_vson_server_from_vol.yaml
+ properties:
+ instance_index: "%index%"
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vfc_role: mon
+ oam_net_id: {get_param: oam_net_id}
+ oam_net_subnet_prefix_length: {get_param: oam_net_subnet_prefix_length}
+ default_gateway: {get_param: default_gateway}
+ dns_servers: {get_param: dns_servers}
+ ntp_servers: {get_param: ntp_servers}
+ oam_net_security_group_id: {get_param: oam_net_security_group_id}
+ availability_zones: [{get_param: availability_zone_0}]
+ vson_server_group_id: {get_param: vson_mon_server_group_id}
+ volume_ids: [{get_param: vson_mon_volume_id_0}]
+ vson_vm_names: [{get_param: vson_mon_name_0}]
+ oam_net_ips: [{get_param: vson_mon_oam_net_ip_0}]
+ vson_vm_flavor_name: {get_param: vson_mon_flavor_name}
+ vson_clm_oam_net_ip: {get_param: vson_clm_0_oam_net_ip_0}
+ vson_dc_unit: {get_param: vson_dc_unit}
+ swift_account_auth_token: {get_param: swift_account_auth_token}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon_volume.env
new file mode 100644
index 0000000000..f250c57ed1
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon_volume.env
@@ -0,0 +1,21 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique name for this VF module instance.
+# vf_module_name: module_1_vson_mon_volume
+
+## Base VM Image name the instance will be created from.
+ vson_mon_image_name: VSON-BASE-1.0
+
+## Availability zone for the vSON MON Cinder volume.
+# availability_zone_0: nova
+
+## Volume name
+ vson_mon_volume_name_0: vson_mon_volume_0
+
+## Size of the volume.Measured in gigabytes.
+## Default: 100
+ vson_mon_volume_size_0: 100
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon_volume.yaml
new file mode 100644
index 0000000000..f74d55922d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_1_vson_mon_volume.yaml
@@ -0,0 +1,69 @@
+heat_template_version: 2014-10-16
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: >
+ Create a Cinder volume.
+ Cinder volume is a storage in the form of block devices.
+ It can be used, for example, for providing storage to instance.
+ Volume supports creation from snapshot, backup or image.
+ Also volume can be created only by size.
+ The template creates volume for vSON Monitor and KPIs routing server
+ (Virtual Function Component MON).
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_mon_volume_name_0:
+ type: string
+ label: vSON MON volume name
+ description: Volume name.
+
+ vson_mon_volume_size_0:
+ type: number
+ label: vSON MON cinder volume size
+ description: Size of the Cinder volume. Measured in gigabytes.
+
+ vson_mon_image_name:
+ type: string
+ label: vSON MON VM image name
+ description: Image name the volume will be created from.
+
+resources:
+
+ vson_mon_volume_0:
+ type: OS::Cinder::Volume
+ properties:
+ name: {get_param: vson_mon_volume_name_0}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_0}
+ size: {get_param: vson_mon_volume_size_0}
+ image: {get_param: vson_mon_image_name}
+ description: >
+ vSON MON cinder volume.
+ The volume is created from the vSON base VM image.
+
+outputs:
+
+ vson_mon_volume_id_0:
+ value: {get_resource: vson_mon_volume_0}
+ description: ID of the vSON Monitor and KPIs routing volume.
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr.env
new file mode 100644
index 0000000000..884a5b82ab
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr.env
@@ -0,0 +1,68 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique ID for this VF instance.
+# vnf_id: 0
+
+## Unique name for this VF module instance.
+# vf_module_name: module_2_vson_mdr
+
+## Unique ID for this VF Module instance.
+# vf_module_id: 2
+
+## The ID of the OAM network.
+# oam_net_id: e74c21d6-9d47-4620-9594-7e440b4302b0
+
+## Address length prefix for the subnet on the OAM network
+# oam_net_subnet_prefix_length: 24
+
+## Default gateway.Required for the Sandbox environment.
+# default_gateway: 10.56.124.1
+
+## List of DNS servers
+# dns_servers: 64.102.6.247
+
+## List of NTP servers
+# ntp_servers: 173.38.201.67
+
+## Availability zone.
+## NOTE: vSON MDR instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_0: nova
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group intended for vSON MDR.
+# vson_mdr_server_group_id: 072b4591-e90f-4aee-a1d5-5755d509db21
+
+## The ID of Security group applied on the port
+## bound to the vSON OAM network.
+# oam_net_security_group_id: 42e187a1-45cc-4a99-993b-40a42a5cb081
+
+## ID of the volume intended for the vSON Mediator server.
+# vson_mdr_volume_id_0: 3751e62e-dd9d-457a-9df0-c4c6126091ed
+
+## Unique name for the vSON Mediator server.
+# vson_mdr_name_0: vson-05.cisco.com
+
+## The ID or name of the Mediator flavor.
+ vson_mdr_flavor_name: vson-mdr-flavor
+
+## Fixed IP assignment for the vSON MDR instance on the OAM network.
+# vson_mdr_oam_net_ip_0: 10.56.124.14
+
+## IP of the first vSON Cluster Management server.
+# vson_clm_0_oam_net_ip_0: 10.56.124.10
+
+## Name of the vSON Data Center.
+# vson_dc_unit: DC1
+
+## Swift account auth token.
+## Example: 041a5187bb4641f9b89583e2539776b0
+# swift_account_auth_token: 35a7c0fcc45f48988433834e4d88638c
+
+## Number of vSON Mediator servers.
+# number_of_servers: 1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr.yaml
new file mode 100644
index 0000000000..d9cea26b4c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr.yaml
@@ -0,0 +1,151 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: The template deploys vSON VFC of type Mediator (MDR).
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance.
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: OAM network subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_mdr_server_group_id:
+ type: string
+ label: vSON Mediator server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON Mediator instances.
+
+ vson_mdr_volume_id_0:
+ type: string
+ label: vSON Mediator Volume ID 0
+ description: Volume ID of the vSON Mediator server.
+
+ vson_mdr_name_0:
+ type: string
+ label: vSON Mediator instance name
+ description: Unique name to be issued to the vSON Mediator instance.
+
+ vson_mdr_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_mdr_oam_net_ip_0:
+ type: string
+ label: vSON MDR OAM network IP address
+ description: Fixed IP assignment for the vSON MDR instance on the OAM network.
+
+ vson_clm_0_oam_net_ip_0:
+ type: string
+ label: vSON Cluster Manager 0 OAM net IP
+ description: IP of the first vSON Cluster Management server.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Datacenter name
+ description: vSON Datacenter name.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ number_of_servers:
+ type: number
+ label: Number of Servers
+ description: Number of vSON Mediator servers.
+ constraints:
+ - range: { min: 1, max: 1}
+
+resources:
+
+ vson_mdr_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: number_of_servers}
+ resource_def:
+ type: nested_vson_server_from_vol.yaml
+ properties:
+ instance_index: "%index%"
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vfc_role: mdr
+ oam_net_id: {get_param: oam_net_id}
+ oam_net_subnet_prefix_length: {get_param: oam_net_subnet_prefix_length}
+ default_gateway: {get_param: default_gateway}
+ dns_servers: {get_param: dns_servers}
+ ntp_servers: {get_param: ntp_servers}
+ oam_net_security_group_id: {get_param: oam_net_security_group_id}
+ availability_zones: [{get_param: availability_zone_0}]
+ vson_server_group_id: {get_param: vson_mdr_server_group_id}
+ volume_ids: [{get_param: vson_mdr_volume_id_0}]
+ vson_vm_names: [{get_param: vson_mdr_name_0}]
+ oam_net_ips: [{get_param: vson_mdr_oam_net_ip_0}]
+ vson_vm_flavor_name: {get_param: vson_mdr_flavor_name}
+ vson_clm_oam_net_ip: {get_param: vson_clm_0_oam_net_ip_0}
+ vson_dc_unit: {get_param: vson_dc_unit}
+ swift_account_auth_token: {get_param: swift_account_auth_token}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr_volume.env
new file mode 100644
index 0000000000..794b9dcf7c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr_volume.env
@@ -0,0 +1,21 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique name for this VF module instance.
+# vf_module_name: module_2_vson_mdr_volume
+
+## Base VM Image name the instance will be created from.
+# vson_mdr_image_name: VSON-BASE-1.0
+
+## Availability zone for the vSON Management Cinder volume.
+# availability_zone_0: nova
+
+## Volume name
+ vson_mdr_volume_name_0: vson_mdr_volume_0
+
+## Size of the volume.Measured in gigabytes.
+## Default: 50
+ vson_mdr_volume_size_0: 50
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr_volume.yaml
new file mode 100644
index 0000000000..1652765273
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_2_vson_mdr_volume.yaml
@@ -0,0 +1,69 @@
+heat_template_version: 2014-10-16
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: >
+ Create a Cinder volume.
+ Cinder volume is a storage in the form of block devices.
+ It can be used, for example, for providing storage to instance.
+ Volume supports creation from snapshot, backup or image.
+ Also volume can be created only by size.
+ The template creates volume for vSON Mediator server
+ (Virtual Function Component MDR).
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_mdr_volume_name_0:
+ type: string
+ label: vSON MGT volume name
+ description: Volume name.
+
+ vson_mdr_volume_size_0:
+ type: number
+ label: vSON MDR cinder volume size
+ description: Size of the Cinder volume. Measured in gigabytes.
+
+ vson_mdr_image_name:
+ type: string
+ label: vSON Mediator VM image name
+ description: Image name the volume will be created from.
+
+resources:
+
+ vson_mdr_volume_0:
+ type: OS::Cinder::Volume
+ properties:
+ name: {get_param: vson_mdr_volume_name_0}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_0}
+ size: {get_param: vson_mdr_volume_size_0}
+ image: {get_param: vson_mdr_image_name}
+ description: >
+ vSON MDR cinder volume.
+ The volume is created from the vSON base VM image.
+
+outputs:
+
+ vson_mdr_volume_id_0:
+ value: {get_resource: vson_mdr_volume_0}
+ description: Volume ID.
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll.env
new file mode 100644
index 0000000000..4dd17cfe14
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll.env
@@ -0,0 +1,94 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique ID for this VF instance.
+# vnf_id: 0
+
+## Unique name for this VF module instance.
+# vf_module_name: module_3_vson_cll
+
+## Unique ID for this VF Module instance.
+# vf_module_id: 3
+
+## The ID of the OAM network.
+# oam_net_id: e74c21d6-9d47-4620-9594-7e440b4302b0
+
+## Address length prefix for the subnet on the OAM network
+# oam_net_subnet_prefix_length: 24
+
+## Default gateway.Required for Sandbox.
+# default_gateway: 10.56.124.1
+
+## List of DNS servers
+# dns_servers: 64.102.6.247
+
+## List of NTP servers
+# ntp_servers: 173.38.201.67
+
+## First availability zone for vSON Cluster leaders.
+## NOTE: vSON Cluster leader instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_0: nova
+
+## Second availability zone for vSON Cluster leaders.
+## NOTE: vSON Cluster leader instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_1: nova
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group intended for vSON Cluster leaders.
+# vson_leader_server_group_id: 138c78ff-3552-4ee7-ad9d-a5b78427bdd0
+
+## The ID of Security group applied on the port
+## bound to the vSON OAM network.
+# oam_net_security_group_id: 42e187a1-45cc-4a99-993b-40a42a5cb081
+
+## ID of the volume intended for the first vSON Cluster leader.
+# vson_cll_volume_id_0: 0378cf0f-5347-4227-9943-d3a5cabfec71
+
+## ID of the volume intended for the second vSON Cluster leader.
+# vson_cll_volume_id_1: ae45781e-11ee-4b92-99ce-ca166ee2a5a9
+
+## ID of the volume intended for the third vSON Cluster leader.
+# vson_cll_volume_id_2: 395c46e2-8230-4d0d-9a08-6bca9f80b716
+
+## Unique name for the first vSON Cluster leader.
+# vson_cll_name_0: vson-06.cisco.com
+
+## Unique name for the second vSON Cluster leader.
+# vson_cll_name_1: vson-07.cisco.com
+
+## Unique name for the third vSON Cluster leader.
+# vson_cll_name_2: vson-08.cisco.com
+
+## VM Image name a vSON Cluster leader instance will be created from.
+# vson_cll_image_name: VSON-BASE-1.0
+
+## The ID or name of the Cluster leader flavor.
+# vson_cll_flavor_name: vson-cll-flavor
+
+## Fixed IP assignment for the first vSON Cluster leader instance on the OAM network.
+# vson_cll_oam_net_ip_0: 10.56.124.15
+
+## Fixed IP assignment for the second vSON Cluster leader instance on the OAM network.
+# vson_cll_oam_net_ip_1: 10.56.124.16
+
+ ## Fixed IP assignment for the third vSON Cluster leader instance on the OAM network.
+# vson_cll_oam_net_ip_2: 10.56.124.17
+
+## IP of the first vSON Cluster Management server.
+# vson_clm_0_oam_net_ip_0: 10.56.124.10
+
+## Name of the vSON Data Center.
+# vson_dc_unit: DC1
+
+## Swift account auth token.
+## Example: 041a5187bb4641f9b89583e2539776b0
+# swift_account_auth_token: 35a7c0fcc45f48988433834e4d88638c
+
+## Number of vSON Cluster leaders.
+# number_of_servers: 3
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll.yaml
new file mode 100644
index 0000000000..61601342bc
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll.yaml
@@ -0,0 +1,195 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: >
+ The template deploys three instances of vSON Cluster leaders,
+ instantiates cluster and the first Datacenter.
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance.
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: OAM network subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: First availability zone.
+
+ availability_zone_1:
+ type: string
+ label: Availability zone 1
+ description: Second availability zone.
+
+ vson_leader_server_group_id:
+ type: string
+ label: vSON Cluster leader server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON Cluster leaders.
+
+ vson_cll_volume_id_0:
+ type: string
+ label: vSON Cluster Leader Volume ID 0
+ description: Volume ID of the first vSON Cluster leader.
+
+ vson_cll_volume_id_1:
+ type: string
+ label: vSON Cluster Leader Volume ID 1
+ description: Volume ID of the second vSON Cluster leader.
+
+ vson_cll_volume_id_2:
+ type: string
+ label: vSON Cluster Leader Volume ID 2
+ description: Volume ID of the third vSON Cluster leader.
+
+ vson_cll_name_0:
+ type: string
+ label: First vSON Cluster leader name
+ description: Unique name to be issued to the first vSON Cluster leader.
+
+ vson_cll_name_1:
+ type: string
+ label: Second vSON Cluster leader name
+ description: Unique name to be issued to the second vSON Cluster leader.
+
+ vson_cll_name_2:
+ type: string
+ label: Third vSON Cluster leader name
+ description: Unique name to be issued to the third vSON Cluster leader.
+
+ vson_cll_image_name:
+ type: string
+ label: vSON base VM image name
+ description: VM Image name the vSON Cluster leader instance will be created from.
+
+ vson_cll_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_cll_oam_net_ip_0:
+ type: string
+ label: vSON Cluster leader OAM network IP address 0
+ description: Fixed IP assignment for the first vSON Cluster leader instance on the OAM network.
+
+ vson_cll_oam_net_ip_1:
+ type: string
+ label: vSON Cluster leader OAM network IP address 1
+ description: Fixed IP assignment for the second vSON Cluster leader instance on the OAM network.
+
+ vson_cll_oam_net_ip_2:
+ type: string
+ label: vSON Cluster leader OAM network IP address 2
+ description: Fixed IP assignment for the third vSON Cluster leader instance on the OAM network.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Datacenter name
+ description: vSON Datacenter name.
+
+ vson_clm_0_oam_net_ip_0:
+ type: string
+ label: vSON Cluster Manager 0 OAM net IP
+ description: IP of the first vSON Cluster Management server.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ number_of_servers:
+ type: number
+ label: Number of Servers
+ description: Number of vSON Cluster leaders.
+ constraints:
+ - range: { min: 1, max: 3}
+
+resources:
+
+ vson_cll_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: number_of_servers}
+ resource_def:
+ type: nested_vson_server_with_vol.yaml
+ properties:
+ instance_index: "%index%"
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vfc_role: cll
+ oam_net_id: {get_param: oam_net_id}
+ oam_net_subnet_prefix_length: {get_param: oam_net_subnet_prefix_length}
+ default_gateway: {get_param: default_gateway}
+ dns_servers: {get_param: dns_servers}
+ ntp_servers: {get_param: ntp_servers}
+ oam_net_security_group_id: {get_param: oam_net_security_group_id}
+ availability_zones: [{get_param: availability_zone_0}, {get_param: availability_zone_1}, {get_param: availability_zone_0}]
+ vson_server_group_id: {get_param: vson_leader_server_group_id}
+ volume_ids: [{get_param: vson_cll_volume_id_0}, {get_param: vson_cll_volume_id_1}, {get_param: vson_cll_volume_id_2}]
+ vson_vm_names: [{get_param: vson_cll_name_0}, {get_param: vson_cll_name_1}, {get_param: vson_cll_name_2}]
+ oam_net_ips: [{get_param: vson_cll_oam_net_ip_0}, {get_param: vson_cll_oam_net_ip_1}, {get_param: vson_cll_oam_net_ip_2}]
+ vson_vm_image_name: {get_param: vson_cll_image_name}
+ vson_vm_flavor_name: {get_param: vson_cll_flavor_name}
+ vson_dc_unit: {get_param: vson_dc_unit}
+ vson_clm_oam_net_ip: {get_param: vson_clm_0_oam_net_ip_0}
+ vson_join_cluster_auth_token: ""
+ swift_account_auth_token: {get_param: swift_account_auth_token}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll_volume.env
new file mode 100644
index 0000000000..61b91ef064
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll_volume.env
@@ -0,0 +1,26 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique name for this VF module instance.
+# vf_module_name: module_3_vson_cll_volume
+
+## First availability zone.
+# availability_zone_0: nova
+
+## Second availability zone.
+# availability_zone_1: nova
+
+## Size of the first volume.Measured in gigabytes.
+## Default: 100
+# vson_cll_volume_size_0: 100
+
+## Size of the second volume.Measured in gigabytes.
+## Default: 100
+# vson_cll_volume_size_1: 100
+
+## Size of the third volume.Measured in gigabytes.
+## Default: 100
+# vson_cll_volume_size_2: 100
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll_volume.yaml
new file mode 100644
index 0000000000..3e203538e7
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_3_vson_cll_volume.yaml
@@ -0,0 +1,116 @@
+heat_template_version: 2014-10-16
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: >
+ Creates Cinder volumes.
+ Cinder volume is a storage in the form of block devices.
+ It can be used, for example, for providing storage to instance.
+ Volume supports creation from snapshot, backup or image.
+ Also volume can be created only by size.
+ The template creates volumes for the vSON Cluster leaders
+ (Virtual Function Component CLL).
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: First availability zone.
+
+ availability_zone_1:
+ type: string
+ label: Availability zone 1
+ description: Second availability zone.
+
+ vson_cll_volume_size_0:
+ type: number
+ label: Cinder volume ID 0 size
+ description: >
+ Size of the first Cinder volume. Measured in gigabytes.
+
+ vson_cll_volume_size_1:
+ type: number
+ label: Cinder volume ID 1 size
+ description: >
+ Size of the second Cinder volume. Measured in gigabytes.
+
+ vson_cll_volume_size_2:
+ type: number
+ label: Cinder volume ID 2 size
+ description: >
+ Size of the third Cinder volume. Measured in gigabytes.
+
+resources:
+
+ vson_cll_volume_0:
+ type: OS::Cinder::Volume
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_cll_volume_0
+ params:
+ VNF_NAME: { get_param: vnf_name}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_0}
+ size: {get_param: vson_cll_volume_size_0}
+ description: Cinder volume for the first vSON Cluster leader.
+
+ vson_cll_volume_1:
+ type: OS::Cinder::Volume
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_cll_volume_1
+ params:
+ VNF_NAME: { get_param: vnf_name}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_1}
+ size: {get_param: vson_cll_volume_size_1}
+ description: Cinder volume for the second vSON Cluster leader.
+
+ vson_cll_volume_2:
+ type: OS::Cinder::Volume
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_cll_volume_2
+ params:
+ VNF_NAME: { get_param: vnf_name}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_0}
+ size: {get_param: vson_cll_volume_size_2}
+ description: Cinder volume for the third vSON Cluster leader.
+
+outputs:
+
+ vson_cll_volume_id_0:
+ value: {get_resource: vson_cll_volume_0}
+ description: First vSON Cluster leader volume ID.
+
+ vson_cll_volume_id_1:
+ value: {get_resource: vson_cll_volume_1}
+ description: Second vSON Cluster leader volume ID.
+
+ vson_cll_volume_id_2:
+ value: {get_resource: vson_cll_volume_2}
+ description: Third vSON Cluster leader volume ID.
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc.env
new file mode 100644
index 0000000000..ba9877c2c7
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc.env
@@ -0,0 +1,76 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique ID for this VF instance.
+# vnf_id: 0
+
+## Unique name for this VF module instance.
+# vf_module_name: module_4_vson_dbc
+
+## Unique ID for this VF Module instance.
+# vf_module_id: 4
+
+## The ID of the OAM network.
+# oam_net_id: e74c21d6-9d47-4620-9594-7e440b4302b0
+
+## Address length prefix for the subnet on the OAM network
+# oam_net_subnet_prefix_length: 24
+
+## Default gateway.Required for the Sandbox environment.
+# default_gateway: 10.56.124.1
+
+## List of DNS servers
+# dns_servers: 64.102.6.247
+
+## List of NTP servers
+# ntp_servers: 173.38.201.67
+
+## Availability zone.
+## NOTE: vSON DBC instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_0: nova
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group intended for vSON DBC.
+# vson_dbc_server_group_id: f2e8ab52-4582-4a22-b8f7-88ec8a7bdedd
+
+## The ID of Security group applied on the port
+## bound to the vSON OAM network.
+# oam_net_security_group_id: 42e187a1-45cc-4a99-993b-40a42a5cb081
+
+## ID of the volume intended for the first vSON DBC instance.
+# vson_dbc_volume_id_0: 2c76e40e-097c-4c7d-932c-2e4166bb98df
+
+## Unique name for the vSON DBC instance.
+# vson_dbc_name_0: vson-09.cisco.com
+
+## VM Image name a vSON DBC instance will be created from.
+ vson_dbc_image_name: VSON-BASE-1.0
+
+## The ID or name of the DBC flavor.
+ vson_dbc_flavor_name: vson-dbc-flavor
+
+## Fixed IP assignment for the vSON DBC instance on the OAM network.
+# vson_dbc_oam_net_ip_0: 10.56.124.18
+
+## IP of the first vSON Cluster Management server.
+# vson_clm_0_oam_net_ip_0: 10.56.124.10
+
+## Name of the vSON Data Center.
+# vson_dc_unit: DC1
+
+## Authentication Token generated for the user permitted to add
+## a vSON member to existing vSON Cluster and Datacenter.
+## Default is the token generated for user "dev".In this case retain the value empty.
+# vson_join_cluster_auth_token: ""
+
+## Swift account auth token.
+## Example: 041a5187bb4641f9b89583e2539776b0
+# swift_account_auth_token: 1c3fb715a9c142a9969b9f14617dab94
+
+## Number of vSON DBC servers.
+# number_of_servers: 1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc.yaml
new file mode 100644
index 0000000000..3d7fd9d54c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc.yaml
@@ -0,0 +1,165 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: The template deploys vSON VFC of type Database Config (DBC).
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance.
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: OAM network subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_dbc_server_group_id:
+ type: string
+ label: vSON DBS server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON DBS instances.
+
+ vson_dbc_volume_id_0:
+ type: string
+ label: vSON DBC Volume ID 0
+ description: Volume ID of the vSON DBC server.
+
+ vson_dbc_name_0:
+ type: string
+ label: vSON DBC name
+ description: Unique name to be issued to the vSON DBC server.
+
+ vson_dbc_image_name:
+ type: string
+ label: vSON base VM image name
+ description: VM Image name the vSON DBC instance will be created from.
+
+ vson_dbc_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_dbc_oam_net_ip_0:
+ type: string
+ label: vSON DBC OAM network IP address
+ description: Fixed IP assignment for the vSON DBC instance on the OAM network.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Datacenter name
+ description: vSON Datacenter name.
+
+ vson_clm_0_oam_net_ip_0:
+ type: string
+ label: vSON Cluster Manager 0 OAM net IP
+ description: IP of the first vSON Cluster Management server.
+
+ vson_join_cluster_auth_token:
+ type: string
+ label: vSON join cluster auth token
+ description: >
+ Authentication Token generated for the user permitted to add
+ a new vSON Datacenter.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ number_of_servers:
+ type: number
+ label: Number of Servers
+ description: Number of vSON DBC servers.
+ constraints:
+ - range: { min: 1, max: 1}
+
+resources:
+
+ vson_dbc_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: number_of_servers}
+ resource_def:
+ type: nested_vson_server_with_vol.yaml
+ properties:
+ instance_index: "%index%"
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vfc_role: dbc
+ oam_net_id: {get_param: oam_net_id}
+ oam_net_subnet_prefix_length: {get_param: oam_net_subnet_prefix_length}
+ default_gateway: {get_param: default_gateway}
+ dns_servers: {get_param: dns_servers}
+ ntp_servers: {get_param: ntp_servers}
+ oam_net_security_group_id: {get_param: oam_net_security_group_id}
+ availability_zones: [{get_param: availability_zone_0}]
+ vson_server_group_id: {get_param: vson_dbc_server_group_id}
+ volume_ids: [{get_param: vson_dbc_volume_id_0}]
+ vson_vm_names: [{get_param: vson_dbc_name_0}]
+ oam_net_ips: [{get_param: vson_dbc_oam_net_ip_0}]
+ vson_vm_image_name: {get_param: vson_dbc_image_name}
+ vson_vm_flavor_name: {get_param: vson_dbc_flavor_name}
+ vson_dc_unit: {get_param: vson_dc_unit}
+ vson_clm_oam_net_ip: {get_param: vson_clm_0_oam_net_ip_0}
+ vson_join_cluster_auth_token: {get_param: vson_join_cluster_auth_token }
+ swift_account_auth_token: {get_param: swift_account_auth_token}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc_volume.env
new file mode 100644
index 0000000000..f17c7e0dac
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc_volume.env
@@ -0,0 +1,18 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique name for this VF module instance.
+# vf_module_name: module_4_vson_dbc_volume
+
+## Availability zone.
+# availability_zone_0: nova
+
+## Volume name
+# vson_dbc_volume_name_0: vson_dbc_volume_0
+
+## Size of the volume.Measured in gigabytes.
+## Default: 50
+ vson_dbc_volume_size_0: 50
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc_volume.yaml
new file mode 100644
index 0000000000..5a847a26d0
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_4_vson_dbc_volume.yaml
@@ -0,0 +1,61 @@
+heat_template_version: 2014-10-16
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: >
+ Creates a Cinder volume.
+ Cinder volume is a storage in the form of block devices.
+ It can be used, for example, for providing storage to instance.
+ Volume supports creation from snapshot, backup or image.
+ Also volume can be created only by size.
+ The template creates volume for vSON DB Config servers
+ (Virtual Function Component DBC).
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_dbc_volume_name_0:
+ type: string
+ label: vSON DBC volume name
+ description: Volume name.
+
+ vson_dbc_volume_size_0:
+ type: number
+ label: vSON DBC cinder volume size
+ description: Size of the Cinder volume. Measured in gigabytes.
+
+resources:
+
+ vson_dbc_volume_0:
+ type: OS::Cinder::Volume
+ properties:
+ name: {get_param: vson_dbc_volume_name_0}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_0}
+ size: {get_param: vson_dbc_volume_size_0}
+ description: vSON DB Config cinder volume.
+
+outputs:
+
+ vson_dbc_volume_id_0:
+ value: {get_resource: vson_dbc_volume_0}
+ description: vSON DB Config volume ID.
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg.env
new file mode 100644
index 0000000000..94c84a496b
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg.env
@@ -0,0 +1,76 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique ID for this VF instance.
+# vnf_id: 0
+
+## Unique name for this VF module instance.
+# vf_module_name: module_5_vson_dbg
+
+## Unique ID for this VF Module instance.
+# vf_module_id: 5
+
+## The ID of the OAM network.
+# oam_net_id: e74c21d6-9d47-4620-9594-7e440b4302b0
+
+## Address length prefix for the subnet on the OAM network
+# oam_net_subnet_prefix_length: 24
+
+## Default gateway.Required for the Sandbox environment.
+# default_gateway: 10.56.124.1
+
+## List of DNS servers
+# dns_servers: 64.102.6.247
+
+## List of NTP servers
+# ntp_servers: 173.38.201.67
+
+## Availability zone.
+## NOTE: vSON DBG instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_0: nova
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group intended for vSON DBG.
+# vson_dbg_server_group_id: 9e74765d-8aeb-463f-aa41-7999d6d1e5b9
+
+## The ID of Security group applied on the port
+## bound to the vSON OAM network.
+# oam_net_security_group_id: 42e187a1-45cc-4a99-993b-40a42a5cb081
+
+## ID of the volume intended for the first vSON DBG instance.
+# vson_dbg_volume_id_0: 78c30f76-8fea-4cd9-a909-2d1f2724a422
+
+## Unique name for the vSON DBG instance.
+# vson_dbg_name_0: vson-10.cisco.com
+
+## VM Image name a vSON DBG instance will be created from.
+ vson_dbg_image_name: VSON-BASE-1.0
+
+## The ID or name of the DBG flavor.
+ vson_dbg_flavor_name: vson-dbg-flavor
+
+## Fixed IP assignment for the vSON DBG instance on the OAM network.
+# vson_dbg_oam_net_ip_0: 10.56.124.19
+
+## IP of the first vSON Cluster Management server.
+# vson_clm_0_oam_net_ip_0: 10.56.124.10
+
+## Name of the vSON Data Center.
+# vson_dc_unit: DC1
+
+## Authentication Token generated for the user permitted to add
+## a vSON member to existing vSON Cluster and Datacenter.
+## Default is the token generated for user "dev".In this case retain the value empty.
+# vson_join_cluster_auth_token: ""
+
+## Swift account auth token.
+## Example: 041a5187bb4641f9b89583e2539776b0
+# swift_account_auth_token: 1c3fb715a9c142a9969b9f14617dab94
+
+## Number of vSON DBG servers.
+# number_of_servers: 1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg.yaml
new file mode 100644
index 0000000000..8daf7ee665
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg.yaml
@@ -0,0 +1,165 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: The template deploys vSON VFC of type Database Global (DBG).
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance.
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: OAM network subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_dbg_server_group_id:
+ type: string
+ label: vSON DBS server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON DBS instances.
+
+ vson_dbg_volume_id_0:
+ type: string
+ label: vSON DBG Volume ID 0
+ description: Volume ID of the vSON DBG server.
+
+ vson_dbg_name_0:
+ type: string
+ label: vSON DBG name
+ description: Unique name to be issued to the vSON DBG server.
+
+ vson_dbg_image_name:
+ type: string
+ label: vSON base VM image name
+ description: VM Image name the vSON DBG instance will be created from.
+
+ vson_dbg_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_dbg_oam_net_ip_0:
+ type: string
+ label: vSON DBG OAM network IP address
+ description: Fixed IP assignment for the vSON DBG instance on the OAM network.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Datacenter name
+ description: vSON Datacenter name.
+
+ vson_clm_0_oam_net_ip_0:
+ type: string
+ label: vSON Cluster Manager 0 OAM net IP
+ description: IP of the first vSON Cluster Management server.
+
+ vson_join_cluster_auth_token:
+ type: string
+ label: vSON join cluster auth token
+ description: >
+ Authentication Token generated for the user permitted to add
+ a new vSON Datacenter.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ number_of_servers:
+ type: number
+ label: Number of Servers
+ description: Number of vSON DBG servers.
+ constraints:
+ - range: { min: 1, max: 1}
+
+resources:
+
+ vson_dbg_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: number_of_servers}
+ resource_def:
+ type: nested_vson_server_with_vol.yaml
+ properties:
+ instance_index: "%index%"
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vfc_role: dbg
+ oam_net_id: {get_param: oam_net_id}
+ oam_net_subnet_prefix_length: {get_param: oam_net_subnet_prefix_length}
+ default_gateway: {get_param: default_gateway}
+ dns_servers: {get_param: dns_servers}
+ ntp_servers: {get_param: ntp_servers}
+ oam_net_security_group_id: {get_param: oam_net_security_group_id}
+ availability_zones: [{get_param: availability_zone_0}]
+ vson_server_group_id: {get_param: vson_dbg_server_group_id}
+ volume_ids: [{get_param: vson_dbg_volume_id_0}]
+ vson_vm_names: [{get_param: vson_dbg_name_0}]
+ oam_net_ips: [{get_param: vson_dbg_oam_net_ip_0}]
+ vson_vm_image_name: {get_param: vson_dbg_image_name}
+ vson_vm_flavor_name: {get_param: vson_dbg_flavor_name}
+ vson_dc_unit: {get_param: vson_dc_unit}
+ vson_clm_oam_net_ip: {get_param: vson_clm_0_oam_net_ip_0}
+ vson_join_cluster_auth_token: {get_param: vson_join_cluster_auth_token }
+ swift_account_auth_token: {get_param: swift_account_auth_token}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg_volume.env
new file mode 100644
index 0000000000..979672bf14
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg_volume.env
@@ -0,0 +1,18 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique name for this VF module instance.
+# vf_module_name: module_5_vson_dbg_volume
+
+## Availability zone.
+# availability_zone_0: nova
+
+## Volume name
+# vson_dbg_volume_name_0: vson_dbg_volume_0
+
+## Size of the first volume.Measured in gigabytes.
+## Default: 200
+ vson_dbg_volume_size_0: 200
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg_volume.yaml
new file mode 100644
index 0000000000..a2c0739a92
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_5_vson_dbg_volume.yaml
@@ -0,0 +1,62 @@
+heat_template_version: 2014-10-16
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: >
+ Creates a Cinder volume.
+ Cinder volume is a storage in the form of block devices.
+ It can be used, for example, for providing storage to instance.
+ Volume supports creation from snapshot, backup or image.
+ Also volume can be created only by size.
+ The template creates volumes for vSON DB Global servers
+ (Virtual Function Component DBG).
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_dbg_volume_name_0:
+ type: string
+ label: vSON DBG volume name
+ description: Volume name.
+
+ vson_dbg_volume_size_0:
+ type: number
+ label: vSON DBG cinder volume size
+ description: >
+ Size of the Cinder volume. Measured in gigabytes.
+
+resources:
+
+ vson_dbg_volume_0:
+ type: OS::Cinder::Volume
+ properties:
+ name: {get_param: vson_dbg_volume_name_0}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_0}
+ size: {get_param: vson_dbg_volume_size_0}
+ description: vSON DB Global cinder volume.
+
+outputs:
+
+ vson_dbg_volume_id_0:
+ value: {get_resource: vson_dbg_volume_0}
+ description: vSON DB Global volume ID.
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs.env
new file mode 100644
index 0000000000..9738bd5f3d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs.env
@@ -0,0 +1,90 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique ID for this VF instance.
+# vnf_id: 0
+
+## Unique name for this VF module instance.
+# vf_module_name: module_6_vson_dbs
+
+## Unique ID for this VF Module instance.
+# vf_module_id: 6
+
+## The ID of the OAM network.
+# oam_net_id: e74c21d6-9d47-4620-9594-7e440b4302b0
+
+## Address length prefix for the subnet on the OAM network
+# oam_net_subnet_prefix_length: 24
+
+## Default gateway.Required for the Sandbox environment.
+# default_gateway: 10.56.124.1
+
+## List of DNS servers
+# dns_servers: 64.102.6.247
+
+## List of NTP servers
+# ntp_servers: 173.38.201.67
+
+## First availability zone.
+## NOTE: vSON DBS instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_0: nova
+
+## Second availability zone.
+## NOTE: vSON DBS instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_1: nova
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group intended for vSON DBS.
+# vson_dbs_server_group_id: c301c8b7-ddfd-4e81-8b9b-fedc8f339cc2
+
+## The ID of Security group applied on the port
+## bound to the vSON OAM network.
+# oam_net_security_group_id: 42e187a1-45cc-4a99-993b-40a42a5cb081
+
+## ID of the volume intended for the first vSON DBS instance.
+# vson_dbs_volume_id_0: 69b10528-c597-48bc-8cb2-e9113b3dc989
+
+## ID of the volume intended for the second vSON DBS instance.
+# vson_dbs_volume_id_1: 5c7fc4ef-db53-4956-85dc-82aaf8c8f3d4
+
+## Unique name for the first vSON DBS instance.
+# vson_dbs_name_0: vson-11.cisco.com
+
+## Unique name for the second vSON DBS instance.
+# vson_dbs_name_1: vson-12.cisco.com
+
+## VM Image name a vSON DBS instance will be created from.
+ vson_dbs_image_name: VSON-BASE-1.0
+
+## The ID or name of the DBS flavor.
+ vson_dbs_flavor_name: vson-dbs-flavor
+
+## Fixed IP assignment for the first vSON DBS instance on the OAM network.
+# vson_dbs_oam_net_ip_0: 10.56.124.22
+
+## Fixed IP assignment for the second vSON DBS instance on the OAM network.
+# vson_dbs_oam_net_ip_1: 10.56.124.23
+
+## IP of the first vSON Cluster Management server.
+# vson_clm_0_oam_net_ip_0: 10.56.124.10
+
+## Name of the vSON Data Center.
+# vson_dc_unit: DC1
+
+## Authentication Token generated for the user permitted to add
+## a vSON member to existing vSON Cluster and Datacenter.
+## Default is the token generated for user "dev".In this case retain the value empty.
+# vson_join_cluster_auth_token: ""
+
+## Swift account auth token.
+## Example: 041a5187bb4641f9b89583e2539776b0
+# swift_account_auth_token: 7a59a591e7444be0893bd5c179330299
+
+## Number of vSON DBS servers.
+# number_of_servers: 2
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs.yaml
new file mode 100644
index 0000000000..9eabebebaf
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs.yaml
@@ -0,0 +1,187 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: >
+ The template deploys vSON VFC of type Database Shard (DBS)
+ VM instances: Primary and Secondary.
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance.
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: OAM network subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: First availability zone.
+
+ availability_zone_1:
+ type: string
+ label: Availability zone 1
+ description: Second availability zone.
+
+ vson_dbs_server_group_id:
+ type: string
+ label: vSON DBS server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON DBS instances.
+
+ vson_dbs_volume_id_0:
+ type: string
+ label: vSON DBS Volume ID 0
+ description: Volume ID of the first vSON DBS server.
+
+ vson_dbs_volume_id_1:
+ type: string
+ label: vSON DBS Volume ID 1
+ description: Volume ID of the second vSON DBS server.
+
+ vson_dbs_name_0:
+ type: string
+ label: First vSON DBS name
+ description: Unique name to be issued to the first vSON DBS server.
+
+ vson_dbs_name_1:
+ type: string
+ label: Second vSON DBS name
+ description: Unique name to be issued to the second vSON DBS server.
+
+ vson_dbs_image_name:
+ type: string
+ label: vSON base VM image name
+ description: VM Image name the vSON DBS instance will be created from.
+
+ vson_dbs_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_dbs_oam_net_ip_0:
+ type: string
+ label: vSON DBS OAM network IP address 0
+ description: Fixed IP assignment for the first vSON DBS instance on the OAM network.
+
+ vson_dbs_oam_net_ip_1:
+ type: string
+ label: vSON DBS OAM network IP address 1
+ description: Fixed IP assignment for the second vSON DBS instance on the OAM network.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Datacenter name
+ description: vSON Datacenter name.
+
+ vson_clm_0_oam_net_ip_0:
+ type: string
+ label: vSON Cluster Manager 0 OAM net IP
+ description: IP of the first vSON Cluster Management server.
+
+ vson_join_cluster_auth_token:
+ type: string
+ label: vSON join cluster auth token
+ description: >
+ Authentication Token generated for the user permitted to add
+ a new vSON Datacenter.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ number_of_servers:
+ type: number
+ label: Number of Servers
+ description: Number of vSON DBS servers.
+ constraints:
+ - range: { min: 1, max: 2}
+
+resources:
+
+ vson_dbs_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: number_of_servers}
+ resource_def:
+ type: nested_vson_server_with_vol.yaml
+ properties:
+ instance_index: "%index%"
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vfc_role: dbs
+ oam_net_id: {get_param: oam_net_id}
+ oam_net_subnet_prefix_length: {get_param: oam_net_subnet_prefix_length}
+ default_gateway: {get_param: default_gateway}
+ dns_servers: {get_param: dns_servers}
+ ntp_servers: {get_param: ntp_servers}
+ oam_net_security_group_id: {get_param: oam_net_security_group_id}
+ availability_zones: [{get_param: availability_zone_0}, {get_param: availability_zone_1}]
+ vson_server_group_id: {get_param: vson_dbs_server_group_id}
+ volume_ids: [{get_param: vson_dbs_volume_id_0}, {get_param: vson_dbs_volume_id_1}]
+ vson_vm_names: [{get_param: vson_dbs_name_0}, {get_param: vson_dbs_name_1}]
+ oam_net_ips: [{get_param: vson_dbs_oam_net_ip_0}, {get_param: vson_dbs_oam_net_ip_1}]
+ vson_vm_image_name: {get_param: vson_dbs_image_name}
+ vson_vm_flavor_name: {get_param: vson_dbs_flavor_name}
+ vson_dc_unit: {get_param: vson_dc_unit}
+ vson_clm_oam_net_ip: {get_param: vson_clm_0_oam_net_ip_0}
+ vson_join_cluster_auth_token: {get_param: vson_join_cluster_auth_token }
+ swift_account_auth_token: {get_param: swift_account_auth_token}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs_volume.env
new file mode 100644
index 0000000000..a883d91120
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs_volume.env
@@ -0,0 +1,28 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique name for this VF module instance.
+# vf_module_name: module_6_vson_dbs_volume
+
+## First availability zone.
+# availability_zone_0: nova
+
+## Second availability zone.
+# availability_zone_1: nova
+
+## Name for the first volume.
+# vson_dbs_volume_name_0: vson_dbs_volume_0
+
+## Name for the second volume.
+# vson_dbs_volume_name_1: vson_dbs_volume_1
+
+## Size of the volume.Measured in gigabytes.
+## Default: 500
+ vson_dbs_volume_size_0: 500
+
+## Size of the volume.Measured in gigabytes.
+## Default: 500
+ vson_dbs_volume_size_1: 500
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs_volume.yaml
new file mode 100644
index 0000000000..b16bbde3b5
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_6_vson_dbs_volume.yaml
@@ -0,0 +1,94 @@
+heat_template_version: 2014-10-16
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: >
+ Creates Cinder volumes.
+ Cinder volume is a storage in the form of block devices.
+ It can be used, for example, for providing storage to instance.
+ Volume supports creation from snapshot, backup or image.
+ Also volume can be created only by size.
+ The template creates volumes for vSON Database servers configured for sharding
+ (Virtual Function Component DBS).
+ The shard consists of two Database instances:
+ - Primary
+ - Secondary
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: First availability zone.
+
+ availability_zone_1:
+ type: string
+ label: Availability zone 1
+ description: Second availability zone.
+
+ vson_dbs_volume_name_0:
+ type: string
+ label: vSON DBS volume name 0
+ description: First volume name.
+
+ vson_dbs_volume_name_1:
+ type: string
+ label: vSON DBS volume name 1
+ description: Second volume name.
+
+ vson_dbs_volume_size_0:
+ type: number
+ label: vSON DBS volume ID 0 size
+ description: Size of the first Cinder volume. Measured in gigabytes.
+
+ vson_dbs_volume_size_1:
+ type: number
+ label: vSON DBS volume ID 1 size
+ description: Size of the second Cinder volume. Measured in gigabytes.
+
+resources:
+
+ vson_dbs_volume_0:
+ type: OS::Cinder::Volume
+ properties:
+ name: {get_param: vson_dbs_volume_name_0}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_0}
+ size: {get_param: vson_dbs_volume_size_0}
+ description: Cinder volume for the first vSON DBS VM instance.
+
+ vson_dbs_volume_1:
+ type: OS::Cinder::Volume
+ properties:
+ name: {get_param: vson_dbs_volume_name_1}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_1}
+ size: {get_param: vson_dbs_volume_size_1}
+ description: Cinder volume for the second vSON DBS VM instance.
+
+outputs:
+
+ vson_dbs_volume_id_0:
+ value: {get_resource: vson_dbs_volume_0}
+ description: ID of the first vSON DBS volume.
+
+ vson_dbs_volume_id_1:
+ value: {get_resource: vson_dbs_volume_1}
+ description: ID of the second vSON DBS volume.
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app.env
new file mode 100644
index 0000000000..6fc5f45c0c
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app.env
@@ -0,0 +1,85 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique ID for this VF instance.
+# vnf_id: 0
+
+## Unique name for this VF module instance.
+# vf_module_name: module_7_vson_app
+
+## Unique ID for this VF Module instance.
+# vf_module_id: 7
+
+## The ID of the OAM network.
+# oam_net_id: e74c21d6-9d47-4620-9594-7e440b4302b0
+
+## Address length prefix for the IPv4 subnet on the OAM network
+# oam_net_subnet_prefix_length: 24
+
+## Address length prefix for the IPv6 subnet on the OAM network
+# oam_net_subnet_v6_prefix_length: 64
+
+## Default IPv4 gateway.Required for Sandbox.
+# default_gateway: 10.56.124.1
+
+## Default IPv6 gateway. Optional parameter.
+# default_gateway_v6: ""
+
+## List of DNS servers
+# dns_servers: 64.102.6.247
+
+## List of NTP servers
+# ntp_servers: 173.38.201.67
+
+## Availability zone.
+## NOTE: vSON APP instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_0: nova
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group intended for vSON APP.
+# vson_app_server_group_id: 9e74765d-8aeb-463f-aa41-7999d6d1e5b9
+
+## The ID of Security group applied on the port
+## bound to the vSON OAM network.
+# oam_net_security_group_id: 42e187a1-45cc-4a99-993b-40a42a5cb081
+
+## ID of the volume intended for the vSON APP server.
+# vson_app_volume_id_0: f7a863a0-7256-40bb-91f3-4b43a063a40f
+
+## Unique name for the vSON APP server.
+ vson_app_name_0: vson-13.cisco.com
+
+## VM Image name the vSON APP instance will be created from.
+ vson_app_image_name: VSON-BASE-1.0
+
+## The ID or name of the APP flavor.
+ vson_app_flavor_name: vson-app-flavor
+
+## Fixed IPv4 assignment for the APP instance on the OAM network.
+# vson_app_oam_net_ip_0: 10.56.124.24
+
+## Fixed IPv6 assignment for the APP instance on the OAM network.
+# vson_app_oam_net_v6_ip_0: 2606:ae00:2e01:3a0::5
+
+## IP of the first vSON Cluster Management server.
+# vson_clm_0_oam_net_ip_0: 10.56.124.10
+
+## Name of the vSON Data Center.
+# vson_dc_unit: DC1
+
+## Authentication Token generated for the user permitted to add
+## a vSON member to existing vSON Cluster and Datacenter.
+## Default is the token generated for user "dev".In this case retain the value empty.
+# vson_join_cluster_auth_token: ""
+
+## Swift account auth token.
+## Example: 041a5187bb4641f9b89583e2539776b0
+# swift_account_auth_token: 25c73d2e68944c728d3501f51d518921
+
+## Number of vSON APP servers.
+# number_of_servers: 1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app.yaml
new file mode 100644
index 0000000000..0fe22800c5
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app.yaml
@@ -0,0 +1,182 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: The template deploys vSON VFC of type APP.
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance.
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net IPv4 subnet prefix length
+ description: OAM network IPv4 subnet prefix length.
+
+ oam_net_subnet_v6_prefix_length:
+ type: string
+ label: OAM net IPv6 subnet prefix length
+ description: OAM network IPv6 subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default IPv4 gateway
+ description: Default IPv4 gateway.
+
+ default_gateway_v6:
+ type: string
+ label: Default IPv6 gateway
+ description: Default IPv6 gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_app_server_group_id:
+ type: string
+ label: vSON APP server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON APP instances.
+
+ vson_app_volume_id_0:
+ type: string
+ label: vSON APP Volume ID 0
+ description: Volume ID of the vSON APP server.
+
+ vson_app_name_0:
+ type: string
+ label: vSON APP instance name
+ description: Unique name to be issued to the vSON APP instance.
+
+ vson_app_image_name:
+ type: string
+ label: vSON base VM image name
+ description: VM Image name the vSON APP instance will be created from.
+
+ vson_app_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_app_oam_net_ip_0:
+ type: string
+ label: vSON APP OAM network IPv4 address
+ description: Fixed IPv4 assignment for the vSON APP instance on the OAM network.
+
+ vson_app_oam_net_v6_ip_0:
+ type: string
+ label: vSON APP OAM network IPv6 address
+ description: Fixed IPv6 assignment for the vSON APP instance on the OAM network.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Datacenter name
+ description: vSON Datacenter name.
+
+ vson_clm_0_oam_net_ip_0:
+ type: string
+ label: vSON Cluster Manager 0 OAM net IP
+ description: IP of the first vSON Cluster Management server.
+
+ vson_join_cluster_auth_token:
+ type: string
+ label: vSON join cluster auth token
+ description: >
+ Authentication Token generated for the user permitted to add
+ a new vSON Datacenter.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ number_of_servers:
+ type: number
+ label: Number of Servers
+ description: Number of vSON APP servers.
+ constraints:
+ - range: { min: 1, max: 1}
+
+resources:
+
+ vson_app_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: number_of_servers}
+ resource_def:
+ type: nested_vson_server_with_vol_dual_ip_stack.yaml
+ properties:
+ instance_index: "%index%"
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vfc_role: app
+ oam_net_id: {get_param: oam_net_id}
+ oam_net_subnet_prefix_length: {get_param: oam_net_subnet_prefix_length}
+ oam_net_subnet_v6_prefix_length: {get_param: oam_net_subnet_v6_prefix_length}
+ default_gateway: {get_param: default_gateway}
+ default_gateway_v6: {get_param: default_gateway_v6}
+ dns_servers: {get_param: dns_servers}
+ ntp_servers: {get_param: ntp_servers}
+ oam_net_security_group_id: {get_param: oam_net_security_group_id}
+ availability_zones: [{get_param: availability_zone_0}]
+ vson_server_group_id: {get_param: vson_app_server_group_id}
+ volume_ids: [{get_param: vson_app_volume_id_0}]
+ vson_vm_names: [{get_param: vson_app_name_0}]
+ oam_net_ips: [{get_param: vson_app_oam_net_ip_0}]
+ oam_net_v6_ips: [{get_param: vson_app_oam_net_v6_ip_0}]
+ vson_vm_image_name: {get_param: vson_app_image_name}
+ vson_vm_flavor_name: {get_param: vson_app_flavor_name}
+ vson_dc_unit: {get_param: vson_dc_unit}
+ vson_clm_oam_net_ip: {get_param: vson_clm_0_oam_net_ip_0}
+ vson_join_cluster_auth_token: {get_param: vson_join_cluster_auth_token }
+ swift_account_auth_token: {get_param: swift_account_auth_token}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app_volume.env
new file mode 100644
index 0000000000..500ceb05f0
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app_volume.env
@@ -0,0 +1,18 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique name for this VF module instance.
+# vf_module_name: module_7_vson_app_volume
+
+## Availability zone.
+# availability_zone_0: nova
+
+## Volume name
+# vson_app_volume_name_0: vson_app_volume_0
+
+## Size of the volume.Measured in gigabytes.
+## Default: 200
+ vson_app_volume_size_0: 200
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app_volume.yaml
new file mode 100644
index 0000000000..80538c3e0a
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_7_vson_app_volume.yaml
@@ -0,0 +1,62 @@
+heat_template_version: 2014-10-16
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: >
+ Creates a Cinder volume.
+ Cinder volume is a storage in the form of block devices.
+ It can be used, for example, for providing storage to instance.
+ Volume supports creation from snapshot, backup or image.
+ Also volume can be created only by size.
+ The template creates volume for vSON APP server
+ (Virtual Function Component APP).
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: First availability zone.
+
+ vson_app_volume_name_0:
+ type: string
+ label: vSON APP volume name
+ description: Volume name.
+
+ vson_app_volume_size_0:
+ type: number
+ label: vSON APP cinder volume size
+ description: >
+ Size of the Cinder volume. Measured in gigabytes.
+
+resources:
+
+ vson_app_volume_0:
+ type: OS::Cinder::Volume
+ properties:
+ name: {get_param: vson_app_volume_name_0}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_0}
+ size: {get_param: vson_app_volume_size_0}
+ description: vSON APP cinder volume.
+
+outputs:
+
+ vson_app_volume_id_0:
+ value: {get_resource: vson_app_volume_0}
+ description: vSON APP volume ID.
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl.env
new file mode 100644
index 0000000000..780ee33bce
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl.env
@@ -0,0 +1,99 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique ID for this VF instance.
+# vnf_id: 0
+
+## Unique name for this VF module instance.
+# vf_module_name: module_8_vson_dcl
+
+## Unique ID for this VF Module instance.
+# vf_module_id: 8
+
+## The ID of the OAM network.
+# oam_net_id: e74c21d6-9d47-4620-9594-7e440b4302b0
+
+## Address length prefix for the subnet on the OAM network
+# oam_net_subnet_prefix_length: 24
+
+## Default gateway.Required for Sandbox.
+# default_gateway: 10.56.124.1
+
+## List of DNS servers
+# dns_servers: 64.102.6.247
+
+## List of NTP servers
+# ntp_servers: 173.38.201.67
+
+## First availability zone for vSON DC leaders.
+## NOTE: vSON DC leader instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_0: nova
+
+## Second availability zone for vSON DC leaders.
+## NOTE: vSON DC leader instance should be located in the same
+## Availability Zone as its related Cinder Volume.
+# availability_zone_1: nova
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group intended for vSON Datacenter leaders.
+# vson_leader_server_group_id: 138c78ff-3552-4ee7-ad9d-a5b78427bdd0
+
+## The ID of Security group applied on the port
+## bound to the vSON OAM network.
+# oam_net_security_group_id: 42e187a1-45cc-4a99-993b-40a42a5cb081
+
+## ID of the volume intended for the first vSON DC leader.
+# vson_dcl_volume_id_0: 2136e379-d3e7-4202-a81c-d071e45bfa2a
+
+## ID of the volume intended for the second vSON DC leader.
+# vson_dcl_volume_id_1: e82f70ee-c1d6-43fe-a816-0ef1ed1a8ce2
+
+## ID of the volume intended for the third vSON DC leader.
+# vson_dcl_volume_id_2: 0ab311f0-04d1-422f-a0bd-c6e881600325
+
+## Unique name for the first vSON DC leader.
+# vson_dcl_name_0: vson-14.cisco.com
+
+## Unique name for the second vSON DC leader.
+# vson_dcl_name_1: vson-15.cisco.com
+
+## Unique name for the third vSON DC leader.
+# vson_dcl_name_2: vson-16.cisco.com
+
+## VM Image name a vSON DC leader instance will be created from.
+# vson_dcl_image_name: VSON-BASE-1.0
+
+## The ID or name of the DC leader flavor.
+# vson_dcl_flavor_name: vson-dcl-flavor
+
+## Fixed IP assignment for the first vSON DC leader instance on the OAM network.
+# vson_dcl_oam_net_ip_0: 10.56.124.25
+
+## Fixed IP assignment for the second vSON DC leader instance on the OAM network.
+# vson_dcl_oam_net_ip_1: 10.56.124.26
+
+## Fixed IP assignment for the third vSON DC leader instance on the OAM network.
+# vson_dcl_oam_net_ip_2: 10.56.124.27
+
+## IP of the first vSON Cluster Management server.
+# vson_clm_0_oam_net_ip_0: 10.56.124.10
+
+## Name of the vSON Data Center.
+# vson_dc_unit: DC2
+
+## Authentication Token generated for the user permitted to add
+## a vSON member to existing vSON Cluster and Datacenter.
+## Default is the token generated for user "dev".In this case retain the value empty.
+# vson_join_cluster_auth_token: ""
+
+## Swift account auth token.
+## Example: 041a5187bb4641f9b89583e2539776b0
+# swift_account_auth_token: 373b32612bf74cbf98c4000cc7f885fd
+
+## Number of vSON DC leaders.
+# number_of_servers: 3
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl.yaml
new file mode 100644
index 0000000000..da6bab10f5
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl.yaml
@@ -0,0 +1,200 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: The template deploys vSON Datacenter.
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance.
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: OAM network subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: First availability zone.
+
+ availability_zone_1:
+ type: string
+ label: Availability zone 1
+ description: Second availability zone.
+
+ vson_leader_server_group_id:
+ type: string
+ label: vSON Cluster leader server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON DC leaders.
+
+ vson_dcl_volume_id_0:
+ type: string
+ label: vSON DC Leader Volume ID 0
+ description: Volume ID of the first vSON DC leader.
+
+ vson_dcl_volume_id_1:
+ type: string
+ label: vSON DC Leader Volume ID 1
+ description: Volume ID of the second vSON DC leader.
+
+ vson_dcl_volume_id_2:
+ type: string
+ label: vSON DC Leader Volume ID 2
+ description: Volume ID of the third vSON DC leader.
+
+ vson_dcl_name_0:
+ type: string
+ label: First vSON DC leader name
+ description: Unique name to be issued to the first vSON DC leader.
+
+ vson_dcl_name_1:
+ type: string
+ label: Second vSON DC leader name
+ description: Unique name to be issued to the second vSON DC leader.
+
+ vson_dcl_name_2:
+ type: string
+ label: Third vSON DC leader name
+ description: Unique name to be issued to the third vSON DC leader.
+
+ vson_dcl_image_name:
+ type: string
+ label: vSON base VM image name
+ description: VM Image name the vSON DC leader instance will be created from.
+
+ vson_dcl_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_dcl_oam_net_ip_0:
+ type: string
+ label: vSON DC leader OAM network IP address 0
+ description: Fixed IP assignment for the first vSON DC leader instance on the OAM network.
+
+ vson_dcl_oam_net_ip_1:
+ type: string
+ label: vSON DC leader OAM network IP address 1
+ description: Fixed IP assignment for the second vSON DC leader instance on the OAM network.
+
+ vson_dcl_oam_net_ip_2:
+ type: string
+ label: vSON DC leader OAM network IP address 2
+ description: Fixed IP assignment for the third vSON DC leader instance on the OAM network.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Datacenter name
+ description: vSON Datacenter name.
+
+ vson_clm_0_oam_net_ip_0:
+ type: string
+ label: vSON Cluster Manager 0 OAM net IP
+ description: IP of the first vSON Cluster Management server.
+
+ vson_join_cluster_auth_token:
+ type: string
+ label: vSON join cluster auth token
+ description: >
+ Authentication Token generated for the user permitted to add
+ a new vSON Datacenter.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ number_of_servers:
+ type: number
+ label: Number of Servers
+ description: Number of vSON DC leaders.
+ constraints:
+ - range: { min: 1, max: 3}
+
+resources:
+
+ vson_dcl_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: number_of_servers}
+ resource_def:
+ type: nested_vson_server_with_vol.yaml
+ properties:
+ instance_index: "%index%"
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vfc_role: dcl
+ oam_net_id: {get_param: oam_net_id}
+ oam_net_subnet_prefix_length: {get_param: oam_net_subnet_prefix_length}
+ default_gateway: {get_param: default_gateway}
+ dns_servers: {get_param: dns_servers}
+ ntp_servers: {get_param: ntp_servers}
+ oam_net_security_group_id: {get_param: oam_net_security_group_id}
+ availability_zones: [{get_param: availability_zone_0}, {get_param: availability_zone_1}, {get_param: availability_zone_0}]
+ vson_server_group_id: {get_param: vson_leader_server_group_id}
+ volume_ids: [{get_param: vson_dcl_volume_id_0}, {get_param: vson_dcl_volume_id_1}, {get_param: vson_dcl_volume_id_2}]
+ vson_vm_names: [{get_param: vson_dcl_name_0}, {get_param: vson_dcl_name_1}, {get_param: vson_dcl_name_2}]
+ oam_net_ips: [{get_param: vson_dcl_oam_net_ip_0}, {get_param: vson_dcl_oam_net_ip_1}, {get_param: vson_dcl_oam_net_ip_2}]
+ vson_vm_image_name: {get_param: vson_dcl_image_name}
+ vson_vm_flavor_name: {get_param: vson_dcl_flavor_name}
+ vson_dc_unit: {get_param: vson_dc_unit}
+ vson_clm_oam_net_ip: {get_param: vson_clm_0_oam_net_ip_0}
+ vson_join_cluster_auth_token: {get_param: vson_join_cluster_auth_token }
+ swift_account_auth_token: {get_param: swift_account_auth_token}
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl_volume.env
new file mode 100644
index 0000000000..465dd143a1
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl_volume.env
@@ -0,0 +1,26 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique name for this VF module instance.
+# vf_module_name: module_8_vson_dcl_volume
+
+## First availability zone.
+# availability_zone_0: nova
+
+## Second availability zone.
+# availability_zone_1: nova
+
+## Size of the first volume.Measured in gigabytes.
+## Default: 200
+ vson_dcl_volume_size_0: 200
+
+## Size of the second volume.Measured in gigabytes.
+## Default: 200
+ vson_dcl_volume_size_1: 200
+
+## Size of the third volume.Measured in gigabytes.
+## Default: 200
+ vson_dcl_volume_size_2: 200
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl_volume.yaml
new file mode 100644
index 0000000000..ba12ebcbd1
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_8_vson_dcl_volume.yaml
@@ -0,0 +1,116 @@
+heat_template_version: 2014-10-16
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: >
+ Creates Cinder volumes.
+ Cinder volume is a storage in the form of block devices.
+ It can be used, for example, for providing storage to instance.
+ Volume supports creation from snapshot, backup or image.
+ Also volume can be created only by size.
+ The template creates volumes for vSON DC leaders
+ (Virtual Function Component DCL).
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: First availability zone.
+
+ availability_zone_1:
+ type: string
+ label: Availability zone 1
+ description: Second availability zone.
+
+ vson_dcl_volume_size_0:
+ type: number
+ label: Cinder volume ID 0 size
+ description: >
+ Size of the first Cinder volume. Measured in gigabytes.
+
+ vson_dcl_volume_size_1:
+ type: number
+ label: Cinder volume ID 1 size
+ description: >
+ Size of the second Cinder volume. Measured in gigabytes.
+
+ vson_dcl_volume_size_2:
+ type: number
+ label: Cinder volume ID 2 size
+ description: >
+ Size of the third Cinder volume. Measured in gigabytes.
+
+resources:
+
+ vson_dcl_volume_0:
+ type: OS::Cinder::Volume
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_dcl_volume_0
+ params:
+ VNF_NAME: { get_param: vnf_name}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_0}
+ size: {get_param: vson_dcl_volume_size_0}
+ description: Cinder volume for the first vSON DC leader.
+
+ vson_dcl_volume_1:
+ type: OS::Cinder::Volume
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_dcl_volume_1
+ params:
+ VNF_NAME: { get_param: vnf_name}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_1}
+ size: {get_param: vson_dcl_volume_size_1}
+ description: Cinder volume for the second vSON DC leader.
+
+ vson_dcl_volume_2:
+ type: OS::Cinder::Volume
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_dcl_volume_2
+ params:
+ VNF_NAME: { get_param: vnf_name}
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone: {get_param: availability_zone_0}
+ size: {get_param: vson_dcl_volume_size_2}
+ description: Cinder volume for the third vSON DC leader.
+
+outputs:
+
+ vson_dcl_volume_id_0:
+ value: {get_resource: vson_dcl_volume_0}
+ description: ID of the first vSON DC leader volume.
+
+ vson_dcl_volume_id_1:
+ value: {get_resource: vson_dcl_volume_1}
+ description: ID of the second vSON DC leader volume.
+
+ vson_dcl_volume_id_2:
+ value: {get_resource: vson_dcl_volume_2}
+ description: ID of the third vSON DC leader volume.
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_9_vson_clm.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_9_vson_clm.env
new file mode 100644
index 0000000000..3eac88d6fd
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_9_vson_clm.env
@@ -0,0 +1,63 @@
+parameters:
+
+## Unique name for this VF instance.
+# vnf_name: vson
+
+## Unique ID for this VF instance.
+# vnf_id: 0
+
+## Unique name for this VF module instance.
+# vf_module_name: module_9_vson_clm
+
+## Unique ID for this VF Module instance.
+# vf_module_id: 9
+
+## The ID of the OAM network.
+# oam_net_id: 9257287a-8504-43fe-859f-b5ef8fde04bc
+
+## Address length prefix for the subnet on the OAM network
+# oam_net_subnet_prefix_length: 24
+
+## Default gateway
+# default_gateway: 172.20.50.1
+
+## List of DNS servers
+# dns_servers: 8.8.8.8
+
+## List of NTP servers
+# ntp_servers: 155.165.201.253,155.165.201.252,155.165.201.251
+
+## Availability zone.
+# availability_zone_0: nova
+
+## Tells what policy should be applied to the ServerGroup.
+## Affinity policy will force instances to share the same hypervisor.
+## Anti-affinity will force instances to run in different hypervisors.
+## The group intended for vSON CLM.
+# vson_clm_server_group_id: d616da20-5108-4af1-ab58-7c04462cd37c
+
+## The ID of Security group applied on the port
+## bound to the vSON OAM network.
+# oam_net_security_group_id: 0730af4e-cc4f-4e3f-9439-1a76eddf5f06
+
+## Unique name for the vSON Cluster Management server.
+# vson_clm_name_0: vson_clm_0
+
+## VM Image name the vSON Cluster management instance will be created from.
+ vson_clm_image_name: VSON-BASE-1.0
+
+## The ID or name of the CLM flavor.
+ vson_clm_flavor_name: vson-clm-flavor
+
+## Fixed IP assignment for the vSON CLM instance on the OAM network.
+ vson_clm_oam_net_ip_0: 172.20.50.3
+
+## IP of the first vSON Cluster Management server.
+# vson_clm_0_oam_net_ip_0: ""
+
+## Swift account auth token.
+## Example: 041a5187bb4641f9b89583e2539776b0
+# swift_account_auth_token: fdd0b02849864af58781cffe78252cd7
+
+## Number of vSON CLM servers.
+# number_of_servers: 1
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_9_vson_clm.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_9_vson_clm.yaml
new file mode 100644
index 0000000000..be81c5b4c2
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/module_9_vson_clm.yaml
@@ -0,0 +1,148 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+
+description: The template deploys vSON VFC of type CLM.
+
+parameters:
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance.
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: OAM network subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ availability_zone_0:
+ type: string
+ label: Availability zone 0
+ description: Availability zone.
+
+ vson_clm_server_group_id:
+ type: string
+ label: vSON Cluster Manager server group policy
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+ The group intended for vSON Cluster Manager instances.
+
+ vson_clm_name_0:
+ type: string
+ label: vSON Cluster Manager instance name
+ description: Unique name to be issued to the vSON Cluster Manager instance.
+
+ vson_clm_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_clm_image_name:
+ type: string
+ label: vSON Cluster Manager VM image name
+ description: Image name the volume will be created from.
+
+ vson_clm_oam_net_ip_0:
+ type: string
+ label: vSON CLM OAM network IP address
+ description: Fixed IP assignment for the vSON CLM instance on the OAM network.
+
+ vson_clm_0_oam_net_ip_0:
+ type: string
+ label: vSON Cluster Manager 0 OAM net IP
+ description: IP of the first vSON Cluster Management server.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ number_of_servers:
+ type: number
+ label: Number of Servers
+ description: Number of vSON Cluster Manager servers.
+ constraints:
+ - range: { min: 1, max: 2}
+
+resources:
+
+ vson_clm_group:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: number_of_servers}
+ resource_def:
+ type: nested_vson_server.yaml
+ properties:
+ instance_index: "%index%"
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vfc_role: clm
+ oam_net_id: {get_param: oam_net_id}
+ oam_net_subnet_prefix_length: {get_param: oam_net_subnet_prefix_length}
+ default_gateway: {get_param: default_gateway}
+ dns_servers: {get_param: dns_servers}
+ ntp_servers: {get_param: ntp_servers}
+ oam_net_security_group_id: {get_param: oam_net_security_group_id}
+ availability_zones: [{get_param: availability_zone_0}]
+ vson_server_group_id: {get_param: vson_clm_server_group_id}
+ vson_vm_names: [{get_param: vson_clm_name_0}]
+ oam_net_ips: [{get_param: vson_clm_oam_net_ip_0}]
+ vson_vm_flavor_name: {get_param: vson_clm_flavor_name}
+ vson_vm_image_name: {get_param: vson_clm_image_name}
+ vson_clm_oam_net_ip: {get_param: vson_clm_0_oam_net_ip_0}
+ vson_cluster_name: ""
+ swift_storage_url: ""
+ swift_account_auth_token: {get_param: swift_account_auth_token}
+ swift_son_container_name: ""
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server.yaml
new file mode 100644
index 0000000000..7d8d5129d0
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server.yaml
@@ -0,0 +1,205 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+description: >
+ The template intended for deploying vSON VM instance.
+
+parameters:
+
+ instance_index:
+ type: number
+ label: Instance Index
+ description: Index of the instance.
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance
+
+ vfc_role:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: Prefix length of the subnet on the OAM network.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ availability_zones:
+ type: comma_delimited_list
+ label: Availability zones
+ description: List of availability zones.
+
+ vson_server_group_id:
+ type: string
+ label: vSON server group ID
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+
+ vson_vm_names:
+ type: comma_delimited_list
+ label: vSON Cluster leader names
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+
+ oam_net_ips:
+ type: comma_delimited_list
+ label: vSON OAM network IP addresses
+ description: Fixed IP assignments for vSON instances on the OAM network.
+
+ vson_vm_image_name:
+ type: string
+ label: vSON base VM image name
+ description: VM Image name the vSON instance will be created from.
+
+ vson_vm_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_cluster_name:
+ type: string
+ label: vSON Cluster name
+ description: Name of the vSON Cluster.
+
+ vson_clm_oam_net_ip:
+ type: string
+ label: vSON Cluster Manager IP
+ description: IP of the vSON Cluster Manager.
+
+ swift_storage_url:
+ type: string
+ label: swift storage URL
+ description: >
+ Swift storage URL.
+ Example: http://172.16.209.246:8080/v1/AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029
+ http://172.16.209.246:8080 - protocol, IP and port,
+ v1 - API version
+ AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 - account ID
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+ swift_son_container_name:
+ type: string
+ label: SON Swift
+ description: Swift container storing vSON artifacts.
+
+resources:
+
+ wait_condition:
+ type: OS::Heat::SwiftSignal
+ properties:
+ handle: {get_resource: wait_handle}
+ count: 1
+ timeout: 800
+
+ wait_handle:
+ type: OS::Heat::SwiftSignalHandle
+
+# vSON server OAM network port
+ vson_server_oam_net_port_0:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ VNF_ID: {get_param: vnf_id}
+ SERVER_NAME: {get_param: [vson_vm_names, {get_param: instance_index}]}
+ network_id: {get_param: oam_net_id}
+ fixed_ips:
+ - ip_address: {get_param: [oam_net_ips, {get_param: instance_index}]}
+ security_groups:
+ - {get_param: oam_net_security_group_id}
+
+# Create vSON server
+ vson_server:
+ type: OS::Nova::Server
+ depends_on: [vson_server_oam_net_port_0]
+ properties:
+ name: {get_param: [vson_vm_names, {get_param: instance_index}]}
+ availability_zone: {get_param: [availability_zones, {get_param: instance_index}]}
+ image: {get_param: vson_vm_image_name}
+ flavor: {get_param: vson_vm_flavor_name}
+ config_drive: True
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vm_role: {get_param: vfc_role}
+ networks:
+ - port: {get_resource: vson_server_oam_net_port_0}
+ scheduler_hints:
+ group: {get_param: vson_server_group_id}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: {get_file: deploy.sh}
+ params:
+ $HOT_INSTANCE_INDEX: {get_param: instance_index}
+ $HOT_VFC_ROLE: {get_param: vfc_role}
+ $HOT_CLM_SERVER_IP: {get_param: vson_clm_oam_net_ip}
+ $HOT_THIS_INSTANCE_OAM_NET_IP: {get_param: [oam_net_ips, {get_param: instance_index}]}
+ $HOT_THIS_INSTANCE_OAM_NET_PREFIX: {get_param: oam_net_subnet_prefix_length}
+ $HOT_THIS_INSTANCE_DEFAULT_GATEWAY: {get_param: default_gateway}
+ $HOT_DNS_SERVERS: {list_join: [',', {get_param: dns_servers}]}
+ $HOT_NTP_SERVERS: {list_join: [' ', {get_param: ntp_servers}]}
+ $HOT_SWIFT_AUTH_TOKEN: {get_param: swift_account_auth_token}
+ $HOT_CLUSTER_NAME: {get_param: vson_cluster_name}
+ $HOT_SWIFT_STORAGE_URL: {get_param: swift_storage_url}
+ $HOT_SWIFT_CONTAINER_NAME: {get_param: swift_son_container_name}
+ $HOT_WC_NOTIFY: { get_attr: ['wait_handle', 'curl_cli'] }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_from_vol.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_from_vol.yaml
new file mode 100644
index 0000000000..93f0fe7420
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_from_vol.yaml
@@ -0,0 +1,192 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+description: >
+ The template intended for deploying vSON VM instance
+ that's supposed to be booted from a Cinder volume.
+
+parameters:
+
+ instance_index:
+ type: number
+ label: Instance Index
+ description: Index of the instance.
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance
+
+ vfc_role:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: Prefix length of the subnet on the OAM network.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ volume_ids:
+ type: comma_delimited_list
+ label: Volumes IDs
+ description: List of Volumes IDs.
+
+ availability_zones:
+ type: comma_delimited_list
+ label: Availability zones
+ description: List of availability zones.
+
+ vson_server_group_id:
+ type: string
+ label: vSON server group ID
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+
+ vson_vm_names:
+ type: comma_delimited_list
+ label: vSON Cluster leader names
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+
+ oam_net_ips:
+ type: comma_delimited_list
+ label: vSON OAM network IP addresses
+ description: Fixed IP assignments for vSON instances on the OAM network.
+
+ vson_vm_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Data Center name
+ description: Name of the vSON Data Center.
+
+ vson_clm_oam_net_ip:
+ type: string
+ label: vSON Cluster Manager IP
+ description: IP of the vSON Cluster Manager.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+resources:
+
+ wait_condition:
+ type: OS::Heat::SwiftSignal
+ properties:
+ handle: {get_resource: wait_handle}
+ count: 1
+ timeout: 800
+
+ wait_handle:
+ type: OS::Heat::SwiftSignalHandle
+
+# vSON server OAM network port
+ vson_server_oam_net_port_0:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ VNF_ID: {get_param: vnf_id}
+ SERVER_NAME: {get_param: [vson_vm_names, {get_param: instance_index}]}
+ network_id: {get_param: oam_net_id}
+ fixed_ips:
+ - ip_address: {get_param: [oam_net_ips, {get_param: instance_index}]}
+ security_groups:
+ - {get_param: oam_net_security_group_id}
+
+# Create vSON server
+ vson_server:
+ type: OS::Nova::Server
+ depends_on: [vson_server_oam_net_port_0]
+ properties:
+ name: {get_param: [vson_vm_names, {get_param: instance_index}]}
+ block_device_mapping_v2:
+ - device_name: "vda"
+ volume_id: {get_param: [volume_ids, {get_param: instance_index}]}
+ delete_on_termination: False
+ availability_zone: {get_param: [availability_zones, {get_param: instance_index}]}
+ flavor: {get_param: vson_vm_flavor_name}
+ config_drive: True
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vm_role: {get_param: vfc_role}
+ networks:
+ - port: {get_resource: vson_server_oam_net_port_0}
+ scheduler_hints:
+ group: {get_param: vson_server_group_id}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: {get_file: deploy.sh}
+ params:
+ $HOT_INSTANCE_INDEX: {get_param: instance_index}
+ $HOT_VFC_ROLE: {get_param: vfc_role}
+ $HOT_CLM_SERVER_IP: {get_param: vson_clm_oam_net_ip}
+ $HOT_THIS_INSTANCE_OAM_NET_IP: {get_param: [oam_net_ips, {get_param: instance_index}]}
+ $HOT_THIS_INSTANCE_OAM_NET_PREFIX: {get_param: oam_net_subnet_prefix_length}
+ $HOT_THIS_INSTANCE_DEFAULT_GATEWAY: {get_param: default_gateway}
+ $HOT_DNS_SERVERS: {list_join: [',', {get_param: dns_servers}]}
+ $HOT_DC_NAME: {get_param: vson_dc_unit}
+ $HOT_NTP_SERVERS: {list_join: [' ', {get_param: ntp_servers}]}
+ $HOT_SWIFT_AUTH_TOKEN: {get_param: swift_account_auth_token}
+ $HOT_WC_NOTIFY: { get_attr: ['wait_handle', 'curl_cli'] }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_with_vol.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_with_vol.yaml
new file mode 100644
index 0000000000..84cf6a783a
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_with_vol.yaml
@@ -0,0 +1,211 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+description: >
+ The template intended for deploying vSON VM instance.
+
+parameters:
+
+ instance_index:
+ type: number
+ label: Instance Index
+ description: Index of the instance.
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance
+
+ vfc_role:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: Prefix length of the subnet on the OAM network.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ volume_ids:
+ type: comma_delimited_list
+ label: Volumes IDs
+ description: List of Volumes IDs.
+
+ availability_zones:
+ type: comma_delimited_list
+ label: Availability zones
+ description: List of availability zones.
+
+ vson_server_group_id:
+ type: string
+ label: vSON server group ID
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+
+ vson_vm_names:
+ type: comma_delimited_list
+ label: vSON Cluster leader names
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+
+ oam_net_ips:
+ type: comma_delimited_list
+ label: vSON OAM network IP addresses
+ description: Fixed IP assignments for vSON instances on the OAM network.
+
+ vson_vm_image_name:
+ type: string
+ label: vSON base VM image name
+ description: VM Image name the vSON instance will be created from.
+
+ vson_vm_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Data Center name
+ description: Name of the vSON Data Center.
+
+ vson_clm_oam_net_ip:
+ type: string
+ label: vSON Cluster Manager IP
+ description: IP of the vSON Cluster Manager.
+
+ vson_join_cluster_auth_token:
+ type: string
+ label: vSON join cluster auth token
+ description: >
+ Authentication Token generated for the user permitted to add
+ a new Datacenter/vSON member to existing vSON Cluster.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+resources:
+
+ wait_condition:
+ type: OS::Heat::SwiftSignal
+ properties:
+ handle: {get_resource: wait_handle}
+ count: 1
+ timeout: 800
+
+ wait_handle:
+ type: OS::Heat::SwiftSignalHandle
+
+# vSON server OAM network port
+ vson_server_oam_net_port_0:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ VNF_ID: {get_param: vnf_id}
+ SERVER_NAME: {get_param: [vson_vm_names, {get_param: instance_index}]}
+ network_id: {get_param: oam_net_id}
+ fixed_ips:
+ - ip_address: {get_param: [oam_net_ips, {get_param: instance_index}]}
+ security_groups:
+ - {get_param: oam_net_security_group_id}
+
+# Attach Cinder volume to the server
+ vson_server_volume_attach:
+ type: OS::Cinder::VolumeAttachment
+ depends_on: vson_server
+ properties:
+ instance_uuid: {get_resource: vson_server}
+ volume_id: {get_param: [volume_ids, {get_param: instance_index}]}
+
+# Create vSON server
+ vson_server:
+ type: OS::Nova::Server
+ depends_on: [vson_server_oam_net_port_0]
+ properties:
+ name: {get_param: [vson_vm_names, {get_param: instance_index}]}
+ availability_zone: {get_param: [availability_zones, {get_param: instance_index}]}
+ image: {get_param: vson_vm_image_name}
+ flavor: {get_param: vson_vm_flavor_name}
+ config_drive: True
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vm_role: {get_param: vfc_role}
+ networks:
+ - port: {get_resource: vson_server_oam_net_port_0}
+ scheduler_hints:
+ group: {get_param: vson_server_group_id}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: {get_file: deploy.sh}
+ params:
+ $HOT_INSTANCE_INDEX: {get_param: instance_index}
+ $HOT_VOLUME_ID: {get_param: [volume_ids, {get_param: instance_index}]}
+ $HOT_VOLUME_ATTACH: "False"
+ $HOT_VFC_ROLE: {get_param: vfc_role}
+ $HOT_CLM_SERVER_IP: {get_param: vson_clm_oam_net_ip}
+ $HOT_THIS_INSTANCE_OAM_NET_IP: {get_param: [oam_net_ips, {get_param: instance_index}]}
+ $HOT_THIS_INSTANCE_OAM_NET_PREFIX: {get_param: oam_net_subnet_prefix_length}
+ $HOT_THIS_INSTANCE_DEFAULT_GATEWAY: {get_param: default_gateway}
+ $HOT_DNS_SERVERS: {list_join: [',', {get_param: dns_servers}]}
+ $HOT_DC_NAME: {get_param: vson_dc_unit}
+ $HOT_NTP_SERVERS: {list_join: [' ', {get_param: ntp_servers}]}
+ $HOT_SWIFT_AUTH_TOKEN: {get_param: swift_account_auth_token}
+ $HOT_VSON_JOIN_CLUSTER_AUTH_TOKEN: {get_param: vson_join_cluster_auth_token}
+ $HOT_WC_NOTIFY: { get_attr: ['wait_handle', 'curl_cli'] }
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_with_vol_dual_ip_stack.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_with_vol_dual_ip_stack.yaml
new file mode 100644
index 0000000000..fa607d3c24
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in/nested_vson_server_with_vol_dual_ip_stack.yaml
@@ -0,0 +1,229 @@
+heat_template_version: 2015-04-30
+#################################
+# Author: Dmitry Orzhehovsky
+# Email: dorzheho@cisco.com
+#################################
+description: >
+ The template intended for deploying vSON VM instance.
+
+parameters:
+
+ instance_index:
+ type: number
+ label: Instance Index
+ description: Index of the instance.
+
+ vnf_name:
+ type: string
+ label: VF name
+ description: Unique name for this VF instance.
+
+ vnf_id:
+ type: string
+ label: VF ID
+ description: Unique ID for this VF instance.
+
+ vf_module_name:
+ type: string
+ label: VF module name
+ description: Unique name for this VF module instance.
+
+ vf_module_id:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance
+
+ vfc_role:
+ type: string
+ label: VF module ID
+ description: Unique ID for this VF Module instance
+
+ oam_net_id:
+ type: string
+ label: OAM network ID
+ description: The ID of the OAM network.
+
+ oam_net_subnet_prefix_length:
+ type: string
+ label: OAM net subnet prefix length
+ description: Prefix length of the subnet on the OAM network.
+
+ oam_net_subnet_v6_prefix_length:
+ type: string
+ label: OAM net IPv6 subnet prefix length
+ description: OAM network IPv6 subnet prefix length.
+
+ default_gateway:
+ type: string
+ label: Default gateway
+ description: Default gateway.
+
+ default_gateway_v6:
+ type: string
+ label: Default IPv6 gateway
+ description: Default IPv6 gateway.
+
+ dns_servers:
+ type: comma_delimited_list
+ label: DNS servers
+ description: List of DNS servers.
+
+ ntp_servers:
+ type: comma_delimited_list
+ label: NTP servers
+ description: List of NTP servers.
+
+ oam_net_security_group_id:
+ type: string
+ label: OAM network security group ID
+ description: >
+ The ID of Security group applied on the port
+ bound to the vSON OAM network.
+
+ volume_ids:
+ type: comma_delimited_list
+ label: Volumes IDs
+ description: List of Volumes IDs.
+
+ availability_zones:
+ type: comma_delimited_list
+ label: Availability zones
+ description: List of availability zones.
+
+ vson_server_group_id:
+ type: string
+ label: vSON server group ID
+ description: >
+ Tells what policy should be applied to the ServerGroup.
+ Affinity policy will force instances to share the same hypervisor.
+ Anti-affinity will force instances to run in different hypervisors.
+
+ vson_vm_names:
+ type: comma_delimited_list
+ label: vSON Cluster leader names
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+
+ oam_net_ips:
+ type: comma_delimited_list
+ label: vSON OAM network IPv4 addresses
+ description: Fixed IPv4 assignments for vSON instances on the OAM network.
+
+ oam_net_v6_ips:
+ type: comma_delimited_list
+ label: vSON OAM network IPv6 addresses
+ description: Fixed IPv6 assignments for vSON instances on the OAM network.
+
+ vson_vm_image_name:
+ type: string
+ label: vSON base VM image name
+ description: VM Image name the vSON instance will be created from.
+
+ vson_vm_flavor_name:
+ type: string
+ label: Flavor name
+ description: The ID or name of the flavor to boot onto.
+
+ vson_dc_unit:
+ type: string
+ label: vSON Data Center name
+ description: Name of the vSON Data Center.
+
+ vson_clm_oam_net_ip:
+ type: string
+ label: vSON Cluster Manager IP
+ description: IP of the vSON Cluster Manager.
+
+ vson_join_cluster_auth_token:
+ type: string
+ label: vSON join cluster auth token
+ description: >
+ Authentication Token generated for the user permitted to add
+ a new Datacenter/vSON member to existing vSON Cluster.
+
+ swift_account_auth_token:
+ type: string
+ label: Swift account auth token
+ description: >
+ Swift account auth token.
+ Example: 041a5187bb4641f9b89583e2539776b0
+
+resources:
+
+ wait_condition:
+ type: OS::Heat::SwiftSignal
+ properties:
+ handle: {get_resource: wait_handle}
+ count: 1
+ timeout: 800
+
+ wait_handle:
+ type: OS::Heat::SwiftSignalHandle
+
+# vSON server OAM network port
+ vson_server_oam_net_port_0:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
+ params:
+ VNF_NAME: {get_param: vnf_name}
+ VNF_ID: {get_param: vnf_id}
+ SERVER_NAME: {get_param: [vson_vm_names, {get_param: instance_index}]}
+ network_id: {get_param: oam_net_id}
+ fixed_ips:
+ - ip_address: {get_param: [oam_net_ips, {get_param: instance_index}]}
+ - ip_address: {get_param: [oam_net_v6_ips, {get_param: instance_index}]}
+ security_groups:
+ - {get_param: oam_net_security_group_id}
+
+# Attach Cinder volume to the server
+ vson_server_volume_attach:
+ type: OS::Cinder::VolumeAttachment
+ depends_on: vson_server
+ properties:
+ instance_uuid: {get_resource: vson_server}
+ volume_id: {get_param: [volume_ids, {get_param: instance_index}]}
+
+# Create vSON server
+ vson_server:
+ type: OS::Nova::Server
+ depends_on: [vson_server_oam_net_port_0]
+ properties:
+ name: {get_param: [vson_vm_names, {get_param: instance_index}]}
+ availability_zone: {get_param: [availability_zones, {get_param: instance_index}]}
+ image: {get_param: vson_vm_image_name}
+ flavor: {get_param: vson_vm_flavor_name}
+ config_drive: True
+ metadata:
+ vnf_name: {get_param: vnf_name}
+ vnf_id: {get_param: vnf_id}
+ vf_module_name: {get_param: vf_module_name}
+ vf_module_id: {get_param: vf_module_id}
+ vm_role: {get_param: vfc_role}
+ networks:
+ - port: {get_resource: vson_server_oam_net_port_0}
+ scheduler_hints:
+ group: {get_param: vson_server_group_id}
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: {get_file: deploy.sh}
+ params:
+ $HOT_INSTANCE_INDEX: {get_param: instance_index}
+ $HOT_VOLUME_ID: {get_param: [volume_ids, {get_param: instance_index}]}
+ $HOT_VOLUME_ATTACH: "False"
+ $HOT_VFC_ROLE: {get_param: vfc_role}
+ $HOT_CLM_SERVER_IP: {get_param: vson_clm_oam_net_ip}
+ $HOT_THIS_INSTANCE_OAM_NET_IP: {get_param: [oam_net_ips, {get_param: instance_index}]}
+ $HOT_THIS_INSTANCE_OAM_NET_PREFIX: {get_param: oam_net_subnet_prefix_length}
+ $HOT_THIS_INSTANCE_OAM_V6_NET_IP: {get_param: [oam_net_v6_ips, {get_param: instance_index}]}
+ $HOT_THIS_INSTANCE_OAM_V6_NET_PREFIX: {get_param: oam_net_subnet_v6_prefix_length}
+ $HOT_THIS_INSTANCE_DEFAULT_GATEWAY: {get_param: default_gateway}
+ $HOT_THIS_INSTANCE_DEFAULT_GATEWAY_V6: {get_param: default_gateway_v6}
+ $HOT_DNS_SERVERS: {list_join: [',', {get_param: dns_servers}]}
+ $HOT_DC_NAME: {get_param: vson_dc_unit}
+ $HOT_NTP_SERVERS: {list_join: [' ', {get_param: ntp_servers}]}
+ $HOT_SWIFT_AUTH_TOKEN: {get_param: swift_account_auth_token}
+ $HOT_VSON_JOIN_CLUSTER_AUTH_TOKEN: {get_param: vson_join_cluster_auth_token}
+ $HOT_WC_NOTIFY: { get_attr: ['wait_handle', 'curl_cli'] }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml
new file mode 100644
index 0000000000..713591db2f
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/GlobalSubstitutionTypesServiceTemplate.yaml
@@ -0,0 +1,2040 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: GlobalSubstitutionTypes
+imports:
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
+node_types:
+ org.openecomp.resource.abstract.nodes.heat.vson_vm_2:
+ derived_from: org.openecomp.resource.abstract.nodes.VFC
+ properties:
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ default_gateway:
+ type: string
+ description: Default gateway.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_ip_requirements:
+ type: list
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.network.IpRequirements
+ instance_index:
+ type: float
+ description: Index of the instance.
+ required: true
+ status: SUPPORTED
+ vnf_name:
+ type: string
+ description: Unique name for this VF instance.
+ required: true
+ status: SUPPORTED
+ oam_net_subnet_prefix_length:
+ type: string
+ description: Prefix length of the subnet on the OAM network.
+ required: true
+ status: SUPPORTED
+ vf_module_name:
+ type: string
+ description: Unique name for this VF module instance.
+ required: true
+ status: SUPPORTED
+ dns_servers:
+ type: list
+ description: List of DNS servers.
+ required: true
+ status: SUPPORTED
+ entry_schema: &id001
+ type: string
+ oam_net_security_group_id:
+ type: string
+ description: |
+ The ID of Security group applied on the port bound to the vSON OAM network.
+ required: true
+ status: SUPPORTED
+ vson_vm_image_name:
+ type: string
+ description: VM Image name the vSON instance will be created from.
+ required: true
+ status: SUPPORTED
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_network_role:
+ type: string
+ required: true
+ status: SUPPORTED
+ vson_clm_oam_net_ip:
+ type: string
+ description: IP of the vSON Cluster Manager.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_mac_requirements:
+ type: org.openecomp.datatypes.network.MacRequirements
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_subnetpoolid:
+ type: string
+ required: true
+ status: SUPPORTED
+ vson_dc_unit:
+ type: string
+ description: Name of the vSON Data Center.
+ required: true
+ status: SUPPORTED
+ oam_net_ips:
+ type: list
+ description: Fixed IP assignments for vSON instances on the OAM network.
+ required: true
+ status: SUPPORTED
+ entry_schema: &id002
+ type: string
+ vfc_role:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ swift_account_auth_token:
+ type: string
+ description: |
+ Swift account auth token. Example: 041a5187bb4641f9b89583e2539776b0
+ required: true
+ status: SUPPORTED
+ vson_server_group_id:
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors.
+ required: true
+ status: SUPPORTED
+ vson_vm_flavor_name:
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_network_role_tag:
+ type: string
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_vlan_requirements:
+ type: list
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.network.VlanRequirements
+ availability_zones:
+ type: list
+ description: List of availability zones.
+ required: true
+ status: SUPPORTED
+ entry_schema: &id003
+ type: string
+ volume_ids:
+ type: list
+ description: List of Volumes IDs.
+ required: true
+ status: SUPPORTED
+ entry_schema: &id004
+ type: string
+ ntp_servers:
+ type: list
+ description: List of NTP servers.
+ required: true
+ status: SUPPORTED
+ entry_schema: &id005
+ type: string
+ vson_join_cluster_auth_token:
+ type: string
+ description: "Authentication Token generated for the user permitted to add\
+ \ a new Datacenter/vSON member to existing vSON Cluster. \n"
+ required: true
+ status: SUPPORTED
+ oam_net_id:
+ type: string
+ description: The ID of the OAM network.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_order:
+ type: integer
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_exCP_naming:
+ type: org.openecomp.datatypes.Naming
+ required: true
+ status: SUPPORTED
+ vson_vm_names:
+ type: list
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+ required: true
+ status: SUPPORTED
+ entry_schema: &id006
+ type: string
+ requirements:
+ - dependency_vson_server:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - local_storage_vson_server:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - dependency_vson_server_oam_net_port_0:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_vson_server_oam_net_port_0:
+ capability: tosca.capabilities.network.Linkable
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ capabilities:
+ disk.write.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.allocation_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.latency_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.latency_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ os_vson_server:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_vson_server_oam_net_port_0:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ instance_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_vson_server_oam_net_port_0:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.iops_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ endpoint_vson_server:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ vcpus_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.capacity_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.capacity_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.iops_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outpoing.packets_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.packets.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.root.size_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.ephemeral.size_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.resident_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_vson_server:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu_util_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu.delta_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_vson_server:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.allocation_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_vson_server:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_vson_server:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_vson_server_oam_net_port_0:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ network.incoming.bytes.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ org.openecomp.resource.abstract.nodes.heat.vson_vm:
+ derived_from: org.openecomp.resource.abstract.nodes.VFC
+ properties:
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ default_gateway:
+ type: string
+ description: Default gateway.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_ip_requirements:
+ type: list
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.network.IpRequirements
+ instance_index:
+ type: float
+ description: Index of the instance.
+ required: true
+ status: SUPPORTED
+ vnf_name:
+ type: string
+ description: Unique name for this VF instance.
+ required: true
+ status: SUPPORTED
+ oam_net_subnet_prefix_length:
+ type: string
+ description: Prefix length of the subnet on the OAM network.
+ required: true
+ status: SUPPORTED
+ vf_module_name:
+ type: string
+ description: Unique name for this VF module instance.
+ required: true
+ status: SUPPORTED
+ dns_servers:
+ type: list
+ description: List of DNS servers.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ oam_net_security_group_id:
+ type: string
+ description: |
+ The ID of Security group applied on the port bound to the vSON OAM network.
+ required: true
+ status: SUPPORTED
+ vson_vm_image_name:
+ type: string
+ description: VM Image name the vSON instance will be created from.
+ required: true
+ status: SUPPORTED
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_network_role:
+ type: string
+ required: true
+ status: SUPPORTED
+ vson_clm_oam_net_ip:
+ type: string
+ description: IP of the vSON Cluster Manager.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_mac_requirements:
+ type: org.openecomp.datatypes.network.MacRequirements
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_subnetpoolid:
+ type: string
+ required: true
+ status: SUPPORTED
+ vson_dc_unit:
+ type: string
+ description: Name of the vSON Data Center.
+ required: true
+ status: SUPPORTED
+ oam_net_ips:
+ type: list
+ description: Fixed IPv4 assignments for vSON instances on the OAM network.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ oam_net_subnet_v6_prefix_length:
+ type: string
+ description: OAM network IPv6 subnet prefix length.
+ required: true
+ status: SUPPORTED
+ vfc_role:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ swift_account_auth_token:
+ type: string
+ description: |
+ Swift account auth token. Example: 041a5187bb4641f9b89583e2539776b0
+ required: true
+ status: SUPPORTED
+ default_gateway_v6:
+ type: string
+ description: Default IPv6 gateway.
+ required: true
+ status: SUPPORTED
+ vson_server_group_id:
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors.
+ required: true
+ status: SUPPORTED
+ vson_vm_flavor_name:
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_network_role_tag:
+ type: string
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_vlan_requirements:
+ type: list
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.network.VlanRequirements
+ availability_zones:
+ type: list
+ description: List of availability zones.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ volume_ids:
+ type: list
+ description: List of Volumes IDs.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ oam_net_v6_ips:
+ type: list
+ description: Fixed IPv6 assignments for vSON instances on the OAM network.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ntp_servers:
+ type: list
+ description: List of NTP servers.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ vson_join_cluster_auth_token:
+ type: string
+ description: |
+ Authentication Token generated for the user permitted to add a new Datacenter/vSON member to existing vSON Cluster.
+ required: true
+ status: SUPPORTED
+ oam_net_id:
+ type: string
+ description: The ID of the OAM network.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_order:
+ type: integer
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_exCP_naming:
+ type: org.openecomp.datatypes.Naming
+ required: true
+ status: SUPPORTED
+ vson_vm_names:
+ type: list
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ requirements:
+ - dependency_vson_server:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - local_storage_vson_server:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - dependency_vson_server_oam_net_port_0:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_vson_server_oam_net_port_0:
+ capability: tosca.capabilities.network.Linkable
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ capabilities:
+ disk.write.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.allocation_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.latency_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.latency_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ os_vson_server:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_vson_server_oam_net_port_0:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ instance_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_vson_server_oam_net_port_0:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.iops_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ endpoint_vson_server:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ vcpus_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.capacity_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.capacity_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.iops_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outpoing.packets_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.packets.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.root.size_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.ephemeral.size_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.resident_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_vson_server:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu_util_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu.delta_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_vson_server:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.allocation_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_vson_server:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_vson_server:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_vson_server_oam_net_port_0:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ network.incoming.bytes.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ org.openecomp.resource.abstract.nodes.heat.vson_vm_3:
+ derived_from: org.openecomp.resource.abstract.nodes.VFC
+ properties:
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ vson_cluster_name:
+ type: string
+ description: Name of the vSON Cluster.
+ required: true
+ status: SUPPORTED
+ default_gateway:
+ type: string
+ description: Default gateway.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_ip_requirements:
+ type: list
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.network.IpRequirements
+ instance_index:
+ type: float
+ description: Index of the instance.
+ required: true
+ status: SUPPORTED
+ vnf_name:
+ type: string
+ description: Unique name for this VF instance.
+ required: true
+ status: SUPPORTED
+ oam_net_subnet_prefix_length:
+ type: string
+ description: Prefix length of the subnet on the OAM network.
+ required: true
+ status: SUPPORTED
+ swift_storage_url:
+ type: string
+ description: |
+ Swift storage URL. Example: http://172.16.209.246:8080/v1/AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 http://172.16.209.246:8080 - protocol, IP and port, v1 - API version AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 - account ID
+ required: true
+ status: SUPPORTED
+ vf_module_name:
+ type: string
+ description: Unique name for this VF module instance.
+ required: true
+ status: SUPPORTED
+ dns_servers:
+ type: list
+ description: List of DNS servers.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ oam_net_security_group_id:
+ type: string
+ description: |
+ The ID of Security group applied on the port bound to the vSON OAM network.
+ required: true
+ status: SUPPORTED
+ vson_vm_image_name:
+ type: string
+ description: VM Image name the vSON instance will be created from.
+ required: true
+ status: SUPPORTED
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_network_role:
+ type: string
+ required: true
+ status: SUPPORTED
+ vson_clm_oam_net_ip:
+ type: string
+ description: IP of the vSON Cluster Manager.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_mac_requirements:
+ type: org.openecomp.datatypes.network.MacRequirements
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_subnetpoolid:
+ type: string
+ required: true
+ status: SUPPORTED
+ oam_net_ips:
+ type: list
+ description: Fixed IP assignments for vSON instances on the OAM network.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ swift_son_container_name:
+ type: string
+ description: Swift container storing vSON artifacts.
+ required: true
+ status: SUPPORTED
+ vfc_role:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ swift_account_auth_token:
+ type: string
+ description: |
+ Swift account auth token. Example: 041a5187bb4641f9b89583e2539776b0
+ required: true
+ status: SUPPORTED
+ vson_server_group_id:
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors.
+ required: true
+ status: SUPPORTED
+ vson_vm_flavor_name:
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_network_role_tag:
+ type: string
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_vlan_requirements:
+ type: list
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.network.VlanRequirements
+ availability_zones:
+ type: list
+ description: List of availability zones.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ ntp_servers:
+ type: list
+ description: List of NTP servers.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ oam_net_id:
+ type: string
+ description: The ID of the OAM network.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_order:
+ type: integer
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_exCP_naming:
+ type: org.openecomp.datatypes.Naming
+ required: true
+ status: SUPPORTED
+ vson_vm_names:
+ type: list
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: string
+ requirements:
+ - dependency_vson_server:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - local_storage_vson_server:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - dependency_vson_server_oam_net_port_0:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_vson_server_oam_net_port_0:
+ capability: tosca.capabilities.network.Linkable
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ capabilities:
+ disk.write.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.allocation_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.latency_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.latency_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ os_vson_server:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_vson_server_oam_net_port_0:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ instance_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_vson_server_oam_net_port_0:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.iops_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ endpoint_vson_server:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ vcpus_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.capacity_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.capacity_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.iops_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outpoing.packets_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.packets.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.root.size_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.ephemeral.size_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.resident_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_vson_server:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu_util_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu.delta_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_vson_server:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.allocation_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_vson_server:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_vson_server:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_vson_server_oam_net_port_0:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ network.incoming.bytes.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ org.openecomp.resource.abstract.nodes.heat.vson_vm_1:
+ derived_from: org.openecomp.resource.abstract.nodes.VFC
+ properties:
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ default_gateway:
+ type: string
+ description: Default gateway.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_ip_requirements:
+ type: list
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.network.IpRequirements
+ instance_index:
+ type: float
+ description: Index of the instance.
+ required: true
+ status: SUPPORTED
+ vnf_name:
+ type: string
+ description: Unique name for this VF instance.
+ required: true
+ status: SUPPORTED
+ oam_net_subnet_prefix_length:
+ type: string
+ description: Prefix length of the subnet on the OAM network.
+ required: true
+ status: SUPPORTED
+ vf_module_name:
+ type: string
+ description: Unique name for this VF module instance.
+ required: true
+ status: SUPPORTED
+ dns_servers:
+ type: list
+ description: List of DNS servers.
+ required: true
+ status: SUPPORTED
+ entry_schema: *id001
+ oam_net_security_group_id:
+ type: string
+ description: |
+ The ID of Security group applied on the port bound to the vSON OAM network.
+ required: true
+ status: SUPPORTED
+ vson_vm_image_name:
+ type: string
+ description: VM Image name the vSON instance will be created from.
+ required: true
+ status: SUPPORTED
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_network_role:
+ type: string
+ required: true
+ status: SUPPORTED
+ vson_clm_oam_net_ip:
+ type: string
+ description: IP of the vSON Cluster Manager.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_mac_requirements:
+ type: org.openecomp.datatypes.network.MacRequirements
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_subnetpoolid:
+ type: string
+ required: true
+ status: SUPPORTED
+ vson_dc_unit:
+ type: string
+ description: Name of the vSON Data Center.
+ required: true
+ status: SUPPORTED
+ oam_net_ips:
+ type: list
+ description: Fixed IP assignments for vSON instances on the OAM network.
+ required: true
+ status: SUPPORTED
+ entry_schema: *id002
+ vfc_role:
+ type: string
+ description: Unique ID for this VF Module instance
+ required: true
+ status: SUPPORTED
+ swift_account_auth_token:
+ type: string
+ description: |
+ Swift account auth token. Example: 041a5187bb4641f9b89583e2539776b0
+ required: true
+ status: SUPPORTED
+ vson_server_group_id:
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors.
+ required: true
+ status: SUPPORTED
+ vson_vm_flavor_name:
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_network_role_tag:
+ type: string
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_vlan_requirements:
+ type: list
+ required: true
+ status: SUPPORTED
+ entry_schema:
+ type: org.openecomp.datatypes.network.VlanRequirements
+ availability_zones:
+ type: list
+ description: List of availability zones.
+ required: true
+ status: SUPPORTED
+ entry_schema: *id003
+ volume_ids:
+ type: list
+ description: List of Volumes IDs.
+ required: true
+ status: SUPPORTED
+ entry_schema: *id004
+ ntp_servers:
+ type: list
+ description: List of NTP servers.
+ required: true
+ status: SUPPORTED
+ entry_schema: *id005
+ vson_join_cluster_auth_token:
+ type: string
+ description: "Authentication Token generated for the user permitted to add\
+ \ a new Datacenter/vSON member to existing vSON Cluster. \n"
+ required: true
+ status: SUPPORTED
+ oam_net_id:
+ type: string
+ description: The ID of the OAM network.
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_order:
+ type: integer
+ required: true
+ status: SUPPORTED
+ port_vson_server_oam_net_port_0_exCP_naming:
+ type: org.openecomp.datatypes.Naming
+ required: true
+ status: SUPPORTED
+ vson_vm_names:
+ type: list
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+ required: true
+ status: SUPPORTED
+ entry_schema: *id006
+ requirements:
+ - dependency_vson_server:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - local_storage_vson_server:
+ capability: tosca.capabilities.Attachment
+ node: tosca.nodes.BlockStorage
+ relationship: tosca.relationships.AttachesTo
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - dependency_vson_server_oam_net_port_0:
+ capability: tosca.capabilities.Node
+ node: tosca.nodes.Root
+ relationship: tosca.relationships.DependsOn
+ occurrences:
+ - 0
+ - UNBOUNDED
+ - link_vson_server_oam_net_port_0:
+ capability: tosca.capabilities.network.Linkable
+ relationship: tosca.relationships.network.LinksTo
+ occurrences:
+ - 1
+ - 1
+ capabilities:
+ disk.write.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.allocation_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.bytes_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.latency_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.latency_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ os_vson_server:
+ type: tosca.capabilities.OperatingSystem
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_vson_server_oam_net_port_0:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ instance_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ attachment_vson_server_oam_net_port_0:
+ type: tosca.capabilities.Attachment
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.iops_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ endpoint_vson_server:
+ type: tosca.capabilities.Endpoint.Admin
+ occurrences:
+ - 1
+ - UNBOUNDED
+ vcpus_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.incoming.packets.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.capacity_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.capacity_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.iops_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.requests.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outpoing.packets_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.write.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.packets.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.root.size_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.ephemeral.size_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ memory.resident_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.read.bytes_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ scalable_vson_server:
+ type: tosca.capabilities.Scalable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ network.outgoing.bytes.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu_util_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.device.usage_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ cpu.delta_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.write.bytes.rate_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_vson_server:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.allocation_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_vson_server:
+ type: tosca.capabilities.network.Bindable
+ occurrences:
+ - 1
+ - UNBOUNDED
+ host_vson_server:
+ type: tosca.capabilities.Container
+ valid_source_types:
+ - tosca.nodes.SoftwareComponent
+ occurrences:
+ - 1
+ - UNBOUNDED
+ binding_vson_server_oam_net_port_0:
+ type: tosca.capabilities.network.Bindable
+ valid_source_types:
+ - org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
+ occurrences:
+ - 0
+ - UNBOUNDED
+ network.incoming.bytes.rate_vson_server_oam_net_port_0:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
+ disk.read.requests_vson_server:
+ type: org.openecomp.capabilities.metric.Ceilometer
+ description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
+ occurrences:
+ - 1
+ - UNBOUNDED
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..881506c874
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/MainServiceTemplate.yaml
@@ -0,0 +1,1771 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: Main
+imports:
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ vson_app_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ default: vson-app-flavor
+ vson_dbg_volume_id_0:
+ label: vSON DBG Volume ID 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the vSON DBG server.
+ vson_dbs_server_group_id:
+ label: vSON DBS server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: "Tells what policy should be applied to the ServerGroup. Affinity\
+ \ policy will force instances to share the same hypervisor. Anti-affinity\
+ \ will force instances to run in different hypervisors. The group intended\
+ \ for vSON DBS instances. \n"
+ vson_mon_volume_name_0:
+ label: vSON MON volume name
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume name.
+ default: vson_mon_volume_0
+ vson_dbs_volume_name_0:
+ label: vSON DBS volume name 0
+ hidden: false
+ immutable: false
+ type: string
+ description: First volume name.
+ vson_dbs_volume_size_1:
+ label: vSON DBS volume ID 1 size
+ hidden: false
+ immutable: false
+ type: float
+ description: Size of the second Cinder volume. Measured in gigabytes.
+ default: 500
+ vson_mdr_volume_id_0:
+ label: vSON Mediator Volume ID 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the vSON Mediator server.
+ vson_mgt_volume_name_0:
+ label: vSON MGT volume name
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume name.
+ default: vson_mgt_volume_0
+ vson_dbs_volume_name_1:
+ label: vSON DBS volume name 1
+ hidden: false
+ immutable: false
+ type: string
+ description: Second volume name.
+ vson_dbs_volume_size_0:
+ label: vSON DBS volume ID 0 size
+ hidden: false
+ immutable: false
+ type: float
+ description: Size of the first Cinder volume. Measured in gigabytes.
+ default: 500
+ vson_mon_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ vson_mon_volume_size_0:
+ label: vSON MON cinder volume size
+ hidden: false
+ immutable: false
+ type: float
+ description: Size of the Cinder volume. Measured in gigabytes.
+ default: 100
+ vson_mon_image_name:
+ label: vSON MON VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: Image name the volume will be created from.
+ default: VSON-BASE-1.0
+ oam_net_subnet_prefix_length:
+ label: OAM net subnet prefix length
+ hidden: false
+ immutable: false
+ type: string
+ description: OAM network subnet prefix length.
+ swift_storage_url:
+ label: swift storage URL
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Swift storage URL. Example: http://172.16.209.246:8080/v1/AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 http://172.16.209.246:8080 - protocol, IP and port, v1 - API version AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 - account ID
+ vson_dcl_image_name:
+ label: vSON base VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: VM Image name the vSON DC leader instance will be created from.
+ vson_app_oam_net_v6_ip_0:
+ label: vSON APP OAM network IPv6 address
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IPv6 assignment for the vSON APP instance on the OAM network.
+ dns_servers:
+ label: DNS servers
+ hidden: false
+ immutable: false
+ type: list
+ description: List of DNS servers.
+ entry_schema:
+ type: string
+ vson_app_volume_size_0:
+ label: vSON APP cinder volume size
+ hidden: false
+ immutable: false
+ type: float
+ description: |
+ Size of the Cinder volume. Measured in gigabytes.
+ default: 200
+ oam_net_security_group_id:
+ label: OAM network security group ID
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ The ID of Security group applied on the port bound to the vSON OAM network.
+ vson_mgt_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ default: vson-mgt-flavor
+ vson_mgt_volume_size_0:
+ label: vSON MGT cinder volume size
+ hidden: false
+ immutable: false
+ type: float
+ description: Size of the Cinder volume. Measured in gigabytes.
+ default: 100
+ vson_dbs_volume_id_0:
+ label: vSON DBS Volume ID 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the first vSON DBS server.
+ vson_dbc_volume_id_0:
+ label: vSON DBC Volume ID 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the vSON DBC server.
+ vson_dbs_volume_id_1:
+ label: vSON DBS Volume ID 1
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the second vSON DBS server.
+ vson_dbc_image_name:
+ label: vSON base VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: VM Image name the vSON DBC instance will be created from.
+ default: VSON-BASE-1.0
+ vson_mgt_image_name:
+ label: vSON Management VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: Image name the volume will be created from.
+ default: VSON-BASE-1.0
+ default_gateway_v6:
+ label: Default IPv6 gateway
+ hidden: false
+ immutable: false
+ type: string
+ description: Default IPv6 gateway.
+ vson_mgt_server_group_id:
+ label: vSON Management server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: "Tells what policy should be applied to the ServerGroup. Affinity\
+ \ policy will force instances to share the same hypervisor. Anti-affinity\
+ \ will force instances to run in different hypervisors. The group intended\
+ \ for vSON Management instances. \n"
+ vson_clm_name_0:
+ label: vSON Cluster Manager instance name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the vSON Cluster Manager instance.
+ vson_dbc_server_group_policy:
+ label: vSON Database server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. The group intended for vSON Database instances.
+ default: anti-affinity
+ vson_clm_server_group_policy:
+ label: vSON Cluster Management server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. The group intended for vSON Cluster Management instances.
+ default: anti-affinity
+ vson_mon_server_group_policy:
+ label: vSON MON server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. The group intended for vSON MON instances.
+ default: anti-affinity
+ vson_dbg_server_group_id:
+ label: vSON DBS server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: "Tells what policy should be applied to the ServerGroup. Affinity\
+ \ policy will force instances to share the same hypervisor. Anti-affinity\
+ \ will force instances to run in different hypervisors. The group intended\
+ \ for vSON DBS instances. \n"
+ vson_leader_server_group_policy:
+ label: vSON Cluster/DC leader server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. The group intended for vSON Cluster/DC leader instances.
+ default: anti-affinity
+ vson_dcl_oam_net_ip_0:
+ label: vSON DC leader OAM network IP address 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the first vSON DC leader instance on the OAM network.
+ vson_cll_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ vson_app_server_group_policy:
+ label: vSON Application server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. The group intended for vSON Application instances.
+ default: anti-affinity
+ vson_dcl_oam_net_ip_1:
+ label: vSON DC leader OAM network IP address 1
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the second vSON DC leader instance on the OAM network.
+ vson_dcl_oam_net_ip_2:
+ label: vSON DC leader OAM network IP address 2
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the third vSON DC leader instance on the OAM network.
+ vson_dbg_volume_size_0:
+ label: vSON DBG cinder volume size
+ hidden: false
+ immutable: false
+ type: float
+ description: |
+ Size of the Cinder volume. Measured in gigabytes.
+ default: 200
+ vson_cll_oam_net_ip_0:
+ label: vSON Cluster leader OAM network IP address 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the first vSON Cluster leader instance on the OAM network.
+ vson_app_oam_net_ip_0:
+ label: vSON APP OAM network IPv4 address
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IPv4 assignment for the vSON APP instance on the OAM network.
+ vson_cll_oam_net_ip_2:
+ label: vSON Cluster leader OAM network IP address 2
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the third vSON Cluster leader instance on the OAM network.
+ vson_cll_oam_net_ip_1:
+ label: vSON Cluster leader OAM network IP address 1
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the second vSON Cluster leader instance on the OAM network.
+ vson_clm_oam_net_ip_0:
+ label: vSON CLM OAM network IP address
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the vSON CLM instance on the OAM network.
+ default: 172.20.50.3
+ vf_module_id:
+ label: VF module ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance.
+ vson_dbc_oam_net_ip_0:
+ label: vSON DBC OAM network IP address
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the vSON DBC instance on the OAM network.
+ vson_dbg_oam_net_ip_0:
+ label: vSON DBG OAM network IP address
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the vSON DBG instance on the OAM network.
+ vnf_name:
+ label: VF name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name for this VF instance.
+ number_of_servers:
+ label: Number of Servers
+ hidden: false
+ immutable: false
+ type: float
+ description: Number of vSON Management servers.
+ constraints:
+ - in_range:
+ - 1
+ - 1
+ vson_mgt_name_0:
+ label: vSON Management instance name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the vSON Management instance.
+ default: vson-03.cisco.com
+ vf_module_name:
+ label: VF module name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name for this VF module instance.
+ default: module_0_vson_mgt_volume
+ vson_clm_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ default: vson-clm-flavor
+ vson_mdr_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ default: vson-mdr-flavor
+ vson_mon_volume_id_0:
+ label: vSON MON Volume ID 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the vSON MON server.
+ availability_zone_0:
+ label: Availability zone 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Availability zone.
+ availability_zone_1:
+ label: Availability zone 1
+ hidden: false
+ immutable: false
+ type: string
+ description: Second availability zone.
+ vson_dbc_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ default: vson-dbc-flavor
+ vson_dbc_volume_name_0:
+ label: vSON DBC volume name
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume name.
+ vson_mdr_image_name:
+ label: vSON Mediator VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: Image name the volume will be created from.
+ vson_cll_name_0:
+ label: First vSON Cluster leader name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the first vSON Cluster leader.
+ vson_cll_image_name:
+ label: vSON base VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: VM Image name the vSON Cluster leader instance will be created from.
+ vson_cll_name_2:
+ label: Third vSON Cluster leader name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the third vSON Cluster leader.
+ vson_dbg_name_0:
+ label: vSON DBG name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the vSON DBG server.
+ vson_cll_name_1:
+ label: Second vSON Cluster leader name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the second vSON Cluster leader.
+ vson_dbs_server_group_policy:
+ label: vSON Database server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. The group intended for vSON DB Shard instances.
+ default: anti-affinity
+ vson_join_cluster_auth_token:
+ label: vSON join cluster auth token
+ hidden: false
+ immutable: false
+ type: string
+ description: "Authentication Token generated for the user permitted to add \
+ \ a new vSON Datacenter. \n"
+ vson_dcl_name_0:
+ label: First vSON DC leader name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the first vSON DC leader.
+ vson_dcl_name_1:
+ label: Second vSON DC leader name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the second vSON DC leader.
+ vson_clm_0_oam_net_ip_0:
+ label: vSON Cluster Manager 0 OAM net IP
+ hidden: false
+ immutable: false
+ type: string
+ description: IP of the first vSON Cluster Management server.
+ vson_dcl_name_2:
+ label: Third vSON DC leader name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the third vSON DC leader.
+ oam_net_id:
+ label: OAM network ID
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID of the OAM network.
+ vson_mon_oam_net_ip_0:
+ label: vSON MON OAM network IP address
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the vSON MON instance on the OAM network.
+ vson_dbg_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ default: vson-dbg-flavor
+ vson_clm_image_name:
+ label: vSON Cluster Manager VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: Image name the volume will be created from.
+ default: VSON-BASE-1.0
+ vson_dbc_name_0:
+ label: vSON DBC name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the vSON DBC server.
+ vson_dbs_oam_net_ip_1:
+ label: vSON DBS OAM network IP address 1
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the second vSON DBS instance on the OAM network.
+ vson_dbg_image_name:
+ label: vSON base VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: VM Image name the vSON DBG instance will be created from.
+ default: VSON-BASE-1.0
+ vson_mgt_oam_net_ip_0:
+ label: vSON MGT OAM network IP address
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the vSON MGT instance on the OAM network.
+ vson_dbs_oam_net_ip_0:
+ label: vSON DBS OAM network IP address 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the first vSON DBS instance on the OAM network.
+ vson_cluster_name:
+ label: vSON Cluster name
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the vSON Cluster.
+ constraints:
+ - max_length: 13
+ - min_length: 1
+ vson_dcl_volume_size_1:
+ label: Cinder volume ID 1 size
+ hidden: false
+ immutable: false
+ type: float
+ description: |
+ Size of the second Cinder volume. Measured in gigabytes.
+ default: 200
+ vson_dcl_volume_size_0:
+ label: Cinder volume ID 0 size
+ hidden: false
+ immutable: false
+ type: float
+ description: |
+ Size of the first Cinder volume. Measured in gigabytes.
+ default: 200
+ vson_dcl_volume_size_2:
+ label: Cinder volume ID 2 size
+ hidden: false
+ immutable: false
+ type: float
+ description: |
+ Size of the third Cinder volume. Measured in gigabytes.
+ default: 200
+ vson_dbs_name_0:
+ label: First vSON DBS name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the first vSON DBS server.
+ vson_dbs_name_1:
+ label: Second vSON DBS name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the second vSON DBS server.
+ vson_mdr_server_group_id:
+ label: vSON Mediator server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: "Tells what policy should be applied to the ServerGroup. Affinity\
+ \ policy will force instances to share the same hypervisor. Anti-affinity\
+ \ will force instances to run in different hypervisors. The group intended\
+ \ for vSON Mediator instances. \n"
+ vson_dbc_server_group_id:
+ label: vSON DBS server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: "Tells what policy should be applied to the ServerGroup. Affinity\
+ \ policy will force instances to share the same hypervisor. Anti-affinity\
+ \ will force instances to run in different hypervisors. The group intended\
+ \ for vSON DBS instances. \n"
+ vson_dbs_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ default: vson-dbs-flavor
+ vson_mdr_server_group_policy:
+ label: vSON Mediator server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. The group intended for vSON Mediator instances.
+ default: anti-affinity
+ vson_dbc_volume_size_0:
+ label: vSON DBC cinder volume size
+ hidden: false
+ immutable: false
+ type: float
+ description: Size of the Cinder volume. Measured in gigabytes.
+ default: 50
+ vson_app_name_0:
+ label: vSON APP instance name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the vSON APP instance.
+ default: vson-13.cisco.com
+ swift_account_auth_token:
+ label: Swift account auth token
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Swift account auth token. Example: 041a5187bb4641f9b89583e2539776b0
+ vson_mdr_oam_net_ip_0:
+ label: vSON MDR OAM network IP address
+ hidden: false
+ immutable: false
+ type: string
+ description: Fixed IP assignment for the vSON MDR instance on the OAM network.
+ vson_leader_server_group_id:
+ label: vSON Cluster leader server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. The group intended for vSON Cluster leaders.
+ vson_clm_server_group_id:
+ label: vSON Cluster Manager server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: "Tells what policy should be applied to the ServerGroup. Affinity\
+ \ policy will force instances to share the same hypervisor. Anti-affinity\
+ \ will force instances to run in different hypervisors. The group intended\
+ \ for vSON Cluster Manager instances. \n"
+ vson_app_server_group_id:
+ label: vSON APP server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. The group intended for vSON APP instances.
+ vson_master_clm_ip:
+ label: vSON master CLM IP
+ hidden: false
+ immutable: false
+ type: string
+ description: "Master CLM IP. If the vSON Cluster belongs to a single OpenStack\
+ \ tenant, the value SHOULD BE EMPTY. In case the vSON Cluster is distributed\
+ \ between multiple tenants:\n -> vSON Cluster instantiation - the value should\
+ \ be empty \n -> Adding a new DC to existing vSON Cluster - IP of the CLM\
+ \ deployed during \n vSON Cluster instantiation, should be set as the\
+ \ value. \n"
+ vson_dcl_volume_id_2:
+ label: vSON DC Leader Volume ID 2
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the third vSON DC leader.
+ vson_mgt_server_group_policy:
+ label: vSON Management server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. The group intended for vSON Management instances.
+ default: anti-affinity
+ vson_dcl_volume_id_1:
+ label: vSON DC Leader Volume ID 1
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the second vSON DC leader.
+ vson_dcl_volume_id_0:
+ label: vSON DC Leader Volume ID 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the first vSON DC leader.
+ vson_dbs_image_name:
+ label: vSON base VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: VM Image name the vSON DBS instance will be created from.
+ default: VSON-BASE-1.0
+ vson_mon_server_group_id:
+ label: vSON MON server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: "Tells what policy should be applied to the ServerGroup. Affinity\
+ \ policy will force instances to share the same hypervisor. Anti-affinity\
+ \ will force instances to run in different hypervisors. The group intended\
+ \ for vSON MON instances. \n"
+ vson_mdr_volume_size_0:
+ label: vSON MDR cinder volume size
+ hidden: false
+ immutable: false
+ type: float
+ description: Size of the Cinder volume. Measured in gigabytes.
+ default: 50
+ default_gateway:
+ label: Default gateway
+ hidden: false
+ immutable: false
+ type: string
+ description: Default gateway.
+ vson_mgt_volume_id_0:
+ label: vSON Management Volume ID 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the vSON Management server.
+ vson_dbg_server_group_policy:
+ label: vSON Database server group policy
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors. The group intended for vSON DB Global instances.
+ default: anti-affinity
+ vson_mdr_volume_name_0:
+ label: vSON MGT volume name
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume name.
+ default: vson_mdr_volume_0
+ vson_dbg_volume_name_0:
+ label: vSON DBG volume name
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume name.
+ vson_app_image_name:
+ label: vSON base VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: VM Image name the vSON APP instance will be created from.
+ default: VSON-BASE-1.0
+ vson_app_volume_id_0:
+ label: vSON APP Volume ID 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the vSON APP server.
+ vnf_id:
+ label: VF ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance.
+ vson_dc_unit:
+ label: vSON Datacenter name
+ hidden: false
+ immutable: false
+ type: string
+ description: vSON Datacenter name.
+ swift_son_container_name:
+ label: SON Swift
+ hidden: false
+ immutable: false
+ type: string
+ description: Swift container storing vSON artifacts.
+ default: vson
+ oam_net_subnet_v6_prefix_length:
+ label: OAM net IPv6 subnet prefix length
+ hidden: false
+ immutable: false
+ type: string
+ description: OAM network IPv6 subnet prefix length.
+ vson_cll_volume_id_0:
+ label: vSON Cluster Leader Volume ID 0
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the first vSON Cluster leader.
+ ntp_servers:
+ label: NTP servers
+ hidden: false
+ immutable: false
+ type: list
+ description: List of NTP servers.
+ entry_schema:
+ type: string
+ vson_cll_volume_id_1:
+ label: vSON Cluster Leader Volume ID 1
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the second vSON Cluster leader.
+ vson_cll_volume_id_2:
+ label: vSON Cluster Leader Volume ID 2
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume ID of the third vSON Cluster leader.
+ vson_cll_volume_size_2:
+ label: Cinder volume ID 2 size
+ hidden: false
+ immutable: false
+ type: float
+ description: |
+ Size of the third Cinder volume. Measured in gigabytes.
+ vson_cll_volume_size_1:
+ label: Cinder volume ID 1 size
+ hidden: false
+ immutable: false
+ type: float
+ description: |
+ Size of the second Cinder volume. Measured in gigabytes.
+ vson_cll_volume_size_0:
+ label: Cinder volume ID 0 size
+ hidden: false
+ immutable: false
+ type: float
+ description: |
+ Size of the first Cinder volume. Measured in gigabytes.
+ vson_dcl_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ vson_app_volume_name_0:
+ label: vSON APP volume name
+ hidden: false
+ immutable: false
+ type: string
+ description: Volume name.
+ vson_mon_name_0:
+ label: vSON MON instance name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the vSON MON instance.
+ vson_mdr_name_0:
+ label: vSON Mediator instance name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name to be issued to the vSON Mediator instance.
+ node_templates:
+ abstract_vson_vm_3_0:
+ type: org.openecomp.resource.abstract.nodes.heat.vson_vm_3
+ directives:
+ - substitutable
+ properties:
+ vf_module_id:
+ get_input: vf_module_id
+ vson_cluster_name: ''
+ default_gateway:
+ get_input: default_gateway
+ port_vson_server_oam_net_port_0_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: false
+ instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ vnf_name:
+ get_input: vnf_name
+ oam_net_subnet_prefix_length:
+ get_input: oam_net_subnet_prefix_length
+ swift_storage_url: ''
+ vf_module_name:
+ get_input: vf_module_name
+ dns_servers:
+ get_input: dns_servers
+ oam_net_security_group_id:
+ get_input: oam_net_security_group_id
+ service_template_filter:
+ substitute_service_template: nested_vson_serverServiceTemplate.yaml
+ count:
+ get_input: number_of_servers
+ mandatory: false
+ vson_vm_image_name:
+ get_input: vson_clm_image_name
+ vnf_id:
+ get_input: vnf_id
+ vson_clm_oam_net_ip:
+ get_input: vson_clm_0_oam_net_ip_0
+ port_vson_server_oam_net_port_0_mac_requirements:
+ mac_count_required:
+ is_required: false
+ oam_net_ips:
+ - get_input: vson_clm_oam_net_ip_0
+ swift_son_container_name: ''
+ vfc_role: clm
+ swift_account_auth_token:
+ get_input: swift_account_auth_token
+ vson_server_group_id:
+ get_input: vson_clm_server_group_id
+ vson_vm_flavor_name:
+ get_input: vson_clm_flavor_name
+ port_vson_server_oam_net_port_0_network_role_tag: oam
+ availability_zones:
+ - get_input: availability_zone_0
+ ntp_servers:
+ get_input: ntp_servers
+ oam_net_id:
+ get_input: oam_net_id
+ vson_vm_names:
+ - get_input: vson_clm_name_0
+ abstract_vson_vm_1_0:
+ type: org.openecomp.resource.abstract.nodes.heat.vson_vm_1
+ directives:
+ - substitutable
+ properties:
+ vf_module_id:
+ get_input: vf_module_id
+ default_gateway:
+ get_input: default_gateway
+ port_vson_server_oam_net_port_0_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: false
+ instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ vnf_name:
+ get_input: vnf_name
+ oam_net_subnet_prefix_length:
+ get_input: oam_net_subnet_prefix_length
+ vf_module_name:
+ get_input: vf_module_name
+ dns_servers:
+ get_input: dns_servers
+ oam_net_security_group_id:
+ get_input: oam_net_security_group_id
+ service_template_filter:
+ substitute_service_template: nested_vson_server_with_volServiceTemplate.yaml
+ count:
+ get_input: number_of_servers
+ mandatory: false
+ vson_vm_image_name:
+ get_input: vson_dcl_image_name
+ vnf_id:
+ get_input: vnf_id
+ vson_clm_oam_net_ip:
+ get_input: vson_clm_0_oam_net_ip_0
+ port_vson_server_oam_net_port_0_mac_requirements:
+ mac_count_required:
+ is_required: false
+ vson_dc_unit:
+ get_input: vson_dc_unit
+ oam_net_ips:
+ - get_input: vson_dcl_oam_net_ip_0
+ - get_input: vson_dcl_oam_net_ip_1
+ - get_input: vson_dcl_oam_net_ip_2
+ vfc_role: dcl
+ swift_account_auth_token:
+ get_input: swift_account_auth_token
+ vson_server_group_id:
+ get_input: vson_leader_server_group_id
+ vson_vm_flavor_name:
+ get_input: vson_dcl_flavor_name
+ port_vson_server_oam_net_port_0_network_role_tag: oam
+ availability_zones:
+ - get_input: availability_zone_0
+ - get_input: availability_zone_1
+ - get_input: availability_zone_0
+ volume_ids:
+ - get_input: vson_dcl_volume_id_0
+ - get_input: vson_dcl_volume_id_1
+ - get_input: vson_dcl_volume_id_2
+ ntp_servers:
+ get_input: ntp_servers
+ vson_join_cluster_auth_token:
+ get_input: vson_join_cluster_auth_token
+ oam_net_id:
+ get_input: oam_net_id
+ vson_vm_names:
+ - get_input: vson_dcl_name_0
+ - get_input: vson_dcl_name_1
+ - get_input: vson_dcl_name_2
+ abstract_vson_vm_2_0:
+ type: org.openecomp.resource.abstract.nodes.heat.vson_vm_2
+ directives:
+ - substitutable
+ properties:
+ vf_module_id:
+ get_input: vf_module_id
+ default_gateway:
+ get_input: default_gateway
+ port_vson_server_oam_net_port_0_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: false
+ instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ vnf_name:
+ get_input: vnf_name
+ oam_net_subnet_prefix_length:
+ get_input: oam_net_subnet_prefix_length
+ vf_module_name:
+ get_input: vf_module_name
+ dns_servers:
+ get_input: dns_servers
+ oam_net_security_group_id:
+ get_input: oam_net_security_group_id
+ service_template_filter:
+ substitute_service_template: nested_vson_server_from_volServiceTemplate.yaml
+ count:
+ get_input: number_of_servers
+ mandatory: false
+ vnf_id:
+ get_input: vnf_id
+ vson_clm_oam_net_ip:
+ get_input: vson_clm_0_oam_net_ip_0
+ port_vson_server_oam_net_port_0_mac_requirements:
+ mac_count_required:
+ is_required: false
+ vson_dc_unit:
+ get_input: vson_dc_unit
+ oam_net_ips:
+ - get_input: vson_mon_oam_net_ip_0
+ vfc_role: mon
+ swift_account_auth_token:
+ get_input: swift_account_auth_token
+ vson_server_group_id:
+ get_input: vson_mon_server_group_id
+ vson_vm_flavor_name:
+ get_input: vson_mon_flavor_name
+ port_vson_server_oam_net_port_0_network_role_tag: oam
+ availability_zones:
+ - get_input: availability_zone_0
+ volume_ids:
+ - get_input: vson_mon_volume_id_0
+ ntp_servers:
+ get_input: ntp_servers
+ oam_net_id:
+ get_input: oam_net_id
+ vson_vm_names:
+ - get_input: vson_mon_name_0
+ vson_dbc_volume_0:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_0
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_dbc_volume_size_0) * 1024'
+ name:
+ get_input: vson_dbc_volume_name_0
+ description: vSON DB Config cinder volume.
+ vson_mdr_volume_0:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_0
+ image:
+ get_input: vson_mdr_image_name
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_mdr_volume_size_0) * 1024'
+ name:
+ get_input: vson_mdr_volume_name_0
+ description: |
+ vSON MDR cinder volume. The volume is created from the vSON base VM image.
+ vson_mgt_volume_0:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_0
+ image:
+ get_input: vson_mgt_image_name
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_mgt_volume_size_0) * 1024'
+ name:
+ get_input: vson_mgt_volume_name_0
+ description: |
+ vSON MGT cinder volume. The volume is created from the vSON base VM image.
+ vson_mon_volume_0:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_0
+ image:
+ get_input: vson_mon_image_name
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_mon_volume_size_0) * 1024'
+ name:
+ get_input: vson_mon_volume_name_0
+ description: |
+ vSON MON cinder volume. The volume is created from the vSON base VM image.
+ vson_cll_volume_2:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_0
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_cll_volume_size_2) * 1024'
+ name:
+ str_replace:
+ template: VNF_NAME_cll_volume_2
+ params:
+ VNF_NAME:
+ get_input: vnf_name
+ description: Cinder volume for the third vSON Cluster leader.
+ vson_cll_volume_0:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_0
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_cll_volume_size_0) * 1024'
+ name:
+ str_replace:
+ template: VNF_NAME_cll_volume_0
+ params:
+ VNF_NAME:
+ get_input: vnf_name
+ description: Cinder volume for the first vSON Cluster leader.
+ vson_cll_volume_1:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_1
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_cll_volume_size_1) * 1024'
+ name:
+ str_replace:
+ template: VNF_NAME_cll_volume_1
+ params:
+ VNF_NAME:
+ get_input: vnf_name
+ description: Cinder volume for the second vSON Cluster leader.
+ vson_dbs_volume_1:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_1
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_dbs_volume_size_1) * 1024'
+ name:
+ get_input: vson_dbs_volume_name_1
+ description: Cinder volume for the second vSON DBS VM instance.
+ vson_dbs_volume_0:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_0
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_dbs_volume_size_0) * 1024'
+ name:
+ get_input: vson_dbs_volume_name_0
+ description: Cinder volume for the first vSON DBS VM instance.
+ vson_dcl_volume_2:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_0
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_dcl_volume_size_2) * 1024'
+ name:
+ str_replace:
+ template: VNF_NAME_dcl_volume_2
+ params:
+ VNF_NAME:
+ get_input: vnf_name
+ description: Cinder volume for the third vSON DC leader.
+ abstract_vson_vm_0:
+ type: org.openecomp.resource.abstract.nodes.heat.vson_vm
+ directives:
+ - substitutable
+ properties:
+ vf_module_id:
+ get_input: vf_module_id
+ default_gateway:
+ get_input: default_gateway
+ port_vson_server_oam_net_port_0_ip_requirements:
+ - ip_version: 6
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: false
+ instance_index:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ vnf_name:
+ get_input: vnf_name
+ oam_net_subnet_prefix_length:
+ get_input: oam_net_subnet_prefix_length
+ vf_module_name:
+ get_input: vf_module_name
+ dns_servers:
+ get_input: dns_servers
+ oam_net_security_group_id:
+ get_input: oam_net_security_group_id
+ service_template_filter:
+ substitute_service_template: nested_vson_server_with_vol_dual_ip_stackServiceTemplate.yaml
+ count:
+ get_input: number_of_servers
+ mandatory: false
+ vson_vm_image_name:
+ get_input: vson_app_image_name
+ vnf_id:
+ get_input: vnf_id
+ vson_clm_oam_net_ip:
+ get_input: vson_clm_0_oam_net_ip_0
+ port_vson_server_oam_net_port_0_mac_requirements:
+ mac_count_required:
+ is_required: false
+ vson_dc_unit:
+ get_input: vson_dc_unit
+ oam_net_ips:
+ - get_input: vson_app_oam_net_ip_0
+ oam_net_subnet_v6_prefix_length:
+ get_input: oam_net_subnet_v6_prefix_length
+ vfc_role: app
+ swift_account_auth_token:
+ get_input: swift_account_auth_token
+ default_gateway_v6:
+ get_input: default_gateway_v6
+ vson_server_group_id:
+ get_input: vson_app_server_group_id
+ vson_vm_flavor_name:
+ get_input: vson_app_flavor_name
+ port_vson_server_oam_net_port_0_network_role_tag: oam
+ availability_zones:
+ - get_input: availability_zone_0
+ volume_ids:
+ - get_input: vson_app_volume_id_0
+ oam_net_v6_ips:
+ - get_input: vson_app_oam_net_v6_ip_0
+ ntp_servers:
+ get_input: ntp_servers
+ vson_join_cluster_auth_token:
+ get_input: vson_join_cluster_auth_token
+ oam_net_id:
+ get_input: oam_net_id
+ vson_vm_names:
+ - get_input: vson_app_name_0
+ vson_dcl_volume_0:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_0
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_dcl_volume_size_0) * 1024'
+ name:
+ str_replace:
+ template: VNF_NAME_dcl_volume_0
+ params:
+ VNF_NAME:
+ get_input: vnf_name
+ description: Cinder volume for the first vSON DC leader.
+ vson_dcl_volume_1:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_1
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_dcl_volume_size_1) * 1024'
+ name:
+ str_replace:
+ template: VNF_NAME_dcl_volume_1
+ params:
+ VNF_NAME:
+ get_input: vnf_name
+ description: Cinder volume for the second vSON DC leader.
+ oam_net_security_group:
+ type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules
+ properties:
+ name:
+ str_replace:
+ template: VNF_NAME_oam_sec_group
+ params:
+ VNF_NAME:
+ get_input: vnf_name
+ description: Security Group for instances connected to the OAM network.
+ rules:
+ - protocol: tcp
+ ethertype: IPv4
+ remote_ip_prefix: 0.0.0.0/0
+ port_range_max: 65535
+ direction: egress
+ port_range_min: 1
+ - protocol: udp
+ ethertype: IPv4
+ remote_ip_prefix: 0.0.0.0/0
+ port_range_max: 65535
+ direction: egress
+ port_range_min: 1
+ - protocol: '47'
+ ethertype: IPv4
+ remote_ip_prefix: 0.0.0.0/0
+ port_range_max: 65535
+ direction: egress
+ port_range_min: 1
+ - protocol: icmp
+ ethertype: IPv4
+ remote_ip_prefix: 0.0.0.0/0
+ direction: egress
+ - protocol: tcp
+ ethertype: IPv6
+ remote_ip_prefix: ::/0
+ port_range_max: 65535
+ direction: egress
+ port_range_min: 1
+ - protocol: udp
+ ethertype: IPv6
+ remote_ip_prefix: ::/0
+ port_range_max: 65535
+ direction: egress
+ port_range_min: 1
+ - protocol: '47'
+ ethertype: IPv6
+ remote_ip_prefix: ::/0
+ port_range_max: 65535
+ direction: egress
+ port_range_min: 1
+ - protocol: icmp
+ ethertype: IPv6
+ remote_ip_prefix: ::/0
+ direction: egress
+ - protocol: tcp
+ ethertype: IPv4
+ remote_ip_prefix: 0.0.0.0/0
+ port_range_max: 65535
+ direction: ingress
+ port_range_min: 1
+ - protocol: udp
+ ethertype: IPv4
+ remote_ip_prefix: 0.0.0.0/0
+ port_range_max: 65535
+ direction: ingress
+ port_range_min: 1
+ - protocol: '47'
+ ethertype: IPv4
+ remote_ip_prefix: 0.0.0.0/0
+ port_range_max: 65535
+ direction: ingress
+ port_range_min: 1
+ - protocol: icmp
+ ethertype: IPv4
+ remote_ip_prefix: 0.0.0.0/0
+ direction: ingress
+ - protocol: tcp
+ ethertype: IPv6
+ remote_ip_prefix: ::/0
+ port_range_max: 65535
+ direction: ingress
+ port_range_min: 1
+ - protocol: udp
+ ethertype: IPv6
+ remote_ip_prefix: ::/0
+ port_range_max: 65535
+ direction: ingress
+ port_range_min: 1
+ - protocol: '47'
+ ethertype: IPv6
+ remote_ip_prefix: ::/0
+ port_range_max: 65535
+ direction: ingress
+ port_range_min: 1
+ - protocol: icmp
+ ethertype: IPv6
+ remote_ip_prefix: ::/0
+ direction: ingress
+ requirements:
+ - port:
+ capability: attachment_vson_server_oam_net_port_0
+ node: abstract_vson_vm_3_0
+ relationship: org.openecomp.relationships.AttachesTo
+ - port:
+ capability: attachment_vson_server_oam_net_port_0
+ node: abstract_vson_vm_1_0
+ relationship: org.openecomp.relationships.AttachesTo
+ - port:
+ capability: attachment_vson_server_oam_net_port_0
+ node: abstract_vson_vm_1_0
+ relationship: org.openecomp.relationships.AttachesTo
+ - port:
+ capability: attachment_vson_server_oam_net_port_0
+ node: abstract_vson_vm_1_0
+ relationship: org.openecomp.relationships.AttachesTo
+ - port:
+ capability: attachment_vson_server_oam_net_port_0
+ node: abstract_vson_vm_3_0
+ relationship: org.openecomp.relationships.AttachesTo
+ - port:
+ capability: attachment_vson_server_oam_net_port_0
+ node: abstract_vson_vm_2_0
+ relationship: org.openecomp.relationships.AttachesTo
+ - port:
+ capability: attachment_vson_server_oam_net_port_0
+ node: abstract_vson_vm_1_0
+ relationship: org.openecomp.relationships.AttachesTo
+ - port:
+ capability: attachment_vson_server_oam_net_port_0
+ node: abstract_vson_vm_0
+ relationship: org.openecomp.relationships.AttachesTo
+ - port:
+ capability: attachment_vson_server_oam_net_port_0
+ node: abstract_vson_vm_1_0
+ relationship: org.openecomp.relationships.AttachesTo
+ - port:
+ capability: attachment_vson_server_oam_net_port_0
+ node: abstract_vson_vm_2_0
+ relationship: org.openecomp.relationships.AttachesTo
+ - port:
+ capability: attachment_vson_server_oam_net_port_0
+ node: abstract_vson_vm_2_0
+ relationship: org.openecomp.relationships.AttachesTo
+ vson_dbg_volume_0:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_0
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_dbg_volume_size_0) * 1024'
+ name:
+ get_input: vson_dbg_volume_name_0
+ description: vSON DB Global cinder volume.
+ vson_app_volume_0:
+ type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
+ properties:
+ availability_zone:
+ get_input: availability_zone_0
+ metadata:
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ size: '(get_input : vson_app_volume_size_0) * 1024'
+ name:
+ get_input: vson_app_volume_name_0
+ description: vSON APP cinder volume.
+ groups:
+ module_5_vson_dbg_volume_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_5_vson_dbg_volume.yaml
+ description: |
+ Creates a Cinder volume. Cinder volume is a storage in the form of block devices. It can be used, for example, for providing storage to instance. Volume supports creation from snapshot, backup or image. Also volume can be created only by size. The template creates volumes for vSON DB Global servers (Virtual Function Component DBG).
+ members:
+ - vson_dbg_volume_0
+ module_7_vson_app_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_7_vson_app.yaml
+ description: The template deploys vSON VFC of type APP.
+ members:
+ - abstract_vson_vm_0
+ module_2_vson_mdr_volume_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_2_vson_mdr_volume.yaml
+ description: |
+ Create a Cinder volume. Cinder volume is a storage in the form of block devices. It can be used, for example, for providing storage to instance. Volume supports creation from snapshot, backup or image. Also volume can be created only by size. The template creates volume for vSON Mediator server (Virtual Function Component MDR).
+ members:
+ - vson_mdr_volume_0
+ module_3_vson_cll_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_3_vson_cll.yaml
+ description: |
+ The template deploys three instances of vSON Cluster leaders, instantiates cluster and the first Datacenter.
+ members:
+ - abstract_vson_vm_1_0
+ module_6_vson_dbs_volume_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_6_vson_dbs_volume.yaml
+ description: "Creates Cinder volumes. Cinder volume is a storage in the form\
+ \ of block devices. It can be used, for example, for providing storage\
+ \ to instance. Volume supports creation from snapshot, backup or image.\
+ \ Also volume can be created only by size. The template creates volumes\
+ \ for vSON Database servers configured for sharding (Virtual Function Component\
+ \ DBS). The shard consists of two Database instances: - Primary - Secondary\
+ \ \n"
+ members:
+ - vson_dbs_volume_1
+ - vson_dbs_volume_0
+ module_0_vson_mgt_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_0_vson_mgt.yaml
+ description: The template deploys vSON VFC of type MGT.
+ members:
+ - abstract_vson_vm_2_0
+ module_1_vson_mon_volume_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_1_vson_mon_volume.yaml
+ description: |
+ Create a Cinder volume. Cinder volume is a storage in the form of block devices. It can be used, for example, for providing storage to instance. Volume supports creation from snapshot, backup or image. Also volume can be created only by size. The template creates volume for vSON Monitor and KPIs routing server (Virtual Function Component MON).
+ members:
+ - vson_mon_volume_0
+ module_2_vson_mdr_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_2_vson_mdr.yaml
+ description: The template deploys vSON VFC of type Mediator (MDR).
+ members:
+ - abstract_vson_vm_2_0
+ module_0_vson_mgt_volume_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_0_vson_mgt_volume.yaml
+ description: |
+ Create a Cinder volume. Cinder volume is a storage in the form of block devices. It can be used, for example, for providing storage to instance. Volume supports creation from snapshot, backup or image. Also volume can be created only by size. The template creates volume for vSON Management server (Virtual Function Component MGT).
+ members:
+ - vson_mgt_volume_0
+ module_8_vson_dcl_volume_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_8_vson_dcl_volume.yaml
+ description: |
+ Creates Cinder volumes. Cinder volume is a storage in the form of block devices. It can be used, for example, for providing storage to instance. Volume supports creation from snapshot, backup or image. Also volume can be created only by size. The template creates volumes for vSON DC leaders (Virtual Function Component DCL).
+ members:
+ - vson_dcl_volume_2
+ - vson_dcl_volume_0
+ - vson_dcl_volume_1
+ module_7_vson_app_volume_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_7_vson_app_volume.yaml
+ description: |
+ Creates a Cinder volume. Cinder volume is a storage in the form of block devices. It can be used, for example, for providing storage to instance. Volume supports creation from snapshot, backup or image. Also volume can be created only by size. The template creates volume for vSON APP server (Virtual Function Component APP).
+ members:
+ - vson_app_volume_0
+ module_4_vson_dbc_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_4_vson_dbc.yaml
+ description: The template deploys vSON VFC of type Database Config (DBC).
+ members:
+ - abstract_vson_vm_1_0
+ module_3_vson_cll_volume_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_3_vson_cll_volume.yaml
+ description: |
+ Creates Cinder volumes. Cinder volume is a storage in the form of block devices. It can be used, for example, for providing storage to instance. Volume supports creation from snapshot, backup or image. Also volume can be created only by size. The template creates volumes for the vSON Cluster leaders (Virtual Function Component CLL).
+ members:
+ - vson_cll_volume_2
+ - vson_cll_volume_0
+ - vson_cll_volume_1
+ module_8_vson_dcl_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_8_vson_dcl.yaml
+ description: The template deploys vSON Datacenter.
+ members:
+ - abstract_vson_vm_1_0
+ module_9_vson_clm_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_9_vson_clm.yaml
+ description: The template deploys vSON VFC of type CLM.
+ members:
+ - abstract_vson_vm_3_0
+ module_4_vson_dbc_volume_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_4_vson_dbc_volume.yaml
+ description: |
+ Creates a Cinder volume. Cinder volume is a storage in the form of block devices. It can be used, for example, for providing storage to instance. Volume supports creation from snapshot, backup or image. Also volume can be created only by size. The template creates volume for vSON DB Config servers (Virtual Function Component DBC).
+ members:
+ - vson_dbc_volume_0
+ base_vson_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/base_vson.yaml
+ description: |
+ Creates essential resources: vSON internal network, Security Groups and vSON Cluster Manager instance. Deploys and configure appropriate software on the Cluster Management server. Exposes shared resource as outputs that could be used by add-on templates.
+ members:
+ - oam_net_security_group
+ - abstract_vson_vm_3_0
+ module_6_vson_dbs_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_6_vson_dbs.yaml
+ description: "The template deploys vSON VFC of type Database Shard (DBS) VM\
+ \ instances: Primary and Secondary. \n"
+ members:
+ - abstract_vson_vm_1_0
+ module_5_vson_dbg_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_5_vson_dbg.yaml
+ description: The template deploys vSON VFC of type Database Global (DBG).
+ members:
+ - abstract_vson_vm_1_0
+ module_1_vson_mon_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/module_1_vson_mon.yaml
+ description: The template deploys vSON VFC of type MON.
+ members:
+ - abstract_vson_vm_2_0
+ outputs:
+ vson_dbg_volume_id_0:
+ description: vSON DB Global volume ID.
+ value: vson_dbg_volume_0
+ vson_dbs_server_group_id:
+ description: ID of the Server Group intended for vSON DBS instances.
+ value: UNSUPPORTED_RESOURCE_vson_dbs_server_group
+ vson_mdr_volume_id_0:
+ description: Volume ID.
+ value: vson_mdr_volume_0
+ vson_mgt_volume_id_0:
+ description: ID of the vSON Management volume.
+ value: vson_mgt_volume_0
+ vson_mgt_server_group_id:
+ description: ID of the Server Group intended for vSON Management instances.
+ value: UNSUPPORTED_RESOURCE_vson_mgt_server_group
+ vson_cll_volume_id_0:
+ description: First vSON Cluster leader volume ID.
+ value: vson_cll_volume_0
+ vson_cll_volume_id_1:
+ description: Second vSON Cluster leader volume ID.
+ value: vson_cll_volume_1
+ vson_cll_volume_id_2:
+ description: Third vSON Cluster leader volume ID.
+ value: vson_cll_volume_2
+ vson_dbg_server_group_id:
+ description: ID of the Server Group intended for vSON DBG instances.
+ value: UNSUPPORTED_RESOURCE_vson_dbg_server_group
+ vson_leader_server_group_id:
+ description: ID of the Server Group intended for vSON Cluster/DC leaders.
+ value: UNSUPPORTED_RESOURCE_vson_leader_server_group
+ vson_clm_0_oam_net_ip_0:
+ description: vSON Cluster Management server IP on the OAM network.
+ value:
+ get_input: vson_clm_oam_net_ip_0
+ vson_clm_server_group_id:
+ description: ID of the Server Group intended for vSON Cluster Management instances.
+ value: UNSUPPORTED_RESOURCE_vson_clm_server_group
+ vson_mdr_server_group_id:
+ description: ID of the Server Group intended for vSON Mediator instances.
+ value: UNSUPPORTED_RESOURCE_vson_mdr_server_group
+ vson_dbc_server_group_id:
+ description: ID of the Server Group intended for vSON DBC instances.
+ value: UNSUPPORTED_RESOURCE_vson_dbc_server_group
+ vson_app_server_group_id:
+ description: ID of the Server Group intended for vSON Application instances.
+ value: UNSUPPORTED_RESOURCE_vson_app_server_group
+ vson_mon_volume_id_0:
+ description: ID of the vSON Monitor and KPIs routing volume.
+ value: vson_mon_volume_0
+ vson_app_volume_id_0:
+ description: vSON APP volume ID.
+ value: vson_app_volume_0
+ vson_dcl_volume_id_2:
+ description: ID of the third vSON DC leader volume.
+ value: vson_dcl_volume_2
+ vson_dcl_volume_id_1:
+ description: ID of the second vSON DC leader volume.
+ value: vson_dcl_volume_1
+ vson_dbs_volume_id_0:
+ description: ID of the first vSON DBS volume.
+ value: vson_dbs_volume_0
+ vson_dbc_volume_id_0:
+ description: vSON DB Config volume ID.
+ value: vson_dbc_volume_0
+ vson_dcl_volume_id_0:
+ description: ID of the first vSON DC leader volume.
+ value: vson_dcl_volume_0
+ vson_dbs_volume_id_1:
+ description: ID of the second vSON DBS volume.
+ value: vson_dbs_volume_1
+ vson_mon_server_group_id:
+ description: ID of the Server Group intended for vSON MON instances.
+ value: UNSUPPORTED_RESOURCE_vson_mon_server_group \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_serverServiceTemplate.yaml
new file mode 100644
index 0000000000..f4845f41a3
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_serverServiceTemplate.yaml
@@ -0,0 +1,452 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: nested_vson_server
+imports:
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.vson_vm:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ label: VF module ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ vson_cluster_name:
+ label: vSON Cluster name
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the vSON Cluster.
+ default_gateway:
+ label: Default gateway
+ hidden: false
+ immutable: false
+ type: string
+ description: Default gateway.
+ port_vson_server_oam_net_port_0_ip_requirements:
+ type: list
+ required: true
+ entry_schema:
+ type: org.openecomp.datatypes.network.IpRequirements
+ instance_index:
+ label: Instance Index
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of the instance.
+ vnf_name:
+ label: VF name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name for this VF instance.
+ oam_net_subnet_prefix_length:
+ label: OAM net subnet prefix length
+ hidden: false
+ immutable: false
+ type: string
+ description: Prefix length of the subnet on the OAM network.
+ swift_storage_url:
+ label: swift storage URL
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Swift storage URL. Example: http://172.16.209.246:8080/v1/AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 http://172.16.209.246:8080 - protocol, IP and port, v1 - API version AUTH_a4d426b5ef2e41408a8e6e6b9a8d3029 - account ID
+ vf_module_name:
+ label: VF module name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name for this VF module instance.
+ dns_servers:
+ label: DNS servers
+ hidden: false
+ immutable: false
+ type: list
+ description: List of DNS servers.
+ entry_schema:
+ type: string
+ oam_net_security_group_id:
+ label: OAM network security group ID
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ The ID of Security group applied on the port bound to the vSON OAM network.
+ vson_vm_image_name:
+ label: vSON base VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: VM Image name the vSON instance will be created from.
+ vnf_id:
+ label: VF ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance.
+ port_vson_server_oam_net_port_0_network_role:
+ type: string
+ required: true
+ vson_clm_oam_net_ip:
+ label: vSON Cluster Manager IP
+ hidden: false
+ immutable: false
+ type: string
+ description: IP of the vSON Cluster Manager.
+ port_vson_server_oam_net_port_0_mac_requirements:
+ type: org.openecomp.datatypes.network.MacRequirements
+ required: true
+ port_vson_server_oam_net_port_0_subnetpoolid:
+ type: string
+ required: true
+ oam_net_ips:
+ label: vSON OAM network IP addresses
+ hidden: false
+ immutable: false
+ type: list
+ description: Fixed IP assignments for vSON instances on the OAM network.
+ entry_schema:
+ type: string
+ swift_son_container_name:
+ label: SON Swift
+ hidden: false
+ immutable: false
+ type: string
+ description: Swift container storing vSON artifacts.
+ vfc_role:
+ label: VF module ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ swift_account_auth_token:
+ label: Swift account auth token
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Swift account auth token. Example: 041a5187bb4641f9b89583e2539776b0
+ vson_server_group_id:
+ label: vSON server group ID
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors.
+ vson_vm_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ port_vson_server_oam_net_port_0_network_role_tag:
+ type: string
+ required: true
+ port_vson_server_oam_net_port_0_vlan_requirements:
+ type: list
+ required: true
+ entry_schema:
+ type: org.openecomp.datatypes.network.VlanRequirements
+ availability_zones:
+ label: Availability zones
+ hidden: false
+ immutable: false
+ type: list
+ description: List of availability zones.
+ entry_schema:
+ type: string
+ ntp_servers:
+ label: NTP servers
+ hidden: false
+ immutable: false
+ type: list
+ description: List of NTP servers.
+ entry_schema:
+ type: string
+ oam_net_id:
+ label: OAM network ID
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID of the OAM network.
+ port_vson_server_oam_net_port_0_order:
+ type: integer
+ required: true
+ port_vson_server_oam_net_port_0_exCP_naming:
+ type: org.openecomp.datatypes.Naming
+ required: true
+ vson_vm_names:
+ label: vSON Cluster leader names
+ hidden: false
+ immutable: false
+ type: list
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+ entry_schema:
+ type: string
+ node_templates:
+ vson_server:
+ type: org.openecomp.resource.vfc.nodes.heat.vson_vm
+ properties:
+ flavor:
+ get_input: vson_vm_flavor_name
+ availability_zone:
+ get_input:
+ - availability_zones
+ - get_input: instance_index
+ image:
+ get_input: vson_vm_image_name
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ get_input: vfc_role
+ vnf_id:
+ get_input: vnf_id
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ config_drive: true
+ user_data_format: RAW
+ name:
+ get_input:
+ - vson_vm_names
+ - get_input: instance_index
+ scheduler_hints:
+ group:
+ get_input: vson_server_group_id
+ vson_server_oam_net_port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ ip_requirements:
+ get_input: port_vson_server_oam_net_port_0_ip_requirements
+ security_groups:
+ - get_input: oam_net_security_group_id
+ network_role:
+ get_input: port_vson_server_oam_net_port_0_network_role
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - oam_net_ips
+ - get_input: instance_index
+ subnetpoolid:
+ get_input: port_vson_server_oam_net_port_0_subnetpoolid
+ mac_requirements:
+ get_input: port_vson_server_oam_net_port_0_mac_requirements
+ name:
+ str_replace:
+ template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
+ params:
+ VNF_NAME:
+ get_input: vnf_name
+ VNF_ID:
+ get_input: vnf_id
+ SERVER_NAME:
+ get_input:
+ - vson_vm_names
+ - get_input: instance_index
+ exCP_naming:
+ get_input: port_vson_server_oam_net_port_0_exCP_naming
+ vlan_requirements:
+ get_input: port_vson_server_oam_net_port_0_vlan_requirements
+ network_role_tag:
+ get_input: port_vson_server_oam_net_port_0_network_role_tag
+ network:
+ get_input: oam_net_id
+ order:
+ get_input: port_vson_server_oam_net_port_0_order
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: vson_server
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ nested_vson_server_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/nested_vson_server.yaml
+ description: |
+ The template intended for deploying vSON VM instance.
+ members:
+ - vson_server
+ - vson_server_oam_net_port_0
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.vson_vm_3
+ capabilities:
+ disk.write.bytes_vson_server:
+ - vson_server
+ - disk.write.bytes
+ disk.device.allocation_vson_server:
+ - vson_server
+ - disk.device.allocation
+ network.incoming.packets_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.packets
+ memory.usage_vson_server:
+ - vson_server
+ - memory.usage
+ network.incoming.bytes_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.bytes
+ disk.device.latency_vson_server:
+ - vson_server
+ - disk.device.latency
+ disk.device.write.bytes.rate_vson_server:
+ - vson_server
+ - disk.device.write.bytes.rate
+ disk.device.read.requests_vson_server:
+ - vson_server
+ - disk.device.read.requests
+ memory_vson_server:
+ - vson_server
+ - memory
+ disk.latency_vson_server:
+ - vson_server
+ - disk.latency
+ os_vson_server:
+ - vson_server
+ - os
+ feature_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - feature
+ instance_vson_server:
+ - vson_server
+ - instance
+ cpu_vson_server:
+ - vson_server
+ - cpu
+ attachment_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - attachment
+ disk.iops_vson_server:
+ - vson_server
+ - disk.iops
+ network.outgoing.bytes_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.bytes
+ disk.device.write.bytes_vson_server:
+ - vson_server
+ - disk.device.write.bytes
+ disk.device.read.bytes.rate_vson_server:
+ - vson_server
+ - disk.device.read.bytes.rate
+ endpoint_vson_server:
+ - vson_server
+ - endpoint
+ vcpus_vson_server:
+ - vson_server
+ - vcpus
+ network.incoming.packets.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.packets.rate
+ disk.device.read.requests.rate_vson_server:
+ - vson_server
+ - disk.device.read.requests.rate
+ disk.write.requests.rate_vson_server:
+ - vson_server
+ - disk.write.requests.rate
+ disk.capacity_vson_server:
+ - vson_server
+ - disk.capacity
+ disk.device.capacity_vson_server:
+ - vson_server
+ - disk.device.capacity
+ disk.device.iops_vson_server:
+ - vson_server
+ - disk.device.iops
+ disk.device.write.requests.rate_vson_server:
+ - vson_server
+ - disk.device.write.requests.rate
+ network.outpoing.packets_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outpoing.packets
+ disk.read.bytes_vson_server:
+ - vson_server
+ - disk.read.bytes
+ disk.read.bytes.rate_vson_server:
+ - vson_server
+ - disk.read.bytes.rate
+ disk.device.write.requests_vson_server:
+ - vson_server
+ - disk.device.write.requests
+ network.outgoing.packets.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.packets.rate
+ disk.root.size_vson_server:
+ - vson_server
+ - disk.root.size
+ disk.ephemeral.size_vson_server:
+ - vson_server
+ - disk.ephemeral.size
+ memory.resident_vson_server:
+ - vson_server
+ - memory.resident
+ disk.device.read.bytes_vson_server:
+ - vson_server
+ - disk.device.read.bytes
+ scalable_vson_server:
+ - vson_server
+ - scalable
+ network.outgoing.bytes.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.bytes.rate
+ disk.write.requests_vson_server:
+ - vson_server
+ - disk.write.requests
+ disk.usage_vson_server:
+ - vson_server
+ - disk.usage
+ cpu_util_vson_server:
+ - vson_server
+ - cpu_util
+ disk.device.usage_vson_server:
+ - vson_server
+ - disk.device.usage
+ cpu.delta_vson_server:
+ - vson_server
+ - cpu.delta
+ disk.write.bytes.rate_vson_server:
+ - vson_server
+ - disk.write.bytes.rate
+ feature_vson_server:
+ - vson_server
+ - feature
+ disk.allocation_vson_server:
+ - vson_server
+ - disk.allocation
+ binding_vson_server:
+ - vson_server
+ - binding
+ host_vson_server:
+ - vson_server
+ - host
+ binding_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - binding
+ network.incoming.bytes.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.bytes.rate
+ disk.read.requests_vson_server:
+ - vson_server
+ - disk.read.requests
+ requirements:
+ link_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - link
+ dependency_vson_server:
+ - vson_server
+ - dependency
+ dependency_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - dependency
+ local_storage_vson_server:
+ - vson_server
+ - local_storage
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_from_volServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_from_volServiceTemplate.yaml
new file mode 100644
index 0000000000..4273bf1169
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_from_volServiceTemplate.yaml
@@ -0,0 +1,439 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: nested_vson_server_from_vol
+imports:
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.vson_vm:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ label: VF module ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ default_gateway:
+ label: Default gateway
+ hidden: false
+ immutable: false
+ type: string
+ description: Default gateway.
+ port_vson_server_oam_net_port_0_ip_requirements:
+ type: list
+ required: true
+ entry_schema:
+ type: org.openecomp.datatypes.network.IpRequirements
+ instance_index:
+ label: Instance Index
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of the instance.
+ vnf_name:
+ label: VF name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name for this VF instance.
+ oam_net_subnet_prefix_length:
+ label: OAM net subnet prefix length
+ hidden: false
+ immutable: false
+ type: string
+ description: Prefix length of the subnet on the OAM network.
+ vf_module_name:
+ label: VF module name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name for this VF module instance.
+ dns_servers:
+ label: DNS servers
+ hidden: false
+ immutable: false
+ type: list
+ description: List of DNS servers.
+ entry_schema:
+ type: string
+ oam_net_security_group_id:
+ label: OAM network security group ID
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ The ID of Security group applied on the port bound to the vSON OAM network.
+ vnf_id:
+ label: VF ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance.
+ port_vson_server_oam_net_port_0_network_role:
+ type: string
+ required: true
+ vson_clm_oam_net_ip:
+ label: vSON Cluster Manager IP
+ hidden: false
+ immutable: false
+ type: string
+ description: IP of the vSON Cluster Manager.
+ port_vson_server_oam_net_port_0_mac_requirements:
+ type: org.openecomp.datatypes.network.MacRequirements
+ required: true
+ port_vson_server_oam_net_port_0_subnetpoolid:
+ type: string
+ required: true
+ vson_dc_unit:
+ label: vSON Data Center name
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the vSON Data Center.
+ oam_net_ips:
+ label: vSON OAM network IP addresses
+ hidden: false
+ immutable: false
+ type: list
+ description: Fixed IP assignments for vSON instances on the OAM network.
+ entry_schema:
+ type: string
+ vfc_role:
+ label: VF module ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ swift_account_auth_token:
+ label: Swift account auth token
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Swift account auth token. Example: 041a5187bb4641f9b89583e2539776b0
+ vson_server_group_id:
+ label: vSON server group ID
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors.
+ vson_vm_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ port_vson_server_oam_net_port_0_network_role_tag:
+ type: string
+ required: true
+ port_vson_server_oam_net_port_0_vlan_requirements:
+ type: list
+ required: true
+ entry_schema:
+ type: org.openecomp.datatypes.network.VlanRequirements
+ availability_zones:
+ label: Availability zones
+ hidden: false
+ immutable: false
+ type: list
+ description: List of availability zones.
+ entry_schema:
+ type: string
+ volume_ids:
+ label: Volumes IDs
+ hidden: false
+ immutable: false
+ type: list
+ description: List of Volumes IDs.
+ entry_schema:
+ type: string
+ ntp_servers:
+ label: NTP servers
+ hidden: false
+ immutable: false
+ type: list
+ description: List of NTP servers.
+ entry_schema:
+ type: string
+ oam_net_id:
+ label: OAM network ID
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID of the OAM network.
+ port_vson_server_oam_net_port_0_order:
+ type: integer
+ required: true
+ port_vson_server_oam_net_port_0_exCP_naming:
+ type: org.openecomp.datatypes.Naming
+ required: true
+ vson_vm_names:
+ label: vSON Cluster leader names
+ hidden: false
+ immutable: false
+ type: list
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+ entry_schema:
+ type: string
+ node_templates:
+ vson_server:
+ type: org.openecomp.resource.vfc.nodes.heat.vson_vm
+ properties:
+ flavor:
+ get_input: vson_vm_flavor_name
+ availability_zone:
+ get_input:
+ - availability_zones
+ - get_input: instance_index
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ get_input: vfc_role
+ vnf_id:
+ get_input: vnf_id
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ config_drive: true
+ user_data_format: RAW
+ name:
+ get_input:
+ - vson_vm_names
+ - get_input: instance_index
+ scheduler_hints:
+ group:
+ get_input: vson_server_group_id
+ vson_server_oam_net_port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ ip_requirements:
+ get_input: port_vson_server_oam_net_port_0_ip_requirements
+ security_groups:
+ - get_input: oam_net_security_group_id
+ network_role:
+ get_input: port_vson_server_oam_net_port_0_network_role
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - oam_net_ips
+ - get_input: instance_index
+ subnetpoolid:
+ get_input: port_vson_server_oam_net_port_0_subnetpoolid
+ mac_requirements:
+ get_input: port_vson_server_oam_net_port_0_mac_requirements
+ name:
+ str_replace:
+ template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
+ params:
+ VNF_NAME:
+ get_input: vnf_name
+ VNF_ID:
+ get_input: vnf_id
+ SERVER_NAME:
+ get_input:
+ - vson_vm_names
+ - get_input: instance_index
+ exCP_naming:
+ get_input: port_vson_server_oam_net_port_0_exCP_naming
+ vlan_requirements:
+ get_input: port_vson_server_oam_net_port_0_vlan_requirements
+ network_role_tag:
+ get_input: port_vson_server_oam_net_port_0_network_role_tag
+ network:
+ get_input: oam_net_id
+ order:
+ get_input: port_vson_server_oam_net_port_0_order
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: vson_server
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ nested_vson_server_from_vol_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/nested_vson_server_from_vol.yaml
+ description: |
+ The template intended for deploying vSON VM instance that's supposed to be booted from a Cinder volume.
+ members:
+ - vson_server
+ - vson_server_oam_net_port_0
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.vson_vm_3
+ capabilities:
+ disk.write.bytes_vson_server:
+ - vson_server
+ - disk.write.bytes
+ disk.device.allocation_vson_server:
+ - vson_server
+ - disk.device.allocation
+ network.incoming.packets_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.packets
+ memory.usage_vson_server:
+ - vson_server
+ - memory.usage
+ network.incoming.bytes_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.bytes
+ disk.device.latency_vson_server:
+ - vson_server
+ - disk.device.latency
+ disk.device.write.bytes.rate_vson_server:
+ - vson_server
+ - disk.device.write.bytes.rate
+ disk.device.read.requests_vson_server:
+ - vson_server
+ - disk.device.read.requests
+ memory_vson_server:
+ - vson_server
+ - memory
+ disk.latency_vson_server:
+ - vson_server
+ - disk.latency
+ os_vson_server:
+ - vson_server
+ - os
+ feature_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - feature
+ instance_vson_server:
+ - vson_server
+ - instance
+ cpu_vson_server:
+ - vson_server
+ - cpu
+ attachment_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - attachment
+ disk.iops_vson_server:
+ - vson_server
+ - disk.iops
+ network.outgoing.bytes_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.bytes
+ disk.device.write.bytes_vson_server:
+ - vson_server
+ - disk.device.write.bytes
+ disk.device.read.bytes.rate_vson_server:
+ - vson_server
+ - disk.device.read.bytes.rate
+ endpoint_vson_server:
+ - vson_server
+ - endpoint
+ vcpus_vson_server:
+ - vson_server
+ - vcpus
+ network.incoming.packets.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.packets.rate
+ disk.device.read.requests.rate_vson_server:
+ - vson_server
+ - disk.device.read.requests.rate
+ disk.write.requests.rate_vson_server:
+ - vson_server
+ - disk.write.requests.rate
+ disk.capacity_vson_server:
+ - vson_server
+ - disk.capacity
+ disk.device.capacity_vson_server:
+ - vson_server
+ - disk.device.capacity
+ disk.device.iops_vson_server:
+ - vson_server
+ - disk.device.iops
+ disk.device.write.requests.rate_vson_server:
+ - vson_server
+ - disk.device.write.requests.rate
+ network.outpoing.packets_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outpoing.packets
+ disk.read.bytes_vson_server:
+ - vson_server
+ - disk.read.bytes
+ disk.read.bytes.rate_vson_server:
+ - vson_server
+ - disk.read.bytes.rate
+ disk.device.write.requests_vson_server:
+ - vson_server
+ - disk.device.write.requests
+ network.outgoing.packets.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.packets.rate
+ disk.root.size_vson_server:
+ - vson_server
+ - disk.root.size
+ disk.ephemeral.size_vson_server:
+ - vson_server
+ - disk.ephemeral.size
+ memory.resident_vson_server:
+ - vson_server
+ - memory.resident
+ disk.device.read.bytes_vson_server:
+ - vson_server
+ - disk.device.read.bytes
+ scalable_vson_server:
+ - vson_server
+ - scalable
+ network.outgoing.bytes.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.bytes.rate
+ disk.write.requests_vson_server:
+ - vson_server
+ - disk.write.requests
+ disk.usage_vson_server:
+ - vson_server
+ - disk.usage
+ cpu_util_vson_server:
+ - vson_server
+ - cpu_util
+ disk.device.usage_vson_server:
+ - vson_server
+ - disk.device.usage
+ cpu.delta_vson_server:
+ - vson_server
+ - cpu.delta
+ disk.write.bytes.rate_vson_server:
+ - vson_server
+ - disk.write.bytes.rate
+ feature_vson_server:
+ - vson_server
+ - feature
+ disk.allocation_vson_server:
+ - vson_server
+ - disk.allocation
+ binding_vson_server:
+ - vson_server
+ - binding
+ host_vson_server:
+ - vson_server
+ - host
+ binding_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - binding
+ network.incoming.bytes.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.bytes.rate
+ disk.read.requests_vson_server:
+ - vson_server
+ - disk.read.requests
+ requirements:
+ link_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - link
+ dependency_vson_server:
+ - vson_server
+ - dependency
+ dependency_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - dependency
+ local_storage_vson_server:
+ - vson_server
+ - local_storage
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_with_volServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_with_volServiceTemplate.yaml
new file mode 100644
index 0000000000..eda87f5d01
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_with_volServiceTemplate.yaml
@@ -0,0 +1,454 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: nested_vson_server_with_vol
+imports:
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.vson_vm:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ label: VF module ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ default_gateway:
+ label: Default gateway
+ hidden: false
+ immutable: false
+ type: string
+ description: Default gateway.
+ port_vson_server_oam_net_port_0_ip_requirements:
+ type: list
+ required: true
+ entry_schema:
+ type: org.openecomp.datatypes.network.IpRequirements
+ instance_index:
+ label: Instance Index
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of the instance.
+ vnf_name:
+ label: VF name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name for this VF instance.
+ oam_net_subnet_prefix_length:
+ label: OAM net subnet prefix length
+ hidden: false
+ immutable: false
+ type: string
+ description: Prefix length of the subnet on the OAM network.
+ vf_module_name:
+ label: VF module name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name for this VF module instance.
+ dns_servers:
+ label: DNS servers
+ hidden: false
+ immutable: false
+ type: list
+ description: List of DNS servers.
+ entry_schema:
+ type: string
+ oam_net_security_group_id:
+ label: OAM network security group ID
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ The ID of Security group applied on the port bound to the vSON OAM network.
+ vson_vm_image_name:
+ label: vSON base VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: VM Image name the vSON instance will be created from.
+ vnf_id:
+ label: VF ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance.
+ port_vson_server_oam_net_port_0_network_role:
+ type: string
+ required: true
+ vson_clm_oam_net_ip:
+ label: vSON Cluster Manager IP
+ hidden: false
+ immutable: false
+ type: string
+ description: IP of the vSON Cluster Manager.
+ port_vson_server_oam_net_port_0_mac_requirements:
+ type: org.openecomp.datatypes.network.MacRequirements
+ required: true
+ port_vson_server_oam_net_port_0_subnetpoolid:
+ type: string
+ required: true
+ vson_dc_unit:
+ label: vSON Data Center name
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the vSON Data Center.
+ oam_net_ips:
+ label: vSON OAM network IP addresses
+ hidden: false
+ immutable: false
+ type: list
+ description: Fixed IP assignments for vSON instances on the OAM network.
+ entry_schema:
+ type: string
+ vfc_role:
+ label: VF module ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ swift_account_auth_token:
+ label: Swift account auth token
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Swift account auth token. Example: 041a5187bb4641f9b89583e2539776b0
+ vson_server_group_id:
+ label: vSON server group ID
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors.
+ vson_vm_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ port_vson_server_oam_net_port_0_network_role_tag:
+ type: string
+ required: true
+ port_vson_server_oam_net_port_0_vlan_requirements:
+ type: list
+ required: true
+ entry_schema:
+ type: org.openecomp.datatypes.network.VlanRequirements
+ availability_zones:
+ label: Availability zones
+ hidden: false
+ immutable: false
+ type: list
+ description: List of availability zones.
+ entry_schema:
+ type: string
+ volume_ids:
+ label: Volumes IDs
+ hidden: false
+ immutable: false
+ type: list
+ description: List of Volumes IDs.
+ entry_schema:
+ type: string
+ ntp_servers:
+ label: NTP servers
+ hidden: false
+ immutable: false
+ type: list
+ description: List of NTP servers.
+ entry_schema:
+ type: string
+ vson_join_cluster_auth_token:
+ label: vSON join cluster auth token
+ hidden: false
+ immutable: false
+ type: string
+ description: "Authentication Token generated for the user permitted to add \
+ \ a new Datacenter/vSON member to existing vSON Cluster. \n"
+ oam_net_id:
+ label: OAM network ID
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID of the OAM network.
+ port_vson_server_oam_net_port_0_order:
+ type: integer
+ required: true
+ port_vson_server_oam_net_port_0_exCP_naming:
+ type: org.openecomp.datatypes.Naming
+ required: true
+ vson_vm_names:
+ label: vSON Cluster leader names
+ hidden: false
+ immutable: false
+ type: list
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+ entry_schema:
+ type: string
+ node_templates:
+ vson_server:
+ type: org.openecomp.resource.vfc.nodes.heat.vson_vm
+ properties:
+ flavor:
+ get_input: vson_vm_flavor_name
+ availability_zone:
+ get_input:
+ - availability_zones
+ - get_input: instance_index
+ image:
+ get_input: vson_vm_image_name
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ get_input: vfc_role
+ vnf_id:
+ get_input: vnf_id
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ config_drive: true
+ user_data_format: RAW
+ name:
+ get_input:
+ - vson_vm_names
+ - get_input: instance_index
+ scheduler_hints:
+ group:
+ get_input: vson_server_group_id
+ vson_server_oam_net_port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ ip_requirements:
+ get_input: port_vson_server_oam_net_port_0_ip_requirements
+ security_groups:
+ - get_input: oam_net_security_group_id
+ network_role:
+ get_input: port_vson_server_oam_net_port_0_network_role
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - oam_net_ips
+ - get_input: instance_index
+ subnetpoolid:
+ get_input: port_vson_server_oam_net_port_0_subnetpoolid
+ mac_requirements:
+ get_input: port_vson_server_oam_net_port_0_mac_requirements
+ name:
+ str_replace:
+ template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
+ params:
+ VNF_NAME:
+ get_input: vnf_name
+ VNF_ID:
+ get_input: vnf_id
+ SERVER_NAME:
+ get_input:
+ - vson_vm_names
+ - get_input: instance_index
+ exCP_naming:
+ get_input: port_vson_server_oam_net_port_0_exCP_naming
+ vlan_requirements:
+ get_input: port_vson_server_oam_net_port_0_vlan_requirements
+ network_role_tag:
+ get_input: port_vson_server_oam_net_port_0_network_role_tag
+ network:
+ get_input: oam_net_id
+ order:
+ get_input: port_vson_server_oam_net_port_0_order
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: vson_server
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ nested_vson_server_with_vol_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/nested_vson_server_with_vol.yaml
+ description: |
+ The template intended for deploying vSON VM instance.
+ members:
+ - vson_server
+ - vson_server_oam_net_port_0
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.vson_vm_3
+ capabilities:
+ disk.write.bytes_vson_server:
+ - vson_server
+ - disk.write.bytes
+ disk.device.allocation_vson_server:
+ - vson_server
+ - disk.device.allocation
+ network.incoming.packets_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.packets
+ memory.usage_vson_server:
+ - vson_server
+ - memory.usage
+ network.incoming.bytes_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.bytes
+ disk.device.latency_vson_server:
+ - vson_server
+ - disk.device.latency
+ disk.device.write.bytes.rate_vson_server:
+ - vson_server
+ - disk.device.write.bytes.rate
+ disk.device.read.requests_vson_server:
+ - vson_server
+ - disk.device.read.requests
+ memory_vson_server:
+ - vson_server
+ - memory
+ disk.latency_vson_server:
+ - vson_server
+ - disk.latency
+ os_vson_server:
+ - vson_server
+ - os
+ feature_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - feature
+ instance_vson_server:
+ - vson_server
+ - instance
+ cpu_vson_server:
+ - vson_server
+ - cpu
+ attachment_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - attachment
+ disk.iops_vson_server:
+ - vson_server
+ - disk.iops
+ network.outgoing.bytes_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.bytes
+ disk.device.write.bytes_vson_server:
+ - vson_server
+ - disk.device.write.bytes
+ disk.device.read.bytes.rate_vson_server:
+ - vson_server
+ - disk.device.read.bytes.rate
+ endpoint_vson_server:
+ - vson_server
+ - endpoint
+ vcpus_vson_server:
+ - vson_server
+ - vcpus
+ network.incoming.packets.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.packets.rate
+ disk.device.read.requests.rate_vson_server:
+ - vson_server
+ - disk.device.read.requests.rate
+ disk.write.requests.rate_vson_server:
+ - vson_server
+ - disk.write.requests.rate
+ disk.capacity_vson_server:
+ - vson_server
+ - disk.capacity
+ disk.device.capacity_vson_server:
+ - vson_server
+ - disk.device.capacity
+ disk.device.iops_vson_server:
+ - vson_server
+ - disk.device.iops
+ disk.device.write.requests.rate_vson_server:
+ - vson_server
+ - disk.device.write.requests.rate
+ network.outpoing.packets_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outpoing.packets
+ disk.read.bytes_vson_server:
+ - vson_server
+ - disk.read.bytes
+ disk.read.bytes.rate_vson_server:
+ - vson_server
+ - disk.read.bytes.rate
+ disk.device.write.requests_vson_server:
+ - vson_server
+ - disk.device.write.requests
+ network.outgoing.packets.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.packets.rate
+ disk.root.size_vson_server:
+ - vson_server
+ - disk.root.size
+ disk.ephemeral.size_vson_server:
+ - vson_server
+ - disk.ephemeral.size
+ memory.resident_vson_server:
+ - vson_server
+ - memory.resident
+ disk.device.read.bytes_vson_server:
+ - vson_server
+ - disk.device.read.bytes
+ scalable_vson_server:
+ - vson_server
+ - scalable
+ network.outgoing.bytes.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.bytes.rate
+ disk.write.requests_vson_server:
+ - vson_server
+ - disk.write.requests
+ disk.usage_vson_server:
+ - vson_server
+ - disk.usage
+ cpu_util_vson_server:
+ - vson_server
+ - cpu_util
+ disk.device.usage_vson_server:
+ - vson_server
+ - disk.device.usage
+ cpu.delta_vson_server:
+ - vson_server
+ - cpu.delta
+ disk.write.bytes.rate_vson_server:
+ - vson_server
+ - disk.write.bytes.rate
+ feature_vson_server:
+ - vson_server
+ - feature
+ disk.allocation_vson_server:
+ - vson_server
+ - disk.allocation
+ binding_vson_server:
+ - vson_server
+ - binding
+ host_vson_server:
+ - vson_server
+ - host
+ binding_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - binding
+ network.incoming.bytes.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.bytes.rate
+ disk.read.requests_vson_server:
+ - vson_server
+ - disk.read.requests
+ requirements:
+ link_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - link
+ dependency_vson_server:
+ - vson_server
+ - dependency
+ dependency_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - dependency
+ local_storage_vson_server:
+ - vson_server
+ - local_storage
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_with_vol_dual_ip_stackServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_with_vol_dual_ip_stackServiceTemplate.yaml
new file mode 100644
index 0000000000..1ed396e9bc
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/out/nested_vson_server_with_vol_dual_ip_stackServiceTemplate.yaml
@@ -0,0 +1,478 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: nested_vson_server_with_vol_dual_ip_stack
+imports:
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+node_types:
+ org.openecomp.resource.vfc.nodes.heat.vson_vm:
+ derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
+topology_template:
+ inputs:
+ vf_module_id:
+ label: VF module ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ default_gateway:
+ label: Default gateway
+ hidden: false
+ immutable: false
+ type: string
+ description: Default gateway.
+ port_vson_server_oam_net_port_0_ip_requirements:
+ type: list
+ required: true
+ entry_schema:
+ type: org.openecomp.datatypes.network.IpRequirements
+ instance_index:
+ label: Instance Index
+ hidden: false
+ immutable: false
+ type: float
+ description: Index of the instance.
+ vnf_name:
+ label: VF name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name for this VF instance.
+ oam_net_subnet_prefix_length:
+ label: OAM net subnet prefix length
+ hidden: false
+ immutable: false
+ type: string
+ description: Prefix length of the subnet on the OAM network.
+ vf_module_name:
+ label: VF module name
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique name for this VF module instance.
+ dns_servers:
+ label: DNS servers
+ hidden: false
+ immutable: false
+ type: list
+ description: List of DNS servers.
+ entry_schema:
+ type: string
+ oam_net_security_group_id:
+ label: OAM network security group ID
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ The ID of Security group applied on the port bound to the vSON OAM network.
+ vson_vm_image_name:
+ label: vSON base VM image name
+ hidden: false
+ immutable: false
+ type: string
+ description: VM Image name the vSON instance will be created from.
+ vnf_id:
+ label: VF ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance.
+ port_vson_server_oam_net_port_0_network_role:
+ type: string
+ required: true
+ vson_clm_oam_net_ip:
+ label: vSON Cluster Manager IP
+ hidden: false
+ immutable: false
+ type: string
+ description: IP of the vSON Cluster Manager.
+ port_vson_server_oam_net_port_0_mac_requirements:
+ type: org.openecomp.datatypes.network.MacRequirements
+ required: true
+ port_vson_server_oam_net_port_0_subnetpoolid:
+ type: string
+ required: true
+ vson_dc_unit:
+ label: vSON Data Center name
+ hidden: false
+ immutable: false
+ type: string
+ description: Name of the vSON Data Center.
+ oam_net_ips:
+ label: vSON OAM network IPv4 addresses
+ hidden: false
+ immutable: false
+ type: list
+ description: Fixed IPv4 assignments for vSON instances on the OAM network.
+ entry_schema:
+ type: string
+ oam_net_subnet_v6_prefix_length:
+ label: OAM net IPv6 subnet prefix length
+ hidden: false
+ immutable: false
+ type: string
+ description: OAM network IPv6 subnet prefix length.
+ vfc_role:
+ label: VF module ID
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF Module instance
+ swift_account_auth_token:
+ label: Swift account auth token
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Swift account auth token. Example: 041a5187bb4641f9b89583e2539776b0
+ default_gateway_v6:
+ label: Default IPv6 gateway
+ hidden: false
+ immutable: false
+ type: string
+ description: Default IPv6 gateway.
+ vson_server_group_id:
+ label: vSON server group ID
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Tells what policy should be applied to the ServerGroup. Affinity policy will force instances to share the same hypervisor. Anti-affinity will force instances to run in different hypervisors.
+ vson_vm_flavor_name:
+ label: Flavor name
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID or name of the flavor to boot onto.
+ port_vson_server_oam_net_port_0_network_role_tag:
+ type: string
+ required: true
+ port_vson_server_oam_net_port_0_vlan_requirements:
+ type: list
+ required: true
+ entry_schema:
+ type: org.openecomp.datatypes.network.VlanRequirements
+ availability_zones:
+ label: Availability zones
+ hidden: false
+ immutable: false
+ type: list
+ description: List of availability zones.
+ entry_schema:
+ type: string
+ volume_ids:
+ label: Volumes IDs
+ hidden: false
+ immutable: false
+ type: list
+ description: List of Volumes IDs.
+ entry_schema:
+ type: string
+ oam_net_v6_ips:
+ label: vSON OAM network IPv6 addresses
+ hidden: false
+ immutable: false
+ type: list
+ description: Fixed IPv6 assignments for vSON instances on the OAM network.
+ entry_schema:
+ type: string
+ ntp_servers:
+ label: NTP servers
+ hidden: false
+ immutable: false
+ type: list
+ description: List of NTP servers.
+ entry_schema:
+ type: string
+ vson_join_cluster_auth_token:
+ label: vSON join cluster auth token
+ hidden: false
+ immutable: false
+ type: string
+ description: |
+ Authentication Token generated for the user permitted to add a new Datacenter/vSON member to existing vSON Cluster.
+ oam_net_id:
+ label: OAM network ID
+ hidden: false
+ immutable: false
+ type: string
+ description: The ID of the OAM network.
+ port_vson_server_oam_net_port_0_order:
+ type: integer
+ required: true
+ port_vson_server_oam_net_port_0_exCP_naming:
+ type: org.openecomp.datatypes.Naming
+ required: true
+ vson_vm_names:
+ label: vSON Cluster leader names
+ hidden: false
+ immutable: false
+ type: list
+ description: A list of unique names to be issued to the vSON Cluster leaders.
+ entry_schema:
+ type: string
+ node_templates:
+ vson_server:
+ type: org.openecomp.resource.vfc.nodes.heat.vson_vm
+ properties:
+ flavor:
+ get_input: vson_vm_flavor_name
+ availability_zone:
+ get_input:
+ - availability_zones
+ - get_input: instance_index
+ image:
+ get_input: vson_vm_image_name
+ metadata:
+ vf_module_id:
+ get_input: vf_module_id
+ vm_role:
+ get_input: vfc_role
+ vnf_id:
+ get_input: vnf_id
+ vnf_name:
+ get_input: vnf_name
+ vf_module_name:
+ get_input: vf_module_name
+ config_drive: true
+ user_data_format: RAW
+ name:
+ get_input:
+ - vson_vm_names
+ - get_input: instance_index
+ scheduler_hints:
+ group:
+ get_input: vson_server_group_id
+ vson_server_oam_net_port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ ip_requirements:
+ get_input: port_vson_server_oam_net_port_0_ip_requirements
+ security_groups:
+ - get_input: oam_net_security_group_id
+ network_role:
+ get_input: port_vson_server_oam_net_port_0_network_role
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - oam_net_ips
+ - get_input: instance_index
+ - ip_address:
+ get_input:
+ - oam_net_v6_ips
+ - get_input: instance_index
+ subnetpoolid:
+ get_input: port_vson_server_oam_net_port_0_subnetpoolid
+ mac_requirements:
+ get_input: port_vson_server_oam_net_port_0_mac_requirements
+ name:
+ str_replace:
+ template: VNF_NAME_VNF_ID_SERVER_NAME_oam_net_port_0
+ params:
+ VNF_NAME:
+ get_input: vnf_name
+ VNF_ID:
+ get_input: vnf_id
+ SERVER_NAME:
+ get_input:
+ - vson_vm_names
+ - get_input: instance_index
+ exCP_naming:
+ get_input: port_vson_server_oam_net_port_0_exCP_naming
+ vlan_requirements:
+ get_input: port_vson_server_oam_net_port_0_vlan_requirements
+ network_role_tag:
+ get_input: port_vson_server_oam_net_port_0_network_role_tag
+ network:
+ get_input: oam_net_id
+ order:
+ get_input: port_vson_server_oam_net_port_0_order
+ requirements:
+ - binding:
+ capability: tosca.capabilities.network.Bindable
+ node: vson_server
+ relationship: tosca.relationships.network.BindsTo
+ groups:
+ nested_vson_server_with_vol_dual_ip_stack_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/nested_vson_server_with_vol_dual_ip_stack.yaml
+ description: |
+ The template intended for deploying vSON VM instance.
+ members:
+ - vson_server
+ - vson_server_oam_net_port_0
+ substitution_mappings:
+ node_type: org.openecomp.resource.abstract.nodes.heat.vson_vm
+ capabilities:
+ disk.write.bytes_vson_server:
+ - vson_server
+ - disk.write.bytes
+ disk.device.allocation_vson_server:
+ - vson_server
+ - disk.device.allocation
+ network.incoming.packets_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.packets
+ memory.usage_vson_server:
+ - vson_server
+ - memory.usage
+ network.incoming.bytes_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.bytes
+ disk.device.latency_vson_server:
+ - vson_server
+ - disk.device.latency
+ disk.device.write.bytes.rate_vson_server:
+ - vson_server
+ - disk.device.write.bytes.rate
+ disk.device.read.requests_vson_server:
+ - vson_server
+ - disk.device.read.requests
+ memory_vson_server:
+ - vson_server
+ - memory
+ disk.latency_vson_server:
+ - vson_server
+ - disk.latency
+ os_vson_server:
+ - vson_server
+ - os
+ feature_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - feature
+ instance_vson_server:
+ - vson_server
+ - instance
+ cpu_vson_server:
+ - vson_server
+ - cpu
+ attachment_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - attachment
+ disk.iops_vson_server:
+ - vson_server
+ - disk.iops
+ network.outgoing.bytes_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.bytes
+ disk.device.write.bytes_vson_server:
+ - vson_server
+ - disk.device.write.bytes
+ disk.device.read.bytes.rate_vson_server:
+ - vson_server
+ - disk.device.read.bytes.rate
+ endpoint_vson_server:
+ - vson_server
+ - endpoint
+ vcpus_vson_server:
+ - vson_server
+ - vcpus
+ network.incoming.packets.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.packets.rate
+ disk.device.read.requests.rate_vson_server:
+ - vson_server
+ - disk.device.read.requests.rate
+ disk.write.requests.rate_vson_server:
+ - vson_server
+ - disk.write.requests.rate
+ disk.capacity_vson_server:
+ - vson_server
+ - disk.capacity
+ disk.device.capacity_vson_server:
+ - vson_server
+ - disk.device.capacity
+ disk.device.iops_vson_server:
+ - vson_server
+ - disk.device.iops
+ disk.device.write.requests.rate_vson_server:
+ - vson_server
+ - disk.device.write.requests.rate
+ network.outpoing.packets_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outpoing.packets
+ disk.read.bytes_vson_server:
+ - vson_server
+ - disk.read.bytes
+ disk.read.bytes.rate_vson_server:
+ - vson_server
+ - disk.read.bytes.rate
+ disk.device.write.requests_vson_server:
+ - vson_server
+ - disk.device.write.requests
+ network.outgoing.packets.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.packets.rate
+ disk.root.size_vson_server:
+ - vson_server
+ - disk.root.size
+ disk.ephemeral.size_vson_server:
+ - vson_server
+ - disk.ephemeral.size
+ memory.resident_vson_server:
+ - vson_server
+ - memory.resident
+ disk.device.read.bytes_vson_server:
+ - vson_server
+ - disk.device.read.bytes
+ scalable_vson_server:
+ - vson_server
+ - scalable
+ network.outgoing.bytes.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.outgoing.bytes.rate
+ disk.write.requests_vson_server:
+ - vson_server
+ - disk.write.requests
+ disk.usage_vson_server:
+ - vson_server
+ - disk.usage
+ cpu_util_vson_server:
+ - vson_server
+ - cpu_util
+ disk.device.usage_vson_server:
+ - vson_server
+ - disk.device.usage
+ cpu.delta_vson_server:
+ - vson_server
+ - cpu.delta
+ disk.write.bytes.rate_vson_server:
+ - vson_server
+ - disk.write.bytes.rate
+ feature_vson_server:
+ - vson_server
+ - feature
+ disk.allocation_vson_server:
+ - vson_server
+ - disk.allocation
+ binding_vson_server:
+ - vson_server
+ - binding
+ host_vson_server:
+ - vson_server
+ - host
+ binding_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - binding
+ network.incoming.bytes.rate_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - network.incoming.bytes.rate
+ disk.read.requests_vson_server:
+ - vson_server
+ - disk.read.requests
+ requirements:
+ link_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - link
+ dependency_vson_server:
+ - vson_server
+ - dependency
+ dependency_vson_server_oam_net_port_0:
+ - vson_server_oam_net_port_0
+ - dependency
+ local_storage_vson_server:
+ - vson_server
+ - local_storage
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/EntitlementPoolZusammenDaoImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/EntitlementPoolZusammenDaoImpl.java
index f133aaad9a..ffaf7809c8 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/EntitlementPoolZusammenDaoImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/EntitlementPoolZusammenDaoImpl.java
@@ -73,8 +73,20 @@ public class EntitlementPoolZusammenDaoImpl implements EntitlementPoolDao {
SessionContext context = ZusammenUtil.createSessionContext();
Id itemId = new Id(entitlementPool.getVendorLicenseModelId());
- zusammenAdaptor.saveElement(context, new ElementContext(itemId,
- VlmZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor)), entitlmentpoolElement,
+ ElementContext elementContext = new ElementContext(itemId,
+ VlmZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
+
+ Optional<ElementInfo> epFromDb = zusammenAdaptor.getElementInfo(context, elementContext,
+ new Id(entitlementPool.getId()));
+
+ if (epFromDb.isPresent()) {
+ if (entitlmentpoolElement.getRelations() == null) {
+ entitlmentpoolElement.setRelations(new ArrayList<>());
+ }
+ entitlmentpoolElement.getRelations().addAll(epFromDb.get().getRelations());
+ }
+
+ zusammenAdaptor.saveElement(context,elementContext, entitlmentpoolElement,
String.format("Update entitlement pool with id %s", entitlementPool.getId()));
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/FeatureGroupDaoZusammenImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/FeatureGroupDaoZusammenImpl.java
index 624ffeb05e..6484e83319 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/FeatureGroupDaoZusammenImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/FeatureGroupDaoZusammenImpl.java
@@ -204,6 +204,14 @@ public class FeatureGroupDaoZusammenImpl implements FeatureGroupDao {
.createRelation(RelationType.FeatureGroupToLicenseKeyGroup, relation))
.collect(Collectors.toList()));
+ Collection<Relation> LaRelations = elementInfo.get().getRelations().stream().filter
+ (rel->rel.getType().equals(RelationType.FeatureGroupToReferencingLicenseAgreement.name()))
+ .map(rel ->VlmZusammenUtil.createRelation(RelationType
+ .FeatureGroupToReferencingLicenseAgreement,rel.getEdge2().getElementId().toString()))
+ .collect(Collectors.toList());
+
+ featureGroupElement.getRelations().addAll(LaRelations);
+
zusammenAdaptor
.saveElement(context, elementContext, featureGroupElement, "update feature group");
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/LicenseKeyGroupZusammenDaoImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/LicenseKeyGroupZusammenDaoImpl.java
index bf1899cb04..03537a287b 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/LicenseKeyGroupZusammenDaoImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-license-lib/openecomp-sdc-vendor-license-core/src/main/java/org/openecomp/sdc/vendorlicense/dao/impl/zusammen/LicenseKeyGroupZusammenDaoImpl.java
@@ -62,14 +62,30 @@ public class LicenseKeyGroupZusammenDaoImpl implements LicenseKeyGroupDao {
@Override
public void update(LicenseKeyGroupEntity licenseKeyGroup) {
- ZusammenElement locenseKeyGroupElement =
+ ZusammenElement licenseKeyGroupElement =
buildLicenseKeyGroupElement(licenseKeyGroup, Action.UPDATE);
SessionContext context = ZusammenUtil.createSessionContext();
Id itemId = new Id(licenseKeyGroup.getVendorLicenseModelId());
- zusammenAdaptor.saveElement(context, new ElementContext(itemId,
- VlmZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor)),
- locenseKeyGroupElement,
+
+ ElementContext elementContext = new ElementContext(itemId,
+ VlmZusammenUtil.getFirstVersionId(context, itemId, zusammenAdaptor));
+
+ Optional<ElementInfo> lkgFromDb = zusammenAdaptor.getElementInfo(context, elementContext,
+ new Id(licenseKeyGroup.getId()));
+
+ if(lkgFromDb.isPresent()) {
+
+ if( licenseKeyGroupElement.getRelations() == null) {
+ licenseKeyGroupElement.setRelations(new ArrayList<>());
+ }
+
+ lkgFromDb.get().getRelations().forEach(relation ->
+ licenseKeyGroupElement.getRelations().add(relation));
+ }
+
+ zusammenAdaptor.saveElement(context, elementContext,
+ licenseKeyGroupElement,
String.format("Update license key group with id %s", licenseKeyGroup.getId()));
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityId.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityId.java
index 71c8e4609a..7f5f69de3b 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityId.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-api/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/types/composition/CompositionEntityId.java
@@ -61,4 +61,11 @@ public class CompositionEntityId {
return parentId != null ? parentId.equals(that.parentId) : that.parentId == null;
}
+
+ @Override
+ public String toString() {
+ return parentId == null
+ ? id
+ : parentId.toString() + "/" + id;
+ }
}
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/impl/CompositionEntityDataManagerFactoryImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/impl/CompositionEntityDataManagerFactoryImpl.java
index 54d67e60fe..9383e41a40 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/impl/CompositionEntityDataManagerFactoryImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/factory/impl/CompositionEntityDataManagerFactoryImpl.java
@@ -32,6 +32,7 @@ public class CompositionEntityDataManagerFactoryImpl extends CompositionEntityDa
@Override
public CompositionEntityDataManager createInterface() {
+ // this class is stateful! it must be recreated from scratch on every use!!!
return new CompositionEntityDataManagerImpl(
VendorSoftwareProductInfoDaoFactory.getInstance().createInterface(),
ComponentDaoFactory.getInstance().createInterface(),
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionEntityDataManagerImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionEntityDataManagerImpl.java
index 81cacf75ac..c33b2dd3b4 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionEntityDataManagerImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/composition/CompositionEntityDataManagerImpl.java
@@ -27,6 +27,8 @@ import org.openecomp.core.utilities.json.JsonUtil;
import org.openecomp.sdc.common.errors.CoreException;
import org.openecomp.sdc.common.errors.ErrorCategory;
import org.openecomp.sdc.common.errors.ErrorCode;
+import org.openecomp.sdc.logging.api.Logger;
+import org.openecomp.sdc.logging.api.LoggerFactory;
import org.openecomp.sdc.logging.context.impl.MdcDataDebugMessage;
import org.openecomp.sdc.vendorsoftwareproduct.dao.ComponentDao;
import org.openecomp.sdc.vendorsoftwareproduct.dao.NetworkDao;
@@ -68,6 +70,8 @@ public class CompositionEntityDataManagerImpl implements CompositionEntityDataMa
private static final String COMPOSITION_ENTITY_DATA_MANAGER_ERR_MSG =
"Invalid input: %s may not be null";
+ private static final Logger logger =
+ LoggerFactory.getLogger(CompositionEntityDataManagerImpl.class);
private static MdcDataDebugMessage mdcDataDebugMessage = new MdcDataDebugMessage();
private Map<CompositionEntityId, CompositionEntityData> entities = new HashMap<>();
@@ -460,7 +464,7 @@ public class CompositionEntityDataManagerImpl implements CompositionEntityDataMa
VspQuestionnaireEntity vspQuestionnaireEntity = (VspQuestionnaireEntity) vspEntity.entity;
VspDetails vspDetails =
vspInfoDao.get(new VspDetails(vspQuestionnaireEntity.getId(),
- vspQuestionnaireEntity.getVersion()));
+ vspQuestionnaireEntity.getVersion()));
return vspDetails.getName();
}
@@ -545,6 +549,12 @@ public class CompositionEntityDataManagerImpl implements CompositionEntityDataMa
}
private Collection<String> validateQuestionnaire(CompositionEntityData compositionEntityData) {
+ logger.debug(String.format("validateQuestionnaire start: " +
+ "[entity.type]=%s, [entity.id]=%s, [entity.questionnaireString]=%s",
+ compositionEntityData.entity.getType().name(),
+ compositionEntityData.entity.getCompositionEntityId().toString(),
+ compositionEntityData.entity.getQuestionnaireData()));
+
return JsonUtil.validate(
compositionEntityData.entity.getQuestionnaireData() == null
? JsonUtil.object2Json(new Object())
diff --git a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java
index 2822d958d0..e05c848452 100644
--- a/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java
+++ b/openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/services/impl/filedatastructuremodule/CandidateServiceImpl.java
@@ -138,7 +138,9 @@ public class CandidateServiceImpl implements CandidateService {
FilesDataStructure fileDataStructureFromManifest =
createFileDataStructureFromManifest(zipContentMap.getFileContent
(SdcCommon.MANIFEST_NAME));
- structure.getArtifacts().addAll(fileDataStructureFromManifest.getArtifacts());
+ List<String> structureArtifacts = structure.getArtifacts();
+ structureArtifacts.addAll(fileDataStructureFromManifest.getArtifacts().stream().filter
+ (artifact -> !structureArtifacts.contains(artifact)).collect((Collectors.toList())));
handleArtifactsFromTree(tree, structure);
return JsonUtil.object2Json(structure);