summaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/multipleReferencesToSameNestedFilesWithSameComputeType/in')
-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
46 files changed, 5358 insertions, 0 deletions
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'] }