aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/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/myTest/in')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/MANIFEST.json35
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf.env406
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf.yaml2045
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf_volume.env19
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf_volume.yaml105
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/nested_cscf.yaml183
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/nested_tdcore.yaml213
7 files changed, 3006 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/myTest/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/MANIFEST.json
new file mode 100644
index 0000000000..cdfb18bf6d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/MANIFEST.json
@@ -0,0 +1,35 @@
+{
+ "name": "vEP_JSA_Net",
+ "description": "Version 2.0 02-09-2016 (Authors: John Doe, user PROD)",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "base_cscf.yaml",
+ "type": "HEAT",
+ "data": [
+ {
+ "file": "base_cscf.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ },
+ {
+ "file": "base_cscf_volume.yaml",
+ "type": "HEAT_VOL",
+ "data": [
+ {
+ "file": "base_cscf_volume.env",
+ "type": "HEAT_ENV"
+ }
+ ]
+ },
+ {
+ "file": "nested_cscf.yaml",
+ "type": "HEAT"
+ },
+ {
+ "file": "nested_tdcore.yaml",
+ "type": "HEAT"
+ }
+ ]
+} \ 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/myTest/in/base_cscf.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf.env
new file mode 100644
index 0000000000..5439cc54b5
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf.env
@@ -0,0 +1,406 @@
+## Copyright:: Nokia Corporation 2017
+## Note: Nokia VM HOT file for CFX-5000 IMS17.0
+## Name: "base_cscf.env"
+## History
+## Date: 23 Aug 2017
+## 1. corrected the flavour
+## 2. internal ip range to match the TPD for all VMs
+## 3. number of internal ip assignment in list
+## a) cscf_internal_zone_0_ips
+## b) cscf_internal_zone_1_ips
+## c) cscf_internal_zone_0_v6_ips
+## d) cscf_internal_zone_1_v6_ips
+## e) tdcore_internal_zone_0_ips
+## f) tdcore_internal_zone_1_ips
+## to match the count of cscf and tdcore.
+##
+## Kilo Version
+
+parameters:
+# PSEUDO CONSTANTS
+# -----------------------------------------------------------------------------
+ vcscf_release: "17.0"
+ vcscf_name_delimeter: "_"
+ vcscf_internal_network_mtu: 1500
+
+ oam_image_name: IMS_17_0_OPENSTACK_OAM_1701400.000
+ cif_image_name: IMS_17_0_OPENSTACK_CSCF_1701400.000
+ lbd_image_name: IMS_17_0_OPENSTACK_CSCF_1701400.000
+ cdi_image_name: IMS_17_0_OPENSTACK_CSCF_1701400.000
+ cscf_image_name: IMS_17_0_OPENSTACK_CSCF_1701400.000
+ tdcore_image_name: IMS_17_0_OPENSTACK_CSCF_1701400.000
+
+ oam_flavor_name: ND.c4r32d30
+ cscf_flavor_name: ND.c8r16d38
+ cif_flavor_name: ND.c4r16d38
+ lbd_flavor_name: ND.c4r16d38
+ tdcore_flavor_name: ND.c4r16d38
+ cdi_flavor_name: ND.c4r8d38
+
+
+ # vCSCF VM Counts
+
+ cscf_zone_0_count: 19
+ cscf_zone_1_count: 18
+ tdcore_zone_0_count: 4
+ tdcore_zone_1_count: 4
+
+
+ # vCSCF Internal Network
+
+ vcscf_internal_netmask: 255.255.255.0
+ vcscf_internal_network_cidr: 192.168.210.0/24
+ vcscf_internal_network_v6_cidr: 2a00:9a00:a000:1190:0:1:1:2b00/120
+ vcscf_internal_dpdk_network_cidr: 192.168.211.0/24
+
+ # OAM Internal network
+
+ oam_internal_vip_0: 192.168.210.3
+ oam_internal_ip_0: 192.168.210.136
+ oam_internal_ip_1: 192.168.210.137
+ oam_internal_ip_2: 192.168.210.138
+
+ # CSCF VM Internal Network
+
+ cscf_internal_zone_0_ips:
+ - 192.168.210.16
+ - 192.168.210.18
+ - 192.168.210.20
+ - 192.168.210.22
+ - 192.168.210.24
+ - 192.168.210.26
+ - 192.168.210.28
+ - 192.168.210.30
+ - 192.168.210.32
+ - 192.168.210.34
+ - 192.168.210.36
+ - 192.168.210.38
+ - 192.168.210.40
+ - 192.168.210.42
+ - 192.168.210.44
+ - 192.168.210.46
+ - 192.168.210.48
+ - 192.168.210.50
+ - 192.168.210.52
+
+ cscf_internal_zone_1_ips:
+ - 192.168.210.17
+ - 192.168.210.19
+ - 192.168.210.21
+ - 192.168.210.23
+ - 192.168.210.25
+ - 192.168.210.27
+ - 192.168.210.29
+ - 192.168.210.31
+ - 192.168.210.33
+ - 192.168.210.35
+ - 192.168.210.37
+ - 192.168.210.39
+ - 192.168.210.41
+ - 192.168.210.43
+ - 192.168.210.45
+ - 192.168.210.47
+ - 192.168.210.49
+ - 192.168.210.51
+ cscf_internal_zone_0_v6_ips:
+ - "2a00:9a00:a000:1190:0:1:1:2b10"
+ - "2a00:9a00:a000:1190:0:1:1:2b12"
+ - "2a00:9a00:a000:1190:0:1:1:2b14"
+ - "2a00:9a00:a000:1190:0:1:1:2b16"
+ - "2a00:9a00:a000:1190:0:1:1:2b18"
+ - "2a00:9a00:a000:1190:0:1:1:2b1a"
+ - "2a00:9a00:a000:1190:0:1:1:2b1c"
+ - "2a00:9a00:a000:1190:0:1:1:2b1e"
+ - "2a00:9a00:a000:1190:0:1:1:2b20"
+ - "2a00:9a00:a000:1190:0:1:1:2b22"
+ - "2a00:9a00:a000:1190:0:1:1:2b24"
+ - "2a00:9a00:a000:1190:0:1:1:2b26"
+ - "2a00:9a00:a000:1190:0:1:1:2b28"
+ - "2a00:9a00:a000:1190:0:1:1:2b2a"
+ - "2a00:9a00:a000:1190:0:1:1:2b2c"
+ - "2a00:9a00:a000:1190:0:1:1:2b2e"
+ - "2a00:9a00:a000:1190:0:1:1:2b30"
+ - "2a00:9a00:a000:1190:0:1:1:2b32"
+ - "2a00:9a00:a000:1190:0:1:1:2b34"
+
+ cscf_internal_zone_1_v6_ips:
+ - "2a00:9a00:a000:1190:0:1:1:2b11"
+ - "2a00:9a00:a000:1190:0:1:1:2b13"
+ - "2a00:9a00:a000:1190:0:1:1:2b15"
+ - "2a00:9a00:a000:1190:0:1:1:2b17"
+ - "2a00:9a00:a000:1190:0:1:1:2b19"
+ - "2a00:9a00:a000:1190:0:1:1:2b1b"
+ - "2a00:9a00:a000:1190:0:1:1:2b1d"
+ - "2a00:9a00:a000:1190:0:1:1:2b1f"
+ - "2a00:9a00:a000:1190:0:1:1:2b21"
+ - "2a00:9a00:a000:1190:0:1:1:2b23"
+ - "2a00:9a00:a000:1190:0:1:1:2b25"
+ - "2a00:9a00:a000:1190:0:1:1:2b27"
+ - "2a00:9a00:a000:1190:0:1:1:2b29"
+ - "2a00:9a00:a000:1190:0:1:1:2b2b"
+ - "2a00:9a00:a000:1190:0:1:1:2b2d"
+ - "2a00:9a00:a000:1190:0:1:1:2b2f"
+ - "2a00:9a00:a000:1190:0:1:1:2b31"
+ - "2a00:9a00:a000:1190:0:1:1:2b33"
+
+ # TDCore VM Internal Network
+
+ tdcore_internal_zone_0_ips:
+ - 192.168.210.8
+ - 192.168.210.10
+ - 192.168.210.12
+ - 192.168.210.14
+
+ tdcore_internal_zone_1_ips:
+ - 192.168.210.9
+ - 192.168.210.11
+ - 192.168.210.13
+ - 192.168.210.15
+ # TDCore VM DPDK Internal Network
+
+ tdcore_dpdk_zone_0_ips:
+ - 192.168.211.8
+ - 192.168.211.10
+ - 192.168.211.12
+ - 192.168.211.14
+
+ tdcore_dpdk_zone_1_ips:
+ - 192.168.211.9
+ - 192.168.211.11
+ - 192.168.211.13
+ - 192.168.211.15
+
+ # CIF VM Internal Network
+
+ cif_internal_ip_0: 192.168.210.1
+ cif_internal_ip_1: 192.168.210.2
+ cif_internal_vip_0: 192.168.210.150
+ cif_internal_v6_ip_0: "2a00:9a00:a000:1190:0:1:1:2b04"
+ cif_internal_v6_ip_1: "2a00:9a00:a000:1190:0:1:1:2b05"
+
+ # LBD (l2TD) VM Internal Network
+
+ lbd_internal_ip_0: 192.168.210.4
+ lbd_internal_ip_1: 192.168.210.5
+
+ # LBD (l2TD) VM DPDK Internal Network
+
+ lbd_internal_dpdk_ip_0: 192.168.211.1
+ lbd_internal_dpdk_ip_1: 192.168.211.2
+ lbd_internal_dpdk_vip_0: 192.168.211.181
+
+ # CDI VM Internal Network
+
+ cdi_internal_ip_0: 192.168.210.139
+ cdi_internal_ip_1: 192.168.210.140
+
+
+ cdi_internal_v6_ip_0: "2a00:9a00:a000:1190:0:1:1:2b8b"
+ cdi_internal_v6_ip_1: "2a00:9a00:a000:1190:0:1:1:2b8c"
+ cdi_internal_v6_vip_0: "2a00:9a00:a000:1190:0:1:1:2b8d"
+
+# SITE SPECIFIC
+# -----------------------------------------------------------------------------
+# oam_volume_id_0: f0781f87-671c-40c0-82ce-4d8c0531fbc1
+# oam_volume_id_1: 53a1d529-47a1-4722-bab0-d502603eef14
+# cif_volume_id_0: d2262ef6-7bac-4c4e-abfb-fd78e3f0cc0b
+# cif_volume_id_1: b1f6f2bc-6774-4c66-88ef-cb225d216bf0
+#
+#
+#------------------------------------
+# Preload Sheet
+#------------------------------------
+# # Network IDs
+# oam_net_id: LAN1
+# ims_core_net_id: ipv6_1256
+# ims_li_v6_net_id: ipv6_1255
+#
+# # instance availability zones for 1+1 pairs
+# availability_zone_0: zone1
+# availability_zone_1: zone2
+#
+# cif_oam_ip_0: 192.168.1.26
+# cif_oam_ip_1: 192.168.1.27
+#
+# Tag Value
+# cif_oam_vip_0: 192.168.1.28
+#
+# cif_ims_core_v6_ip_0: "2a00:8a00:a000:4000::308"
+# cif_ims_core_v6_ip_1: "2a00:8a00:a000:4000::309"
+# cif_ims_core_v6_vip_0: "2a00:8a00:a000:4000::310"
+#
+# # Seperated Interface for LI-X1 (eth3)
+# cif_oam_ip_2: 192.168.1.29
+# cif_oam_ip_3: 192.168.1.30
+#
+# Tag Value
+# cif_oam_vip_1: 192.168.1.31
+#
+# # Seperated Interface for LI-X2 (eth4)
+#
+# cif_ims_li_v6_ip_0: "2a00:8a00:a000:4000::284"
+# cif_ims_li_v6_ip_1: "2a00:8a00:a000:4000::285"
+# cif_ims_li_v6_vip_0: "2a00:8a00:a000:4000::286"
+#
+#
+# lbd_ims_core_v6_ip_0: "2a00:8a00:a000:4000::311"
+# lbd_ims_core_v6_ip_1: "2a00:8a00:a000:4000::312"
+# lbd_ims_core_v6_vip_0: "2a00:8a00:a000:4000::313"
+#
+#
+# cdi_ims_core_v6_ip_0: "2a00:8a00:a000:4000::314"
+# cdi_ims_core_v6_ip_1: "2a00:8a00:a000:4000::315"
+# cdi_ims_core_v6_vip_0: "2a00:8a00:a000:4000::316"
+#
+# oam_name_0: cscf0011vm001oam001
+# oam_name_1: cscf0011vm002oam001
+# oam_name_2: cscf0011vm003oam001
+# cif_name_0: cscf0011vm004cif001
+# cif_name_1: cscf0011vm005cif001
+# cdi_name_0: cscf0011vm006cdi001
+# cdi_name_1: cscf0011vm007cdi001
+# lbd_name_0: cscf0011vm008lbd001
+# lbd_name_1: cscf0011vm009lbd001
+#
+#------------------------------------
+# Tag values
+#------------------------------------
+#
+# vcscf_dn: DN1
+# vcscf_du: DU1
+# vcscf_cmrepo_address: 10.111.12.71
+# vcscf_swrepo_address: 10.111.12.71
+# vcscf_dns_address: 10.111.12.67
+#
+# vnf_name: CSCF0001
+# vnf_id: CSCF0001
+# vf_module_name: CSCF0001
+# vf_module_id: CSCF0001
+#
+# vcscf_oam_netmask: 255.255.255.0
+# vcscf_default_gateway: 192.168.1.1
+#
+# oam_oam_vip_0: 192.168.1.21
+# oam_oam_ip_0: 192.168.1.23
+# oam_oam_ip_1: 192.168.1.24
+# oam_oam_ip_2: 192.168.1.25
+#
+# tdcore_zone_0_names:
+# - cscf0011vm101sip001
+# - cscf0011vm103sip001
+# - cscf0011vm105sip001
+# - cscf0011vm107sip001
+#
+# tdcore_zone_1_names:
+# - cscf0011vm102sip001
+# - cscf0011vm104sip001
+# - cscf0011vm106sip001
+# - cscf0011vm108sip001
+#
+# cscf_zone_0_names:
+# - cscf0011vm201scf001
+# - cscf0011vm203scf001
+# - cscf0011vm205scf001
+# - cscf0011vm207scf001
+# - cscf0011vm209scf001
+# - cscf0011vm211scf001
+# - cscf0011vm213scf001
+# - cscf0011vm215scf001
+# - cscf0011vm217scf001
+# - cscf0011vm219scf001
+# - cscf0011vm221scf001
+# - cscf0011vm223scf001
+# - cscf0011vm225scf001
+# - cscf0011vm227scf001
+# - cscf0011vm229scf001
+# - cscf0011vm231scf001
+# - cscf0011vm233scf001
+# - cscf0011vm235scf001
+# - cscf0011vm237scf001
+#
+# cscf_zone_1_names:
+# - cscf0011vm202scf001
+# - cscf0011vm204scf001
+# - cscf0011vm206scf001
+# - cscf0011vm208scf001
+# - cscf0011vm210scf001
+# - cscf0011vm212scf001
+# - cscf0011vm214scf001
+# - cscf0011vm216scf001
+# - cscf0011vm218scf001
+# - cscf0011vm220scf001
+# - cscf0011vm222scf001
+# - cscf0011vm224scf001
+# - cscf0011vm226scf001
+# - cscf0011vm228scf001
+# - cscf0011vm230scf001
+# - cscf0011vm232scf001
+# - cscf0011vm234scf001
+# - cscf0011vm236scf001
+#
+# # Below value should be taken from CMRepo after parsing the TPD or the below names should be used while parsing TPD as input
+#
+# oam_uuid_0: cscf0011vm001oam001
+# oam_uuid_1: cscf0011vm002oam001
+# oam_uuid_2: cscf0011vm003oam001
+# cif_uuid_0: cscf0011vm004cif001
+# cif_uuid_1: cscf0011vm005cif001
+# lbd_uuid_0: cscf0011vm006cdi001
+# lbd_uuid_1: cscf0011vm007cdi001
+# cdi_uuid_0: cscf0011vm008lbd001
+# cdi_uuid_1: cscf0011vm009lbd001
+#
+# tdcore_zone_0_uuids:
+# - cscf0011vm101sip001
+# - cscf0011vm103sip001
+# - cscf0011vm105sip001
+# - cscf0011vm107sip001
+#
+# tdcore_zone_1_uuids:
+# - cscf0011vm102sip001
+# - cscf0011vm104sip001
+# - cscf0011vm106sip001
+# - cscf0011vm108sip001
+#
+# cscf_zone_0_uuids:
+# - cscf0011vm201scf001
+# - cscf0011vm203scf001
+# - cscf0011vm205scf001
+# - cscf0011vm207scf001
+# - cscf0011vm209scf001
+# - cscf0011vm211scf001
+# - cscf0011vm213scf001
+# - cscf0011vm215scf001
+# - cscf0011vm217scf001
+# - cscf0011vm219scf001
+# - cscf0011vm221scf001
+# - cscf0011vm223scf001
+# - cscf0011vm225scf001
+# - cscf0011vm227scf001
+# - cscf0011vm229scf001
+# - cscf0011vm231scf001
+# - cscf0011vm233scf001
+# - cscf0011vm235scf001
+# - cscf0011vm237scf001
+#
+# cscf_zone_1_uuids:
+# - cscf0011vm202scf001
+# - cscf0011vm204scf001
+# - cscf0011vm206scf001
+# - cscf0011vm208scf001
+# - cscf0011vm210scf001
+# - cscf0011vm212scf001
+# - cscf0011vm214scf001
+# - cscf0011vm216scf001
+# - cscf0011vm218scf001
+# - cscf0011vm220scf001
+# - cscf0011vm222scf001
+# - cscf0011vm224scf001
+# - cscf0011vm226scf001
+# - cscf0011vm228scf001
+# - cscf0011vm230scf001
+# - cscf0011vm232scf001
+# - cscf0011vm234scf001
+# - cscf0011vm236scf001
+
+
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf.yaml
new file mode 100644
index 0000000000..f907f2849d
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf.yaml
@@ -0,0 +1,2045 @@
+## Copyright:: Nokia Corporation 2017
+## Note: Nokia VM HOT file for CFX
+## Name: "base_cscf.yaml"
+## Date: 20 Mar 2017
+## Kilo Version
+heat_template_version: 2015-04-30
+
+description: >
+ CFX-5000 N+K VNF HOT template for AT&T.
+
+parameters:
+
+ vnf_name:
+ type: string
+ description: Unique name for this VF instance
+
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+
+ vf_module_name:
+ type: string
+ description: Unique name for this VF Module instance
+
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+
+ cif_volume_id_0:
+ type: string
+ description: size of the cinder volume used for cif
+ cif_volume_id_1:
+ type: string
+ description: size of the cinder volume used for cif
+
+ oam_volume_id_0:
+ type: string
+ description: size of the cinder volume used for oam
+ oam_volume_id_1:
+ type: string
+ description: size of the cinder volume used for oam
+
+ oam_net_id:
+ type: string
+ description: Name/UUID of OAM network
+
+ ims_core_net_id:
+ type: string
+ description: Name/UUID of Core network
+
+ ims_li_v6_net_id:
+ type: string
+ description: Name/UUID of V6 LI network
+
+ availability_zone_0:
+ type: string
+ description: >
+ Availability zone where the first node of a pair will be deployed.
+ Availability zone 0 and 1 can have same zone name if single zone is used.
+
+ availability_zone_1:
+ type: string
+ description: >
+ Availability zone where the second node of a pair will be deployed.
+ Availability zone 0 and 1 can have same zone name if single zone is used.
+
+ oam_image_name:
+ type: string
+ description: OAM VM image name
+
+ cif_image_name:
+ type: string
+ description: CSCF CIF VM image name
+
+ lbd_image_name:
+ type: string
+ description: CSCF LBD VM image name
+
+ cdi_image_name:
+ type: string
+ description: CDI VM image name
+
+ cscf_image_name:
+ type: string
+ description: CSCF server VM image name
+
+ tdcore_image_name:
+ type: string
+ description: TDCORE VM image name
+
+ oam_flavor_name:
+ type: string
+ description: OAM VM flavor
+
+ cscf_flavor_name:
+ type: string
+ description: CSCF server VM flavor
+
+ cif_flavor_name:
+ type: string
+ description: CSCF CIF VM flavor
+
+ lbd_flavor_name:
+ type: string
+ description: CSCF LBD VM flavor
+
+ tdcore_flavor_name:
+ type: string
+ description: TDCORE VM flavor
+
+ cdi_flavor_name:
+ type: string
+ description: CDI VM flavor
+
+ cscf_zone_0_count:
+ type: number
+ description: >
+ Number of CSCF to be deployed on zone 0.
+ This parameter is used to scale the cscf instances.
+ constraints:
+ - range: { min: 0, max: 120 }
+
+ cscf_zone_1_count:
+ type: number
+ description: >
+ Number of CSCF to be deployed on zone 1.
+ This parameter is used to scale the cscf instances.
+ constraints:
+ - range: { min: 0, max: 120 }
+
+ tdcore_zone_0_count:
+ type: number
+ description: >
+ Number of TD Core VMs to be deployed zone 0.
+ This parameter is used to scale the TD Core instances.
+ constraints:
+ - range: { min: 0, max: 8 }
+
+ tdcore_zone_1_count:
+ type: number
+ description: >
+ Number of TD Core VMs to be deployed zone 1.
+ This parameter is used to scale the TD Core instances.
+ constraints:
+ - range: { min: 0, max: 8 }
+
+ vcscf_internal_netmask:
+ type: string
+ description: Netmask for Internal LAN
+
+ vcscf_internal_network_cidr:
+ type: string
+ description: CIDR for for Internal LAN
+
+ vcscf_internal_network_v6_cidr:
+ type: string
+ description: CIDR for for Internal LAN v6
+
+ vcscf_internal_dpdk_network_cidr:
+ type: string
+ description: CIDR for for Internal LAN DPDK
+
+ vcscf_oam_netmask:
+ type: string
+ description: Netmask for OAM LAN
+
+ vcscf_default_gateway:
+ type: string
+ description: Default gateway for OAM LAN
+
+ oam_oam_vip_0:
+ type: string
+ description: OAM CIPA IP of OAM unit
+
+ oam_oam_ip_0:
+ type: string
+ description: OAM IP of OAM01 instance
+
+ oam_oam_ip_1:
+ type: string
+ description: OAM IP of OAM02 instance
+
+ oam_oam_ip_2:
+ type: string
+ description: OAM IP of OAM03 instance
+
+ oam_internal_vip_0:
+ type: string
+ description: Internal CIPA IP of OAM unit
+
+ oam_internal_ip_0:
+ type: string
+ description: Internal IP of OAM01 instance
+
+ oam_internal_ip_1:
+ type: string
+ description: Internal IP of OAM01 instance
+
+ oam_internal_ip_2:
+ type: string
+ description: Internal IP of OAM01 instance
+
+ cscf_internal_zone_0_ips:
+ type: comma_delimited_list
+ description: "List of Internal Lan IPs for CSCF instances on zone 0"
+
+ cscf_internal_zone_0_v6_ips:
+ type: comma_delimited_list
+ description: "List of Internal Lan v6 IPs for CSCF instances on zone 0"
+
+ cscf_internal_zone_1_ips:
+ type: comma_delimited_list
+ description: "List of Internal Lan IPs for CSCF instances on zone 1"
+
+ cscf_internal_zone_1_v6_ips:
+ type: comma_delimited_list
+ description: "List of Internal Lan v6 IPs for CSCF instances on zone 1"
+
+ tdcore_internal_zone_0_ips:
+ type: comma_delimited_list
+ description: "List of Internal Lan IPs for TDCORE instances on zone 0"
+
+ tdcore_dpdk_zone_0_ips:
+ type: comma_delimited_list
+ description: "List of DPDK Lan IPs for TDCORE instances on zone 0"
+
+ tdcore_internal_zone_1_ips:
+ type: comma_delimited_list
+ description: "List of Internal Lan IPs for TDCORE instances on zone 1"
+
+ tdcore_dpdk_zone_1_ips:
+ type: comma_delimited_list
+ description: "List of DPDK Lan IPs for TDCORE instances on zone 1"
+
+ cif_internal_ip_0:
+ type: string
+ description: Internal IP of CIF01 instance
+
+ cif_internal_ip_1:
+ type: string
+ description: Internal IP of CIF02 instance
+
+ cif_internal_vip_0:
+ type: string
+ description: Internal CIPA IP of CIF
+
+ cif_internal_v6_ip_0:
+ type: string
+ description: Internal IP v6 of CIF01 instance
+
+ cif_internal_v6_ip_1:
+ type: string
+ description: Internal IP v6 of CIF02 instance
+
+ cif_oam_ip_0:
+ type: string
+ description: OAM IP of CIF01 instance
+
+ cif_oam_ip_1:
+ type: string
+ description: OAM IP of CIF02 instance
+
+ cif_oam_vip_0:
+ type: string
+ description: OAM CIPA IP of CIF
+
+ cif_ims_core_v6_ip_0:
+ type: string
+ description: IMS CORE v6 IP of CIF01 instance
+
+ cif_ims_core_v6_ip_1:
+ type: string
+ description: IMS CORE v6 IP of CIF02 instance
+
+ cif_ims_core_v6_vip_0:
+ type: string
+ description: IMS CORE v6 CIPA IP of CIF
+
+ cif_oam_ip_2:
+ type: string
+ description: OAM (LI-X1) v4 IP of CIF01 instance
+
+ cif_oam_ip_3:
+ type: string
+ description: OAM (LI-X1) v4 IP of CIF02 instance
+
+ cif_oam_vip_1:
+ type: string
+ description: OAM (LI-X1) v4 CIPA of CIF
+
+ cif_ims_li_v6_ip_0:
+ type: string
+ description: IMS LI v6 IP of CIF01 instance
+
+ cif_ims_li_v6_ip_1:
+ type: string
+ description: IMS LI v6 IP of CIF02 instance
+
+ cif_ims_li_v6_vip_0:
+ type: string
+ description: IMS LI CIPA v6 IP of CIF
+
+ lbd_internal_ip_0:
+ type: string
+ description: Internal IP of LBD01 instance
+
+ lbd_internal_ip_1:
+ type: string
+ description: Internal IP of LBD02 instance
+
+ lbd_internal_dpdk_ip_0:
+ type: string
+ description: Internal DPDK IP of LBD01 instance
+
+ lbd_internal_dpdk_ip_1:
+ type: string
+ description: Internal DPDK IP of LBD02 instance
+
+ lbd_internal_dpdk_vip_0:
+ type: string
+ description: Internal DPDK CIP IP of LBD
+
+ lbd_ims_core_v6_ip_0:
+ type: string
+ description: IMS CORE v6 IP of LBD01 instance
+
+ lbd_ims_core_v6_ip_1:
+ type: string
+ description: IMS CORE v6 IP of LBD02 instance
+
+ lbd_ims_core_v6_vip_0:
+ type: string
+ description: IMS CORE CIPA v6 IP of LBD
+
+ cdi_internal_ip_0:
+ type: string
+ description: Internal IP of CDI01 instance
+
+ cdi_internal_ip_1:
+ type: string
+ description: Internal IP of CDI02 instance
+
+ cdi_internal_v6_ip_0:
+ type: string
+ description: Internal v6 IP of CDI01 instance
+
+ cdi_internal_v6_ip_1:
+ type: string
+ description: Internal v6 IP of CDI02 instance
+
+ cdi_internal_v6_vip_0:
+ type: string
+ description: Internal v6 CIPA IP of CDI
+
+ cdi_ims_core_v6_ip_0:
+ type: string
+ description: IMS CORE LAN v6 IP of CDI01 instance
+
+ cdi_ims_core_v6_ip_1:
+ type: string
+ description: IMS CORE LAN v6 IP of CDI02 instance
+
+ cdi_ims_core_v6_vip_0:
+ type: string
+ description: IMS CORE LAN CIPA v6 IP of CDI
+
+ vcscf_name_delimeter:
+ type: string
+ description: 'delimeter used in concatenating different words while naming (ex: "-","_",".",...)'
+ constraints:
+ - allowed_values: [ '-', '', '_', '.']
+
+ oam_name_0:
+ type: string
+ description: OAM01 instance name
+
+ oam_name_1:
+ type: string
+ description: OAM02 instance name
+
+ oam_name_2:
+ type: string
+ description: OAM03 instance name
+
+ cif_name_0:
+ type: string
+ description: CIF01 instance name
+
+ cif_name_1:
+ type: string
+ description: CIF02 instance name
+
+ lbd_name_0:
+ type: string
+ description: LBD01 instance name
+
+ lbd_name_1:
+ type: string
+ description: LBD02 instance name
+
+ cdi_name_0:
+ type: string
+ description: CDI01 instance name
+
+ cdi_name_1:
+ type: string
+ description: CDI02 instance name
+
+ cscf_zone_0_names:
+ type: comma_delimited_list
+ description: "List of instance names for CSCF instances on zone 0"
+
+ cscf_zone_1_names:
+ type: comma_delimited_list
+ description: "List of instance names for CSCF instances on zone 1"
+
+ tdcore_zone_0_names:
+ type: comma_delimited_list
+ description: "List of instance names for TDCORE instances on zone 0"
+
+ tdcore_zone_1_names:
+ type: comma_delimited_list
+ description: "List of instance names for TDCORE instances on zone 1"
+
+ vcscf_release:
+ type: string
+ description: "IMS release"
+
+ vcscf_dn:
+ type: string
+ description: "DN name"
+
+ vcscf_du:
+ type: string
+ description: "DU name"
+
+ vcscf_cmrepo_address:
+ type: string
+ description: "CMRepo IP or FQDN"
+
+ vcscf_swrepo_address:
+ type: string
+ description: SWRepo IP or FQDN
+
+ vcscf_dns_address:
+ type: string
+ description: DNS server IP
+
+ vcscf_internal_network_mtu:
+ type: number
+ description: MTU for internal network interface (eth0)
+ constraints:
+ - range: { min: 1000, max: 9100 }
+
+ oam_uuid_0:
+ type: string
+ description: UUID generated by cmrepo for OAM01
+
+ oam_uuid_1:
+ type: string
+ description: UUID generated by cmrepo for OAM02
+
+ oam_uuid_2:
+ type: string
+ description: UUID generated by cmrepo for OAM03
+
+ cif_uuid_0:
+ type: string
+ description: UUID generated by cmrepo for CIF01
+
+ cif_uuid_1:
+ type: string
+ description: UUID generated by cmrepo for CIF02
+
+ lbd_uuid_0:
+ type: string
+ description: UUID generated by cmrepo for LBD01
+
+ lbd_uuid_1:
+ type: string
+ description: UUID generated by cmrepo for LBD02
+
+ cdi_uuid_0:
+ type: string
+ description: UUID generated by cmrepo for CDI01
+
+ cdi_uuid_1:
+ type: string
+ description: UUID generated by cmrepo for CDI02
+
+ cscf_zone_0_uuids:
+ type: comma_delimited_list
+ description: "List of UUIDs generated by cmrepo for CSCF instances on zone 0"
+
+ cscf_zone_1_uuids:
+ type: comma_delimited_list
+ description: "List of UUIDs generated by cmrepo for CSCF instances on zone 1"
+
+ tdcore_zone_0_uuids:
+ type: comma_delimited_list
+ description: "List of UUIDs generated by cmrepo for TDCORE instances on zone 0"
+
+ tdcore_zone_1_uuids:
+ type: comma_delimited_list
+ description: "List of UUIDs generated by cmrepo for TDCORE instances on zone 1"
+
+resources:
+
+ cscf_RSG:
+ type: OS::Neutron::SecurityGroup
+ properties:
+ description: Allow all
+ name:
+ str_replace:
+ template: "$VNF$DELsecurity$DELgroup"
+ params:
+ $VNF: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ rules:
+ - { direction: ingress, ethertype: IPv4 }
+ - { direction: egress, ethertype: IPv4 }
+ - { direction: ingress, ethertype: IPv6 }
+ - { direction: egress, ethertype: IPv6 }
+
+ cscf_internal_network_0:
+ type: OS::Neutron::Net
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELinternal$DELnetwork
+ params:
+ $PREFIX: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ admin_state_up: True
+ shared: False
+
+ cscf_internal_subnet_0:
+ type: OS::Neutron::Subnet
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELinternal$DELsubnet
+ params:
+ $PREFIX: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ ip_version: 4
+ network: { get_resource: cscf_internal_network_0 }
+ cidr: { get_param: vcscf_internal_network_cidr }
+ enable_dhcp: False
+ gateway_ip: null
+
+ cscf_internal_subnet_v6_0:
+ type: OS::Neutron::Subnet
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELinternal$DELsubnetv6
+ params:
+ $PREFIX: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ ip_version: 6
+ network: { get_resource: cscf_internal_network_0 }
+ cidr: { get_param: vcscf_internal_network_v6_cidr }
+ enable_dhcp: False
+ gateway_ip: null
+
+ cscf_internal_dpdk_network_0:
+ type: OS::Neutron::Net
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELinternal$DELdpdk$DELnetwork
+ params:
+ $PREFIX: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ admin_state_up: True
+ shared: False
+
+ cscf_internal_dpdk_subnet_0:
+ type: OS::Neutron::Subnet
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELinternal$DELdpdk$DELsubnet
+ params:
+ $PREFIX: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_dpdk_network_0 }
+ cidr: { get_param: vcscf_internal_dpdk_network_cidr }
+ enable_dhcp: False
+ gateway_ip: null
+
+ cif_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: "$VNF$DELcif$DELgroup"
+ params:
+ $VNF: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ policies: ["anti-affinity"]
+
+ lbd_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: "$VNF$DELlbd$DELgroup"
+ params:
+ $VNF: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ policies: ["anti-affinity"]
+
+ cdi_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: "$VNF$DELcdi$DELgroup"
+ params:
+ $VNF: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ policies: ["anti-affinity"]
+
+ oam_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: "$VNF$DELoam$DELgroup"
+ params:
+ $VNF: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ policies: ["anti-affinity"]
+
+ tdcore_zone_0_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: "$VNF$DELtdcore$DELzone0$DELgroup"
+ params:
+ $VNF: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ policies: ["anti-affinity"]
+
+ tdcore_zone_1_server_group:
+ type: OS::Nova::ServerGroup
+ properties:
+ name:
+ str_replace:
+ template: "$VNF$DELtdcore$DELzone1$DELgroup"
+ params:
+ $VNF: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ policies: ["anti-affinity"]
+
+ cif_internal_vip_0_port:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $NAME$DELcif$DELinternal$DELvip
+ params:
+ $NAME: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_internal_vip_0 }
+
+ cif_oam_vip_1_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $NAME$DELcif$DELoam$DELvip0
+ params:
+ $NAME: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: oam_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_oam_vip_0 }
+
+ cif_ims_core_v6_vip_2_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $NAME$DELcif$DELims$DELcore$DELvip$DELv6
+ params:
+ $NAME: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_core_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_ims_core_v6_vip_0 }
+
+ cif_oam_vip_3_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $NAME$DELcif$DELoam$DELvip1
+ params:
+ $NAME: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: oam_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_oam_vip_1 }
+
+ cif_ims_li_v6_vip_4_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $NAME$DELcif$DELims$DELli$DELvip$DELv6
+ params:
+ $NAME: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_li_v6_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_ims_li_v6_vip_0 }
+
+ lbd_internal_dpdk_vip_1_port:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_dpdk_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $NAME$DELlbd$DELinternal$DELdpdk$DELvip
+ params:
+ $NAME: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_dpdk_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: lbd_internal_dpdk_vip_0 }
+
+ lbd_ims_core_v6_vip_2_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $NAME$DELlbd$DELims$DELcore$DELvip$DELv6
+ params:
+ $NAME: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_core_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: lbd_ims_core_v6_vip_0 }
+
+ cdi_internal_v6_vip_0_port:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_v6_0
+ properties:
+ name:
+ str_replace:
+ template: $NAME$DELcdi$DELinternal$DELvip$DELv6
+ params:
+ $NAME: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cdi_internal_v6_vip_0 }
+
+ cdi_ims_core_v6_vip_1_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $NAME$DELcdi$DELims$DELdb$DELvip$DELv6
+ params:
+ $NAME: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_core_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cdi_ims_core_v6_vip_0 }
+
+ oam_internal_vip_0_port:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $NAME$DELoam$DELinternal$DELvip
+ params:
+ $NAME: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: oam_internal_vip_0 }
+
+ oam_oam_vip_1_port:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $NAME$DELoam$DELoam$DELvip
+ params:
+ $NAME: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: oam_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: oam_oam_vip_0 }
+
+ oam_internal_0_port_0:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth0
+ params:
+ $PREFIX: { get_param: oam_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: oam_internal_ip_0 }
+ allowed_address_pairs:
+ - ip_address: "0.0.0.0/1"
+ - ip_address: "128.0.0.0/1"
+ - ip_address: "::/1"
+ - ip_address: "8000::/1"
+
+ oam_oam_0_port_1:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth1
+ params:
+ $PREFIX: { get_param: oam_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: oam_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: oam_oam_ip_0 }
+ allowed_address_pairs:
+ - ip_address: { get_param: oam_oam_vip_0}
+
+
+ oam_server_0:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone_0 }
+ scheduler_hints: { group: { get_resource: oam_server_group } }
+ name: { get_param: oam_name_0 }
+ flavor: { get_param: oam_flavor_name }
+ image: { get_param: oam_image_name }
+ metadata:
+ vm_role: oam
+ vnf_id: {get_param: vnf_id}
+ vnf_name: {get_param: vnf_name}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ networks:
+ - port: { get_resource: oam_internal_0_port_0 }
+ - port: { get_resource: oam_oam_0_port_1 }
+ block_device_mapping:
+ - device_name: vdb
+ volume_id: { get_param: oam_volume_id_0 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ DN=$dn_name
+ DUName=$du_name
+ Uuid=$uuid
+ SwRepoIp=$swrepo_ip
+ CmRepoIp=$cmrepo_ip
+ OamDnsIp=$dns_ip
+ eth0_MTU=$mtu
+ UniqueId=$dn_name/$du_name/$release/$uuid
+ OamNetmask=$oam_netmask
+ OamIp=$oam_ip
+ OamCipa=$oam_cipa_ip
+ NodeCipa=$node_cipa_ip
+ Gateway=$gateway
+ OamGateway=$gateway
+ NodeIp=$node_ip
+ Netmask=$netmask
+ NodeType=OAM
+ DUType=CSCF
+ Release=$release
+ SwRepoPort=5571
+ CmRepoPort=8051
+ LbGroupId=1
+ HaGroupId=101
+ NodeName=$instance_name
+ params:
+ $dn_name: { get_param: vcscf_dn}
+ $du_name: { get_param: vcscf_du }
+ $uuid: { get_param: oam_uuid_0 }
+ $dns_ip: { get_param: vcscf_dns_address }
+ $cmrepo_ip: { get_param: vcscf_cmrepo_address }
+ $swrepo_ip: { get_param: vcscf_swrepo_address }
+ $release: { get_param: vcscf_release }
+ $mtu: { get_param: vcscf_internal_network_mtu }
+ $node_ip: { get_param: oam_internal_ip_0 }
+ $netmask: { get_param: vcscf_internal_netmask }
+ $gateway: { get_param: vcscf_default_gateway}
+ $oam_ip: { get_param: oam_oam_ip_0 }
+ $oam_netmask: { get_param: vcscf_oam_netmask }
+ $node_cipa_ip: { get_param: oam_internal_vip_0 }
+ $oam_cipa_ip: { get_param: oam_oam_vip_0 }
+ $instance_name: { get_param: oam_name_0 }
+
+
+ oam_internal_1_port_0:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth0
+ params:
+ $PREFIX: { get_param: oam_name_1 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: oam_internal_ip_1 }
+ allowed_address_pairs:
+ - ip_address: "0.0.0.0/1"
+ - ip_address: "128.0.0.0/1"
+ - ip_address: "::/1"
+ - ip_address: "8000::/1"
+
+ oam_oam_1_port_1:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth1
+ params:
+ $PREFIX: { get_param: oam_name_1 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: oam_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: oam_oam_ip_1 }
+ allowed_address_pairs:
+ - ip_address: { get_param: oam_oam_vip_0}
+
+
+ oam_server_1:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone_1 }
+ scheduler_hints: { group: { get_resource: oam_server_group } }
+ name: { get_param: oam_name_1 }
+ flavor: { get_param: oam_flavor_name }
+ image: { get_param: oam_image_name }
+ metadata:
+ vm_role: oam
+ vnf_id: {get_param: vnf_id}
+ vnf_name: {get_param: vnf_name}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ networks:
+ - port: { get_resource: oam_internal_1_port_0 }
+ - port: { get_resource: oam_oam_1_port_1 }
+ block_device_mapping:
+ - device_name: vdb
+ volume_id: { get_param: oam_volume_id_1 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ DN=$dn_name
+ DUName=$du_name
+ Uuid=$uuid
+ SwRepoIp=$swrepo_ip
+ CmRepoIp=$cmrepo_ip
+ OamDnsIp=$dns_ip
+ eth0_MTU=$mtu
+ UniqueId=$dn_name/$du_name/$release/$uuid
+ OamNetmask=$oam_netmask
+ OamIp=$oam_ip
+ OamCipa=$oam_cipa_ip
+ NodeCipa=$node_cipa_ip
+ Gateway=$gateway
+ OamGateway=$gateway
+ NodeIp=$node_ip
+ Netmask=$netmask
+ NodeType=OAM
+ DUType=CSCF
+ Release=$release
+ SwRepoPort=5571
+ CmRepoPort=8051
+ LbGroupId=1
+ HaGroupId=101
+ NodeName=$instance_name
+ params:
+ $dn_name: { get_param: vcscf_dn}
+ $du_name: { get_param: vcscf_du }
+ $uuid: { get_param: oam_uuid_1 }
+ $dns_ip: { get_param: vcscf_dns_address }
+ $cmrepo_ip: { get_param: vcscf_cmrepo_address }
+ $swrepo_ip: { get_param: vcscf_swrepo_address }
+ $release: { get_param: vcscf_release }
+ $mtu: { get_param: vcscf_internal_network_mtu }
+ $node_ip: { get_param: oam_internal_ip_1 }
+ $netmask: { get_param: vcscf_internal_netmask }
+ $gateway: { get_param: vcscf_default_gateway}
+ $oam_ip: { get_param: oam_oam_ip_1 }
+ $oam_netmask: { get_param: vcscf_oam_netmask }
+ $node_cipa_ip: { get_param: oam_internal_vip_0 }
+ $oam_cipa_ip: { get_param: oam_oam_vip_0 }
+ $instance_name: { get_param: oam_name_1 }
+
+ oam_internal_2_port_0:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth0
+ params:
+ $PREFIX: { get_param: oam_name_2 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: oam_internal_ip_2 }
+ allowed_address_pairs:
+ - ip_address: "0.0.0.0/1"
+ - ip_address: "128.0.0.0/1"
+ - ip_address: "::/1"
+ - ip_address: "8000::/1"
+
+ oam_oam_2_port_1:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth1
+ params:
+ $PREFIX: { get_param: oam_name_2 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: oam_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: oam_oam_ip_2 }
+ allowed_address_pairs:
+ - ip_address: { get_param: oam_oam_vip_0}
+
+
+ oam_server_2:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone_0 }
+ scheduler_hints: { group: { get_resource: oam_server_group } }
+ name: { get_param: oam_name_2 }
+ flavor: { get_param: oam_flavor_name }
+ image: { get_param: oam_image_name }
+ metadata:
+ vm_role: oam
+ vnf_id: {get_param: vnf_id}
+ vnf_name: {get_param: vnf_name}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ networks:
+ - port: { get_resource: oam_internal_2_port_0 }
+ - port: { get_resource: oam_oam_2_port_1 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ DN=$dn_name
+ DUName=$du_name
+ Uuid=$uuid
+ SwRepoIp=$swrepo_ip
+ CmRepoIp=$cmrepo_ip
+ OamDnsIp=$dns_ip
+ eth0_MTU=$mtu
+ UniqueId=$dn_name/$du_name/$release/$uuid
+ OamNetmask=$oam_netmask
+ OamIp=$oam_ip
+ OamCipa=$oam_cipa_ip
+ NodeCipa=$node_cipa_ip
+ Gateway=$gateway
+ OamGateway=$gateway
+ NodeIp=$node_ip
+ Netmask=$netmask
+ NodeType=OAM
+ DUType=CSCF
+ Release=$release
+ SwRepoPort=5571
+ CmRepoPort=8051
+ LbGroupId=1
+ HaGroupId=101
+ NodeName=$instance_name
+ params:
+ $dn_name: { get_param: vcscf_dn}
+ $du_name: { get_param: vcscf_du }
+ $uuid: { get_param: oam_uuid_2 }
+ $dns_ip: { get_param: vcscf_dns_address }
+ $cmrepo_ip: { get_param: vcscf_cmrepo_address }
+ $swrepo_ip: { get_param: vcscf_swrepo_address }
+ $release: { get_param: vcscf_release }
+ $mtu: { get_param: vcscf_internal_network_mtu }
+ $node_ip: { get_param: oam_internal_ip_2 }
+ $netmask: { get_param: vcscf_internal_netmask }
+ $gateway: { get_param: vcscf_default_gateway}
+ $oam_ip: { get_param: oam_oam_ip_2 }
+ $oam_netmask: { get_param: vcscf_oam_netmask }
+ $node_cipa_ip: { get_param: oam_internal_vip_0 }
+ $oam_cipa_ip: { get_param: oam_oam_vip_0 }
+ $instance_name: { get_param: oam_name_2 }
+
+
+ cif_internal_0_port_0:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth0
+ params:
+ $PREFIX: { get_param: cif_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_internal_ip_0 }
+ - ip_address: { get_param: cif_internal_v6_ip_0 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cif_internal_vip_0 }
+
+ cif_oam_0_port_1:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth1
+ params:
+ $PREFIX: { get_param: cif_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: oam_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_oam_ip_0 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cif_oam_vip_0}
+
+ cif_ims_core_0_port_2:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth2
+ params:
+ $PREFIX: { get_param: cif_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_core_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_ims_core_v6_ip_0 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cif_ims_core_v6_vip_0}
+
+
+ cif_oam_0_port_3:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth3
+ params:
+ $PREFIX: { get_param: cif_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: oam_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_oam_ip_2 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cif_oam_vip_1}
+
+
+ cif_ims_li_0_port_4:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth4
+ params:
+ $PREFIX: { get_param: cif_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_li_v6_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_ims_li_v6_ip_0 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cif_ims_li_v6_vip_0}
+
+ cif_server_0:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone_0 }
+ scheduler_hints: { group: { get_resource: cif_server_group } }
+ name: { get_param: cif_name_0 }
+ flavor: { get_param: cif_flavor_name }
+ image: { get_param: cif_image_name }
+ metadata:
+ vnf_id: {get_param: vnf_id}
+ vm_role: cif
+ vnf_name: {get_param: vnf_name}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ networks:
+ - port: { get_resource: cif_internal_0_port_0 }
+ - port: { get_resource: cif_oam_0_port_1 }
+ - port: { get_resource: cif_ims_core_0_port_2 }
+ - port: { get_resource: cif_oam_0_port_3 }
+ - port: { get_resource: cif_ims_li_0_port_4 }
+ block_device_mapping:
+ - device_name: vdb
+ volume_id: { get_param: cif_volume_id_0 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ DN=$dn_name
+ DUName=$du_name
+ Uuid=$uuid
+ SwRepoIp=$swrepo_ip
+ CmRepoIp=$cmrepo_ip
+ OamDnsIp=$dns_ip
+ eth0_MTU=$mtu
+ UniqueId=$dn_name/$du_name/$release/$uuid
+ OAMUnitInternalIp=$oam_unit_ip
+ NodeIp=$node_ip
+ Netmask=$netmask
+ Gateway=$oam_unit_ip
+ NodeType=CIF
+ DUType=CSCF
+ Release=$release
+ SwRepoPort=5571
+ CmRepoPort=8051
+ LbGroupId=1
+ HaGroupId=1
+ NodeName=$instance_name
+ params:
+ $dn_name: { get_param: vcscf_dn}
+ $du_name: { get_param: vcscf_du }
+ $cmrepo_ip: { get_param: vcscf_cmrepo_address }
+ $swrepo_ip: { get_param: vcscf_swrepo_address }
+ $oam_unit_ip: { get_param: oam_internal_vip_0 }
+ $netmask: { get_param: vcscf_internal_netmask }
+ $release: { get_param: vcscf_release }
+ $mtu: { get_param: vcscf_internal_network_mtu }
+ $dns_ip: { get_param: vcscf_dns_address }
+ $uuid: { get_param: cif_uuid_0 }
+ $node_ip: { get_param: cif_internal_ip_0 }
+ $instance_name: { get_param: cif_name_0 }
+
+ cif_internal_1_port_0:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth0
+ params:
+ $PREFIX: { get_param: cif_name_1 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_internal_ip_1 }
+ - ip_address: { get_param: cif_internal_v6_ip_1 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cif_internal_vip_0 }
+
+
+ cif_oam_1_port_1:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth1
+ params:
+ $PREFIX: { get_param: cif_name_1 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: oam_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_oam_ip_1 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cif_oam_vip_0}
+
+ cif_ims_core_1_port_2:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth2
+ params:
+ $PREFIX: { get_param: cif_name_1 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_core_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_ims_core_v6_ip_1 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cif_ims_core_v6_vip_0}
+
+ cif_oam_1_port_3:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth3
+ params:
+ $PREFIX: { get_param: cif_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: oam_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_oam_ip_3 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cif_oam_vip_1}
+
+
+ cif_ims_li_1_port_4:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth4
+ params:
+ $PREFIX: { get_param: cif_name_1 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_li_v6_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cif_ims_li_v6_ip_1 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cif_ims_li_v6_vip_0}
+
+ cif_server_1:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone_1 }
+ scheduler_hints: { group: { get_resource: cif_server_group } }
+ name: { get_param: cif_name_1 }
+ flavor: { get_param: cif_flavor_name }
+ image: { get_param: cif_image_name }
+ metadata:
+ vnf_id: {get_param: vnf_id}
+ vm_role: cif
+ vnf_name: {get_param: vnf_name}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ networks:
+ - port: { get_resource: cif_internal_1_port_0 }
+ - port: { get_resource: cif_oam_1_port_1 }
+ - port: { get_resource: cif_ims_core_1_port_2 }
+ - port: { get_resource: cif_oam_1_port_3 }
+ - port: { get_resource: cif_ims_li_1_port_4 }
+ block_device_mapping:
+ - device_name: vdb
+ volume_id: { get_param: cif_volume_id_1 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ DN=$dn_name
+ DUName=$du_name
+ Uuid=$uuid
+ SwRepoIp=$swrepo_ip
+ CmRepoIp=$cmrepo_ip
+ OamDnsIp=$dns_ip
+ eth0_MTU=$mtu
+ UniqueId=$dn_name/$du_name/$release/$uuid
+ OAMUnitInternalIp=$oam_unit_ip
+ NodeIp=$node_ip
+ Netmask=$netmask
+ Gateway=$oam_unit_ip
+ NodeType=CIF
+ DUType=CSCF
+ Release=$release
+ SwRepoPort=5571
+ CmRepoPort=8051
+ LbGroupId=1
+ HaGroupId=1
+ NodeName=$instance_name
+ params:
+ $dn_name: { get_param: vcscf_dn}
+ $du_name: { get_param: vcscf_du }
+ $cmrepo_ip: { get_param: vcscf_cmrepo_address }
+ $swrepo_ip: { get_param: vcscf_swrepo_address }
+ $oam_unit_ip: { get_param: oam_internal_vip_0 }
+ $netmask: { get_param: vcscf_internal_netmask }
+ $release: { get_param: vcscf_release }
+ $mtu: { get_param: vcscf_internal_network_mtu }
+ $dns_ip: { get_param: vcscf_dns_address }
+ $uuid: { get_param: cif_uuid_1 }
+ $node_ip: { get_param: cif_internal_ip_1 }
+ $instance_name: { get_param: cif_name_1 }
+
+ lbd_internal_0_port_0:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth0
+ params:
+ $PREFIX: { get_param: lbd_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: lbd_internal_ip_0 }
+
+ lbd_dpdk_0_port_1:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_dpdk_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth1
+ params:
+ $PREFIX: { get_param: lbd_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_dpdk_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: lbd_internal_dpdk_ip_0 }
+ allowed_address_pairs:
+ - ip_address: "0.0.0.0/1"
+ - ip_address: "128.0.0.0/1"
+ - ip_address: "::/1"
+ - ip_address: "8000::/1"
+
+ lbd_ims_core_0_port_2:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth2
+ params:
+ $PREFIX: { get_param: lbd_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_core_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: lbd_ims_core_v6_ip_0 }
+ allowed_address_pairs:
+ - ip_address: { get_param: lbd_ims_core_v6_vip_0}
+
+ lbd_server_0:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone_0 }
+ scheduler_hints: { group: { get_resource: lbd_server_group } }
+ name: { get_param: lbd_name_0 }
+ flavor: { get_param: lbd_flavor_name }
+ image: { get_param: lbd_image_name }
+ metadata:
+ vnf_id: {get_param: vnf_id}
+ vm_role: lbd
+ vnf_name: {get_param: vnf_name}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ networks:
+ - port: { get_resource: lbd_internal_0_port_0 }
+ - port: { get_resource: lbd_dpdk_0_port_1 }
+ - port: { get_resource: lbd_ims_core_0_port_2 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ DN=$dn_name
+ DUName=$du_name
+ Uuid=$uuid
+ SwRepoIp=$swrepo_ip
+ CmRepoIp=$cmrepo_ip
+ OamDnsIp=$dns_ip
+ eth0_MTU=$mtu
+ eth1_MTU=$mtu
+ UniqueId=$dn_name/$du_name/$release/$uuid
+ OAMUnitInternalIp=$oam_unit_ip
+ NodeIp=$node_ip
+ Netmask=$netmask
+ Gateway=$oam_unit_ip
+ NodeType=L2TD
+ DUType=CSCF
+ Release=$release
+ SwRepoPort=5571
+ CmRepoPort=8051
+ LbGroupId=1
+ HaGroupId=1
+ NodeName=$instance_name
+ params:
+ $dn_name: { get_param: vcscf_dn}
+ $du_name: { get_param: vcscf_du }
+ $cmrepo_ip: { get_param: vcscf_cmrepo_address }
+ $swrepo_ip: { get_param: vcscf_swrepo_address }
+ $netmask: { get_param: vcscf_internal_netmask }
+ $release: { get_param: vcscf_release }
+ $mtu: { get_param: vcscf_internal_network_mtu }
+ $oam_unit_ip: { get_param: oam_internal_vip_0 }
+ $dns_ip: { get_param: vcscf_dns_address }
+ $uuid: { get_param: lbd_uuid_0 }
+ $node_ip: { get_param: lbd_internal_ip_0 }
+ $instance_name: { get_param: lbd_name_0 }
+
+ lbd_internal_1_port_0:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth0
+ params:
+ $PREFIX: { get_param: lbd_name_1 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: lbd_internal_ip_1 }
+
+ lbd_dpdk_1_port_1:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_dpdk_subnet_0
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth1
+ params:
+ $PREFIX: { get_param: lbd_name_1 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_dpdk_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: lbd_internal_dpdk_ip_1 }
+ allowed_address_pairs:
+ - ip_address: "0.0.0.0/1"
+ - ip_address: "128.0.0.0/1"
+ - ip_address: "::/1"
+ - ip_address: "8000::/1"
+
+ lbd_ims_core_1_port_2:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth2
+ params:
+ $PREFIX: { get_param: lbd_name_1 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_core_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: lbd_ims_core_v6_ip_1 }
+ allowed_address_pairs:
+ - ip_address: { get_param: lbd_ims_core_v6_vip_0}
+
+ lbd_server_1:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone_1 }
+ scheduler_hints: { group: { get_resource: lbd_server_group } }
+ name: { get_param: lbd_name_1 }
+ flavor: { get_param: lbd_flavor_name }
+ image: { get_param: lbd_image_name }
+ metadata:
+ vnf_id: {get_param: vnf_id}
+ vm_role: lbd
+ vnf_name: {get_param: vnf_name}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ networks:
+ - port: { get_resource: lbd_internal_1_port_0 }
+ - port: { get_resource: lbd_dpdk_1_port_1 }
+ - port: { get_resource: lbd_ims_core_1_port_2 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ DN=$dn_name
+ DUName=$du_name
+ Uuid=$uuid
+ SwRepoIp=$swrepo_ip
+ CmRepoIp=$cmrepo_ip
+ OamDnsIp=$dns_ip
+ eth0_MTU=$mtu
+ eth1_MTU=$mtu
+ UniqueId=$dn_name/$du_name/$release/$uuid
+ OAMUnitInternalIp=$oam_unit_ip
+ NodeIp=$node_ip
+ Netmask=$netmask
+ Gateway=$oam_unit_ip
+ NodeType=L2TD
+ DUType=CSCF
+ Release=$release
+ SwRepoPort=5571
+ CmRepoPort=8051
+ LbGroupId=1
+ HaGroupId=1
+ NodeName=$instance_name
+ params:
+ $dn_name: { get_param: vcscf_dn}
+ $du_name: { get_param: vcscf_du }
+ $cmrepo_ip: { get_param: vcscf_cmrepo_address }
+ $swrepo_ip: { get_param: vcscf_swrepo_address }
+ $netmask: { get_param: vcscf_internal_netmask }
+ $release: { get_param: vcscf_release }
+ $mtu: { get_param: vcscf_internal_network_mtu }
+ $oam_unit_ip: { get_param: oam_internal_vip_0 }
+ $dns_ip: { get_param: vcscf_dns_address }
+ $uuid: { get_param: lbd_uuid_1 }
+ $node_ip: { get_param: lbd_internal_ip_1 }
+ $instance_name: { get_param: lbd_name_1 }
+
+ cdi_internal_0_port_0:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_0
+ - cscf_internal_subnet_v6_0
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth0
+ params:
+ $PREFIX: { get_param: cdi_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cdi_internal_ip_0 }
+ - ip_address: { get_param: cdi_internal_v6_ip_0 }
+ allowed_address_pairs:
+ - ip_address: "0.0.0.0/1"
+ - ip_address: "128.0.0.0/1"
+ - ip_address: "::/1"
+ - ip_address: "8000::/1"
+
+ cdi_ims_core_0_port_1:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth1
+ params:
+ $PREFIX: { get_param: cdi_name_0 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_core_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips :
+ - ip_address: { get_param: cdi_ims_core_v6_ip_0 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cdi_ims_core_v6_vip_0}
+
+ cdi_server_0:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone_0 }
+ scheduler_hints: { group: { get_resource: cdi_server_group } }
+ name: { get_param: cdi_name_0 }
+ flavor: { get_param: cdi_flavor_name }
+ image: { get_param: cdi_image_name }
+ metadata:
+ vnf_id: {get_param: vnf_id}
+ vm_role: cdi
+ vnf_name: {get_param: vnf_name}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ networks:
+ - port: { get_resource: cdi_internal_0_port_0 }
+ - port: { get_resource: cdi_ims_core_0_port_1 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ DN=$dn_name
+ DUName=$du_name
+ Uuid=$uuid
+ SwRepoIp=$swrepo_ip
+ CmRepoIp=$cmrepo_ip
+ OamDnsIp=$dns_ip
+ eth0_MTU=$mtu
+ UniqueId=$dn_name/$du_name/$release/$uuid
+ OAMUnitInternalIp=$oam_unit_ip
+ NodeIp=$node_ip
+ Netmask=$netmask
+ Gateway=$oam_unit_ip
+ NodeType=CDI
+ DUType=CSCF
+ Release=$release
+ SwRepoPort=5571
+ CmRepoPort=8051
+ LbGroupId=1
+ HaGroupId=1
+ NodeName=$instance_name
+ params:
+ $dn_name: { get_param: vcscf_dn}
+ $du_name: { get_param: vcscf_du }
+ $dns_ip: { get_param: vcscf_dns_address }
+ $cmrepo_ip: { get_param: vcscf_cmrepo_address }
+ $swrepo_ip: { get_param: vcscf_swrepo_address }
+ $oam_unit_ip: { get_param: oam_internal_vip_0 }
+ $netmask: { get_param: vcscf_internal_netmask }
+ $release: { get_param: vcscf_release }
+ $mtu: { get_param: vcscf_internal_network_mtu }
+ $node_ip: { get_param: cdi_internal_ip_0 }
+ $uuid: { get_param: cdi_uuid_0 }
+ $instance_name: { get_param: cdi_name_0 }
+
+ cdi_internal_1_port_0:
+ type: OS::Neutron::Port
+ depends_on:
+ - cscf_internal_subnet_0
+ - cscf_internal_subnet_v6_0
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth0
+ params:
+ $PREFIX: { get_param: cdi_name_1 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_resource: cscf_internal_network_0 }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips:
+ - ip_address: { get_param: cdi_internal_ip_1 }
+ - ip_address: { get_param: cdi_internal_v6_ip_1 }
+ allowed_address_pairs:
+ - ip_address: "0.0.0.0/1"
+ - ip_address: "128.0.0.0/1"
+ - ip_address: "::/1"
+ - ip_address: "8000::/1"
+
+ cdi_ims_core_1_port_1:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth1
+ params:
+ $PREFIX: { get_param: cdi_name_1 }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: ims_core_net_id }
+ security_groups:
+ - { get_resource: cscf_RSG }
+ fixed_ips :
+ - ip_address: { get_param: cdi_ims_core_v6_ip_1 }
+ allowed_address_pairs:
+ - ip_address: { get_param: cdi_ims_core_v6_vip_0}
+
+ cdi_server_1:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone_1 }
+ scheduler_hints: { group: { get_resource: cdi_server_group } }
+ name: { get_param: cdi_name_1 }
+ flavor: { get_param: cdi_flavor_name }
+ image: { get_param: cdi_image_name }
+ metadata:
+ vnf_id: {get_param: vnf_id}
+ vm_role: cdi
+ vnf_name: {get_param: vnf_name}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ networks:
+ - port: { get_resource: cdi_internal_1_port_0 }
+ - port: { get_resource: cdi_ims_core_1_port_1 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ DN=$dn_name
+ DUName=$du_name
+ Uuid=$uuid
+ SwRepoIp=$swrepo_ip
+ CmRepoIp=$cmrepo_ip
+ OamDnsIp=$dns_ip
+ eth0_MTU=$mtu
+ UniqueId=$dn_name/$du_name/$release/$uuid
+ OAMUnitInternalIp=$oam_unit_ip
+ NodeIp=$node_ip
+ Netmask=$netmask
+ Gateway=$oam_unit_ip
+ NodeType=CDI
+ DUType=CSCF
+ Release=$release
+ SwRepoPort=5571
+ CmRepoPort=8051
+ LbGroupId=1
+ HaGroupId=1
+ NodeName=$instance_name
+ params:
+ $dn_name: { get_param: vcscf_dn}
+ $du_name: { get_param: vcscf_du }
+ $dns_ip: { get_param: vcscf_dns_address }
+ $cmrepo_ip: { get_param: vcscf_cmrepo_address }
+ $swrepo_ip: { get_param: vcscf_swrepo_address }
+ $oam_unit_ip: { get_param: oam_internal_vip_0 }
+ $netmask: { get_param: vcscf_internal_netmask }
+ $release: { get_param: vcscf_release }
+ $mtu: { get_param: vcscf_internal_network_mtu }
+ $node_ip: { get_param: cdi_internal_ip_1 }
+ $uuid: { get_param: cdi_uuid_1 }
+ $instance_name: { get_param: cdi_name_1 }
+
+ tdcore_zone_0_RRG:
+ type: OS::Heat::ResourceGroup
+ depends_on:
+ - cscf_internal_subnet_0
+ - cscf_internal_dpdk_subnet_0
+ properties:
+ count: { get_param: tdcore_zone_0_count }
+ index_var: $INDEX
+ resource_def:
+ type: nested_tdcore.yaml
+ properties:
+ index: $INDEX
+ tdcore_server_group: { get_resource: tdcore_zone_0_server_group }
+ vnf_name: { get_param: vnf_name }
+ vcscf_name_delimeter: { get_param: vcscf_name_delimeter }
+ tdcore_flavor_name: { get_param: tdcore_flavor_name }
+ tdcore_image_name: { get_param: tdcore_image_name }
+ tdcore_security_group: { get_resource: cscf_RSG }
+ internal_net_id: { get_resource: cscf_internal_network_0 }
+ internal_dpdk_net_id: { get_resource: cscf_internal_dpdk_network_0 }
+ vcscf_dn: { get_param: vcscf_dn}
+ vcscf_du: { get_param: vcscf_du }
+ vcscf_cmrepo_address: { get_param: vcscf_cmrepo_address }
+ vcscf_swrepo_address: { get_param: vcscf_swrepo_address }
+ vcscf_gateway: { get_param: oam_internal_vip_0 }
+ vcscf_internal_netmask: { get_param: vcscf_internal_netmask }
+ vcscf_release: { get_param: vcscf_release }
+ vcscf_dns_address: { get_param: vcscf_dns_address }
+ vcscf_internal_network_mtu: { get_param: vcscf_internal_network_mtu }
+ vnf_id: {get_param: vnf_id}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone_0: { get_param: availability_zone_0 }
+ tdcore_internal_ips: { get_param: tdcore_internal_zone_0_ips }
+ tdcore_dpdk_ips: { get_param: tdcore_dpdk_zone_0_ips }
+ tdcore_names: { get_param: tdcore_zone_0_names }
+ tdcore_uuids: { get_param: tdcore_zone_0_uuids }
+
+ tdcore_zone_1_RRG:
+ type: OS::Heat::ResourceGroup
+ depends_on:
+ - cscf_internal_subnet_0
+ - cscf_internal_dpdk_subnet_0
+ properties:
+ count: { get_param: tdcore_zone_1_count }
+ index_var: $INDEX
+ resource_def:
+ type: nested_tdcore.yaml
+ properties:
+ index: $INDEX
+ tdcore_server_group: { get_resource: tdcore_zone_1_server_group }
+ vnf_name: { get_param: vnf_name }
+ vcscf_name_delimeter: { get_param: vcscf_name_delimeter }
+ tdcore_flavor_name: { get_param: tdcore_flavor_name }
+ tdcore_image_name: { get_param: tdcore_image_name }
+ tdcore_security_group: { get_resource: cscf_RSG }
+ internal_net_id: { get_resource: cscf_internal_network_0 }
+ internal_dpdk_net_id: { get_resource: cscf_internal_dpdk_network_0 }
+ vcscf_dn: { get_param: vcscf_dn}
+ vcscf_du: { get_param: vcscf_du }
+ vcscf_cmrepo_address: { get_param: vcscf_cmrepo_address }
+ vcscf_swrepo_address: { get_param: vcscf_swrepo_address }
+ vcscf_gateway: { get_param: oam_internal_vip_0 }
+ vcscf_internal_netmask: { get_param: vcscf_internal_netmask }
+ vcscf_release: { get_param: vcscf_release }
+ vcscf_dns_address: { get_param: vcscf_dns_address }
+ vcscf_internal_network_mtu: { get_param: vcscf_internal_network_mtu }
+ vnf_id: {get_param: vnf_id}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone_0: { get_param: availability_zone_1 }
+ tdcore_internal_ips: { get_param: tdcore_internal_zone_1_ips }
+ tdcore_dpdk_ips: { get_param: tdcore_dpdk_zone_1_ips }
+ tdcore_names: { get_param: tdcore_zone_1_names }
+ tdcore_uuids: { get_param: tdcore_zone_1_uuids }
+
+ cscf_zone_0_RRG:
+ type: OS::Heat::ResourceGroup
+ depends_on:
+ - cscf_internal_subnet_0
+ - cscf_internal_subnet_v6_0
+ properties:
+ count: { get_param: cscf_zone_0_count }
+ index_var: $INDEX
+ resource_def:
+ type: nested_cscf.yaml
+ properties:
+ index: $INDEX
+ vnf_name: { get_param: vnf_name }
+ vcscf_name_delimeter: { get_param: vcscf_name_delimeter }
+ cscf_flavor_name: { get_param: cscf_flavor_name }
+ cscf_image_name: { get_param: cscf_image_name }
+ cscf_security_group: { get_resource: cscf_RSG }
+ internal_net_id: { get_resource: cscf_internal_network_0 }
+ vcscf_dn: { get_param: vcscf_dn}
+ vcscf_du: { get_param: vcscf_du }
+ vcscf_cmrepo_address: { get_param: vcscf_cmrepo_address }
+ vcscf_swrepo_address: { get_param: vcscf_swrepo_address }
+ vcscf_gateway: { get_param: oam_internal_vip_0 }
+ vcscf_internal_netmask: { get_param: vcscf_internal_netmask }
+ vcscf_release: { get_param: vcscf_release }
+ vcscf_dns_address: { get_param: vcscf_dns_address }
+ vcscf_internal_network_mtu: { get_param: vcscf_internal_network_mtu }
+ vnf_id: {get_param: vnf_id}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ availability_zone_0 : { get_param: availability_zone_0 }
+ cscf_internal_ips: { get_param: cscf_internal_zone_0_ips }
+ cscf_internal_v6_ips: { get_param: cscf_internal_zone_0_v6_ips }
+ cscf_names: { get_param: cscf_zone_0_names }
+ cscf_uuids: { get_param: cscf_zone_0_uuids }
+
+ cscf_zone_1_RRG:
+ type: OS::Heat::ResourceGroup
+ depends_on:
+ - cscf_internal_subnet_0
+ - cscf_internal_subnet_v6_0
+ properties:
+ count: { get_param: cscf_zone_1_count }
+ index_var: $INDEX
+ resource_def:
+ type: nested_cscf.yaml
+ properties:
+ index: $INDEX
+ vnf_name: { get_param: vnf_name }
+ vcscf_name_delimeter: { get_param: vcscf_name_delimeter }
+ cscf_flavor_name: { get_param: cscf_flavor_name }
+ cscf_image_name: { get_param: cscf_image_name }
+ cscf_security_group: { get_resource: cscf_RSG }
+ internal_net_id: { get_resource: cscf_internal_network_0 }
+ vcscf_dn: { get_param: vcscf_dn}
+ vcscf_du: { get_param: vcscf_du }
+ vcscf_cmrepo_address: { get_param: vcscf_cmrepo_address }
+ vcscf_swrepo_address: { get_param: vcscf_swrepo_address }
+ vcscf_gateway: { get_param: oam_internal_vip_0 }
+ vcscf_internal_netmask: { get_param: vcscf_internal_netmask }
+ vcscf_release: { get_param: vcscf_release }
+ vcscf_dns_address: { get_param: vcscf_dns_address }
+ vcscf_internal_network_mtu: { get_param: vcscf_internal_network_mtu }
+ vnf_id: {get_param: vnf_id}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ cscf_internal_ips: { get_param: cscf_internal_zone_1_ips }
+ cscf_internal_v6_ips: { get_param: cscf_internal_zone_1_v6_ips }
+ cscf_names: { get_param: cscf_zone_1_names }
+ cscf_uuids: { get_param: cscf_zone_1_uuids }
+ availability_zone_0 : { get_param: availability_zone_1 }
+
+outputs:
+ internal_net_id:
+ description: internal network
+ value: {get_resource: cscf_internal_network_0}
+
+ internal_dpdk_net_id:
+ description: dpdk network
+ value: {get_resource: cscf_internal_dpdk_network_0}
+
+ cscf_security_group:
+ description: cscf security group
+ value: {get_resource: cscf_RSG}
+
+ tdcore_zone_0_server_group:
+ description: tdcore zone 0 server group name/id
+ value: {get_resource: tdcore_zone_0_server_group}
+
+ tdcore_zone_1_server_group:
+ description: tdcore zone 1 server group name/id
+ value: {get_resource: tdcore_zone_1_server_group}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf_volume.env b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf_volume.env
new file mode 100644
index 0000000000..68c2dd1831
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf_volume.env
@@ -0,0 +1,19 @@
+## Copyright:: Nokia Corporation 2017
+## Note: Nokia VM HOT file for CFX
+## Name: "base_cscf_volume.env"
+## Date: 20 Mar 2017
+## Kilo Version
+parameters:
+
+# PSEUDO CONSTANTS
+# -----------------------------------------------------------------------------
+ cif_volume_size_0: 300
+ oam_volume_size_0: 300
+ vcscf_name_delimeter: "_"
+
+# SITE SPECIFIC
+# -----------------------------------------------------------------------------
+# vnf_name: CSCF0001
+ # storage availability zones
+# availability_zone_0: zone1
+# availability_zone_1: zone2
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf_volume.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf_volume.yaml
new file mode 100644
index 0000000000..cf0bd8b612
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/base_cscf_volume.yaml
@@ -0,0 +1,105 @@
+## Copyright:: Nokia Corporation 2017
+## Note: Nokia VM HOT file for CFX
+## Name: "base_cscf_volume.yaml"
+## Date: 20 Mar 2017
+## Kilo Version
+heat_template_version: 2015-04-30
+
+description: Volume template for CFX
+
+parameters:
+ vnf_name:
+ type: string
+ description: Unique name for this VF instance
+
+ vcscf_name_delimeter:
+ type: string
+ description: 'delimeter used in concatenating different words while naming (ex: "-","_",".",...)'
+ constraints:
+ - allowed_values: [ '-', '', '_', '.']
+
+ availability_zone_0:
+ type: string
+ description: Storage availability zone for volume of first vm
+
+ availability_zone_1:
+ type: string
+ description: Storage availability zone for volume of second vm
+
+ cif_volume_size_0:
+ type: number
+ description: Size of Volume for cif VMs
+ constraints:
+ - range: { min: 1, max: 300 }
+
+ oam_volume_size_0:
+ type: number
+ description: Size of Volume for oam VMs
+ constraints:
+ - range: { min: 1, max: 300 }
+
+resources:
+ cif_volume_0:
+ type: OS::Cinder::Volume
+ properties:
+ size: { get_param: cif_volume_size_0 }
+ availability_zone: { get_param: availability_zone_0}
+ name:
+ str_replace:
+ template: "$VNF$DELcif$DELvolume$DEL0"
+ params:
+ $VNF: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+
+ cif_volume_1:
+ type: OS::Cinder::Volume
+ properties:
+ availability_zone: { get_param: availability_zone_1}
+ size: { get_param: cif_volume_size_0 }
+ name:
+ str_replace:
+ template: "$VNF$DELcif$DELvolume$DEL1"
+ params:
+ $VNF: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+
+ oam_volume_0:
+ type: OS::Cinder::Volume
+ properties:
+ size: { get_param: oam_volume_size_0 }
+ availability_zone: { get_param: availability_zone_0}
+ name:
+ str_replace:
+ template: "$VNF$DELoam$DELvolume$DEL0"
+ params:
+ $VNF: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+
+ oam_volume_1:
+ type: OS::Cinder::Volume
+ properties:
+ size: { get_param: oam_volume_size_0 }
+ availability_zone: { get_param: availability_zone_1}
+ name:
+ str_replace:
+ template: "$VNF$DELoam$DELvolume$DEL1"
+ params:
+ $VNF: { get_param: vnf_name }
+ $DEL: { get_param: vcscf_name_delimeter }
+
+outputs:
+ cif_volume_id_0:
+ description: volume id for first cif
+ value: {get_resource: cif_volume_0}
+
+ cif_volume_id_1:
+ description: volume id for second cif
+ value: {get_resource: cif_volume_1}
+
+ oam_volume_id_0:
+ description: volume id for first oam
+ value: {get_resource: oam_volume_0}
+
+ oam_volume_id_1:
+ description: volume id for second oam
+ value: {get_resource: oam_volume_1}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/nested_cscf.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/nested_cscf.yaml
new file mode 100644
index 0000000000..f911be6c11
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/nested_cscf.yaml
@@ -0,0 +1,183 @@
+## Copyright:: Nokia Corporation 2017
+## Note: Nokia VM HOT file for CFX
+## Name: "cscf.yaml"
+## Date: 20 Mar 2017
+## Kilo Version
+heat_template_version: 2015-04-30
+
+description: IMS CSCF
+
+parameters:
+
+ vcscf_name_delimeter:
+ type: string
+ description: 'delimeter used in concatenating different words while naming (ex: "-","_",".",...)'
+ constraints:
+ - allowed_values: [ '-', '', '_', '.']
+
+ vnf_name:
+ type: string
+ description: Unique name for this VF instance
+
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+
+ vf_module_name:
+ type: string
+ description: Unique name for this VF Module instance
+
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+
+ cscf_security_group:
+ type: string
+ description: security group
+
+ cscf_flavor_name:
+ type: string
+ description: flavor name
+
+ cscf_image_name:
+ type: string
+ description: image name
+
+ internal_net_id:
+ type: string
+ description: internal network name/uuid
+
+ vcscf_internal_netmask:
+ type: string
+ description: internal netmask
+
+ vcscf_release:
+ type: string
+ description: "IMS release"
+
+ vcscf_dn:
+ type: string
+ description: "DN name"
+
+ vcscf_du:
+ type: string
+ description: "DU name"
+
+ vcscf_cmrepo_address:
+ type: string
+ description: "CMRepo IP or FQDN"
+
+ vcscf_swrepo_address:
+ type: string
+ description: SWRepo IP or FQDN
+
+ vcscf_dns_address:
+ type: string
+ description: DNS server IP
+
+ vcscf_internal_network_mtu:
+ type: number
+ description: MTU for internal network interface (eth0)
+ constraints:
+ - range: { min: 1000, max: 9100 }
+
+ vcscf_gateway:
+ type: string
+ description: OAM unit cipa ip
+
+ cscf_internal_ips:
+ type: comma_delimited_list
+ description: "List of Internal Lan IPs for CSCF instances"
+
+ cscf_internal_v6_ips:
+ type: comma_delimited_list
+ description: "List of Internal Lan v6 IPs for CSCF instances"
+
+ cscf_names:
+ type: comma_delimited_list
+ description: "List of instance names for CSCF instances"
+
+ cscf_uuids:
+ type: comma_delimited_list
+ description: "List of UUIDs generated by cmrepo for CSCF instances"
+
+ availability_zone_0:
+ type: string
+ description: Availability zone name for CSCF instances.
+
+ index:
+ type: number
+ description: index
+ constraints:
+ - range: { min: 0, max: 119 }
+
+resources:
+
+ cscf_internal_0_port_0:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth0
+ params:
+ $PREFIX: { get_param: [ cscf_names, { get_param: index } ] }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: internal_net_id }
+ security_groups:
+ - { get_param: cscf_security_group }
+ fixed_ips:
+ - ip_address: { get_param: [ cscf_internal_ips, { get_param: index } ] }
+ - ip_address: { get_param: [ cscf_internal_v6_ips, { get_param: index } ] }
+
+ cscf_server_0:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone_0 }
+ name: { get_param: [ cscf_names, { get_param: index } ] }
+ flavor: { get_param: cscf_flavor_name }
+ image: { get_param: cscf_image_name }
+ metadata:
+ vnf_id: {get_param: vnf_id}
+ vm_role: cscf
+ vnf_name: {get_param: vnf_name}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ networks:
+ - port: { get_resource: cscf_internal_0_port_0 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ DN=$dn_name
+ DUName=$du_name
+ Uuid=$uuid
+ SwRepoIp=$swrepo_ip
+ CmRepoIp=$cmrepo_ip
+ OamDnsIp=$dns_ip
+ eth0_MTU=$mtu
+ UniqueId=$dn_name/$du_name/$release/$uuid
+ OAMUnitInternalIp=$oam_unit_ip
+ NodeIp=$node_ip
+ Netmask=$netmask
+ Gateway=$oam_unit_ip
+ NodeType=CSCF
+ DUType=CSCF
+ Release=$release
+ SwRepoPort=5571
+ CmRepoPort=8051
+ LbGroupId=1
+ NodeName=$instance_name
+ params:
+ $dn_name: { get_param: vcscf_dn }
+ $du_name: { get_param: vcscf_du }
+ $uuid: { get_param: [ cscf_uuids, { get_param: index } ] }
+ $dns_ip: { get_param: vcscf_dns_address }
+ $cmrepo_ip: { get_param: vcscf_cmrepo_address }
+ $swrepo_ip: { get_param: vcscf_swrepo_address }
+ $oam_unit_ip: { get_param: vcscf_gateway }
+ $netmask: { get_param: vcscf_internal_netmask }
+ $release: { get_param: vcscf_release }
+ $mtu: { get_param: vcscf_internal_network_mtu }
+ $node_ip: { get_param: [ cscf_internal_ips, { get_param: index } ] }
+ $instance_name: { get_param: [ cscf_names, { get_param: index } ] }
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/nested_tdcore.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/nested_tdcore.yaml
new file mode 100644
index 0000000000..2baec50a38
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedSingleCompute/myTest/in/nested_tdcore.yaml
@@ -0,0 +1,213 @@
+## Copyright:: Nokia Corporation 2017
+## Note: Nokia VM HOT file for CFX
+## Name: "tdcore.yaml"
+## Date: 20 Mar 2017
+## Kilo Version
+heat_template_version: 2015-04-30
+
+description: IMS TDCORE VM
+
+parameters:
+
+ vcscf_name_delimeter:
+ type: string
+ description: 'delimeter used in concatenating different words while naming (ex: "-","_",".",...)'
+ constraints:
+ - allowed_values: [ '-', '', '_', '.']
+
+ vnf_name:
+ type: string
+ description: Unique name for this VF instance
+
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+
+ vf_module_name:
+ type: string
+ description: Unique name for this VF Module instance
+
+ vf_module_id:
+ type: string
+ description: Unique ID for this VF Module instance
+
+ tdcore_security_group:
+ type: string
+ description: security group
+
+ tdcore_flavor_name:
+ type: string
+ description: flavor name
+
+ tdcore_image_name:
+ type: string
+ description: image name
+
+ internal_net_id:
+ type: string
+ description: internal network name/uuid
+
+ internal_dpdk_net_id:
+ type: string
+ description: internal dpdk network name/uuid
+
+ vcscf_internal_netmask:
+ type: string
+ description: internal netmask
+
+ vcscf_release:
+ type: string
+ description: "IMS release"
+
+ vcscf_dn:
+ type: string
+ description: "DN name"
+
+ vcscf_du:
+ type: string
+ description: "DU name"
+
+ vcscf_cmrepo_address:
+ type: string
+ description: "CMRepo IP or FQDN"
+
+ vcscf_swrepo_address:
+ type: string
+ description: SWRepo IP or FQDN
+
+ vcscf_dns_address:
+ type: string
+ description: DNS server IP
+
+ vcscf_internal_network_mtu:
+ type: number
+ description: MTU for internal network interface (eth0)
+ constraints:
+ - range: { min: 1000, max: 9100 }
+
+ vcscf_gateway:
+ type: string
+ description: OAM unit virtual ip
+
+ tdcore_names:
+ type: comma_delimited_list
+ description: "List of instance names for TDCORE instances"
+
+ tdcore_internal_ips:
+ type: comma_delimited_list
+ description: "List of Internal Lan IPs for TDCORE instances"
+
+ tdcore_dpdk_ips:
+ type: comma_delimited_list
+ description: "List of DPDK Lan IPs for TDCORE instances"
+
+ tdcore_uuids:
+ type: comma_delimited_list
+ description: "List of UUIDs generated by cmrepo for TDCORE instances"
+
+ availability_zone_0:
+ type: string
+ description: Availability zone name.
+
+ tdcore_server_group:
+ type: string
+ description: server group name/id
+
+ index:
+ type: number
+ description: index
+ constraints:
+ - range: { min: 0, max: 7 }
+
+resources:
+
+ tdcore_internal_0_port_0:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth0
+ params:
+ $PREFIX: { get_param: [ tdcore_names, { get_param: index } ] }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: internal_net_id }
+ security_groups:
+ - { get_param: tdcore_security_group }
+ fixed_ips:
+ - ip_address: { get_param: [ tdcore_internal_ips, { get_param: index } ] }
+
+ tdcore_dpdk_0_port_1:
+ type: OS::Neutron::Port
+ properties:
+ name:
+ str_replace:
+ template: $PREFIX$DELeth1
+ params:
+ $PREFIX: { get_param: [ tdcore_names, { get_param: index } ] }
+ $DEL: { get_param: vcscf_name_delimeter }
+ network: { get_param: internal_dpdk_net_id }
+ security_groups:
+ - { get_param: tdcore_security_group }
+ fixed_ips:
+ - ip_address: { get_param: [ tdcore_dpdk_ips, { get_param: index } ] }
+ allowed_address_pairs:
+ - ip_address: "0.0.0.0/1"
+ - ip_address: "128.0.0.0/1"
+ - ip_address: "::/1"
+ - ip_address: "8000::/1"
+
+ tdcore_server_0:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone_0 }
+ scheduler_hints: { group: { get_param: tdcore_server_group } }
+ name: { get_param: [ tdcore_names, { get_param: index } ] }
+ flavor: { get_param: tdcore_flavor_name }
+ image: { get_param: tdcore_image_name }
+ metadata:
+ vnf_id: {get_param: vnf_id}
+ vm_role: tdcore
+ vnf_name: {get_param: vnf_name}
+ vf_module_id: {get_param: vf_module_id}
+ vf_module_name: {get_param: vf_module_name}
+ networks:
+ - port: { get_resource: tdcore_internal_0_port_0 }
+ - port: { get_resource: tdcore_dpdk_0_port_1 }
+ config_drive: True
+ user_data_format: RAW
+ user_data:
+ str_replace:
+ template: |
+ DN=$dn_name
+ DUName=$du_name
+ Uuid=$uuid
+ SwRepoIp=$swrepo_ip
+ CmRepoIp=$cmrepo_ip
+ OamDnsIp=$dns_ip
+ eth0_MTU=$mtu
+ eth1_MTU=$mtu
+ UniqueId=$dn_name/$du_name/$release/$uuid
+ OAMUnitInternalIp=$oam_unit_ip
+ NodeIp=$node_ip
+ Netmask=$netmask
+ Gateway=$oam_unit_ip
+ NodeType=TD_Core
+ DUType=CSCF
+ Release=$release
+ SwRepoPort=5571
+ CmRepoPort=8051
+ LbGroupId=1
+ NodeName=$instance_name
+ params:
+ $dn_name: { get_param: vcscf_dn }
+ $du_name: { get_param: vcscf_du }
+ $uuid: { get_param: [ tdcore_uuids, { get_param: index } ] }
+ $dns_ip: { get_param: vcscf_dns_address }
+ $cmrepo_ip: { get_param: vcscf_cmrepo_address }
+ $swrepo_ip: { get_param: vcscf_swrepo_address }
+ $oam_unit_ip: { get_param: vcscf_gateway }
+ $netmask: { get_param: vcscf_internal_netmask }
+ $release: { get_param: vcscf_release }
+ $mtu: { get_param: vcscf_internal_network_mtu }
+ $node_ip: { get_param: [ tdcore_internal_ips, { get_param: index } ] }
+ $instance_name: { get_param: [ tdcore_names, { get_param: index } ] }