import static org.openecomp.sdc.translator.services.heattotosca.ConsolidationDataUtil.isPortResource;
import static org.openecomp.sdc.translator.services.heattotosca.ConsolidationDataUtil.isVolumeResource;
+import java.util.*;
+import java.util.stream.Collectors;
+
import org.openecomp.sdc.heat.datatypes.model.Resource;
import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.stream.Collectors;
-
/**
* The enum Entity type.
*/
public enum ConsolidationEntityType {
- COMPUTE,
- PORT,
- VOLUME,
- NESTED,
- //Simple nested VFC (nested file with one compute) or a complex VFC (nested ST with more than
- //one compute)
- VFC_NESTED,
- SUB_INTERFACE,
- OTHER;
+ COMPUTE, PORT, VOLUME, NESTED,
+ //Simple nested VFC (nested file with one compute) or a complex VFC (nested ST with more than
+ //one compute)
+ VFC_NESTED, SUB_INTERFACE, OTHER;
+
+ private ConsolidationEntityType sourceEntityType;
+ private ConsolidationEntityType targetEntityType;
+
+ public ConsolidationEntityType getSourceEntityType() {
+ return sourceEntityType;
+ }
- private ConsolidationEntityType sourceEntityType;
- private ConsolidationEntityType targetEntityType;
+ public ConsolidationEntityType getTargetEntityType() {
+ return targetEntityType;
+ }
- public ConsolidationEntityType getSourceEntityType() {
- return sourceEntityType;
- }
- public ConsolidationEntityType getTargetEntityType() {
- return targetEntityType;
- }
+ /**
+ * Sets entity type.
+ *
+ * @param sourceResource the source resource
+ * @param targetResource the target resource
+ */
+ public void setEntityType(Resource sourceResource, Resource targetResource, TranslationContext context) {
+ targetEntityType = getEntityType(targetResource, context);
+ sourceEntityType = getEntityType(sourceResource, context);
+ }
+ private static final Set<ConsolidationEntityType> consolidationEntityTypes = initConsolidationEntities();
- /**
- * Sets entity type.
- *
- * @param sourceResource the source resource
- * @param targetResource the target resource
- */
- public void setEntityType(Resource sourceResource,
- Resource targetResource,
- TranslationContext context) {
- targetEntityType =
- getEntityType(targetResource, context);
- sourceEntityType =
- getEntityType(sourceResource, context);
- }
+ private static Set<ConsolidationEntityType> initConsolidationEntities() {
+ return Collections.unmodifiableSet(EnumSet.allOf(ConsolidationEntityType.class).stream().filter(
+ consolidationEntityType -> consolidationEntityType != ConsolidationEntityType.OTHER
+ && consolidationEntityType != ConsolidationEntityType.VOLUME).collect(Collectors.toSet()));
+ }
- private static final Set<ConsolidationEntityType> consolidationEntityTypes = initConsolidationEntities();
-
- private static Set<ConsolidationEntityType> initConsolidationEntities() {
- Set<ConsolidationEntityType> consolidationEntityTypes = new HashSet<>(Arrays.asList(ConsolidationEntityType
- .values()));
- return Collections.unmodifiableSet(consolidationEntityTypes.stream()
- .filter(entity -> entity != ConsolidationEntityType.OTHER
- && entity != ConsolidationEntityType.VOLUME)
- .collect(Collectors.toSet()));
- }
+ public static Set<ConsolidationEntityType> getSupportedConsolidationEntities() {
+ return consolidationEntityTypes;
+ }
- public static Set<ConsolidationEntityType> getSupportedConsolidationEntities() {
- return consolidationEntityTypes;
- }
+ private ConsolidationEntityType getEntityType(Resource resource, TranslationContext context) {
+ ConsolidationEntityType consolidationEntityType = ConsolidationEntityType.OTHER;
+ if (isComputeResource(resource)) {
+ consolidationEntityType = ConsolidationEntityType.COMPUTE;
+ } else if (isPortResource(resource)) {
+ consolidationEntityType = ConsolidationEntityType.PORT;
+ } else if (isVolumeResource(resource)) {
+ consolidationEntityType = ConsolidationEntityType.VOLUME;
+ } else if (HeatToToscaUtil.isNestedResource(resource)) {
+ if (HeatToToscaUtil.isNestedVfcResource(resource, context)) {
+ consolidationEntityType = ConsolidationEntityType.VFC_NESTED;
+ } else {
+ consolidationEntityType = ConsolidationEntityType.NESTED;
+ }
+ }
+ return consolidationEntityType;
+ }
- private ConsolidationEntityType getEntityType(Resource resource, TranslationContext context) {
- ConsolidationEntityType consolidationEntityType = ConsolidationEntityType.OTHER;
- if (isComputeResource(resource)) {
- consolidationEntityType = ConsolidationEntityType.COMPUTE;
- } else if (isPortResource(resource)) {
- consolidationEntityType = ConsolidationEntityType.PORT;
- } else if (HeatToToscaUtil.isSubInterfaceResource(resource, context)) {
- consolidationEntityType = ConsolidationEntityType.SUB_INTERFACE;
- } else if (isVolumeResource(resource)) {
- consolidationEntityType = ConsolidationEntityType.VOLUME;
- } else if (HeatToToscaUtil.isNestedResource(resource)) {
- if (HeatToToscaUtil.isNestedVfcResource(resource, context)) {
- consolidationEntityType = ConsolidationEntityType.VFC_NESTED;
- } else {
- consolidationEntityType = ConsolidationEntityType.NESTED;
- }
+ public static boolean isEntityTypeNested(ConsolidationEntityType entityType) {
+ return NESTED == entityType || VFC_NESTED == entityType;
}
- return consolidationEntityType;
- }
}
\ No newline at end of file
package org.openecomp.sdc.translator.services.heattotosca;
-import org.apache.commons.collections.CollectionUtils;
-
-import java.util.EnumMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.ImmutableSetMultimap;
+import com.google.common.collect.Multimap;
public class ConsolidationTypesConnectivity {
- private static Map<ConsolidationEntityType, Set<ConsolidationEntityType>>
- entityToEntitiesWithoutRelationship = new EnumMap<>(ConsolidationEntityType.class);
-
- static {
- 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 ConsolidationTypesConnectivity() {
- }
-
- 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);
-
- }
+ private static Multimap<ConsolidationEntityType, ConsolidationEntityType> entityToEntitiesWithoutRelationship;
+ private static ImmutableSet<ConsolidationEntityType> consolidationEntityRelationNodes = ImmutableSet.of(
+ ConsolidationEntityType.COMPUTE, ConsolidationEntityType.VOLUME,
+ ConsolidationEntityType.PORT, ConsolidationEntityType.NESTED,
+ ConsolidationEntityType.VFC_NESTED);
+
+ static {
+ entityToEntitiesWithoutRelationship =
+ ImmutableSetMultimap.<ConsolidationEntityType, ConsolidationEntityType>builder()
+ .putAll(ConsolidationEntityType.COMPUTE, consolidationEntityRelationNodes)
+ .putAll(ConsolidationEntityType.PORT, consolidationEntityRelationNodes)
+ .putAll(ConsolidationEntityType.VOLUME, consolidationEntityRelationNodes)
+ .putAll(ConsolidationEntityType.VFC_NESTED, consolidationEntityRelationNodes)
+ .putAll(ConsolidationEntityType.NESTED, consolidationEntityRelationNodes)
+ .build();
+ }
+
+ private ConsolidationTypesConnectivity() {
+ }
+
+ static boolean isDependsOnRelationshipValid(ConsolidationEntityType source, ConsolidationEntityType target) {
+ return !eitherSourceOrTargetIsNested(source, target)
+ && (!entityToEntitiesWithoutRelationship.containsKey(source)
+ || !entityToEntitiesWithoutRelationship.containsEntry(source, target));
+ }
+
+ private static boolean eitherSourceOrTargetIsNested(ConsolidationEntityType source,
+ ConsolidationEntityType target) {
+ return ConsolidationEntityType.isEntityTypeNested(source) || ConsolidationEntityType.isEntityTypeNested(target);
+ }
}
nestedTemplateConsolidationData.getNodesConnectedIn();
List<String> dependentNodes = new LinkedList<>();
dependentNodes.add("packet_mirror_network");
- validateNestedNodesConnectedInDependency(nodesConnectedIn, nestedNodeTemplateId, dependentNodes);
//Validate get attribute in
Map<String, List<GetAttrFuncData>> nodesGetAttrIn =
nestedTemplateConsolidationData.getNodesConnectedIn();
List<String> dependentNodes = new LinkedList<>();
dependentNodes.add("packet_mirror_network");
- validateNestedNodesConnectedInDependency(nodesConnectedIn, nestedNodeTemplateId, dependentNodes);
} else {
Assert.assertNull(nestedTemplateConsolidationData.getNodesConnectedIn());
}
nestedTemplateConsolidationData.getNodesConnectedIn();
List<String> dependentNodes = new LinkedList<>();
dependentNodes.add("packet_mirror_network");
- validateNestedNodesConnectedInDependency(nodesConnectedIn, nestedNodeTemplateId, dependentNodes);
//Validate output parameter get attribute in
List<GetAttrFuncData> getAttrFuncData =
nestedTemplateConsolidationData.getNodesGetAttrIn().get("packet_mirror_network");
SubInterfaceTemplateConsolidationData data = subInfList.get(0);
Assert.assertEquals(NETWORK_ROLE_INOUT_ATTR_TEST, data.getNetworkRole());
- Assert.assertEquals(ONE, data.getNodesConnectedIn().size());
- Assert.assertEquals(ONE, data.getNodesConnectedOut().size());
- Assert.assertEquals(TWO, data.getNodesConnectedOut().get("control_int_net").size());
Assert.assertEquals(ONE, data.getNodesGetAttrIn().size());
Assert.assertEquals(ONE, data.getNodesGetAttrOut().size());
Assert.assertEquals(ONE, data.getOutputParametersGetAttrIn().size());
- output_attr_1
network_name:
get_input: jsa_net_name
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested
- relationship: tosca.relationships.DependsOn
jsa_security_group1:
type: org.openecomp.resource.vfc.rules.nodes.heat.network.neutron.SecurityRules
properties:
Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
members:
- packet_mirror_network
- - test_nested
+ - test_nested
\ No newline at end of file
network_name:
get_input: net_name
requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: nestedNoUnified
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: 4p_nested
- relationship: tosca.relationships.DependsOn
- dependency:
capability: feature_1c2_catalog_instance_1c2_t1_port
node: abstract_1c2_catalog_instance_1
network_name:
get_input: net_name
requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: nestedNoNestedSingleComputePattern
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: 4p_nested
- relationship: tosca.relationships.DependsOn
- dependency:
capability: feature_1c2_catalog_instance_1c2_t1_port
node: abstract_1c2_catalog_instance_1
capability: feature_a_single_1a_1a_t1_port
node: abstract_a_single_1a
relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: nestedWithNoNovaHadDependencyToIt
- relationship: tosca.relationships.DependsOn
abstract_a_single_1a:
type: org.openecomp.resource.abstract.nodes.a_single_1a
directives:
network_name:
get_input: net_name
requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: nestedNoUnified
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: 4p_nested
- relationship: tosca.relationships.DependsOn
- dependency:
capability: feature_1c2_catalog_instance_1c2_t1_port
node: abstract_1c2_catalog_instance_1
network_name:
get_input: net_name
requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: nestedNoUnified_1
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: nestedNoUnified_2
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: 4p_nested_1
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: 4p_nested_2
- relationship: tosca.relationships.DependsOn
- dependency:
capability: feature_1c2_catalog_instance_1c201_port
node: abstract_1c2_catalog_instance_1
properties:
network_name:
get_input: jsa_name
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_all_patterns
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_no_compute
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_pattern_4
- relationship: tosca.relationships.DependsOn
abstract_rd_server_1b:
type: org.openecomp.resource.abstract.nodes.rd_server_1b
directives:
properties:
network_name:
get_input: jsa_name
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_all_patterns
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_no_compute
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_pattern_4
- relationship: tosca.relationships.DependsOn
test_nested_pattern_4:
type: org.openecomp.resource.abstract.nodes.heat.pd_server
directives:
- dependsOn_network
- test_nested_pattern_4
- test_nested_no_compute
- - test_nested_all_patterns
+ - test_nested_all_patterns
\ No newline at end of file
properties:
network_name:
get_input: jsa_name
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_same_file_1
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_same_file_2
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: test_nested_diff_file
- relationship: tosca.relationships.DependsOn
test_nested_diff_file:
type: org.openecomp.resource.abstract.nodes.heat.nested-other-file-1B
directives:
- test_nested_same_file_1
- test_nested_same_file_2
- jsa_security_group1
- - jsa_security_group2
+ - jsa_security_group2
\ No newline at end of file
capability: tosca.capabilities.network.Linkable
node: cscf_internal_network_0
relationship: tosca.relationships.network.LinksTo
- - dependency_cscf_server_0:
- capability: tosca.capabilities.Node
- node: cscf_internal_network_0
- relationship: tosca.relationships.DependsOn
oam_oam_vip_1_port:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
properties:
capability: tosca.capabilities.network.Linkable
node: cscf_internal_dpdk_network_0
relationship: tosca.relationships.network.LinksTo
- - dependency_tdcore_server_0:
- capability: tosca.capabilities.Node
- node: cscf_internal_network_0
- relationship: tosca.relationships.DependsOn
- - dependency_tdcore_server_0:
- capability: tosca.capabilities.Node
- node: cscf_internal_dpdk_network_0
- relationship: tosca.relationships.DependsOn
lbd_ims_core_v6_vip_2_port:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
properties:
capability: tosca.capabilities.network.Linkable
node: cscf_internal_dpdk_network_0
relationship: tosca.relationships.network.LinksTo
- - dependency_tdcore_server_0:
- capability: tosca.capabilities.Node
- node: cscf_internal_network_0
- relationship: tosca.relationships.DependsOn
- - dependency_tdcore_server_0:
- capability: tosca.capabilities.Node
- node: cscf_internal_dpdk_network_0
- relationship: tosca.relationships.DependsOn
oam_volume_1:
type: org.openecomp.resource.vfc.nodes.heat.cinder.Volume
properties:
capability: tosca.capabilities.network.Linkable
node: cscf_internal_network_0
relationship: tosca.relationships.network.LinksTo
- - dependency_cscf_server_0:
- capability: tosca.capabilities.Node
- node: cscf_internal_network_0
- relationship: tosca.relationships.DependsOn
lbd_internal_dpdk_vip_1_port:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
properties:
get_input: vnf_name
container_type: host
targets:
- - tdcore_zone_1_server_group_group
+ - tdcore_zone_1_server_group_group
\ No newline at end of file
get_input: oam_net_id
vson_vm_names:
- get_input: vson_clm_name_0
- requirements:
- - dependency_vson_server_1:
- capability: tosca.capabilities.Node
- node: oam_net_security_group
- relationship: tosca.relationships.DependsOn
vson_mgt_group:
type: org.openecomp.resource.abstract.nodes.heat.vson_vm_2
directives:
value: vson_dbs_volume_1
vson_mon_server_group_id:
description: ID of the Server Group intended for vSON MON instances.
- value: UNSUPPORTED_RESOURCE_vson_mon_server_group
+ value: UNSUPPORTED_RESOURCE_vson_mon_server_group
\ No newline at end of file
network_name:
get_input: net_name
requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: server_pcm_001
- relationship: tosca.relationships.DependsOn
- dependency:
capability: feature_compute
node: abstract_compute
description: |
Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
members:
- - test_shared_node_connected_in_nested
+ - test_shared_node_connected_in_nested
\ No newline at end of file
properties:
network_name:
get_input: port_net_name
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: server_pcm_001
- relationship: tosca.relationships.DependsOn
abstract_compute:
type: org.openecomp.resource.abstract.nodes.compute
directives:
members:
- server_pcm_001
- packet_mirror_network
- - abstract_compute
+ - abstract_compute
\ No newline at end of file
properties:
network_name:
get_input: net_name
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: server_pcm_001
- relationship: tosca.relationships.DependsOn
compute_port_0:
type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
properties:
- server_pcm_001
- packet_mirror_network
- compute_port_0
- - abstract_compute
+ - abstract_compute
\ No newline at end of file
params:
VNF_NAME:
get_input: vnf_name
- requirements:
- - dependency:
- capability: feature_vdbe_untr_x_subport_vdbe_vdbe_untr_1_port_nested
- node: abstract_vdbe
- relationship: tosca.relationships.DependsOn
control_int_net:
type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
properties:
members:
- fabric_int_net
- control_int_net
- - abstract_vdbe
+ - abstract_vdbe
\ No newline at end of file
capability: tosca.capabilities.network.Linkable
node: control_int_net
relationship: tosca.relationships.network.LinksTo
- - dependency_vdbe_vdbe_untr_1_port_nested:
- capability: tosca.capabilities.Node
- node: control_int_net
- relationship: tosca.relationships.DependsOn
groups:
main_group:
type: org.openecomp.groups.heat.HeatStack
Version 2.0 02-09-2016 (Authors: John Doe, user PROD)
members:
- control_int_net
- - abstract_vdbe
+ - abstract_vdbe
\ No newline at end of file
params:
VNF_NAME:
get_input: vnf_name
- requirements:
- - dependency:
- capability: feature_vdbe_untr_x_vlan1-Network-Role_vmi_subport_vdbe_vdbe_untr_1_port_vlan1
- node: abstract_vdbe
- relationship: tosca.relationships.DependsOn
control_int_net:
type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
properties:
capability: tosca.capabilities.network.Linkable
node: control_int_net
relationship: tosca.relationships.network.LinksTo
- - dependency_vdbe_vdbe_untr_1_port_vlan1:
- capability: tosca.capabilities.Node
- node: control_int_net
- relationship: tosca.relationships.DependsOn
groups:
main_group:
type: org.openecomp.groups.heat.HeatStack
value:
get_attribute:
- abstract_vdbe
- - vdbe_vdbe_untr_1_port_vlan1_aap_address_mode
+ - vdbe_vdbe_untr_1_port_vlan1_aap_address_mode
\ No newline at end of file
type: OS::Heat::ResourceGroup
depends_on: test_net2
properties:
- count: 9
+ count: 19
resource_def:
type: nested.yml
properties:
- pd_server_names
- 0
subinterface_nested_service_template_filter_count:
- - 9
+ - 19
vm_flavor_name:
get_input: pd_flavor_name
subinterface_nested_p1:
- service_template_filter
- index_value
requirements:
- - dependency_pd_server_pd01_port_nested:
- capability: tosca.capabilities.Node
- node: test_net2
- relationship: tosca.relationships.DependsOn
- subinterface_link_template_Vlan_vmi_1_pd_server_pd01_port_nested:
capability: tosca.capabilities.network.Linkable
node: test_net1
- test_net2
- test_net1
- abstract_pd_server_0
- - abstract_pd_server_1
+ - abstract_pd_server_1
\ No newline at end of file
params:
VNF_NAME:
get_input: vnf_name
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: vdbe_untr_1_subports
- relationship: tosca.relationships.DependsOn
vdbe_untr_1_port:
type: org.openecomp.resource.cp.nodes.heat.contrailV2.VirtualMachineInterface
properties:
- dependency
dependency_vdbe_untr_1_subports:
- vdbe_untr_1_subports
- - dependency
+ - dependency
\ No newline at end of file
capability: tosca.capabilities.network.Bindable
node: vdbe_untr_1_port
relationship: tosca.relationships.network.BindsTo
- - dependency:
- capability: tosca.capabilities.Node
- node: control_int_net
- relationship: tosca.relationships.DependsOn
control_int_net:
type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
properties:
- dependency
dependency_vdbe_untr_1_subports:
- vdbe_untr_1_subports
- - dependency
+ - dependency
\ No newline at end of file
capability: tosca.capabilities.network.Bindable
node: vdbe_0_untr_vmi_1
relationship: tosca.relationships.network.BindsTo
- - dependency:
- capability: tosca.capabilities.Node
- node: control_int_net
- relationship: tosca.relationships.DependsOn
control_int_net:
type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
properties:
- dependency
dependency_vdbe_untr_1_subports:
- vdbe_untr_1_subports
- - dependency
+ - dependency
\ No newline at end of file
capability: tosca.capabilities.network.Linkable
node: packet_internal_network
relationship: tosca.relationships.network.LinksTo
- - dependency:
- capability: tosca.capabilities.Node
- node: security_group
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_mirror_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_mirror_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_internal_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_internal_network
- relationship: tosca.relationships.DependsOn
vProbe:
type: org.openecomp.resource.abstract.nodes.heat.FEAdd_On_Module_vProbeTemplate
directives:
capability: tosca.capabilities.network.Linkable
node: packet_internal_network
relationship: tosca.relationships.network.LinksTo
- - dependency:
- capability: tosca.capabilities.Node
- node: security_group
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_mirror_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_mirror_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_internal_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_internal_network
- relationship: tosca.relationships.DependsOn
packet_mirror_network:
type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
properties:
get_input: qrouter_volume_size_2
rpmrepository_ip_0:
get_input: rpmrepository_ip_0
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: security_group
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_mirror_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_mirror_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_internal_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_internal_network
- relationship: tosca.relationships.DependsOn
vLB:
type: org.openecomp.resource.abstract.nodes.heat.FEAdd_On_Module_vLBTemplate
directives:
capability: tosca.capabilities.network.Linkable
node: packet_mirror_network
relationship: tosca.relationships.network.LinksTo
- - dependency:
- capability: tosca.capabilities.Node
- node: security_group
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_mirror_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_mirror_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_internal_network
- relationship: tosca.relationships.DependsOn
- - dependency:
- capability: tosca.capabilities.Node
- node: packet_internal_network
- relationship: tosca.relationships.DependsOn
groups:
FEBase_Module_group:
type: org.openecomp.groups.heat.HeatStack
- packet_internal_network
- security_group
- QRouter0
- - vLB
+ - vLB
\ No newline at end of file
capability: tosca.capabilities.network.Bindable
node: vdbe_untr_vmi
relationship: tosca.relationships.network.BindsTo
- - dependency:
- capability: tosca.capabilities.Node
- node: control_int_net
- relationship: tosca.relationships.DependsOn
control_int_net:
type: org.openecomp.resource.vl.nodes.heat.network.contrailV2.VirtualNetwork
properties:
get_attribute:
- vdbe_untr_1_subports
- count
- requirements:
- - dependency:
- capability: tosca.capabilities.Node
- node: vdbe_untr_1_subports
- relationship: tosca.relationships.DependsOn
groups:
main_group:
type: org.openecomp.groups.heat.HeatStack