.findFirst();
if (vlanSubInterfaceResource.isPresent()) {
Map.Entry<String, Resource> vlanSubInterfaceResourceEntry = vlanSubInterfaceResource.get();
- networkRole = evaluateNetworkRoleFromResourceId(vlanSubInterfaceResourceEntry.getKey(),
+ networkRole = extractNetworkRoleFromSubInterfaceId(vlanSubInterfaceResourceEntry.getKey(),
vlanSubInterfaceResourceEntry.getValue().getType());
}
}
public static Optional<String> evaluateNetworkRoleFromResourceId(String resourceId,
String resourceType) {
- if (resourceType.equals(
- HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource())) {
- return Optional.ofNullable(extractNetworkRoleFromResourceId(resourceId, PortType.VMI));
- }
+ Optional<PortType> portType = getPortType(resourceType);
+ if (portType.isPresent()) {
+ String portResourceIdRegex =
+ PORT_RESOURCE_ID_REGEX_PREFIX + UNDERSCORE + WORDS_REGEX + UNDERSCORE
+ + portType.get().getPortTypeName() + PORT_RESOURCE_ID_REGEX_SUFFIX;
+ String portIntResourceIdRegex =
+ PORT_INT_RESOURCE_ID_REGEX_PREFIX + portType.get().getPortTypeName()
+ + PORT_RESOURCE_ID_REGEX_SUFFIX;
+
+ String portNetworkRole = getNetworkRole(resourceId, portResourceIdRegex);
+ String portIntNetworkRole = getNetworkRole(resourceId, portIntResourceIdRegex);
- if (resourceType.equals(HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource())) {
- return Optional.ofNullable(extractNetworkRoleFromResourceId(resourceId, PortType.PORT));
+ return Optional.ofNullable(Objects.nonNull(portNetworkRole)
+ ? portNetworkRole : portIntNetworkRole);
}
return Optional.empty();
}
- private static String extractNetworkRoleFromResourceId(String portResourceId, PortType portType) {
-
- if (portResourceId.matches(SUB_INTERFACE_REGEX)) {
- return extractNetworkRoleFromSubInterfaceId(portResourceId, portType);
+ private static Optional<PortType> getPortType(String resourceType) {
+ if (resourceType.equals(
+ HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource())) {
+ return Optional.of(PortType.VMI);
+ } else if (resourceType.equals(
+ HeatResourcesTypes.NEUTRON_PORT_RESOURCE_TYPE.getHeatResource())) {
+ return Optional.of(PortType.PORT);
}
-
- String portResourceIdRegex =
- PORT_RESOURCE_ID_REGEX_PREFIX + UNDERSCORE + WORDS_REGEX + UNDERSCORE + portType.getPortTypeName()
- + PORT_RESOURCE_ID_REGEX_SUFFIX;
- String portIntResourceIdRegex =
- PORT_INT_RESOURCE_ID_REGEX_PREFIX + portType.getPortTypeName()
- + PORT_RESOURCE_ID_REGEX_SUFFIX;
-
- String portNetworkRole = getNetworkRole(portResourceId, portResourceIdRegex);
- String portIntNetworkRole = getNetworkRole(portResourceId, portIntResourceIdRegex);
-
- return Objects.nonNull(portNetworkRole) ? portNetworkRole : portIntNetworkRole;
+ return Optional.empty();
}
- private static String extractNetworkRoleFromSubInterfaceId(String resourceId,
- PortType portType) {
- String subInterfaceResourceIdRegex =
- SUB_INTERFACE_INT_RESOURCE_ID_REGEX_PREFIX + portType.getPortTypeName()
- + PORT_RESOURCE_ID_REGEX_SUFFIX;
+ public static Optional<String> extractNetworkRoleFromSubInterfaceId(String resourceId,
+ String resourceType) {
+ Optional<PortType> portType = getPortType(resourceType);
+ if (portType.isPresent()) {
+ String subInterfaceResourceIdRegex =
+ SUB_INTERFACE_INT_RESOURCE_ID_REGEX_PREFIX + portType.get().getPortTypeName()
+ + PORT_RESOURCE_ID_REGEX_SUFFIX;
- return getNetworkRole(resourceId, subInterfaceResourceIdRegex);
+ return Optional.ofNullable(getNetworkRole(resourceId, subInterfaceResourceIdRegex));
+ }
+ return Optional.empty();
}
private enum PortType {
"vm_type_subint_networkrole_vmi");
subInterfaceResourceIds.forEach(resourceId -> {
- Optional<String> networkRole=HeatToToscaUtil.evaluateNetworkRoleFromResourceId(resourceId,
+ Optional<String> networkRole = HeatToToscaUtil.extractNetworkRoleFromSubInterfaceId(
+ resourceId,
HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource());
Assert.assertTrue(networkRole.isPresent()
&& "networkrole".equals(networkRole.get()));
"vm_type_11_subint_11_vmi_11");
subInterfaceResourceIds.forEach(resourceId -> {
- Optional<String> networkRole=HeatToToscaUtil.evaluateNetworkRoleFromResourceId(resourceId,
+ Optional<String> networkRole = HeatToToscaUtil.extractNetworkRoleFromSubInterfaceId(
+ resourceId,
HeatResourcesTypes.CONTRAIL_V2_VIRTUAL_MACHINE_INTERFACE_RESOURCE_TYPE.getHeatResource());
Assert.assertFalse(networkRole.isPresent());
}
type: tosca.capabilities.Node
occurrences:
- 1
- - UNBOUNDED
\ No newline at end of file
+ - UNBOUNDED
description: List of subinterface vlan tags
entry_schema:
type: string
- untr_network_collection_function:
- type: string
- required: true
- untr_vfc_instance_group_function:
- type: string
- required: true
vdbe_flavor_name:
hidden: false
immutable: false
members:
- control_int_net
- abstract_vdbe
- untr_group:
- type: org.openecomp.groups.VfcInstanceGroup
- properties:
- vfc_parent_port_role: untr
- network_collection_function:
- get_input: untr_network_collection_function
- vfc_instance_group_function:
- get_input: untr_vfc_instance_group_function
- subinterface_role: untr
- members:
- - abstract_vdbe
\ No newline at end of file
- dependency
dependency_vdbe:
- vdbe
- - dependency
\ No newline at end of file
+ - dependency
- dependency
binding_vdbe_0_untr_vmi_0:
- vdbe_0_untr_vmi_0
- - binding
\ No newline at end of file
+ - binding
immutable: false
type: string
description: UID of OAM network
- Vlan_network_collection_function:
- type: string
- required: true
ps_server_1b_ips:
hidden: false
immutable: false
hidden: false
immutable: false
type: string
- Vlan_vfc_instance_group_function:
- type: string
- required: true
packet_external_network_name:
hidden: false
immutable: false
- packet_internal_network
- abstract_ps_server_1b
- abstract_pd_server_1b
- Vlan_group:
- type: org.openecomp.groups.VfcInstanceGroup
- properties:
- vfc_parent_port_role: 1b
- network_collection_function:
- get_input: Vlan_network_collection_function
- vfc_instance_group_function:
- get_input: Vlan_vfc_instance_group_function
- subinterface_role: Vlan
- members:
- - abstract_pd_server_1b
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
capabilities:
- link_pd_server_1b_pd_server_2b_port
dependency_packet_external_network:
- packet_external_network
- - dependency
\ No newline at end of file
+ - dependency
file: GlobalSubstitutionTypesServiceTemplate.yaml
topology_template:
inputs:
- Vlan_network_collection_function:
+ port_net:
+ hidden: false
+ immutable: false
+ type: string
+ description: port network
+ pd_server_1b_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor for PD server
+ pd_server_1b_ips:
+ hidden: false
+ immutable: false
+ type: string
+ packet_external_network_name:
+ hidden: false
+ immutable: false
type: string
- required: true
+ description: network name
packet_internal_network_name:
hidden: false
immutable: false
description: CMAUI1, CMAUI2 server names
entry_schema:
type: string
- port_net:
- hidden: false
- immutable: false
- type: string
- description: port network
- pd_server_1b_flavor:
- hidden: false
- immutable: false
- type: string
- description: Flavor for PD server
- pd_server_1b_ips:
- hidden: false
- immutable: false
- type: string
- Vlan_vfc_instance_group_function:
- type: string
- required: true
- packet_external_network_name:
- hidden: false
- immutable: false
- type: string
- description: network name
availability_zone_0:
label: availabilityzone name
hidden: false
- packet_internal_network
- test_nested_level2
- abstract_pd_server_1b
- Vlan_group:
- type: org.openecomp.groups.VfcInstanceGroup
- properties:
- vfc_parent_port_role: 1b
- network_collection_function:
- get_input: Vlan_network_collection_function
- vfc_instance_group_function:
- get_input: Vlan_vfc_instance_group_function
- subinterface_role: Vlan
- members:
- - test_nested_level2
- - abstract_pd_server_1b
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
capabilities:
- dependency
dependency_packet_external_network:
- packet_external_network
- - dependency
\ No newline at end of file
+ - dependency
file: GlobalSubstitutionTypesServiceTemplate.yaml
topology_template:
inputs:
- Vlan_network_collection_function:
+ port_net:
+ hidden: false
+ immutable: false
type: string
- required: true
+ description: port network
+ pd_server_1b_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor for PD server
+ pd_server_1b_ips:
+ hidden: false
+ immutable: false
+ type: string
+ packet_external_network_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: network name
packet_internal_network_name:
hidden: false
immutable: false
description: CMAUI1, CMAUI2 server names
entry_schema:
type: string
- port_net:
- hidden: false
- immutable: false
- type: string
- description: port network
- pd_server_1b_flavor:
- hidden: false
- immutable: false
- type: string
- description: Flavor for PD server
- pd_server_1b_ips:
- hidden: false
- immutable: false
- type: string
- Vlan_vfc_instance_group_function:
- type: string
- required: true
- packet_external_network_name:
- hidden: false
- immutable: false
- type: string
- description: network name
availability_zone_0:
label: availabilityzone name
hidden: false
- packet_internal_network
- test_nested_level2
- abstract_pd_server_1b
- Vlan_group:
- type: org.openecomp.groups.VfcInstanceGroup
- properties:
- vfc_parent_port_role: 1b
- network_collection_function:
- get_input: Vlan_network_collection_function
- vfc_instance_group_function:
- get_input: Vlan_vfc_instance_group_function
- subinterface_role: Vlan
- members:
- - abstract_pd_server_1b
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
capabilities:
- dependency
dependency_packet_external_network:
- packet_external_network
- - dependency
\ No newline at end of file
+ - dependency
file: GlobalSubstitutionTypesServiceTemplate.yaml
topology_template:
inputs:
- Vlan_network_collection_function:
- type: string
- required: true
- ps_server_1b_ips:
- hidden: false
- immutable: false
- type: string
- security_group_name:
- hidden: false
- immutable: false
- type: list
- description: CMAUI1, CMAUI2 server names
- entry_schema:
- type: string
- ps_server_1b_names:
- hidden: false
- immutable: false
- type: list
- description: Ps server names
- entry_schema:
- type: string
- packet_ext_network_name:
- hidden: false
- immutable: false
- type: string
- description: network name
port_net:
hidden: false
immutable: false
hidden: false
immutable: false
type: string
+ ps_server_1b_ips:
+ hidden: false
+ immutable: false
+ type: string
packet_int_network_name:
hidden: false
immutable: false
type: string
description: network name
- Vlan_vfc_instance_group_function:
- type: string
- required: true
+ security_group_name:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
availability_zone_0:
label: availabilityzone name
hidden: false
immutable: false
type: string
description: sub interface network
+ ps_server_1b_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: Ps server names
+ entry_schema:
+ type: string
+ packet_ext_network_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: network name
node_templates:
packet_ext_network:
type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
node: packet_ext_network
relationship: tosca.relationships.network.LinksTo
groups:
- Vlan_group:
- type: org.openecomp.groups.VfcInstanceGroup
- properties:
- vfc_parent_port_role: 1b
- network_collection_function:
- get_input: Vlan_network_collection_function
- vfc_instance_group_function:
- get_input: Vlan_vfc_instance_group_function
- subinterface_role: Vlan
- members:
- - abstract_ps_server_1b
nested_pattern5_levelTwo_group:
type: org.openecomp.groups.heat.HeatStack
properties:
- dependency_ps_server_1b
dependency_server_1b_ps_2:
- abstract_ps_server_1b
- - dependency_ps_server_1b
\ No newline at end of file
+ - dependency_ps_server_1b
file: GlobalSubstitutionTypesServiceTemplate.yaml
topology_template:
inputs:
- Vlan_network_collection_function:
- type: string
- required: true
ps_server_1b_ips:
hidden: false
immutable: false
hidden: false
immutable: false
type: string
- Vlan_vfc_instance_group_function:
- type: string
- required: true
availability_zone_0:
label: availabilityzone name
hidden: false
members:
- test_nested_level2
- abstract_pd_server_1b
- Vlan_group:
- type: org.openecomp.groups.VfcInstanceGroup
- properties:
- vfc_parent_port_role: 1b
- network_collection_function:
- get_input: Vlan_network_collection_function
- vfc_instance_group_function:
- get_input: Vlan_vfc_instance_group_function
- subinterface_role: Vlan
- members:
- - test_nested_level2
- - abstract_pd_server_1b
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
capabilities:
- dependency
local_storage_server_1b_pd_1_test_nested_level2:
- test_nested_level2
- - local_storage_server_1b_pd_1
\ No newline at end of file
+ - local_storage_server_1b_pd_1
source_type: HEAT
param_name: pd_server_1b_ips
type: string
- Vlan_network_collection_function:
- type: string
- required: true
- Vlan_vfc_instance_group_function:
- type: string
- required: true
pd_server_1b_names:
hidden: false
immutable: false
- test_nested_level1
- packet_externalmain_network
- abstract_pd_server_1b_1
- Vlan_group:
- type: org.openecomp.groups.VfcInstanceGroup
- properties:
- vfc_parent_port_role: 1b
- network_collection_function:
- get_input: Vlan_network_collection_function
- vfc_instance_group_function:
- get_input: Vlan_vfc_instance_group_function
- subinterface_role: Vlan
- members:
- - abstract_pd_server_1b_1
\ No newline at end of file
file: GlobalSubstitutionTypesServiceTemplate.yaml
topology_template:
inputs:
- Vlan_network_collection_function:
- type: string
- required: true
ps_server_1b_ips:
hidden: false
immutable: false
immutable: false
type: string
description: network name
- Vlan_vfc_instance_group_function:
- type: string
- required: true
availability_zone_0:
label: availabilityzone name
hidden: false
- packet_int_network
- abstract_ps_server_1b
- abstract_pd_server_1b
- Vlan_group:
- type: org.openecomp.groups.VfcInstanceGroup
- properties:
- vfc_parent_port_role: 1b
- network_collection_function:
- get_input: Vlan_network_collection_function
- vfc_instance_group_function:
- get_input: Vlan_vfc_instance_group_function
- subinterface_role: Vlan
- members:
- - abstract_ps_server_1b
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
capabilities:
- dependency_pd_server_1b
dependency_server_1b_pd_3:
- abstract_pd_server_1b
- - dependency_pd_server_1b
\ No newline at end of file
+ - dependency_pd_server_1b
immutable: false
type: string
description: UID of OAM network
- Vlan_network_collection_function:
- type: string
- required: true
ps_server_1b_ips:
hidden: false
immutable: false
hidden: false
immutable: false
type: string
- Vlan_vfc_instance_group_function:
- type: string
- required: true
packet_external_network_name:
hidden: false
immutable: false
- packet_external_network
- packet_internal_network
- abstract_pd_server_1b
- Vlan_group:
- type: org.openecomp.groups.VfcInstanceGroup
- properties:
- vfc_parent_port_role: 1b
- network_collection_function:
- get_input: Vlan_network_collection_function
- vfc_instance_group_function:
- get_input: Vlan_vfc_instance_group_function
- subinterface_role: Vlan
- members:
- - abstract_pd_server_1b
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
capabilities:
- dependency_pd_server_1b_pd_server_1b_port
dependency_packet_external_network:
- packet_external_network
- - dependency
\ No newline at end of file
+ - dependency
file: GlobalSubstitutionTypesServiceTemplate.yaml
topology_template:
inputs:
- Vlan_network_collection_function:
+ port_net:
+ hidden: false
+ immutable: false
type: string
- required: true
+ description: port network
+ pd_server_1b_flavor:
+ hidden: false
+ immutable: false
+ type: string
+ description: Flavor for PD server
+ pd_server_1b_ips:
+ hidden: false
+ immutable: false
+ type: string
+ packet_external_network_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: network name
packet_internal_network_name:
hidden: false
immutable: false
description: CMAUI1, CMAUI2 server names
entry_schema:
type: string
- port_net:
- hidden: false
- immutable: false
- type: string
- description: port network
- pd_server_1b_flavor:
- hidden: false
- immutable: false
- type: string
- description: Flavor for PD server
- pd_server_1b_ips:
- hidden: false
- immutable: false
- type: string
- Vlan_vfc_instance_group_function:
- type: string
- required: true
- packet_external_network_name:
- hidden: false
- immutable: false
- type: string
- description: network name
availability_zone_0:
label: availabilityzone name
hidden: false
- packet_internal_network
- test_nested_level2
- abstract_pd_server_1b
- Vlan_group:
- type: org.openecomp.groups.VfcInstanceGroup
- properties:
- vfc_parent_port_role: 1b
- network_collection_function:
- get_input: Vlan_network_collection_function
- vfc_instance_group_function:
- get_input: Vlan_vfc_instance_group_function
- subinterface_role: Vlan
- members:
- - abstract_pd_server_1b
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.heat.nested_pattern5
capabilities:
- dependency
dependency_packet_external_network:
- packet_external_network
- - dependency
\ No newline at end of file
+ - dependency
file: GlobalSubstitutionTypesServiceTemplate.yaml
topology_template:
inputs:
- Vlan_network_collection_function:
- type: string
- required: true
- ps_server_1b_ips:
- hidden: false
- immutable: false
- type: string
- security_group_name:
- hidden: false
- immutable: false
- type: list
- description: CMAUI1, CMAUI2 server names
- entry_schema:
- type: string
- ps_server_1b_names:
- hidden: false
- immutable: false
- type: list
- description: Ps server names
- entry_schema:
- type: string
- packet_ext_network_name:
- hidden: false
- immutable: false
- type: string
- description: network name
port_net:
hidden: false
immutable: false
hidden: false
immutable: false
type: string
+ ps_server_1b_ips:
+ hidden: false
+ immutable: false
+ type: string
packet_int_network_name:
hidden: false
immutable: false
type: string
description: network name
- Vlan_vfc_instance_group_function:
- type: string
- required: true
+ security_group_name:
+ hidden: false
+ immutable: false
+ type: list
+ description: CMAUI1, CMAUI2 server names
+ entry_schema:
+ type: string
availability_zone_0:
label: availabilityzone name
hidden: false
immutable: false
type: string
description: sub interface network
+ ps_server_1b_names:
+ hidden: false
+ immutable: false
+ type: list
+ description: Ps server names
+ entry_schema:
+ type: string
+ packet_ext_network_name:
+ hidden: false
+ immutable: false
+ type: string
+ description: network name
node_templates:
packet_ext_network:
type: org.openecomp.resource.vl.nodes.heat.network.neutron.Net
node: packet_ext_network
relationship: tosca.relationships.network.LinksTo
groups:
- Vlan_group:
- type: org.openecomp.groups.VfcInstanceGroup
- properties:
- vfc_parent_port_role: 1b
- network_collection_function:
- get_input: Vlan_network_collection_function
- vfc_instance_group_function:
- get_input: Vlan_vfc_instance_group_function
- subinterface_role: Vlan
- members:
- - abstract_ps_server_1b
nested_pattern5_levelTwo_group:
type: org.openecomp.groups.heat.HeatStack
properties:
- dependency_ps_server_1b
dependency_server_1b_ps_2:
- abstract_ps_server_1b_1
- - dependency_ps_server_1b
\ No newline at end of file
+ - dependency_ps_server_1b
type: number
resources:
- template_Vlan_vmi_1:
+ template_subint_Vlan_vmi_1:
type: OS::ContrailV2::VirtualMachineInterface
properties:
name:
occurrences:
- 0
- UNBOUNDED
- - dependency_template_Vlan_vmi_1_test_resourceGroup_0:
+ - dependency_template_subint_Vlan_vmi_1_test_resourceGroup_0:
capability: tosca.capabilities.Node
node: tosca.nodes.Root
relationship: tosca.relationships.DependsOn
occurrences:
- 0
- UNBOUNDED
- - dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+ - dependency_template_subint_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
capability: tosca.capabilities.Node
node: tosca.nodes.Root
relationship: tosca.relationships.DependsOn
occurrences:
- 0
- UNBOUNDED
- - dependency_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+ - dependency_template_subint_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
capability: tosca.capabilities.Node
node: tosca.nodes.Root
relationship: tosca.relationships.DependsOn
occurrences:
- 1
- UNBOUNDED
+ feature_template_subint_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
disk.device.read.bytes.rate_server_1b_pd_0:
type: org.openecomp.capabilities.metric.Ceilometer
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
- feature_template_Vlan_vmi_1_test_resourceGroup_0:
- type: tosca.capabilities.Node
- occurrences:
- - 1
- - UNBOUNDED
end_point_packet_external_network:
type: tosca.capabilities.Endpoint
occurrences:
occurrences:
- 1
- UNBOUNDED
- feature_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
- type: tosca.capabilities.Node
- occurrences:
- - 1
- - UNBOUNDED
- feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
- type: tosca.capabilities.Node
- occurrences:
- - 1
- - UNBOUNDED
network.outgoing.bytes_pd_server_1b_port_0:
type: org.openecomp.capabilities.metric.Ceilometer
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
+ feature_template_subint_Vlan_vmi_1_test_resourceGroup_0:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
disk.device.read.requests_server_1b_ps_1_test_nested_level2:
type: org.openecomp.capabilities.metric.Ceilometer
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
+ feature_template_subint_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
binding_ps_server_1b_port_1_test_nested_level2:
type: tosca.capabilities.network.Bindable
valid_source_types:
occurrences:
- 0
- UNBOUNDED
- - dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+ - dependency_template_subint_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
capability: tosca.capabilities.Node
node: tosca.nodes.Root
relationship: tosca.relationships.DependsOn
occurrences:
- 0
- UNBOUNDED
- - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+ - link_template_subint_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
capability: tosca.capabilities.network.Linkable
relationship: tosca.relationships.network.LinksTo
occurrences:
occurrences:
- 1
- UNBOUNDED
- feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
- type: tosca.capabilities.Node
- occurrences:
- - 1
- - UNBOUNDED
disk.device.write.bytes.rate_pd_server_1b:
type: org.openecomp.capabilities.metric.Ceilometer
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
+ feature_template_subint_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
cpu_util_pd_server_1b:
type: org.openecomp.capabilities.metric.Ceilometer
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 0
- UNBOUNDED
- - dependency_template_Vlan_vmi_1_test_resourceGroup_1:
+ - dependency_template_subint_Vlan_vmi_1_test_resourceGroup_1:
capability: tosca.capabilities.Node
node: tosca.nodes.Root
relationship: tosca.relationships.DependsOn
occurrences:
- 0
- UNBOUNDED
- - dependency_template_Vlan_vmi_1_test_resourceGroup_2:
+ - dependency_template_subint_Vlan_vmi_1_test_resourceGroup_2:
capability: tosca.capabilities.Node
node: tosca.nodes.Root
relationship: tosca.relationships.DependsOn
occurrences:
- 1
- UNBOUNDED
- feature_template_Vlan_vmi_1_test_resourceGroup_1:
- type: tosca.capabilities.Node
- occurrences:
- - 1
- - UNBOUNDED
- feature_template_Vlan_vmi_1_test_resourceGroup_2:
- type: tosca.capabilities.Node
- occurrences:
- - 1
- - UNBOUNDED
disk.device.capacity_server_1b_ps_1:
type: org.openecomp.capabilities.metric.Ceilometer
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 1
- UNBOUNDED
+ feature_template_subint_Vlan_vmi_1_test_resourceGroup_2:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
+ feature_template_subint_Vlan_vmi_1_test_resourceGroup_1:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
disk.read.bytes.rate_server_1b_ps_2:
type: org.openecomp.capabilities.metric.Ceilometer
description: A node type that includes the Metric capability indicates that it can be monitored using ceilometer.
occurrences:
- 0
- UNBOUNDED
- - dependency_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+ - dependency_template_subint_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
capability: tosca.capabilities.Node
node: tosca.nodes.Root
relationship: tosca.relationships.DependsOn
occurrences:
- 0
- UNBOUNDED
- - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+ - link_template_subint_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
capability: tosca.capabilities.network.Linkable
relationship: tosca.relationships.network.LinksTo
occurrences:
occurrences:
- 1
- UNBOUNDED
+ feature_template_subint_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+ type: tosca.capabilities.Node
+ occurrences:
+ - 1
+ - UNBOUNDED
binding_ps_server_1b:
type: tosca.capabilities.network.Bindable
occurrences:
occurrences:
- 0
- UNBOUNDED
- feature_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
- type: tosca.capabilities.Node
- occurrences:
- - 1
- - UNBOUNDED
org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan:
derived_from: org.openecomp.resource.abstract.nodes.AbstractSubstitute
properties:
required: true
status: SUPPORTED
requirements:
- - dependency_template_Vlan_vmi_1:
+ - dependency_template_subint_Vlan_vmi_1:
capability: tosca.capabilities.Node
node: tosca.nodes.Root
relationship: tosca.relationships.DependsOn
occurrences:
- 0
- UNBOUNDED
- - link_template_Vlan_vmi_1:
+ - link_template_subint_Vlan_vmi_1:
capability: tosca.capabilities.network.Linkable
relationship: tosca.relationships.network.LinksTo
occurrences:
- 1
- 1
- - binding_template_Vlan_vmi_1:
+ - binding_template_subint_Vlan_vmi_1:
capability: tosca.capabilities.network.Bindable
node: org.openecomp.resource.cp.nodes.network.Port
relationship: tosca.relationships.network.BindsTo
- 1
- 1
capabilities:
- feature_template_Vlan_vmi_1:
+ feature_template_subint_Vlan_vmi_1:
type: tosca.capabilities.Node
occurrences:
- 1
- - UNBOUNDED
+ - UNBOUNDED
\ No newline at end of file
- subinterface_nested_vlan_net1
- index_value
requirements:
- - binding_template_Vlan_vmi_1:
+ - binding_template_subint_Vlan_vmi_1:
capability: tosca.capabilities.network.Bindable
node: pd_server_1b_pd_server_1b_port
relationship: tosca.relationships.network.BindsTo
disk.write.requests_pd_server_1b:
- pd_server_1b
- disk.write.requests
- feature_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
- - pd_server_1b_pd_server_1b_port_nested_vlan
- - feature_template_Vlan_vmi_1
disk.device.write.bytes.rate_pd_server_1b:
- pd_server_1b
- disk.device.write.bytes.rate
binding_pd_server_1b:
- pd_server_1b
- binding
+ feature_template_subint_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+ - pd_server_1b_pd_server_1b_port_nested_vlan
+ - feature_template_subint_Vlan_vmi_1
cpu_util_pd_server_1b:
- pd_server_1b
- cpu_util
- pd_server_1b
- disk.write.requests.rate
requirements:
- link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
- - pd_server_1b_pd_server_1b_port_nested_vlan
- - link_template_Vlan_vmi_1
dependency_pd_server_1b:
- pd_server_1b
- dependency
dependency_pd_server_1b_pd_server_1b_port_nested_vlan:
- pd_server_1b_pd_server_1b_port_nested_vlan
- dependency
- dependency_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+ link_template_subint_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
- pd_server_1b_pd_server_1b_port_nested_vlan
- - dependency_template_Vlan_vmi_1
+ - link_template_subint_Vlan_vmi_1
dependency_pd_server_1b_pd_server_1b_port:
- pd_server_1b_pd_server_1b_port
- dependency
+ dependency_template_subint_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+ - pd_server_1b_pd_server_1b_port_nested_vlan
+ - dependency_template_subint_Vlan_vmi_1
\ No newline at end of file
- subinterface_nested_vlan_net1
- index_value
requirements:
- - binding_template_Vlan_vmi_1:
+ - binding_template_subint_Vlan_vmi_1:
capability: tosca.capabilities.network.Bindable
node: ps_server_1b_ps_server_1b_port
relationship: tosca.relationships.network.BindsTo
disk.root.size_ps_server_1b:
- ps_server_1b
- disk.root.size
+ feature_template_subint_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+ - ps_server_1b_ps_server_1b_port_nested_vlan
+ - feature_template_subint_Vlan_vmi_1
binding_ps_server_1b:
- ps_server_1b
- binding
binding_ps_server_1b_ps_server_1b_port:
- ps_server_1b_ps_server_1b_port
- binding
- feature_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
- - ps_server_1b_ps_server_1b_port_nested_vlan
- - feature_template_Vlan_vmi_1
requirements:
- dependency_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
- - ps_server_1b_ps_server_1b_port_nested_vlan
- - dependency_template_Vlan_vmi_1
local_storage_ps_server_1b:
- ps_server_1b
- local_storage
link_ps_server_1b_ps_server_1b_port:
- ps_server_1b_ps_server_1b_port
- link
- link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+ dependency_template_subint_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
- ps_server_1b_ps_server_1b_port_nested_vlan
- - link_template_Vlan_vmi_1
+ - dependency_template_subint_Vlan_vmi_1
dependency_ps_server_1b:
- ps_server_1b
- dependency
+ link_template_subint_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+ - ps_server_1b_ps_server_1b_port_nested_vlan
+ - link_template_subint_Vlan_vmi_1
\ No newline at end of file
capability: tosca.capabilities.network.Linkable
node: packet_internal_network
relationship: tosca.relationships.network.LinksTo
- - link_template_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
+ - link_template_subint_Vlan_vmi_1_pd_server_1b_pd_server_1b_port_nested_vlan:
capability: tosca.capabilities.network.Linkable
node: packet_external_network
relationship: tosca.relationships.network.LinksTo
disk.latency_server_1b_ps_1_test_nested_level2:
- test_nested_level2
- disk.latency_server_1b_ps_1
+ feature_template_subint_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+ - test_nested_level2
+ - feature_template_subint_Vlan_vmi_1_test_resourceGroup_1
disk.device.read.bytes.rate_server_1b_pd_0:
- abstract_pd_server_1b
- disk.device.read.bytes.rate_pd_server_1b
disk.iops_server_1b_pd_0:
- abstract_pd_server_1b
- disk.iops_pd_server_1b
- feature_template_Vlan_vmi_1_test_resourceGroup_0:
- - test_resourceGroup_0
- - feature_template_Vlan_vmi_1
end_point_packet_external_network:
- packet_external_network
- end_point
disk.device.iops_server_1b_ps_2_test_nested_level2:
- test_nested_level2
- disk.device.iops_server_1b_ps_2
- feature_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
- - test_nested_level2
- - feature_template_Vlan_vmi_1_test_resourceGroup_2
- feature_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
- - test_nested_level2
- - feature_template_Vlan_vmi_1_test_resourceGroup_1
network.outgoing.bytes_pd_server_1b_port_0:
- abstract_pd_server_1b
- network.outgoing.bytes_pd_server_1b_pd_server_1b_port
network.incoming.packets.rate_ps_server_1b_port_1_test_nested_level2:
- test_nested_level2
- network.incoming.packets.rate_ps_server_1b_port_1
+ feature_template_subint_Vlan_vmi_1_test_resourceGroup_0:
+ - test_resourceGroup_0
+ - feature_template_subint_Vlan_vmi_1
disk.device.read.requests_server_1b_ps_1_test_nested_level2:
- test_nested_level2
- disk.device.read.requests_server_1b_ps_1
network.incoming.bytes.rate_ps_server_1b_port_1_test_nested_level2:
- test_nested_level2
- network.incoming.bytes.rate_ps_server_1b_port_1
+ feature_template_subint_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+ - test_nested_level2
+ - feature_template_subint_Vlan_vmi_1_test_resourceGroup_2
binding_ps_server_1b_port_1_test_nested_level2:
- test_nested_level2
- binding_ps_server_1b_port_1
dependency_server_1b_ps_1_test_nested_level2:
- test_nested_level2
- dependency_server_1b_ps_1
+ dependency_template_subint_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
+ - test_nested_level2
+ - dependency_template_subint_Vlan_vmi_1_test_resourceGroup_1
+ dependency_template_subint_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
+ - test_nested_level2
+ - dependency_template_subint_Vlan_vmi_1_test_resourceGroup_2
dependency_ps_server_1b_port_1_test_nested_level2:
- test_nested_level2
- dependency_ps_server_1b_port_1
dependency_pd_server_1b_port_0:
- abstract_pd_server_1b
- dependency_pd_server_1b_pd_server_1b_port
- dependency_template_Vlan_vmi_1_test_resourceGroup_0:
- - test_resourceGroup_0
- - dependency_template_Vlan_vmi_1
dependency_ps_server_1b_port_2_test_nested_level2:
- test_nested_level2
- dependency_ps_server_1b_port_2
dependency_test_resourceGroup_2_test_nested_level2:
- test_nested_level2
- dependency_test_resourceGroup_2
- dependency_template_Vlan_vmi_1_test_resourceGroup_2_test_nested_level2:
- - test_nested_level2
- - dependency_template_Vlan_vmi_1_test_resourceGroup_2
dependency_test_resourceGroup_0:
- test_resourceGroup_0
- dependency
dependency_server_1b_pd_0:
- abstract_pd_server_1b
- dependency_pd_server_1b
- dependency_template_Vlan_vmi_1_test_resourceGroup_1_test_nested_level2:
- - test_nested_level2
- - dependency_template_Vlan_vmi_1_test_resourceGroup_1
dependency_packet_ext_network_test_nested_level2:
- test_nested_level2
- dependency_packet_ext_network
+ dependency_template_subint_Vlan_vmi_1_test_resourceGroup_0:
+ - test_resourceGroup_0
+ - dependency_template_subint_Vlan_vmi_1
dependency_test_nested_level2:
- test_nested_level2
- dependency
capability: tosca.capabilities.network.Linkable
node: packet_int_network
relationship: tosca.relationships.network.LinksTo
- - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+ - link_template_subint_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
capability: tosca.capabilities.network.Linkable
node: packet_ext_network
relationship: tosca.relationships.network.LinksTo
capability: tosca.capabilities.network.Linkable
node: packet_int_network
relationship: tosca.relationships.network.LinksTo
- - link_template_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
+ - link_template_subint_Vlan_vmi_1_ps_server_1b_ps_server_1b_port_nested_vlan:
capability: tosca.capabilities.network.Linkable
node: packet_ext_network
relationship: tosca.relationships.network.LinksTo
instance_server_1b_ps_2:
- abstract_ps_server_1b_1
- instance_ps_server_1b
- feature_template_Vlan_vmi_1_test_resourceGroup_1:
- - test_resourceGroup_1
- - feature_template_Vlan_vmi_1
- feature_template_Vlan_vmi_1_test_resourceGroup_2:
- - test_resourceGroup_2
- - feature_template_Vlan_vmi_1
disk.device.capacity_server_1b_ps_1:
- abstract_ps_server_1b_0
- disk.device.capacity_ps_server_1b
vcpus_server_1b_ps_2:
- abstract_ps_server_1b_1
- vcpus_ps_server_1b
+ feature_template_subint_Vlan_vmi_1_test_resourceGroup_2:
+ - test_resourceGroup_2
+ - feature_template_subint_Vlan_vmi_1
+ feature_template_subint_Vlan_vmi_1_test_resourceGroup_1:
+ - test_resourceGroup_1
+ - feature_template_subint_Vlan_vmi_1
disk.read.bytes.rate_server_1b_ps_2:
- abstract_ps_server_1b_1
- disk.read.bytes.rate_ps_server_1b
dependency_packet_ext_network:
- packet_ext_network
- dependency
- dependency_template_Vlan_vmi_1_test_resourceGroup_2:
- - test_resourceGroup_2
- - dependency_template_Vlan_vmi_1
- dependency_template_Vlan_vmi_1_test_resourceGroup_1:
- - test_resourceGroup_1
- - dependency_template_Vlan_vmi_1
local_storage_server_1b_ps_2:
- abstract_ps_server_1b_1
- local_storage_ps_server_1b
dependency_server_1b_ps_1:
- abstract_ps_server_1b_0
- dependency_ps_server_1b
+ dependency_template_subint_Vlan_vmi_1_test_resourceGroup_2:
+ - test_resourceGroup_2
+ - dependency_template_subint_Vlan_vmi_1
dependency_server_1b_ps_2:
- abstract_ps_server_1b_1
- - dependency_ps_server_1b
\ No newline at end of file
+ - dependency_ps_server_1b
+ dependency_template_subint_Vlan_vmi_1_test_resourceGroup_1:
+ - test_resourceGroup_1
+ - dependency_template_subint_Vlan_vmi_1
\ No newline at end of file
immutable: false
type: float
node_templates:
- template_Vlan_vmi_1:
+ template_subint_Vlan_vmi_1:
type: org.openecomp.resource.cp.nodes.heat.network.contrailV2.VLANSubInterface
properties:
virtual_machine_interface_refs:
heat_file: ../Artifacts/nested_vlan.yml
description: cmaui server template for vMMSC
members:
- - template_Vlan_vmi_1
+ - template_subint_Vlan_vmi_1
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.heat.subinterface.nested_vlan
capabilities:
- feature_template_Vlan_vmi_1:
- - template_Vlan_vmi_1
+ feature_template_subint_Vlan_vmi_1:
+ - template_subint_Vlan_vmi_1
- feature
requirements:
- link_template_Vlan_vmi_1:
- - template_Vlan_vmi_1
- - link
- dependency_template_Vlan_vmi_1:
- - template_Vlan_vmi_1
- - dependency
- binding_template_Vlan_vmi_1:
- - template_Vlan_vmi_1
+ binding_template_subint_Vlan_vmi_1:
+ - template_subint_Vlan_vmi_1
- binding
+ dependency_template_subint_Vlan_vmi_1:
+ - template_subint_Vlan_vmi_1
+ - dependency
+ link_template_subint_Vlan_vmi_1:
+ - template_subint_Vlan_vmi_1
+ - link
\ No newline at end of file