aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src')
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationTypesConnectivity.java77
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java41
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifedCompositionDynamicPortsTest.java56
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java8
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/DPA3_New_VNF_TSBGv_base.yaml223
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml38
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/MANIFEST.json15
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/out/MainServiceTemplate.yaml363
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/in/DPA3_New_VNF_TSBGv_base.yaml129
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml38
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/in/MANIFEST.json15
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/out/MainServiceTemplate.yaml227
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/in/DPA3_New_VNF_TSBGv_base.yaml222
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml38
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/in/MANIFEST.json15
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/out/MainServiceTemplate.yaml363
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/DPA3_New_VNF_TSBGv_base.yaml231
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml38
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/MANIFEST.json19
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/nested_DPA3_New_VNF_TSBGv.yaml219
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/out/MainServiceTemplate.yaml402
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/in/DPA3_New_VNF_TSBGv_base.yaml373
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml38
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/in/MANIFEST.json15
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/out/MainServiceTemplate.yaml602
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/MainServiceTemplate.yaml67
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/MainServiceTemplate.yaml27
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested2ServiceTemplate.yaml26
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/MainServiceTemplate.yaml11
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/MainServiceTemplate.yaml11
-rw-r--r--openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml10
31 files changed, 3770 insertions, 187 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationTypesConnectivity.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationTypesConnectivity.java
new file mode 100644
index 0000000000..fab9114252
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationTypesConnectivity.java
@@ -0,0 +1,77 @@
+package org.openecomp.sdc.translator.services.heattotosca;
+
+import org.apache.commons.collections.CollectionUtils;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+public class ConsolidationTypesConnectivity {
+
+ private static Map<ConsolidationEntityType, Set<ConsolidationEntityType>>
+ entityToEntitiesWithoutRelationship;
+
+ static {
+ entityToEntitiesWithoutRelationship = new HashMap<>();
+ entityToEntitiesWithoutRelationship
+ .put(ConsolidationEntityType.COMPUTE, getIgnoredComputeRelationships());
+ entityToEntitiesWithoutRelationship
+ .put(ConsolidationEntityType.PORT,getIgnoredPortRelationships());
+ entityToEntitiesWithoutRelationship
+ .put(ConsolidationEntityType.VOLUME, getIgnoredVolumeRelationships());
+ entityToEntitiesWithoutRelationship
+ .put(ConsolidationEntityType.VFC_NESTED, getIgnoredVfcNestedRelationships());
+ entityToEntitiesWithoutRelationship.
+ put(ConsolidationEntityType.NESTED, getIgnoredNestedRelationships());
+ }
+
+ private static Set<ConsolidationEntityType> getIgnoredComputeRelationships(){
+ return Stream.of(ConsolidationEntityType.COMPUTE,
+ ConsolidationEntityType.VOLUME,
+ ConsolidationEntityType.PORT,
+ ConsolidationEntityType.NESTED,
+ ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
+ }
+
+ private static Set<ConsolidationEntityType> getIgnoredPortRelationships(){
+ return Stream.of(ConsolidationEntityType.COMPUTE,
+ ConsolidationEntityType.VOLUME,
+ ConsolidationEntityType.PORT,
+ ConsolidationEntityType.NESTED,
+ ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
+ }
+
+ private static Set<ConsolidationEntityType> getIgnoredVolumeRelationships(){
+ return Stream.of(ConsolidationEntityType.COMPUTE,
+ ConsolidationEntityType.VOLUME,
+ ConsolidationEntityType.PORT,
+ ConsolidationEntityType.NESTED,
+ ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
+ }
+
+ private static Set<ConsolidationEntityType> getIgnoredVfcNestedRelationships(){
+ return Stream.of(ConsolidationEntityType.COMPUTE,
+ ConsolidationEntityType.VOLUME,
+ ConsolidationEntityType.PORT,
+ ConsolidationEntityType.NESTED,
+ ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
+ }
+
+ private static Set<ConsolidationEntityType> getIgnoredNestedRelationships(){
+ return Stream.of(ConsolidationEntityType.COMPUTE,
+ ConsolidationEntityType.PORT,
+ ConsolidationEntityType.NESTED,
+ ConsolidationEntityType.VFC_NESTED).collect(Collectors.toSet());
+ }
+
+ public static boolean isDependsOnRelationshipValid(ConsolidationEntityType source,
+ ConsolidationEntityType target) {
+ Set<ConsolidationEntityType> consolidationEntityTypes =
+ entityToEntitiesWithoutRelationship.get(source);
+ return CollectionUtils.isEmpty(consolidationEntityTypes) ||
+ !consolidationEntityTypes.contains(target);
+
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java
index 4e1a60fff8..d401e4930b 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/main/java/org/openecomp/sdc/translator/services/heattotosca/HeatToToscaUtil.java
@@ -1164,46 +1164,7 @@ public class HeatToToscaUtil {
ConsolidationEntityType sourceEntityType = dependencyEntity.getSourceEntityType();
ConsolidationEntityType targetEntityType = dependencyEntity.getTargetEntityType();
- //Ignore Compute->Port, Compute->volume, Compute->Compute and Compute->VFC Nested relationships
- if (sourceEntityType == ConsolidationEntityType.COMPUTE) {
- if (targetEntityType == ConsolidationEntityType.COMPUTE
- || targetEntityType == ConsolidationEntityType.VOLUME
- || targetEntityType == ConsolidationEntityType.PORT
- || targetEntityType == ConsolidationEntityType.VFC_NESTED) {
- return false;
- }
- }
- //Ignore Port->Compute, Port->volume, Port->Port and Port->VFC Nested relationships
- if (sourceEntityType == ConsolidationEntityType.PORT) {
- if (targetEntityType == ConsolidationEntityType.COMPUTE
- || targetEntityType == ConsolidationEntityType.VOLUME
- || targetEntityType == ConsolidationEntityType.PORT
- || targetEntityType == ConsolidationEntityType.VFC_NESTED) {
- return false;
- }
- }
-
- //Ignore Volume->Compute, Volume->Volume, Volume->Port and Volume->VFC Nested relationships
- if (sourceEntityType == ConsolidationEntityType.VOLUME) {
- if (targetEntityType == ConsolidationEntityType.COMPUTE
- || targetEntityType == ConsolidationEntityType.VOLUME
- || targetEntityType == ConsolidationEntityType.PORT
- || targetEntityType == ConsolidationEntityType.VFC_NESTED) {
- return false;
- }
- }
-
- //Ignore VFC Nested->Compute, VFC Nested->Volume, VFC Nested->Port and
- // VFC Nested->VFC Nested relationships
- if (sourceEntityType == ConsolidationEntityType.VFC_NESTED) {
- if (targetEntityType == ConsolidationEntityType.COMPUTE
- || targetEntityType == ConsolidationEntityType.VOLUME
- || targetEntityType == ConsolidationEntityType.PORT
- || targetEntityType == ConsolidationEntityType.VFC_NESTED) {
- return false;
- }
- }
- return true;
+ return ConsolidationTypesConnectivity.isDependsOnRelationshipValid(sourceEntityType, targetEntityType);
}
private static Map<String, Object> managerSubstitutionNodeTemplateProperties(
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifedCompositionDynamicPortsTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifedCompositionDynamicPortsTest.java
new file mode 100644
index 0000000000..58f17493d4
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/fulltest/UnifedCompositionDynamicPortsTest.java
@@ -0,0 +1,56 @@
+package org.openecomp.sdc.translator.services.heattotosca.impl.fulltest;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseFullTranslationTest;
+
+import java.io.IOException;
+
+public class UnifedCompositionDynamicPortsTest extends BaseFullTranslationTest {
+ private static final String baseDirectory = "/mock/services/heattotosca/fulltest/dynamicPorts";
+ @Override
+ @Before
+ public void setUp() throws IOException {
+ // do not delete this function. it prevents the superclass setup from running
+ }
+
+ @Test
+ public void testDynamicPortWithDependsOn() throws IOException {
+ testTranslationWithInit(
+ baseDirectory + "/dynamicPortsWithDependsOn/in",
+ baseDirectory + "/dynamicPortsWithDependsOn/out"
+ );
+ }
+
+ @Test
+ public void testDependsOnFromNovaToNestedPort() throws IOException {
+ testTranslationWithInit(
+ baseDirectory + "/dependsOnFromNovaToNestedPort/in",
+ baseDirectory + "/dependsOnFromNovaToNestedPort/out"
+ );
+ }
+
+ @Test
+ public void testDependsOnFromPortToNested() throws IOException {
+ testTranslationWithInit(
+ baseDirectory + "/dependsOnFromPortToNested/in",
+ baseDirectory + "/dependsOnFromPortToNested/out"
+ );
+ }
+
+ @Test
+ public void testDependsOnFromVfcToNested() throws IOException {
+ testTranslationWithInit(
+ baseDirectory + "/dependsOnFromVfcToNested/in",
+ baseDirectory + "/dependsOnFromVfcToNested/out"
+ );
+ }
+
+ @Test
+ public void testDependsOnFromNestedToNested() throws IOException {
+ testTranslationWithInit(
+ baseDirectory + "/dependsOnFromNestedToNested/in",
+ baseDirectory + "/dependsOnFromNestedToNested/out"
+ );
+ }
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java
index 5de07203a1..d35b7dcec4 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java
@@ -77,6 +77,14 @@ public class BaseFullTranslationTest {
initTranslatorAndTranslate();
}
+ protected void testTranslationWithInit (String inputFilesPath,
+ String outputFilesPath) throws IOException {
+ this.inputFilesPath = inputFilesPath;
+ this.outputFilesPath = outputFilesPath;
+
+ testTranslationWithInit();
+ }
+
protected void testTranslationWithInit() throws IOException {
initTranslatorAndTranslate();
testTranslation();
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/DPA3_New_VNF_TSBGv_base.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/DPA3_New_VNF_TSBGv_base.yaml
new file mode 100644
index 0000000000..28a9051a7b
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/DPA3_New_VNF_TSBGv_base.yaml
@@ -0,0 +1,223 @@
+heat_template_version: 2013-05-23
+description: >
+ SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
+parameters:
+ ntp_servers:
+ type: comma_delimited_list
+ description: comma delimited list of NTP servers required by System Controller VMs. Exactly 2 IPv4 values are required
+ sbg_pl_flavor_name:
+ type: string
+ description: Flavor to use for PL VM. Minimum 8 non-HT vCPU and 64GB RAM required
+ sbg_sc_flavor_name:
+ type: string
+ description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+ vf_module_id:
+ type: string
+ description: Unique ID for this VNF Module instance
+ sbg_sc_names:
+ type: comma_delimited_list
+ description: comma delimited list of VM names assigned to System Controller VMs
+ sbg_pl_names:
+ type: comma_delimited_list
+ description: comma delimited list of VM names assigned to Payload VMs
+ sbg_internal_cidr:
+ type: string
+ description: Network address (CIDR notation) for SBG intra-VM communication, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]'
+ description: A valid IPv4 CIDR notation must be provided, e.g. 192.168.0.0/24
+ sbg_internal_allocation_pool_start_ip:
+ type: string
+ description: The start IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 169.254.100.253
+ sbg_internal_allocation_pool_end_ip:
+ type: string
+ description: The end IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 169.254.100.254
+ internal_net_id:
+ type: string
+ description: the UUID of the operator-created Internal network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_internal_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
+ sbg_internal_mac_addresses:
+ type: comma_delimited_list
+ description: comma delimited list of MAC addresses for the VMs on the Internal network
+ sbg_management_cidr:
+ type: string
+ description: Network address (CIDR notation) for SBG Management Network, IPv4
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]'
+ description: A valid IPv4 CIDR notation must be provided, e.g. 192.168.0.0/24
+ sbg_management_gateway_ip_0:
+ type: string
+ description: IPv4 IP address of the default gateway on Management network
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ management_net_id:
+ type: string
+ description: the UUID of the operator-created Management network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ management_subnet_id:
+ type: string
+ description: the UUID of the operator-created Management subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_management_mac_addresses:
+ type: comma_delimited_list
+ description: comma delimited list of MAC addresses for the VMs on the Management network
+ sbg_management_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Management network.
+ trunk_net_id:
+ type: string
+ description: the UUID of the operator-created Traffic network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ core_subnet_id:
+ type: string
+ description: the UUID of the operator-created Core subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_AVPN_count:
+ type: number
+ description: The number of AVPN networks
+ constraints:
+ - range: { min: 1, max: 999 }
+ avpn_net_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator-created AVPN networks
+ sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
+ avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ sbg_avpn_ips:
+ type: comma_delimited_list
+ description: >
+ comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
+ dummy_subnet_id:
+ type: string
+ description: the UUID of the operator-created dummy subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_management_floating_ip:
+ type: string
+ description: Moveable Management IP (VIP), IPv4
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ availability_zone_0:
+ type: string
+ description: First availability zone ID or Name.
+ sbg_nfs_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_comte_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_boot_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+
+ sbg_sc_volume_id_0:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_sc_volume_id_1:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+
+resources:
+ sbg_sc_internal_0_port_0:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: internal_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [sbg_internal_ips ,0] }
+ allowed_address_pairs:
+ - ip_address: { get_param: sbg_nfs_floating_ip }
+ - ip_address: { get_param: sbg_comte_floating_ip }
+ - ip_address: { get_param: sbg_boot_floating_ip }
+ mac_address: { get_param: [sbg_internal_mac_addresses ,0] }
+
+ sbg_pl_trunk_subport_avpn_group_0:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: sbg_AVPN_count}
+ resource_def:
+ type: DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
+ properties:
+ nested_sbg_AVPN_vlan_tag_list: {get_param: sbg_AVPN_vlan_tag_list}
+ nested_avpn_net_id: {get_param: avpn_net_id}
+ nested_avpn_subnet_id: {get_param: avpn_subnet_id}
+ nested_sbg_avpn_ip_0: {get_param: [sbg_avpn_ips, 0]}
+ nested_sbg_AVPN_counter: '%index%'
+
+ sbg_pl_trunk_subport_avpn_group_1:
+ type: OS::Heat::ResourceGroup
+ depends_on: [ sbg_pl_trunk_subport_avpn_group_0 ]
+ properties:
+ count: {get_param: sbg_AVPN_count}
+ resource_def:
+ type: DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
+ properties:
+ nested_sbg_AVPN_vlan_tag_list: {get_param: sbg_AVPN_vlan_tag_list}
+ nested_avpn_net_id: {get_param: avpn_net_id}
+ nested_avpn_subnet_id: {get_param: avpn_subnet_id}
+ nested_sbg_avpn_ip_0: {get_param: [sbg_avpn_ips, 0]}
+ nested_sbg_AVPN_counter: '%index%'
+
+ sbg_sc_0:
+ type: OS::Nova::Server
+ properties:
+ name: { get_param: [sbg_sc_names, 0]}
+ metadata:
+ vnf_id: { get_param: vnf_id }
+ vf_module_id: { get_param: vf_module_id }
+ availability_zone: { get_param: availability_zone_0 }
+ block_device_mapping:
+ - device_name: "vda"
+ volume_id : { get_param : sbg_sc_volume_id_0 }
+ delete_on_termination : "false"
+ - device_name: "vdb"
+ volume_id : { get_param : sbg_sc_volume_id_1 }
+ delete_on_termination : "false"
+ flavor: { get_param: sbg_sc_flavor_name }
+ networks:
+ - port: { get_resource: sbg_sc_internal_0_port_0 }
+ config_drive: "true"
+ user_data_format: RAW
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
new file mode 100644
index 0000000000..f95d86beb7
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
@@ -0,0 +1,38 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Nested template for AVPN port creation
+
+parameters:
+ nested_sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: the CDL representing the vlan ID list
+ nested_avpn_net_id:
+ type: comma_delimited_list
+ description: the CDL representing the networks to attach to the ports
+ nested_avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ nested_sbg_avpn_ip_0:
+ type: string
+ description: IPv4 IP address for AVPN networks. Same IP is used for all AVPNs
+ nested_sbg_AVPN_counter:
+ type: number
+ description: current array_index
+ nested_trunk_port_id:
+ type: string
+ description: string containint the trunk parrent port
+
+resources:
+ sub_port:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: [nested_avpn_net_id, { get_param: nested_sbg_AVPN_counter}]}
+ fixed_ips:
+ - ip_address: { get_param: nested_sbg_avpn_ip_0}
+ subnet_id: {get_param: [nested_avpn_subnet_id, {get_param: nested_sbg_AVPN_counter}]}
+ value_specs:
+ trunkport:type: 'subport'
+ trunkport:vid: { get_param: [nested_sbg_AVPN_vlan_tag_list, { get_param: nested_sbg_AVPN_counter}]}
+ trunkport:parent_id: { get_param: nested_trunk_port_id}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/MANIFEST.json
new file mode 100644
index 0000000000..8f830de9c8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/in/MANIFEST.json
@@ -0,0 +1,15 @@
+{
+ "name": "hot-mog",
+ "description": "HOT template to create hot mog server",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "DPA3_New_VNF_TSBGv_base.yaml",
+ "type": "HEAT"
+ },
+ {
+ "file": "DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml",
+ "type": "HEAT"
+ }
+ ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/out/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..765f1002d6
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNestedToNested/out/MainServiceTemplate.yaml
@@ -0,0 +1,363 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: Main
+imports:
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VNF Module instance
+ avpn_subnet_id:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ entry_schema:
+ type: string
+ sbg_internal_allocation_pool_start_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: The start IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ internal_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Internal network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_sc_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
+ sbg_management_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: Network address (CIDR notation) for SBG Management Network, IPv4
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
+ sbg_comte_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_avpn_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: |
+ comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
+ entry_schema:
+ type: string
+ management_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Management network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_sc_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of VM names assigned to System Controller VMs
+ entry_schema:
+ type: string
+ sbg_management_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Management network.
+ entry_schema:
+ type: string
+ sbg_nfs_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance
+ avpn_net_id:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of the UUIDs of the operator-created AVPN networks
+ entry_schema:
+ type: string
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: First availability zone ID or Name.
+ sbg_internal_mac_addresses:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of MAC addresses for the VMs on the Internal network
+ entry_schema:
+ type: string
+ sbg_management_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable Management IP (VIP), IPv4
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ management_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Management subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_AVPN_vlan_tag_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
+ entry_schema:
+ type: string
+ sbg_pl_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of VM names assigned to Payload VMs
+ entry_schema:
+ type: string
+ sbg_management_gateway_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: IPv4 IP address of the default gateway on Management network
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_AVPN_count:
+ hidden: false
+ immutable: false
+ type: float
+ description: The number of AVPN networks
+ constraints:
+ - in_range:
+ - 1
+ - 999
+ ntp_servers:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of NTP servers required by System Controller VMs. Exactly 2 IPv4 values are required
+ entry_schema:
+ type: string
+ sbg_management_mac_addresses:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of MAC addresses for the VMs on the Management network
+ entry_schema:
+ type: string
+ core_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Core subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_internal_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
+ entry_schema:
+ type: string
+ sbg_boot_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_sc_volume_id_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_pl_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for PL VM. Minimum 8 non-HT vCPU and 64GB RAM required
+ sbg_internal_allocation_pool_end_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: The end IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_sc_volume_id_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_internal_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: Network address (CIDR notation) for SBG intra-VM communication, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
+ dummy_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created dummy subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ trunk_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Traffic network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ node_templates:
+ sbg_pl_trunk_subport_avpn_group_1:
+ type: org.openecomp.resource.abstract.nodes.heat.DPA3_New_VNF_TSBGv_nested_AVPN_subport
+ directives:
+ - substitutable
+ properties:
+ nested_avpn_net_id:
+ get_input: avpn_net_id
+ service_template_filter:
+ substitute_service_template: DPA3_New_VNF_TSBGv_nested_AVPN_subportServiceTemplate.yaml
+ count:
+ get_input: sbg_AVPN_count
+ mandatory: false
+ nested_sbg_AVPN_vlan_tag_list:
+ get_input: sbg_AVPN_vlan_tag_list
+ nested_sbg_avpn_ip_0:
+ get_input:
+ - sbg_avpn_ips
+ - 0
+ nested_avpn_subnet_id:
+ get_input: avpn_subnet_id
+ nested_sbg_AVPN_counter:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ sbg_pl_trunk_subport_avpn_group_0:
+ type: org.openecomp.resource.abstract.nodes.heat.DPA3_New_VNF_TSBGv_nested_AVPN_subport
+ directives:
+ - substitutable
+ properties:
+ nested_avpn_net_id:
+ get_input: avpn_net_id
+ service_template_filter:
+ substitute_service_template: DPA3_New_VNF_TSBGv_nested_AVPN_subportServiceTemplate.yaml
+ count:
+ get_input: sbg_AVPN_count
+ mandatory: false
+ nested_sbg_AVPN_vlan_tag_list:
+ get_input: sbg_AVPN_vlan_tag_list
+ nested_sbg_avpn_ip_0:
+ get_input:
+ - sbg_avpn_ips
+ - 0
+ nested_avpn_subnet_id:
+ get_input: avpn_subnet_id
+ nested_sbg_AVPN_counter:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ abstract_sbg_sc:
+ type: org.openecomp.resource.abstract.nodes.sbg_sc
+ directives:
+ - substitutable
+ properties:
+ port_sbg_sc_internal_0_port_mac_requirements:
+ mac_count_required:
+ is_required: true
+ compute_sbg_sc_name:
+ - get_input:
+ - sbg_sc_names
+ - 0
+ compute_sbg_sc_config_drive:
+ - true
+ port_sbg_sc_internal_0_port_allowed_address_pairs:
+ - ip_address:
+ get_input: sbg_nfs_floating_ip
+ - ip_address:
+ get_input: sbg_comte_floating_ip
+ - ip_address:
+ get_input: sbg_boot_floating_ip
+ port_sbg_sc_internal_0_port_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: true
+ compute_sbg_sc_metadata:
+ - vf_module_id:
+ get_input: vf_module_id
+ vnf_id:
+ get_input: vnf_id
+ port_sbg_sc_internal_0_port_fixed_ips:
+ - ip_address:
+ get_input:
+ - sbg_internal_ips
+ - 0
+ port_sbg_sc_internal_0_port_network_role_tag: internal
+ vm_flavor_name:
+ get_input: sbg_sc_flavor_name
+ port_sbg_sc_internal_0_port_replacement_policy:
+ - AUTO
+ port_sbg_sc_internal_0_port_network:
+ - get_input: internal_net_id
+ port_sbg_sc_internal_0_port_mac_address:
+ get_input:
+ - sbg_internal_mac_addresses
+ - 0
+ compute_sbg_sc_availability_zone:
+ - get_input: availability_zone_0
+ compute_sbg_sc_user_data_format:
+ - RAW
+ service_template_filter:
+ substitute_service_template: Nested_sbg_scServiceTemplate.yaml
+ count: 1
+ index_value:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ groups:
+ DPA3_New_VNF_TSBGv_base_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/DPA3_New_VNF_TSBGv_base.yaml
+ description: |
+ SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
+ members:
+ - sbg_pl_trunk_subport_avpn_group_1
+ - sbg_pl_trunk_subport_avpn_group_0
+ - abstract_sbg_sc \ 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/dynamicPorts/dependsOnFromNovaToNestedPort/in/DPA3_New_VNF_TSBGv_base.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/in/DPA3_New_VNF_TSBGv_base.yaml
new file mode 100644
index 0000000000..b3d1dda896
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/in/DPA3_New_VNF_TSBGv_base.yaml
@@ -0,0 +1,129 @@
+heat_template_version: 2013-05-23
+description: >
+ SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
+parameters:
+ sbg_sc_flavor_name:
+ type: string
+ description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+ vf_module_id:
+ type: string
+ description: Unique ID for this VNF Module instance
+ sbg_sc_names:
+ type: comma_delimited_list
+ description: comma delimited list of VM names assigned to System Controller VMs
+ internal_net_id:
+ type: string
+ description: the UUID of the operator-created Internal network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_internal_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
+ sbg_internal_mac_addresses:
+ type: comma_delimited_list
+ description: comma delimited list of MAC addresses for the VMs on the Internal network
+ sbg_AVPN_count:
+ type: number
+ description: The number of AVPN networks
+ constraints:
+ - range: { min: 1, max: 999 }
+ avpn_net_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator-created AVPN networks
+ sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
+ avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ sbg_avpn_ips:
+ type: comma_delimited_list
+ description: >
+ comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
+ availability_zone_0:
+ type: string
+ description: First availability zone ID or Name.
+ sbg_nfs_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_comte_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_boot_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+
+ sbg_sc_volume_id_0:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_sc_volume_id_1:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+
+resources:
+ sbg_sc_internal_0_port_0:
+ type: OS::Neutron::Port
+ depends_on: [ sbg_pl_trunk_subport_avpn_group_0 ]
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: internal_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [sbg_internal_ips ,0] }
+ allowed_address_pairs:
+ - ip_address: { get_param: sbg_nfs_floating_ip }
+ - ip_address: { get_param: sbg_comte_floating_ip }
+ - ip_address: { get_param: sbg_boot_floating_ip }
+ mac_address: { get_param: [sbg_internal_mac_addresses ,0] }
+
+ sbg_pl_trunk_subport_avpn_group_0:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: sbg_AVPN_count}
+ resource_def:
+ type: DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
+ properties:
+ nested_sbg_AVPN_vlan_tag_list: {get_param: sbg_AVPN_vlan_tag_list}
+ nested_avpn_net_id: {get_param: avpn_net_id}
+ nested_avpn_subnet_id: {get_param: avpn_subnet_id}
+ nested_sbg_avpn_ip_0: {get_param: [sbg_avpn_ips, 0]}
+ nested_sbg_AVPN_counter: '%index%'
+
+ sbg_sc_0:
+ type: OS::Nova::Server
+ properties:
+ name: { get_param: [sbg_sc_names, 0]}
+ metadata:
+ vnf_id: { get_param: vnf_id }
+ vf_module_id: { get_param: vf_module_id }
+ availability_zone: { get_param: availability_zone_0 }
+ block_device_mapping:
+ - device_name: "vda"
+ volume_id : { get_param : sbg_sc_volume_id_0 }
+ delete_on_termination : "false"
+ - device_name: "vdb"
+ volume_id : { get_param : sbg_sc_volume_id_1 }
+ delete_on_termination : "false"
+ flavor: { get_param: sbg_sc_flavor_name }
+ networks:
+ - port: { get_resource: sbg_sc_internal_0_port_0 }
+ config_drive: "true"
+ user_data_format: RAW
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
new file mode 100644
index 0000000000..f95d86beb7
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
@@ -0,0 +1,38 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Nested template for AVPN port creation
+
+parameters:
+ nested_sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: the CDL representing the vlan ID list
+ nested_avpn_net_id:
+ type: comma_delimited_list
+ description: the CDL representing the networks to attach to the ports
+ nested_avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ nested_sbg_avpn_ip_0:
+ type: string
+ description: IPv4 IP address for AVPN networks. Same IP is used for all AVPNs
+ nested_sbg_AVPN_counter:
+ type: number
+ description: current array_index
+ nested_trunk_port_id:
+ type: string
+ description: string containint the trunk parrent port
+
+resources:
+ sub_port:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: [nested_avpn_net_id, { get_param: nested_sbg_AVPN_counter}]}
+ fixed_ips:
+ - ip_address: { get_param: nested_sbg_avpn_ip_0}
+ subnet_id: {get_param: [nested_avpn_subnet_id, {get_param: nested_sbg_AVPN_counter}]}
+ value_specs:
+ trunkport:type: 'subport'
+ trunkport:vid: { get_param: [nested_sbg_AVPN_vlan_tag_list, { get_param: nested_sbg_AVPN_counter}]}
+ trunkport:parent_id: { get_param: nested_trunk_port_id}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/in/MANIFEST.json
new file mode 100644
index 0000000000..8f830de9c8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/in/MANIFEST.json
@@ -0,0 +1,15 @@
+{
+ "name": "hot-mog",
+ "description": "HOT template to create hot mog server",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "DPA3_New_VNF_TSBGv_base.yaml",
+ "type": "HEAT"
+ },
+ {
+ "file": "DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml",
+ "type": "HEAT"
+ }
+ ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/out/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..628bf3df22
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromNovaToNestedPort/out/MainServiceTemplate.yaml
@@ -0,0 +1,227 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: Main
+imports:
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VNF Module instance
+ avpn_subnet_id:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ entry_schema:
+ type: string
+ internal_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Internal network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_AVPN_vlan_tag_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
+ entry_schema:
+ type: string
+ sbg_AVPN_count:
+ hidden: false
+ immutable: false
+ type: float
+ description: The number of AVPN networks
+ constraints:
+ - in_range:
+ - 1
+ - 999
+ sbg_sc_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
+ sbg_comte_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_internal_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
+ entry_schema:
+ type: string
+ sbg_avpn_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: |
+ comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
+ entry_schema:
+ type: string
+ sbg_sc_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of VM names assigned to System Controller VMs
+ entry_schema:
+ type: string
+ sbg_nfs_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_boot_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_sc_volume_id_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance
+ avpn_net_id:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of the UUIDs of the operator-created AVPN networks
+ entry_schema:
+ type: string
+ sbg_sc_volume_id_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: First availability zone ID or Name.
+ sbg_internal_mac_addresses:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of MAC addresses for the VMs on the Internal network
+ entry_schema:
+ type: string
+ node_templates:
+ sbg_pl_trunk_subport_avpn_group_0:
+ type: org.openecomp.resource.abstract.nodes.heat.DPA3_New_VNF_TSBGv_nested_AVPN_subport
+ directives:
+ - substitutable
+ properties:
+ nested_avpn_net_id:
+ get_input: avpn_net_id
+ service_template_filter:
+ substitute_service_template: DPA3_New_VNF_TSBGv_nested_AVPN_subportServiceTemplate.yaml
+ count:
+ get_input: sbg_AVPN_count
+ mandatory: false
+ nested_sbg_AVPN_vlan_tag_list:
+ get_input: sbg_AVPN_vlan_tag_list
+ nested_sbg_avpn_ip_0:
+ get_input:
+ - sbg_avpn_ips
+ - 0
+ nested_avpn_subnet_id:
+ get_input: avpn_subnet_id
+ nested_sbg_AVPN_counter:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ abstract_sbg_sc:
+ type: org.openecomp.resource.abstract.nodes.sbg_sc
+ directives:
+ - substitutable
+ properties:
+ port_sbg_sc_internal_0_port_mac_requirements:
+ mac_count_required:
+ is_required: true
+ compute_sbg_sc_name:
+ - get_input:
+ - sbg_sc_names
+ - 0
+ compute_sbg_sc_config_drive:
+ - true
+ port_sbg_sc_internal_0_port_allowed_address_pairs:
+ - ip_address:
+ get_input: sbg_nfs_floating_ip
+ - ip_address:
+ get_input: sbg_comte_floating_ip
+ - ip_address:
+ get_input: sbg_boot_floating_ip
+ port_sbg_sc_internal_0_port_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: true
+ compute_sbg_sc_metadata:
+ - vf_module_id:
+ get_input: vf_module_id
+ vnf_id:
+ get_input: vnf_id
+ port_sbg_sc_internal_0_port_fixed_ips:
+ - ip_address:
+ get_input:
+ - sbg_internal_ips
+ - 0
+ port_sbg_sc_internal_0_port_network_role_tag: internal
+ vm_flavor_name:
+ get_input: sbg_sc_flavor_name
+ port_sbg_sc_internal_0_port_replacement_policy:
+ - AUTO
+ port_sbg_sc_internal_0_port_network:
+ - get_input: internal_net_id
+ port_sbg_sc_internal_0_port_mac_address:
+ get_input:
+ - sbg_internal_mac_addresses
+ - 0
+ compute_sbg_sc_availability_zone:
+ - get_input: availability_zone_0
+ compute_sbg_sc_user_data_format:
+ - RAW
+ service_template_filter:
+ substitute_service_template: Nested_sbg_scServiceTemplate.yaml
+ count: 1
+ index_value:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ groups:
+ DPA3_New_VNF_TSBGv_base_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/DPA3_New_VNF_TSBGv_base.yaml
+ description: |
+ SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
+ members:
+ - sbg_pl_trunk_subport_avpn_group_0
+ - abstract_sbg_sc \ 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/dynamicPorts/dependsOnFromPortToNested/in/DPA3_New_VNF_TSBGv_base.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/in/DPA3_New_VNF_TSBGv_base.yaml
new file mode 100644
index 0000000000..ee25b400dd
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/in/DPA3_New_VNF_TSBGv_base.yaml
@@ -0,0 +1,222 @@
+heat_template_version: 2013-05-23
+description: >
+ SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
+parameters:
+ ntp_servers:
+ type: comma_delimited_list
+ description: comma delimited list of NTP servers required by System Controller VMs. Exactly 2 IPv4 values are required
+ sbg_pl_flavor_name:
+ type: string
+ description: Flavor to use for PL VM. Minimum 8 non-HT vCPU and 64GB RAM required
+ sbg_sc_flavor_name:
+ type: string
+ description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+ vf_module_id:
+ type: string
+ description: Unique ID for this VNF Module instance
+ sbg_sc_names:
+ type: comma_delimited_list
+ description: comma delimited list of VM names assigned to System Controller VMs
+ sbg_pl_names:
+ type: comma_delimited_list
+ description: comma delimited list of VM names assigned to Payload VMs
+ sbg_internal_cidr:
+ type: string
+ description: Network address (CIDR notation) for SBG intra-VM communication, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]'
+ description: A valid IPv4 CIDR notation must be provided, e.g. 192.168.0.0/24
+ sbg_internal_allocation_pool_start_ip:
+ type: string
+ description: The start IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 169.254.100.253
+ sbg_internal_allocation_pool_end_ip:
+ type: string
+ description: The end IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 169.254.100.254
+ internal_net_id:
+ type: string
+ description: the UUID of the operator-created Internal network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_internal_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
+ sbg_internal_mac_addresses:
+ type: comma_delimited_list
+ description: comma delimited list of MAC addresses for the VMs on the Internal network
+ sbg_management_cidr:
+ type: string
+ description: Network address (CIDR notation) for SBG Management Network, IPv4
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]'
+ description: A valid IPv4 CIDR notation must be provided, e.g. 192.168.0.0/24
+ sbg_management_gateway_ip_0:
+ type: string
+ description: IPv4 IP address of the default gateway on Management network
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ management_net_id:
+ type: string
+ description: the UUID of the operator-created Management network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ management_subnet_id:
+ type: string
+ description: the UUID of the operator-created Management subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_management_mac_addresses:
+ type: comma_delimited_list
+ description: comma delimited list of MAC addresses for the VMs on the Management network
+ sbg_management_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Management network.
+ trunk_net_id:
+ type: string
+ description: the UUID of the operator-created Traffic network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ core_subnet_id:
+ type: string
+ description: the UUID of the operator-created Core subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_AVPN_count:
+ type: number
+ description: The number of AVPN networks
+ constraints:
+ - range: { min: 1, max: 999 }
+ avpn_net_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator-created AVPN networks
+ sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
+ avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ sbg_avpn_ips:
+ type: comma_delimited_list
+ description: >
+ comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
+ dummy_subnet_id:
+ type: string
+ description: the UUID of the operator-created dummy subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_management_floating_ip:
+ type: string
+ description: Moveable Management IP (VIP), IPv4
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ availability_zone_0:
+ type: string
+ description: First availability zone ID or Name.
+ sbg_nfs_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_comte_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_boot_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+
+ sbg_sc_volume_id_0:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_sc_volume_id_1:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+
+resources:
+ sbg_sc_internal_0_port_0:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: internal_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [sbg_internal_ips ,0] }
+ allowed_address_pairs:
+ - ip_address: { get_param: sbg_nfs_floating_ip }
+ - ip_address: { get_param: sbg_comte_floating_ip }
+ - ip_address: { get_param: sbg_boot_floating_ip }
+ mac_address: { get_param: [sbg_internal_mac_addresses ,0] }
+
+ sbg_sc_management_1_port_0:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: management_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [sbg_management_ips ,0] }
+ allowed_address_pairs:
+ - ip_address: { get_param: sbg_management_floating_ip }
+ mac_address: { get_param: [sbg_management_mac_addresses ,0] }
+
+ sbg_pl_trunk_subport_avpn_group_0:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: sbg_AVPN_count}
+ resource_def:
+ type: DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
+ properties:
+ nested_sbg_AVPN_vlan_tag_list: {get_param: sbg_AVPN_vlan_tag_list}
+ nested_avpn_net_id: {get_param: avpn_net_id}
+ nested_avpn_subnet_id: {get_param: avpn_subnet_id}
+ nested_sbg_avpn_ip_0: {get_param: [sbg_avpn_ips, 0]}
+ nested_sbg_AVPN_counter: '%index%'
+
+ sbg_sc_0:
+ type: OS::Nova::Server
+ depends_on: [ sbg_pl_trunk_subport_avpn_group_0 ]
+ properties:
+ name: { get_param: [sbg_sc_names, 0]}
+ metadata:
+ vnf_id: { get_param: vnf_id }
+ vf_module_id: { get_param: vf_module_id }
+ availability_zone: { get_param: availability_zone_0 }
+ block_device_mapping:
+ - device_name: "vda"
+ volume_id : { get_param : sbg_sc_volume_id_0 }
+ delete_on_termination : "false"
+ - device_name: "vdb"
+ volume_id : { get_param : sbg_sc_volume_id_1 }
+ delete_on_termination : "false"
+ flavor: { get_param: sbg_sc_flavor_name }
+ networks:
+ - port: { get_resource: sbg_sc_internal_0_port_0 }
+ - port: { get_resource: sbg_sc_management_1_port_0 }
+ config_drive: "true"
+ user_data_format: RAW
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
new file mode 100644
index 0000000000..f95d86beb7
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
@@ -0,0 +1,38 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Nested template for AVPN port creation
+
+parameters:
+ nested_sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: the CDL representing the vlan ID list
+ nested_avpn_net_id:
+ type: comma_delimited_list
+ description: the CDL representing the networks to attach to the ports
+ nested_avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ nested_sbg_avpn_ip_0:
+ type: string
+ description: IPv4 IP address for AVPN networks. Same IP is used for all AVPNs
+ nested_sbg_AVPN_counter:
+ type: number
+ description: current array_index
+ nested_trunk_port_id:
+ type: string
+ description: string containint the trunk parrent port
+
+resources:
+ sub_port:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: [nested_avpn_net_id, { get_param: nested_sbg_AVPN_counter}]}
+ fixed_ips:
+ - ip_address: { get_param: nested_sbg_avpn_ip_0}
+ subnet_id: {get_param: [nested_avpn_subnet_id, {get_param: nested_sbg_AVPN_counter}]}
+ value_specs:
+ trunkport:type: 'subport'
+ trunkport:vid: { get_param: [nested_sbg_AVPN_vlan_tag_list, { get_param: nested_sbg_AVPN_counter}]}
+ trunkport:parent_id: { get_param: nested_trunk_port_id}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/in/MANIFEST.json
new file mode 100644
index 0000000000..8f830de9c8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/in/MANIFEST.json
@@ -0,0 +1,15 @@
+{
+ "name": "hot-mog",
+ "description": "HOT template to create hot mog server",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "DPA3_New_VNF_TSBGv_base.yaml",
+ "type": "HEAT"
+ },
+ {
+ "file": "DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml",
+ "type": "HEAT"
+ }
+ ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/out/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..bbae08d120
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromPortToNested/out/MainServiceTemplate.yaml
@@ -0,0 +1,363 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: Main
+imports:
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VNF Module instance
+ avpn_subnet_id:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ entry_schema:
+ type: string
+ sbg_internal_allocation_pool_start_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: The start IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ internal_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Internal network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_sc_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
+ sbg_management_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: Network address (CIDR notation) for SBG Management Network, IPv4
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
+ sbg_comte_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_avpn_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: |
+ comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
+ entry_schema:
+ type: string
+ management_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Management network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_sc_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of VM names assigned to System Controller VMs
+ entry_schema:
+ type: string
+ sbg_management_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Management network.
+ entry_schema:
+ type: string
+ sbg_nfs_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance
+ avpn_net_id:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of the UUIDs of the operator-created AVPN networks
+ entry_schema:
+ type: string
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: First availability zone ID or Name.
+ sbg_internal_mac_addresses:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of MAC addresses for the VMs on the Internal network
+ entry_schema:
+ type: string
+ sbg_management_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable Management IP (VIP), IPv4
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ management_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Management subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_AVPN_vlan_tag_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
+ entry_schema:
+ type: string
+ sbg_pl_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of VM names assigned to Payload VMs
+ entry_schema:
+ type: string
+ sbg_management_gateway_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: IPv4 IP address of the default gateway on Management network
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_AVPN_count:
+ hidden: false
+ immutable: false
+ type: float
+ description: The number of AVPN networks
+ constraints:
+ - in_range:
+ - 1
+ - 999
+ ntp_servers:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of NTP servers required by System Controller VMs. Exactly 2 IPv4 values are required
+ entry_schema:
+ type: string
+ sbg_management_mac_addresses:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of MAC addresses for the VMs on the Management network
+ entry_schema:
+ type: string
+ core_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Core subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_internal_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
+ entry_schema:
+ type: string
+ sbg_boot_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_sc_volume_id_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_pl_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for PL VM. Minimum 8 non-HT vCPU and 64GB RAM required
+ sbg_internal_allocation_pool_end_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: The end IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_sc_volume_id_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_internal_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: Network address (CIDR notation) for SBG intra-VM communication, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
+ dummy_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created dummy subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ trunk_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Traffic network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ node_templates:
+ sbg_pl_trunk_subport_avpn_group_0:
+ type: org.openecomp.resource.abstract.nodes.heat.DPA3_New_VNF_TSBGv_nested_AVPN_subport
+ directives:
+ - substitutable
+ properties:
+ nested_avpn_net_id:
+ get_input: avpn_net_id
+ service_template_filter:
+ substitute_service_template: DPA3_New_VNF_TSBGv_nested_AVPN_subportServiceTemplate.yaml
+ count:
+ get_input: sbg_AVPN_count
+ mandatory: false
+ nested_sbg_AVPN_vlan_tag_list:
+ get_input: sbg_AVPN_vlan_tag_list
+ nested_sbg_avpn_ip_0:
+ get_input:
+ - sbg_avpn_ips
+ - 0
+ nested_avpn_subnet_id:
+ get_input: avpn_subnet_id
+ nested_sbg_AVPN_counter:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ abstract_sbg_sc:
+ type: org.openecomp.resource.abstract.nodes.sbg_sc
+ directives:
+ - substitutable
+ properties:
+ port_sbg_sc_internal_0_port_mac_requirements:
+ mac_count_required:
+ is_required: true
+ compute_sbg_sc_config_drive:
+ - true
+ port_sbg_sc_management_1_port_allowed_address_pairs:
+ - ip_address:
+ get_input: sbg_management_floating_ip
+ port_sbg_sc_internal_0_port_fixed_ips:
+ - ip_address:
+ get_input:
+ - sbg_internal_ips
+ - 0
+ vm_flavor_name:
+ get_input: sbg_sc_flavor_name
+ port_sbg_sc_internal_0_port_replacement_policy:
+ - AUTO
+ port_sbg_sc_management_1_port_replacement_policy:
+ - AUTO
+ port_sbg_sc_management_1_port_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: true
+ port_sbg_sc_management_1_port_mac_address:
+ get_input:
+ - sbg_management_mac_addresses
+ - 0
+ compute_sbg_sc_user_data_format:
+ - RAW
+ port_sbg_sc_management_1_port_fixed_ips:
+ - ip_address:
+ get_input:
+ - sbg_management_ips
+ - 0
+ compute_sbg_sc_name:
+ - get_input:
+ - sbg_sc_names
+ - 0
+ port_sbg_sc_internal_0_port_allowed_address_pairs:
+ - ip_address:
+ get_input: sbg_nfs_floating_ip
+ - ip_address:
+ get_input: sbg_comte_floating_ip
+ - ip_address:
+ get_input: sbg_boot_floating_ip
+ port_sbg_sc_internal_0_port_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: true
+ compute_sbg_sc_metadata:
+ - vf_module_id:
+ get_input: vf_module_id
+ vnf_id:
+ get_input: vnf_id
+ port_sbg_sc_internal_0_port_network_role_tag: internal
+ port_sbg_sc_internal_0_port_network:
+ - get_input: internal_net_id
+ port_sbg_sc_management_1_port_network:
+ - get_input: management_net_id
+ port_sbg_sc_management_1_port_mac_requirements:
+ mac_count_required:
+ is_required: true
+ port_sbg_sc_management_1_port_network_role_tag: management
+ port_sbg_sc_internal_0_port_mac_address:
+ get_input:
+ - sbg_internal_mac_addresses
+ - 0
+ compute_sbg_sc_availability_zone:
+ - get_input: availability_zone_0
+ service_template_filter:
+ substitute_service_template: Nested_sbg_scServiceTemplate.yaml
+ count: 1
+ index_value:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ groups:
+ DPA3_New_VNF_TSBGv_base_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/DPA3_New_VNF_TSBGv_base.yaml
+ description: |
+ SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
+ members:
+ - sbg_pl_trunk_subport_avpn_group_0
+ - abstract_sbg_sc \ 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/dynamicPorts/dependsOnFromVfcToNested/in/DPA3_New_VNF_TSBGv_base.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/DPA3_New_VNF_TSBGv_base.yaml
new file mode 100644
index 0000000000..d4c517fd04
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/DPA3_New_VNF_TSBGv_base.yaml
@@ -0,0 +1,231 @@
+heat_template_version: 2013-05-23
+description: >
+ SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
+parameters:
+ ntp_servers:
+ type: comma_delimited_list
+ description: comma delimited list of NTP servers required by System Controller VMs. Exactly 2 IPv4 values are required
+ sbg_pl_flavor_name:
+ type: string
+ description: Flavor to use for PL VM. Minimum 8 non-HT vCPU and 64GB RAM required
+ sbg_sc_flavor_name:
+ type: string
+ description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+ vf_module_id:
+ type: string
+ description: Unique ID for this VNF Module instance
+ sbg_sc_names:
+ type: comma_delimited_list
+ description: comma delimited list of VM names assigned to System Controller VMs
+ sbg_pl_names:
+ type: comma_delimited_list
+ description: comma delimited list of VM names assigned to Payload VMs
+ sbg_internal_cidr:
+ type: string
+ description: Network address (CIDR notation) for SBG intra-VM communication, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]'
+ description: A valid IPv4 CIDR notation must be provided, e.g. 192.168.0.0/24
+ sbg_internal_allocation_pool_start_ip:
+ type: string
+ description: The start IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 169.254.100.253
+ sbg_internal_allocation_pool_end_ip:
+ type: string
+ description: The end IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 169.254.100.254
+ internal_net_id:
+ type: string
+ description: the UUID of the operator-created Internal network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_internal_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
+ sbg_internal_mac_addresses:
+ type: comma_delimited_list
+ description: comma delimited list of MAC addresses for the VMs on the Internal network
+ sbg_management_cidr:
+ type: string
+ description: Network address (CIDR notation) for SBG Management Network, IPv4
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]'
+ description: A valid IPv4 CIDR notation must be provided, e.g. 192.168.0.0/24
+ sbg_management_gateway_ip_0:
+ type: string
+ description: IPv4 IP address of the default gateway on Management network
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ management_net_id:
+ type: string
+ description: the UUID of the operator-created Management network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ management_subnet_id:
+ type: string
+ description: the UUID of the operator-created Management subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_management_mac_addresses:
+ type: comma_delimited_list
+ description: comma delimited list of MAC addresses for the VMs on the Management network
+ sbg_management_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Management network.
+ trunk_net_id:
+ type: string
+ description: the UUID of the operator-created Traffic network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ core_subnet_id:
+ type: string
+ description: the UUID of the operator-created Core subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_AVPN_count:
+ type: number
+ description: The number of AVPN networks
+ constraints:
+ - range: { min: 1, max: 999 }
+ avpn_net_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator-created AVPN networks
+ sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
+ avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ sbg_avpn_ips:
+ type: comma_delimited_list
+ description: >
+ comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
+ dummy_subnet_id:
+ type: string
+ description: the UUID of the operator-created dummy subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_management_floating_ip:
+ type: string
+ description: Moveable Management IP (VIP), IPv4
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ availability_zone_0:
+ type: string
+ description: First availability zone ID or Name.
+ sbg_nfs_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_comte_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_boot_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+
+ sbg_sc_volume_id_0:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_sc_volume_id_1:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+
+resources:
+ sbg_sc_internal_0_port_0:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: internal_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [sbg_internal_ips ,0] }
+ allowed_address_pairs:
+ - ip_address: { get_param: sbg_nfs_floating_ip }
+ - ip_address: { get_param: sbg_comte_floating_ip }
+ - ip_address: { get_param: sbg_boot_floating_ip }
+ mac_address: { get_param: [sbg_internal_mac_addresses ,0] }
+
+ sbg_sc_management_1_port_0:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: management_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [sbg_management_ips ,0] }
+ allowed_address_pairs:
+ - ip_address: { get_param: sbg_management_floating_ip }
+ mac_address: { get_param: [sbg_management_mac_addresses ,0] }
+
+ sbg_pl_trunk_subport_avpn_group_0:
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: sbg_AVPN_count}
+ resource_def:
+ type: DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
+ properties:
+ nested_sbg_AVPN_vlan_tag_list: {get_param: sbg_AVPN_vlan_tag_list}
+ nested_avpn_net_id: {get_param: avpn_net_id}
+ nested_avpn_subnet_id: {get_param: avpn_subnet_id}
+ nested_sbg_avpn_ip_0: {get_param: [sbg_avpn_ips, 0]}
+ nested_sbg_AVPN_counter: '%index%'
+
+ nested_sbg:
+ type: nested_DPA3_New_VNF_TSBGv.yaml
+ depends_on: [ sbg_pl_trunk_subport_avpn_group_0 ]
+ properties:
+ nested_sbg_AVPN_vlan_tag_list: {get_param: sbg_AVPN_vlan_tag_list}
+ nested_avpn_net_id: {get_param: avpn_net_id}
+ nested_avpn_subnet_id: {get_param: avpn_subnet_id}
+ nested_sbg_avpn_ip_0: {get_param: [sbg_avpn_ips, 0]}
+ nested_sbg_AVPN_counter: '%index%'
+
+ sbg_sc_0:
+ type: OS::Nova::Server
+ properties:
+ name: { get_param: [sbg_sc_names, 0]}
+ metadata:
+ vnf_id: { get_param: vnf_id }
+ vf_module_id: { get_param: vf_module_id }
+ availability_zone: { get_param: availability_zone_0 }
+ block_device_mapping:
+ - device_name: "vda"
+ volume_id : { get_param : sbg_sc_volume_id_0 }
+ delete_on_termination : "false"
+ - device_name: "vdb"
+ volume_id : { get_param : sbg_sc_volume_id_1 }
+ delete_on_termination : "false"
+ flavor: { get_param: sbg_sc_flavor_name }
+ networks:
+ - port: { get_resource: sbg_sc_internal_0_port_0 }
+ - port: { get_resource: sbg_sc_management_1_port_0 }
+ config_drive: "true"
+ user_data_format: RAW
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
new file mode 100644
index 0000000000..f95d86beb7
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
@@ -0,0 +1,38 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Nested template for AVPN port creation
+
+parameters:
+ nested_sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: the CDL representing the vlan ID list
+ nested_avpn_net_id:
+ type: comma_delimited_list
+ description: the CDL representing the networks to attach to the ports
+ nested_avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ nested_sbg_avpn_ip_0:
+ type: string
+ description: IPv4 IP address for AVPN networks. Same IP is used for all AVPNs
+ nested_sbg_AVPN_counter:
+ type: number
+ description: current array_index
+ nested_trunk_port_id:
+ type: string
+ description: string containint the trunk parrent port
+
+resources:
+ sub_port:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: [nested_avpn_net_id, { get_param: nested_sbg_AVPN_counter}]}
+ fixed_ips:
+ - ip_address: { get_param: nested_sbg_avpn_ip_0}
+ subnet_id: {get_param: [nested_avpn_subnet_id, {get_param: nested_sbg_AVPN_counter}]}
+ value_specs:
+ trunkport:type: 'subport'
+ trunkport:vid: { get_param: [nested_sbg_AVPN_vlan_tag_list, { get_param: nested_sbg_AVPN_counter}]}
+ trunkport:parent_id: { get_param: nested_trunk_port_id}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/MANIFEST.json
new file mode 100644
index 0000000000..d0336c108e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/MANIFEST.json
@@ -0,0 +1,19 @@
+{
+ "name": "hot-mog",
+ "description": "HOT template to create hot mog server",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "DPA3_New_VNF_TSBGv_base.yaml",
+ "type": "HEAT"
+ },
+ {
+ "file": "DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml",
+ "type": "HEAT"
+ },
+ {
+ "file": "nested_DPA3_New_VNF_TSBGv.yaml",
+ "type": "HEAT"
+ }
+ ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/nested_DPA3_New_VNF_TSBGv.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/nested_DPA3_New_VNF_TSBGv.yaml
new file mode 100644
index 0000000000..e2e268ed6e
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/in/nested_DPA3_New_VNF_TSBGv.yaml
@@ -0,0 +1,219 @@
+heat_template_version: 2013-05-23
+description: >
+ SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
+parameters:
+ ntp_servers:
+ type: comma_delimited_list
+ description: comma delimited list of NTP servers required by System Controller VMs. Exactly 2 IPv4 values are required
+ sbg_pl_flavor_name:
+ type: string
+ description: Flavor to use for PL VM. Minimum 8 non-HT vCPU and 64GB RAM required
+ sbg_sc_flavor_name:
+ type: string
+ description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+ vf_module_id:
+ type: string
+ description: Unique ID for this VNF Module instance
+ sbg_sc_names:
+ type: comma_delimited_list
+ description: comma delimited list of VM names assigned to System Controller VMs
+ sbg_pl_names:
+ type: comma_delimited_list
+ description: comma delimited list of VM names assigned to Payload VMs
+ sbg_internal_cidr:
+ type: string
+ description: Network address (CIDR notation) for SBG intra-VM communication, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]'
+ description: A valid IPv4 CIDR notation must be provided, e.g. 192.168.0.0/24
+ sbg_internal_allocation_pool_start_ip:
+ type: string
+ description: The start IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 169.254.100.253
+ sbg_internal_allocation_pool_end_ip:
+ type: string
+ description: The end IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 169.254.100.254
+ internal_net_id:
+ type: string
+ description: the UUID of the operator-created Internal network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_internal_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
+ sbg_internal_mac_addresses:
+ type: comma_delimited_list
+ description: comma delimited list of MAC addresses for the VMs on the Internal network
+ sbg_management_cidr:
+ type: string
+ description: Network address (CIDR notation) for SBG Management Network, IPv4
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]'
+ description: A valid IPv4 CIDR notation must be provided, e.g. 192.168.0.0/24
+ sbg_management_gateway_ip_0:
+ type: string
+ description: IPv4 IP address of the default gateway on Management network
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ management_net_id:
+ type: string
+ description: the UUID of the operator-created Management network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ management_subnet_id:
+ type: string
+ description: the UUID of the operator-created Management subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_management_mac_addresses:
+ type: comma_delimited_list
+ description: comma delimited list of MAC addresses for the VMs on the Management network
+ sbg_management_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Management network.
+ trunk_net_id:
+ type: string
+ description: the UUID of the operator-created Traffic network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ core_subnet_id:
+ type: string
+ description: the UUID of the operator-created Core subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_AVPN_count:
+ type: number
+ description: The number of AVPN networks
+ constraints:
+ - range: { min: 1, max: 999 }
+ avpn_net_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator-created AVPN networks
+ sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
+ avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ sbg_avpn_ips:
+ type: comma_delimited_list
+ description: >
+ comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
+ dummy_subnet_id:
+ type: string
+ description: the UUID of the operator-created dummy subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_management_floating_ip:
+ type: string
+ description: Moveable Management IP (VIP), IPv4
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ availability_zone_0:
+ type: string
+ description: First availability zone ID or Name.
+ sbg_nfs_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_comte_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_boot_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+
+ sbg_sc_volume_id_0:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_sc_volume_id_1:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ nested_sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: the CDL representing the vlan ID list
+ nested_avpn_net_id:
+ type: comma_delimited_list
+ description: the CDL representing the networks to attach to the ports
+ nested_avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ nested_sbg_avpn_ip_0:
+ type: string
+ description: IPv4 IP address for AVPN networks. Same IP is used for all AVPNs
+ nested_sbg_AVPN_counter:
+ type: number
+ description: current array_index
+ nested_trunk_port_id:
+ type: string
+ description: string containint the trunk parrent port
+
+resources:
+ sbg_sc_internal_0_port_0:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: internal_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [sbg_internal_ips ,0] }
+ allowed_address_pairs:
+ - ip_address: { get_param: sbg_nfs_floating_ip }
+ - ip_address: { get_param: sbg_comte_floating_ip }
+ - ip_address: { get_param: sbg_boot_floating_ip }
+ mac_address: { get_param: [sbg_internal_mac_addresses ,0] }
+
+ sbg_sc_management_1_port_0:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: management_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [sbg_management_ips ,0] }
+ allowed_address_pairs:
+ - ip_address: { get_param: sbg_management_floating_ip }
+ mac_address: { get_param: [sbg_management_mac_addresses ,0] }
+
+ sbg_sc_0:
+ type: OS::Nova::Server
+ properties:
+ name: { get_param: [sbg_sc_names, 0]}
+ metadata:
+ vnf_id: { get_param: vnf_id }
+ vf_module_id: { get_param: vf_module_id }
+ availability_zone: { get_param: availability_zone_0 }
+ flavor: { get_param: sbg_sc_flavor_name }
+ networks:
+ - port: { get_resource: sbg_sc_internal_0_port_0 }
+ - port: { get_resource: sbg_sc_management_1_port_0 }
+ config_drive: "true"
+ user_data_format: RAW
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/out/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..c72c019742
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dependsOnFromVfcToNested/out/MainServiceTemplate.yaml
@@ -0,0 +1,402 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: Main
+imports:
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VNF Module instance
+ avpn_subnet_id:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ entry_schema:
+ type: string
+ sbg_internal_allocation_pool_start_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: The start IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ internal_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Internal network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_sc_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
+ sbg_management_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: Network address (CIDR notation) for SBG Management Network, IPv4
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
+ sbg_comte_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_avpn_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: |
+ comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
+ entry_schema:
+ type: string
+ management_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Management network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_sc_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of VM names assigned to System Controller VMs
+ entry_schema:
+ type: string
+ sbg_management_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Management network.
+ entry_schema:
+ type: string
+ sbg_nfs_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance
+ avpn_net_id:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of the UUIDs of the operator-created AVPN networks
+ entry_schema:
+ type: string
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: First availability zone ID or Name.
+ sbg_internal_mac_addresses:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of MAC addresses for the VMs on the Internal network
+ entry_schema:
+ type: string
+ sbg_management_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable Management IP (VIP), IPv4
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ management_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Management subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_AVPN_vlan_tag_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
+ entry_schema:
+ type: string
+ sbg_pl_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of VM names assigned to Payload VMs
+ entry_schema:
+ type: string
+ sbg_management_gateway_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: IPv4 IP address of the default gateway on Management network
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_AVPN_count:
+ hidden: false
+ immutable: false
+ type: float
+ description: The number of AVPN networks
+ constraints:
+ - in_range:
+ - 1
+ - 999
+ ntp_servers:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of NTP servers required by System Controller VMs. Exactly 2 IPv4 values are required
+ entry_schema:
+ type: string
+ sbg_management_mac_addresses:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of MAC addresses for the VMs on the Management network
+ entry_schema:
+ type: string
+ core_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Core subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_internal_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
+ entry_schema:
+ type: string
+ sbg_boot_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_sc_volume_id_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_pl_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for PL VM. Minimum 8 non-HT vCPU and 64GB RAM required
+ sbg_internal_allocation_pool_end_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: The end IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_sc_volume_id_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_internal_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: Network address (CIDR notation) for SBG intra-VM communication, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
+ dummy_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created dummy subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ trunk_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Traffic network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ node_templates:
+ sbg_pl_trunk_subport_avpn_group_0:
+ type: org.openecomp.resource.abstract.nodes.heat.DPA3_New_VNF_TSBGv_nested_AVPN_subport
+ directives:
+ - substitutable
+ properties:
+ nested_avpn_net_id:
+ get_input: avpn_net_id
+ service_template_filter:
+ substitute_service_template: DPA3_New_VNF_TSBGv_nested_AVPN_subportServiceTemplate.yaml
+ count:
+ get_input: sbg_AVPN_count
+ mandatory: false
+ nested_sbg_AVPN_vlan_tag_list:
+ get_input: sbg_AVPN_vlan_tag_list
+ nested_sbg_avpn_ip_0:
+ get_input:
+ - sbg_avpn_ips
+ - 0
+ nested_avpn_subnet_id:
+ get_input: avpn_subnet_id
+ nested_sbg_AVPN_counter:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ abstract_sbg_sc:
+ type: org.openecomp.resource.abstract.nodes.sbg_sc
+ directives:
+ - substitutable
+ properties:
+ port_sbg_sc_internal_0_port_mac_requirements:
+ mac_count_required:
+ is_required: true
+ compute_sbg_sc_config_drive:
+ - true
+ port_sbg_sc_management_1_port_allowed_address_pairs:
+ - ip_address:
+ get_input: sbg_management_floating_ip
+ port_sbg_sc_internal_0_port_fixed_ips:
+ - ip_address:
+ get_input:
+ - sbg_internal_ips
+ - 0
+ vm_flavor_name:
+ get_input: sbg_sc_flavor_name
+ port_sbg_sc_internal_0_port_replacement_policy:
+ - AUTO
+ port_sbg_sc_management_1_port_replacement_policy:
+ - AUTO
+ port_sbg_sc_management_1_port_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: true
+ port_sbg_sc_management_1_port_mac_address:
+ get_input:
+ - sbg_management_mac_addresses
+ - 0
+ compute_sbg_sc_user_data_format:
+ - RAW
+ port_sbg_sc_management_1_port_fixed_ips:
+ - ip_address:
+ get_input:
+ - sbg_management_ips
+ - 0
+ compute_sbg_sc_name:
+ - get_input:
+ - sbg_sc_names
+ - 0
+ port_sbg_sc_internal_0_port_allowed_address_pairs:
+ - ip_address:
+ get_input: sbg_nfs_floating_ip
+ - ip_address:
+ get_input: sbg_comte_floating_ip
+ - ip_address:
+ get_input: sbg_boot_floating_ip
+ port_sbg_sc_internal_0_port_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: true
+ compute_sbg_sc_metadata:
+ - vf_module_id:
+ get_input: vf_module_id
+ vnf_id:
+ get_input: vnf_id
+ port_sbg_sc_internal_0_port_network_role_tag: internal
+ port_sbg_sc_internal_0_port_network:
+ - get_input: internal_net_id
+ port_sbg_sc_management_1_port_network:
+ - get_input: management_net_id
+ port_sbg_sc_management_1_port_mac_requirements:
+ mac_count_required:
+ is_required: true
+ port_sbg_sc_management_1_port_network_role_tag: management
+ port_sbg_sc_internal_0_port_mac_address:
+ get_input:
+ - sbg_internal_mac_addresses
+ - 0
+ compute_sbg_sc_availability_zone:
+ - get_input: availability_zone_0
+ service_template_filter:
+ substitute_service_template: Nested_sbg_scServiceTemplate.yaml
+ count: 1
+ index_value:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ nested_sbg:
+ type: org.openecomp.resource.abstract.nodes.heat.sbg_sc
+ directives:
+ - substitutable
+ properties:
+ port_sbg_sc_management_1_port_0_mac_requirements:
+ mac_count_required:
+ is_required: true
+ nested_avpn_net_id:
+ get_input: avpn_net_id
+ service_template_filter:
+ substitute_service_template: nested_DPA3_New_VNF_TSBGvServiceTemplate.yaml
+ port_sbg_sc_internal_0_port_0_mac_requirements:
+ mac_count_required:
+ is_required: true
+ port_sbg_sc_internal_0_port_0_network_role_tag: internal
+ nested_sbg_AVPN_vlan_tag_list:
+ get_input: sbg_AVPN_vlan_tag_list
+ port_sbg_sc_internal_0_port_0_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: true
+ port_sbg_sc_management_1_port_0_network_role_tag: management
+ port_sbg_sc_management_1_port_0_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: true
+ nested_sbg_avpn_ip_0:
+ get_input:
+ - sbg_avpn_ips
+ - 0
+ nested_avpn_subnet_id:
+ get_input: avpn_subnet_id
+ nested_sbg_AVPN_counter: '%index%'
+ groups:
+ DPA3_New_VNF_TSBGv_base_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/DPA3_New_VNF_TSBGv_base.yaml
+ description: |
+ SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
+ members:
+ - sbg_pl_trunk_subport_avpn_group_0
+ - nested_sbg
+ - abstract_sbg_sc \ 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/dynamicPorts/dynamicPortsWithDependsOn/in/DPA3_New_VNF_TSBGv_base.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/in/DPA3_New_VNF_TSBGv_base.yaml
new file mode 100644
index 0000000000..7a06f07481
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/in/DPA3_New_VNF_TSBGv_base.yaml
@@ -0,0 +1,373 @@
+heat_template_version: 2013-05-23
+description: >
+ SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
+parameters:
+ ntp_servers:
+ type: comma_delimited_list
+ description: comma delimited list of NTP servers required by System Controller VMs. Exactly 2 IPv4 values are required
+ sbg_pl_flavor_name:
+ type: string
+ description: Flavor to use for PL VM. Minimum 8 non-HT vCPU and 64GB RAM required
+ sbg_sc_flavor_name:
+ type: string
+ description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
+ vnf_id:
+ type: string
+ description: Unique ID for this VF instance
+ vf_module_id:
+ type: string
+ description: Unique ID for this VNF Module instance
+ sbg_sc_names:
+ type: comma_delimited_list
+ description: comma delimited list of VM names assigned to System Controller VMs
+ sbg_pl_names:
+ type: comma_delimited_list
+ description: comma delimited list of VM names assigned to Payload VMs
+ sbg_internal_cidr:
+ type: string
+ description: Network address (CIDR notation) for SBG intra-VM communication, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]'
+ description: A valid IPv4 CIDR notation must be provided, e.g. 192.168.0.0/24
+ sbg_internal_allocation_pool_start_ip:
+ type: string
+ description: The start IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 169.254.100.253
+ sbg_internal_allocation_pool_end_ip:
+ type: string
+ description: The end IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 169.254.100.254
+ internal_net_id:
+ type: string
+ description: the UUID of the operator-created Internal network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_internal_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
+ sbg_internal_mac_addresses:
+ type: comma_delimited_list
+ description: comma delimited list of MAC addresses for the VMs on the Internal network
+ sbg_management_cidr:
+ type: string
+ description: Network address (CIDR notation) for SBG Management Network, IPv4
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]'
+ description: A valid IPv4 CIDR notation must be provided, e.g. 192.168.0.0/24
+ sbg_management_gateway_ip_0:
+ type: string
+ description: IPv4 IP address of the default gateway on Management network
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ management_net_id:
+ type: string
+ description: the UUID of the operator-created Management network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ management_subnet_id:
+ type: string
+ description: the UUID of the operator-created Management subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_management_mac_addresses:
+ type: comma_delimited_list
+ description: comma delimited list of MAC addresses for the VMs on the Management network
+ sbg_management_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Management network.
+ trunk_net_id:
+ type: string
+ description: the UUID of the operator-created Traffic network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ core_net_id:
+ type: string
+ description: the UUID of the operator-created Core network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_core_vlan_tag:
+ type: number
+ description: The internal VLAN TAG for Core network
+ constraints:
+ - range: { min: 1, max: 4096 }
+ description: A valid 802.1Q VLAN TAG must be provided
+ core_subnet_id:
+ type: string
+ description: the UUID of the operator-created Core subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ core_v6_subnet_id:
+ type: string
+ description: the UUID of the operator-created Core subnet, IPv6
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_core_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 IPs to be used on Core network
+ sbg_core_v6_IPs:
+ type: comma_delimited_list
+ description: comma delimited list of IPv6 IPs to be used on Core network
+ charging_net_id:
+ type: string
+ description: the UUID of the operator-created Charging network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_charging_vlan_tag:
+ type: number
+ description: The internal VLAN TAG for Charging network
+ constraints:
+ - range: { min: 1, max: 4096 }
+ description: A valid 802.1Q VLAN TAG must be provided
+ sbg_charging_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 IPs to be used on Charging network
+ access_net_id:
+ type: string
+ description: the UUID of the operator-created Access network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_access_vlan_tag:
+ type: number
+ description: The internal VLAN TAG for Access network
+ constraints:
+ - range: { min: 1, max: 4096 }
+ description: A valid 802.1Q VLAN TAG must be provided
+ access_subnet_id:
+ type: string
+ description: the UUID of the operator-created Access subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_access_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 IPs to be used on Access network
+ sbg_AVPN_count:
+ type: number
+ description: The number of AVPN networks
+ constraints:
+ - range: { min: 1, max: 999 }
+ avpn_net_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator-created AVPN networks
+ sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
+ avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ sbg_avpn_ips:
+ type: comma_delimited_list
+ description: >
+ comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
+ sgi_net_id:
+ type: string
+ description: the UUID of the operator-created SGI network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_SGI_vlan_tag:
+ type: number
+ description: The internal VLAN TAG for SGI network
+ constraints:
+ - range: { min: 1, max: 4096 }
+ description: A valid 802.1Q VLAN TAG must be provided
+ sgi_subnet_id:
+ type: string
+ description: the UUID of the operator-created SGI subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_sgi_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 IPs to be used on SGI network
+ UCOM_net_id:
+ type: string
+ description: the UUID of the operator-created UC One Mobile network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_UCOM_vlan_tag:
+ type: number
+ description: The internal VLAN TAG for UC One Mobile network
+ constraints:
+ - range: { min: 1, max: 4096 }
+ description: A valid 802.1Q VLAN TAG must be provided
+ UCOM_subnet_id:
+ type: string
+ description: the UUID of the operator-created UC One Mobile subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_UCOM_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 IPs to be used on UC One Mobile network
+ dummy_net_id:
+ type: string
+ description: the UUID of the operator-created Dummy network
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ dummy_subnet_id:
+ type: string
+ description: the UUID of the operator-created dummy subnet, IPv4
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_dummy_ips:
+ type: comma_delimited_list
+ description: comma delimited list of IPv4 IPs to be used on Dummy network
+ sbg_pl_image_name:
+ description: the name of the Glance PXE boot image for PL VMs
+ type: string
+ sbg_management_floating_ip:
+ type: string
+ description: Moveable Management IP (VIP), IPv4
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ availability_zone_0:
+ type: string
+ description: First availability zone ID or Name.
+ availability_zone_1:
+ type: string
+ description: Second availability zone ID or Name.
+ sbg_nfs_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_comte_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_boot_floating_ip:
+ type: string
+ description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - allowed_pattern: '(?:[0-9]{1,3}\.){3}[0-9]{1,3}'
+ description: A valid IPv4 address must be provided, e.g 192.168.0.1
+ sbg_timezone:
+ description: Timezone.
+ type: string
+
+ sbg_sc_volume_id_0:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_sc_volume_id_1:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_sc_volume_id_2:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-2 as root volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+ sbg_sc_volume_id_3:
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-2 as tools volume
+ constraints:
+ - allowed_pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ description: A valid OpenStack UUID must be provided
+
+resources:
+ sbg_sc_internal_0_port_0:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: internal_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [sbg_internal_ips ,0] }
+ allowed_address_pairs:
+ - ip_address: { get_param: sbg_nfs_floating_ip }
+ - ip_address: { get_param: sbg_comte_floating_ip }
+ - ip_address: { get_param: sbg_boot_floating_ip }
+ mac_address: { get_param: [sbg_internal_mac_addresses ,0] }
+
+ sbg_sc_management_1_port_0:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: management_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [sbg_management_ips ,0] }
+ allowed_address_pairs:
+ - ip_address: { get_param: sbg_management_floating_ip }
+ mac_address: { get_param: [sbg_management_mac_addresses ,0] }
+
+ sbg_pl_internal_0_port_0:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: internal_net_id }
+ fixed_ips:
+ - ip_address: { get_param: [sbg_internal_ips ,2] }
+ mac_address: { get_param: [sbg_internal_mac_addresses ,2] }
+
+ sbg_pl_trunk_1_port_0:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: trunk_net_id }
+ value_specs:
+ trunkport:type: 'trunk'
+
+ sbg_pl_trunk_subport_avpn_group_0:
+ depends_on: [ sbg_pl_internal_0_port_0, sbg_pl_trunk_1_port_0 ]
+ type: OS::Heat::ResourceGroup
+ properties:
+ count: {get_param: sbg_AVPN_count}
+ resource_def:
+ type: DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
+ properties:
+ nested_trunk_port_id: {get_resource: sbg_pl_trunk_1_port_0}
+ nested_sbg_AVPN_vlan_tag_list: {get_param: sbg_AVPN_vlan_tag_list}
+ nested_avpn_net_id: {get_param: avpn_net_id}
+ nested_avpn_subnet_id: {get_param: avpn_subnet_id}
+ nested_sbg_avpn_ip_0: {get_param: [sbg_avpn_ips, 0]}
+ nested_sbg_AVPN_counter: '%index%'
+
+ sbg_sc_0:
+ type: OS::Nova::Server
+ depends_on: [ sbg_sc_internal_0_port_0, sbg_sc_management_1_port_0 ]
+ properties:
+ name: { get_param: [sbg_sc_names, 0]}
+ metadata:
+ vnf_id: { get_param: vnf_id }
+ vf_module_id: { get_param: vf_module_id }
+ availability_zone: { get_param: availability_zone_0 }
+ block_device_mapping:
+ - device_name: "vda"
+ volume_id : { get_param : sbg_sc_volume_id_0 }
+ delete_on_termination : "false"
+ - device_name: "vdb"
+ volume_id : { get_param : sbg_sc_volume_id_1 }
+ delete_on_termination : "false"
+ flavor: { get_param: sbg_sc_flavor_name }
+ networks:
+ - port: { get_resource: sbg_sc_internal_0_port_0 }
+ - port: { get_resource: sbg_sc_management_1_port_0 }
+ config_drive: "true"
+ user_data_format: RAW
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
new file mode 100644
index 0000000000..f95d86beb7
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/in/DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml
@@ -0,0 +1,38 @@
+heat_template_version: 2013-05-23
+
+description: >
+ Nested template for AVPN port creation
+
+parameters:
+ nested_sbg_AVPN_vlan_tag_list:
+ type: comma_delimited_list
+ description: the CDL representing the vlan ID list
+ nested_avpn_net_id:
+ type: comma_delimited_list
+ description: the CDL representing the networks to attach to the ports
+ nested_avpn_subnet_id:
+ type: comma_delimited_list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ nested_sbg_avpn_ip_0:
+ type: string
+ description: IPv4 IP address for AVPN networks. Same IP is used for all AVPNs
+ nested_sbg_AVPN_counter:
+ type: number
+ description: current array_index
+ nested_trunk_port_id:
+ type: string
+ description: string containint the trunk parrent port
+
+resources:
+ sub_port:
+ type: OS::Neutron::Port
+ properties:
+ replacement_policy: AUTO
+ network_id: { get_param: [nested_avpn_net_id, { get_param: nested_sbg_AVPN_counter}]}
+ fixed_ips:
+ - ip_address: { get_param: nested_sbg_avpn_ip_0}
+ subnet_id: {get_param: [nested_avpn_subnet_id, {get_param: nested_sbg_AVPN_counter}]}
+ value_specs:
+ trunkport:type: 'subport'
+ trunkport:vid: { get_param: [nested_sbg_AVPN_vlan_tag_list, { get_param: nested_sbg_AVPN_counter}]}
+ trunkport:parent_id: { get_param: nested_trunk_port_id}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/in/MANIFEST.json b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/in/MANIFEST.json
new file mode 100644
index 0000000000..8f830de9c8
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/in/MANIFEST.json
@@ -0,0 +1,15 @@
+{
+ "name": "hot-mog",
+ "description": "HOT template to create hot mog server",
+ "version": "2013-05-23",
+ "data": [
+ {
+ "file": "DPA3_New_VNF_TSBGv_base.yaml",
+ "type": "HEAT"
+ },
+ {
+ "file": "DPA3_New_VNF_TSBGv_nested_AVPN_subport.yaml",
+ "type": "HEAT"
+ }
+ ]
+}
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/out/MainServiceTemplate.yaml
new file mode 100644
index 0000000000..40c00bbd33
--- /dev/null
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/dynamicPorts/dynamicPortsWithDependsOn/out/MainServiceTemplate.yaml
@@ -0,0 +1,602 @@
+tosca_definitions_version: tosca_simple_yaml_1_0_0
+metadata:
+ template_name: Main
+imports:
+- openecomp_heat_index:
+ file: openecomp-heat/_index.yml
+- GlobalSubstitutionTypes:
+ file: GlobalSubstitutionTypesServiceTemplate.yaml
+topology_template:
+ inputs:
+ avpn_subnet_id:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of the UUIDs of the operator created IPv4 AVPN subnets
+ entry_schema:
+ type: string
+ sbg_internal_allocation_pool_start_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: The start IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_core_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 IPs to be used on Core network
+ entry_schema:
+ type: string
+ access_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Access subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_management_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: Network address (CIDR notation) for SBG Management Network, IPv4
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
+ sbg_core_vlan_tag:
+ hidden: false
+ immutable: false
+ type: float
+ description: The internal VLAN TAG for Core network
+ constraints:
+ - in_range:
+ - 1
+ - 4096
+ management_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Management network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_management_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Management network.
+ entry_schema:
+ type: string
+ sbg_nfs_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for NFS server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_charging_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 IPs to be used on Charging network
+ entry_schema:
+ type: string
+ sbg_internal_mac_addresses:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of MAC addresses for the VMs on the Internal network
+ entry_schema:
+ type: string
+ core_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Core network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_access_vlan_tag:
+ hidden: false
+ immutable: false
+ type: float
+ description: The internal VLAN TAG for Access network
+ constraints:
+ - in_range:
+ - 1
+ - 4096
+ management_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Management subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ access_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Access network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_dummy_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 IPs to be used on Dummy network
+ entry_schema:
+ type: string
+ sgi_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created SGI network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_sgi_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 IPs to be used on SGI network
+ entry_schema:
+ type: string
+ sbg_internal_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 addresses of SBG VMs on the Internal network. Don't deviate from the default values.
+ entry_schema:
+ type: string
+ core_v6_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Core subnet, IPv6
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_internal_allocation_pool_end_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: The end IP of the Internal network's allocation pool. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ UCOM_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created UC One Mobile subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_internal_cidr:
+ hidden: false
+ immutable: false
+ type: string
+ description: Network address (CIDR notation) for SBG intra-VM communication, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}\/[1-2][0-9]
+ sgi_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created SGI subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ trunk_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Traffic network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ vf_module_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VNF Module instance
+ internal_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Internal network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_SGI_vlan_tag:
+ hidden: false
+ immutable: false
+ type: float
+ description: The internal VLAN TAG for SGI network
+ constraints:
+ - in_range:
+ - 1
+ - 4096
+ sbg_sc_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for SC VM. Minimum 4 non-HT vCPU and 16GB RAM required
+ sbg_comte_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for COM on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ charging_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Charging network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_UCOM_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 IPs to be used on UC One Mobile network
+ entry_schema:
+ type: string
+ sbg_avpn_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: |
+ comma delimited list of IPv4 IPs to be used on AVPN networks. n*2 IP address expected where n is the number of PL VM pairs. The first two addresses are assigned to the first PL VM pair, second two IPs to the second PL VM pair, and so on. Note: this is true regardless of the number of AVPN networks and sbg_AVPN_count.
+ entry_schema:
+ type: string
+ sbg_sc_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of VM names assigned to System Controller VMs
+ entry_schema:
+ type: string
+ vnf_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: Unique ID for this VF instance
+ avpn_net_id:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of the UUIDs of the operator-created AVPN networks
+ entry_schema:
+ type: string
+ sbg_pl_image_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: the name of the Glance PXE boot image for PL VMs
+ availability_zone_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: First availability zone ID or Name.
+ availability_zone_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: Second availability zone ID or Name.
+ UCOM_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created UC One Mobile network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_UCOM_vlan_tag:
+ hidden: false
+ immutable: false
+ type: float
+ description: The internal VLAN TAG for UC One Mobile network
+ constraints:
+ - in_range:
+ - 1
+ - 4096
+ sbg_management_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable Management IP (VIP), IPv4
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ dummy_net_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Dummy network
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_core_v6_IPs:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv6 IPs to be used on Core network
+ entry_schema:
+ type: string
+ sbg_AVPN_vlan_tag_list:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of internal VLAN TAG(s) used by AVPN networks
+ entry_schema:
+ type: string
+ sbg_pl_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of VM names assigned to Payload VMs
+ entry_schema:
+ type: string
+ sbg_management_gateway_ip_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: IPv4 IP address of the default gateway on Management network
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_AVPN_count:
+ hidden: false
+ immutable: false
+ type: float
+ description: The number of AVPN networks
+ constraints:
+ - in_range:
+ - 1
+ - 999
+ sbg_charging_vlan_tag:
+ hidden: false
+ immutable: false
+ type: float
+ description: The internal VLAN TAG for Charging network
+ constraints:
+ - in_range:
+ - 1
+ - 4096
+ sbg_timezone:
+ hidden: false
+ immutable: false
+ type: string
+ description: Timezone.
+ ntp_servers:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of NTP servers required by System Controller VMs. Exactly 2 IPv4 values are required
+ entry_schema:
+ type: string
+ sbg_management_mac_addresses:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of MAC addresses for the VMs on the Management network
+ entry_schema:
+ type: string
+ core_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created Core subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_access_ips:
+ hidden: false
+ immutable: false
+ type: list
+ description: comma delimited list of IPv4 IPs to be used on Access network
+ entry_schema:
+ type: string
+ sbg_sc_volume_id_3:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-2 as tools volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_boot_floating_ip:
+ hidden: false
+ immutable: false
+ type: string
+ description: Moveable IP (VIP) for TFTP server on the Internal network, IPv4. Don't deviate from default!
+ constraints:
+ - pattern: (?:[0-9]{1,3}\.){3}[0-9]{1,3}
+ sbg_sc_volume_id_0:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as root volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_pl_flavor_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor to use for PL VM. Minimum 8 non-HT vCPU and 64GB RAM required
+ sbg_sc_volume_id_2:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-2 as root volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ sbg_sc_volume_id_1:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the pre-created Cinder volume attached to SC-1 as tools volume
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ dummy_subnet_id:
+ hidden: false
+ immutable: false
+ type: string
+ description: the UUID of the operator-created dummy subnet, IPv4
+ constraints:
+ - pattern: '[a-f0-9]{8}\-(?:[a-f0-9]{4}\-){3}[a-f0-9]{12}'
+ node_templates:
+ sbg_pl_trunk_subport_avpn_group_0:
+ type: org.openecomp.resource.abstract.nodes.heat.DPA3_New_VNF_TSBGv_nested_AVPN_subport
+ directives:
+ - substitutable
+ properties:
+ nested_avpn_net_id:
+ get_input: avpn_net_id
+ service_template_filter:
+ substitute_service_template: DPA3_New_VNF_TSBGv_nested_AVPN_subportServiceTemplate.yaml
+ count:
+ get_input: sbg_AVPN_count
+ mandatory: false
+ nested_sbg_AVPN_vlan_tag_list:
+ get_input: sbg_AVPN_vlan_tag_list
+ nested_trunk_port_id: sbg_pl_trunk_1_port_0
+ nested_sbg_avpn_ip_0:
+ get_input:
+ - sbg_avpn_ips
+ - 0
+ nested_avpn_subnet_id:
+ get_input: avpn_subnet_id
+ nested_sbg_AVPN_counter:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ abstract_sbg_sc:
+ type: org.openecomp.resource.abstract.nodes.sbg_sc
+ directives:
+ - substitutable
+ properties:
+ port_sbg_sc_internal_0_port_mac_requirements:
+ mac_count_required:
+ is_required: true
+ compute_sbg_sc_config_drive:
+ - true
+ port_sbg_sc_management_1_port_allowed_address_pairs:
+ - ip_address:
+ get_input: sbg_management_floating_ip
+ port_sbg_sc_internal_0_port_fixed_ips:
+ - ip_address:
+ get_input:
+ - sbg_internal_ips
+ - 0
+ vm_flavor_name:
+ get_input: sbg_sc_flavor_name
+ port_sbg_sc_internal_0_port_replacement_policy:
+ - AUTO
+ port_sbg_sc_management_1_port_replacement_policy:
+ - AUTO
+ port_sbg_sc_management_1_port_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: true
+ port_sbg_sc_management_1_port_mac_address:
+ get_input:
+ - sbg_management_mac_addresses
+ - 0
+ compute_sbg_sc_user_data_format:
+ - RAW
+ port_sbg_sc_management_1_port_fixed_ips:
+ - ip_address:
+ get_input:
+ - sbg_management_ips
+ - 0
+ compute_sbg_sc_name:
+ - get_input:
+ - sbg_sc_names
+ - 0
+ port_sbg_sc_internal_0_port_allowed_address_pairs:
+ - ip_address:
+ get_input: sbg_nfs_floating_ip
+ - ip_address:
+ get_input: sbg_comte_floating_ip
+ - ip_address:
+ get_input: sbg_boot_floating_ip
+ port_sbg_sc_internal_0_port_ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: true
+ compute_sbg_sc_metadata:
+ - vf_module_id:
+ get_input: vf_module_id
+ vnf_id:
+ get_input: vnf_id
+ port_sbg_sc_internal_0_port_network_role_tag: internal
+ port_sbg_sc_internal_0_port_network:
+ - get_input: internal_net_id
+ port_sbg_sc_management_1_port_network:
+ - get_input: management_net_id
+ port_sbg_sc_management_1_port_mac_requirements:
+ mac_count_required:
+ is_required: true
+ port_sbg_sc_management_1_port_network_role_tag: management
+ port_sbg_sc_internal_0_port_mac_address:
+ get_input:
+ - sbg_internal_mac_addresses
+ - 0
+ compute_sbg_sc_availability_zone:
+ - get_input: availability_zone_0
+ service_template_filter:
+ substitute_service_template: Nested_sbg_scServiceTemplate.yaml
+ count: 1
+ index_value:
+ get_property:
+ - SELF
+ - service_template_filter
+ - index_value
+ sbg_pl_trunk_1_port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ replacement_policy: AUTO
+ ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: false
+ floating_ip_count_required:
+ is_required: false
+ mac_requirements:
+ mac_count_required:
+ is_required: false
+ value_specs:
+ trunkport:type: trunk
+ network_role_tag: trunk
+ network:
+ get_input: trunk_net_id
+ sbg_pl_internal_0_port_0:
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ properties:
+ replacement_policy: AUTO
+ ip_requirements:
+ - ip_version: 4
+ ip_count_required:
+ is_required: true
+ floating_ip_count_required:
+ is_required: false
+ fixed_ips:
+ - ip_address:
+ get_input:
+ - sbg_internal_ips
+ - 2
+ mac_requirements:
+ mac_count_required:
+ is_required: true
+ mac_address:
+ get_input:
+ - sbg_internal_mac_addresses
+ - 2
+ network_role_tag: internal
+ network:
+ get_input: internal_net_id
+ groups:
+ DPA3_New_VNF_TSBGv_base_group:
+ type: org.openecomp.groups.heat.HeatStack
+ properties:
+ heat_file: ../Artifacts/DPA3_New_VNF_TSBGv_base.yaml
+ description: |
+ SC1, SC2, PL3 and PL4. This is the main template, to be used to create an initial stack, with 1 mated pair
+ members:
+ - sbg_pl_trunk_subport_avpn_group_0
+ - sbg_pl_trunk_1_port_0
+ - sbg_pl_internal_0_port_0
+ - abstract_sbg_sc \ 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/mixPatterns/dependencyConnectivity/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/MainServiceTemplate.yaml
index 376b410539..15a079d930 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/MainServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/mixPatterns/dependencyConnectivity/out/MainServiceTemplate.yaml
@@ -110,10 +110,6 @@ topology_template:
capability: tosca.capabilities.network.Linkable
node: nested_network
relationship: tosca.relationships.network.LinksTo
- - dependency:
- capability: tosca.capabilities.Node
- node: nestedWithNoNovaHadDependencyToIt
- relationship: tosca.relationships.DependsOn
abstract_b_single_1b:
type: org.openecomp.resource.abstract.nodes.b_single_1b
directives:
@@ -162,10 +158,6 @@ topology_template:
- service_template_filter
- index_value
requirements:
- - dependency_b_single_1b:
- capability: tosca.capabilities.Node
- node: nestedWithNoNovaHadDependencyToIt
- relationship: tosca.relationships.DependsOn
- link_b_single_1b_1b_t2_port:
capability: tosca.capabilities.network.Linkable
node: b_single_1b_network
@@ -243,10 +235,6 @@ topology_template:
- service_template_filter
- index_value
requirements:
- - dependency_1c1_scalling_instance:
- capability: tosca.capabilities.Node
- node: nestedWithNoNovaHadDependencyToIt
- relationship: tosca.relationships.DependsOn
- link_1c1_scalling_instance_1c1_t1_port:
capability: tosca.capabilities.network.Linkable
node: 1c1_scalling_instance_network
@@ -308,10 +296,6 @@ topology_template:
capability: tosca.capabilities.network.Linkable
node: nested_network
relationship: tosca.relationships.network.LinksTo
- - dependency_server_pcm:
- capability: tosca.capabilities.Node
- node: nestedWithNoNovaHadDependencyToIt
- relationship: tosca.relationships.DependsOn
abstract_1c2_catalog_instance_0:
type: org.openecomp.resource.abstract.nodes.1c2_catalog_instance
directives:
@@ -363,10 +347,6 @@ topology_template:
- service_template_filter
- index_value
requirements:
- - dependency_1c2_catalog_instance_1c2_t1_port:
- capability: tosca.capabilities.Node
- node: nestedWithNoNovaHadDependencyToIt
- relationship: tosca.relationships.DependsOn
- link_1c2_catalog_instance_1c2_t2_port:
capability: tosca.capabilities.network.Linkable
node: 1c2_catalog_instance_network
@@ -424,10 +404,6 @@ topology_template:
- service_template_filter
- index_value
requirements:
- - dependency_1c2_catalog_instance_1c2_t1_port:
- capability: tosca.capabilities.Node
- node: nestedWithNoNovaHadDependencyToIt
- relationship: tosca.relationships.DependsOn
- link_1c2_catalog_instance_1c2_t2_port:
capability: tosca.capabilities.network.Linkable
node: 1c2_catalog_instance_network
@@ -441,43 +417,6 @@ topology_template:
substitute_service_template: nested-no-novaServiceTemplate.yaml
security_group_name: group1
net_name: myNetwork
- requirements:
- - dependency:
- capability: feature_a_single_1a
- node: abstract_a_single_1a
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: 4p_nested
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: feature_b_single_1b_1b_t1_port
- node: abstract_b_single_1b
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: feature_b_single_1b_1b_t1_port
- node: abstract_b_single_1b_1
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: feature_1c1_scalling_instance
- node: abstract_1c1_scalling_instance
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: feature_1c2_catalog_instance
- node: abstract_1c2_catalog_instance_0
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: feature_1c2_catalog_instance
- node: abstract_1c2_catalog_instance_1
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: nestedNoNestedSingleComputePattern
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: nestedWithNoNovaHadDependencyToIt
- relationship: tosca.relationships.DependsOn
1c1_scalling_instance_network:
type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
properties:
@@ -657,10 +596,6 @@ topology_template:
- service_template_filter
- index_value
requirements:
- - dependency_a_single_1a:
- capability: tosca.capabilities.Node
- node: nestedWithNoNovaHadDependencyToIt
- relationship: tosca.relationships.DependsOn
- link_a_single_1a_1a_t1_port:
capability: tosca.capabilities.network.Linkable
node: a_single_1a_network
@@ -938,4 +873,4 @@ topology_template:
name: def
affinity: host
targets:
- - BE_Affinity_group
+ - BE_Affinity_group \ No newline at end of file
diff --git a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/MainServiceTemplate.yaml
index db86de004f..ed4dbd6cb2 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/MainServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/MainServiceTemplate.yaml
@@ -180,11 +180,6 @@ topology_template:
- SELF
- service_template_filter
- index_value
- requirements:
- - dependency_ps_server_main_1b:
- capability: tosca.capabilities.Node
- node: test_nested_no_compute
- relationship: tosca.relationships.DependsOn
test_nested1Level_duplicate_same_file:
type: org.openecomp.resource.abstract.nodes.heat.nested1
directives:
@@ -203,11 +198,6 @@ topology_template:
substitute_service_template: nested1-no-computeServiceTemplate.yaml
name:
get_input: jsa_net_name
- requirements:
- - dependency:
- capability: feature_pd_server_main_1b
- node: abstract_pd_server_main_1b_1
- relationship: tosca.relationships.DependsOn
abstract_cmaui_1c1_main_1:
type: org.openecomp.resource.abstract.nodes.cmaui_1c1_main_1
directives:
@@ -254,11 +244,6 @@ topology_template:
- SELF
- service_template_filter
- index_value
- requirements:
- - dependency_cmaui_1c1_main:
- capability: tosca.capabilities.Node
- node: test_nested_no_compute
- relationship: tosca.relationships.DependsOn
test_nested_pattern_4_main_0:
type: org.openecomp.resource.abstract.nodes.heat.pd_server_pattern4
directives:
@@ -286,11 +271,6 @@ topology_template:
is_required: true
floating_ip_count_required:
is_required: false
- requirements:
- - dependency_server_pd_pattern4:
- capability: tosca.capabilities.Node
- node: test_nested_no_compute
- relationship: tosca.relationships.DependsOn
test_nested1Level:
type: org.openecomp.resource.abstract.nodes.heat.nested1
directives:
@@ -300,11 +280,6 @@ topology_template:
substitute_service_template: nested1ServiceTemplate.yaml
name:
get_input: security_group_name
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_no_compute
- relationship: tosca.relationships.DependsOn
groups:
main_group:
type: org.openecomp.groups.heat.HeatStack
@@ -319,4 +294,4 @@ topology_template:
- test_nested_pattern_4_main_0
- abstract_pd_server_main_1b_1
- abstract_ps_server_main_1b_1
- - abstract_cmaui_1c1_main_1
+ - abstract_cmaui_1c1_main_1 \ 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/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested2ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested2ServiceTemplate.yaml
index 244b6a21cb..935ec13ca3 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested2ServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/allPatternsDependsOnConnectivity/out/nested2ServiceTemplate.yaml
@@ -144,11 +144,6 @@ topology_template:
- SELF
- service_template_filter
- index_value
- requirements:
- - dependency_pd_server_nested2_1b:
- capability: tosca.capabilities.Node
- node: test_nested3Level
- relationship: tosca.relationships.DependsOn
test_nested_pattern_4_nested2:
type: org.openecomp.resource.abstract.nodes.heat.pd_server_pattern4
directives:
@@ -176,11 +171,6 @@ topology_template:
is_required: true
floating_ip_count_required:
is_required: false
- requirements:
- - dependency_server_pd_pattern4:
- capability: tosca.capabilities.Node
- node: test_resourceGroup
- relationship: tosca.relationships.DependsOn
test_nested3Level:
type: org.openecomp.resource.abstract.nodes.heat.nested3
directives:
@@ -190,15 +180,6 @@ topology_template:
substitute_service_template: nested3ServiceTemplate.yaml
name:
get_input: security_group_name
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_pattern_4_nested2
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: feature_ps_server_nested2_1b
- node: abstract_ps_server_nested2_1b
- relationship: tosca.relationships.DependsOn
test_nested_pattern_4_same_type_diff_file:
type: org.openecomp.resource.abstract.nodes.heat.pd_server_pattern4_2
directives:
@@ -329,11 +310,6 @@ topology_template:
- SELF
- service_template_filter
- index_value
- requirements:
- - dependency_cmaui_1c1_nested2:
- capability: tosca.capabilities.Node
- node: test_nested3Level
- relationship: tosca.relationships.DependsOn
groups:
nested2_group:
type: org.openecomp.groups.heat.HeatStack
@@ -1498,4 +1474,4 @@ topology_template:
- dependency
dependency_pd_server_pattern4_port_1_test_nested_pattern_4_nested2:
- test_nested_pattern_4_nested2
- - dependency_pd_server_pattern4_port_1
+ - dependency_pd_server_pattern4_port_1 \ 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/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/MainServiceTemplate.yaml
index 6d51056e60..e9b295a2d9 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/MainServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/multiLevel/twoNestedLevelsWithAllPatternsAndConnectivities/out/MainServiceTemplate.yaml
@@ -269,15 +269,6 @@ topology_template:
- pattern4_attr_1
service_template_filter:
substitute_service_template: nested-no-computeServiceTemplate.yaml
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_all_patterns
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_pattern_4
- relationship: tosca.relationships.DependsOn
nested2_pattern_4:
type: org.openecomp.resource.abstract.nodes.heat.pd_server
directives:
@@ -521,4 +512,4 @@ topology_template:
value:
get_attribute:
- abstract_osm_server_1c2_1
- - osm_server_1c2_accessIPv4
+ - osm_server_1c2_accessIPv4 \ 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/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/MainServiceTemplate.yaml
index 9c3b51c682..1926fafee1 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/MainServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/fulltest/nestedOtherScenarios/oneLevel/nestedAllPatternsConnectivity/out/MainServiceTemplate.yaml
@@ -72,15 +72,6 @@ topology_template:
- pattern4_attr_1
service_template_filter:
substitute_service_template: nested-no-computeServiceTemplate.yaml
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_all_patterns
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_pattern_4
- relationship: tosca.relationships.DependsOn
test_nested_all_patterns:
type: org.openecomp.resource.abstract.nodes.heat.nested1
directives:
@@ -107,4 +98,4 @@ topology_template:
- dependsOn_network
- test_nested_pattern_4
- test_nested_no_compute
- - test_nested_all_patterns
+ - test_nested_all_patterns \ 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/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml
index 4744837987..d45c614cfc 100644
--- a/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/resources/mock/services/heattotosca/getAttrDynamicParamEmptyMap/expectedoutputfiles/MainServiceTemplate.yaml
@@ -503,11 +503,6 @@ topology_template:
- install_config
storage_size: 68
group_tag: oam
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: NOKIA-LCP-Base
- relationship: tosca.relationships.DependsOn
IMS_RRG:
type: org.openecomp.resource.abstract.nodes.heat.LCP-PairGroup.template
directives:
@@ -668,11 +663,6 @@ topology_template:
get_attribute:
- NOKIA-LCP-Base
- NetInfoStr
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: NOKIA-LCP-Base
- relationship: tosca.relationships.DependsOn
groups:
base_mso_group:
type: org.openecomp.groups.heat.HeatStack