aboutsummaryrefslogtreecommitdiffstats
path: root/openecomp-be/lib/openecomp-sdc-enrichment-lib
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-be/lib/openecomp-sdc-enrichment-lib')
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/tosca/PortMirroringEnricher.java186
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_serverServiceTemplate.yaml32
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_1ServiceTemplate.yaml32
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_3ServiceTemplate.yaml32
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_4ServiceTemplate.yaml32
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_6ServiceTemplate.yaml32
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/oneLevel/out/Nested_computeServiceTemplate.yaml16
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/scalingInstance/out/Nested_pd_serverServiceTemplate.yaml20
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/diffPortType/out/MainServiceTemplate.yaml29
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/diffPortType/out/Nested_pd_serverServiceTemplate.yaml20
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/samePortType/out/MainServiceTemplate.yaml29
-rw-r--r--openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/samePortType/out/Nested_pd_serverServiceTemplate.yaml20
12 files changed, 223 insertions, 257 deletions
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/tosca/PortMirroringEnricher.java b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/tosca/PortMirroringEnricher.java
index 629868cb3a..eddbec3116 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/tosca/PortMirroringEnricher.java
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/main/java/org/openecomp/sdc/enrichment/impl/tosca/PortMirroringEnricher.java
@@ -1,18 +1,18 @@
/*
- * Copyright © 2016-2017 European Support Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+* Copyright © 2016-2018 European Support Limited
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
package org.openecomp.sdc.enrichment.impl.tosca;
@@ -21,21 +21,15 @@ import org.apache.commons.collections4.MapUtils;
import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;
import org.openecomp.sdc.datatypes.error.ErrorMessage;
import org.openecomp.sdc.enrichment.impl.tosca.model.PortMirroringConnectionPointDescription;
-import org.openecomp.sdc.tosca.datatypes.ToscaElementTypes;
import org.openecomp.sdc.tosca.datatypes.ToscaNodeType;
import org.openecomp.sdc.tosca.datatypes.ToscaServiceModel;
-import org.openecomp.sdc.tosca.datatypes.model.CapabilityAssignment;
import org.openecomp.sdc.tosca.datatypes.model.Import;
import org.openecomp.sdc.tosca.datatypes.model.NodeTemplate;
-import org.openecomp.sdc.tosca.datatypes.model.NodeType;
-import org.openecomp.sdc.tosca.datatypes.model.PropertyDefinition;
import org.openecomp.sdc.tosca.datatypes.model.RequirementAssignment;
import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
import org.openecomp.sdc.tosca.services.DataModelUtil;
-import org.openecomp.sdc.tosca.services.ToscaAnalyzerService;
import org.openecomp.sdc.tosca.services.ToscaConstants;
import org.openecomp.sdc.tosca.services.ToscaUtil;
-import org.openecomp.sdc.tosca.services.impl.ToscaAnalyzerServiceImpl;
import org.openecomp.sdc.translator.services.heattotosca.HeatToToscaUtil;
import org.openecomp.sdc.translator.services.heattotosca.globaltypes.GlobalTypesGenerator;
@@ -83,7 +77,7 @@ public class PortMirroringEnricher {
//Collect all the ports across all the service templates
collectPorts(serviceTemplateEntry.getValue()));
//Collect External ports from the list of all ports collected above
- filterExternalPorts(toscaServiceModel);
+ filterExternalPorts();
//Handle external port changes
handleExternalPorts(toscaServiceModel);
return errors;
@@ -97,44 +91,53 @@ public class PortMirroringEnricher {
Map<String, NodeTemplate> serviceTemplatePortNodeTemplates = nodeTemplates.entrySet().stream()
.filter(nodeTemplateEntry -> (Objects.nonNull(nodeTemplateEntry.getValue()))
&& (isPortNodeTemplate(nodeTemplateEntry.getValue().getType())))
- .collect(Collectors.toMap(nodeTemplateEntry -> nodeTemplateEntry.getKey(),
- nodeTemplateEntry -> nodeTemplateEntry.getValue()));
+ .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
portNodeTemplates.put(ToscaUtil.getServiceTemplateFileName(serviceTemplate),
serviceTemplatePortNodeTemplates);
//Get all linked internal ports from abstract node template link requirements
- List<String> abstractLinkedPortNodeTemplates = new ArrayList<>();
- for (Map.Entry<String, NodeTemplate> nodeTemplateEntry : nodeTemplates.entrySet()) {
- NodeTemplate nodeTemplate = nodeTemplateEntry.getValue();
- if (isSubstitutableNodeTemplate(nodeTemplate)) {
- List<Map<String, RequirementAssignment>> requirements = nodeTemplate.getRequirements();
- if (Objects.nonNull(requirements)) {
- for (Map<String, RequirementAssignment> requirement : requirements) {
- String requirementId = requirement.keySet().iterator().next();
- String abstractLinkRequirementIdPrefix = ToscaConstants.LINK_REQUIREMENT_ID + "_";
- if (requirementId.startsWith(abstractLinkRequirementIdPrefix)) {
- //Collect port node template ids from the link requirement ids in the abstract
- // node template
- abstractLinkedPortNodeTemplates.add(requirementId.substring(requirementId
- .indexOf("_") + 1));
- }
- }
- }
- if (CollectionUtils.isNotEmpty(abstractLinkedPortNodeTemplates)) {
- //Populate a map of the substitution service templates and list of internal ports
- addCollectedPortsToAbstractServiceTemplatePortMap(nodeTemplate,
- abstractLinkedPortNodeTemplates);
- }
+ collectLinkedInternalPorts(nodeTemplates);
+ }
+ }
+
+ private void collectLinkedInternalPorts(Map<String, NodeTemplate> nodeTemplates) {
+ List<String> abstractLinkedPortNodeTemplates = new ArrayList<>();
+ for (Map.Entry<String, NodeTemplate> nodeTemplateEntry : nodeTemplates.entrySet()) {
+ NodeTemplate nodeTemplate = nodeTemplateEntry.getValue();
+ if (isSubstitutableNodeTemplate(nodeTemplate)) {
+ List<Map<String, RequirementAssignment>> requirements = nodeTemplate.getRequirements();
+ if (Objects.isNull(requirements)) {
+ return;
+ }
+
+ requirements.forEach(requirement -> addInternalPortToAbstractNode(requirement,
+ abstractLinkedPortNodeTemplates));
+
+ if (CollectionUtils.isNotEmpty(abstractLinkedPortNodeTemplates)) {
+ //Populate a map of the substitution service templates and list of internal ports
+ addCollectedPortsToAbstractServiceTemplatePortMap(nodeTemplate,
+ abstractLinkedPortNodeTemplates);
}
}
}
}
+ private void addInternalPortToAbstractNode(Map<String, RequirementAssignment> requirement,
+ List<String> abstractLinkedPortNodeTemplates) {
+ String requirementId = requirement.keySet().iterator().next();
+ String abstractLinkRequirementIdPrefix = ToscaConstants.LINK_REQUIREMENT_ID + "_";
+ if (requirementId.startsWith(abstractLinkRequirementIdPrefix)) {
+ //Collect port node template ids from the link requirement ids in the abstract
+ // node template
+ abstractLinkedPortNodeTemplates.add(requirementId.substring(requirementId
+ .indexOf("_") + 1));
+ }
+ }
+
private void addCollectedPortsToAbstractServiceTemplatePortMap(NodeTemplate nodeTemplate,
- List<String>
- abstractLinkedPortNodeTemplates) {
- String substitutionServiceTemplateName = null;
+ List<String> abstractLinkedPortNodeTemplates) {
+ String substitutionServiceTemplateName;
if (nodeTemplate.getProperties() != null) {
Map serviceTemplateFilter = (Map<String, Object>) nodeTemplate.getProperties()
.get(ToscaConstants.SERVICE_TEMPLATE_FILTER_PROPERTY_NAME);
@@ -154,7 +157,7 @@ public class PortMirroringEnricher {
}
}
- private void filterExternalPorts(ToscaServiceModel toscaServiceModel) {
+ private void filterExternalPorts() {
for (Map.Entry<String, Map<String, NodeTemplate>> portNodeTemplateEntry : portNodeTemplates
.entrySet()) {
Map<String, NodeTemplate> externalPorts = new HashMap<>();
@@ -163,7 +166,6 @@ public class PortMirroringEnricher {
for (Map.Entry<String, NodeTemplate> portNodeTemplate : portNodeTemplateMap.entrySet()) {
String nodeTemplateId = portNodeTemplate.getKey();
NodeTemplate nodeTemplate = portNodeTemplate.getValue();
- String newPortNodeType = nodeTemplate.getType();
if (!isInternalPort(serviceTemplateFileName, nodeTemplateId, nodeTemplate)) {
//External Port
externalPorts.putIfAbsent(nodeTemplateId, nodeTemplate);
@@ -173,19 +175,20 @@ public class PortMirroringEnricher {
}
}
- private void updateExternalPortNodeTemplate(NodeTemplate externalPortNodeTemplate,
- ToscaServiceModel toscaServiceModel) {
+ private void updateExternalPortNodeTemplate(NodeTemplate externalPortNodeTemplate) {
String currentPortNodeType = externalPortNodeTemplate.getType();
- if (currentPortNodeType.equals(ToscaNodeType.CONTRAIL_PORT)
- || currentPortNodeType.equals(ToscaNodeType.CONTRAILV2_VIRTUAL_MACHINE_INTERFACE)) {
+ if (currentPortNodeType.equals(ToscaNodeType.CONTRAIL_PORT)) {
//Set external contrail port node type
externalPortNodeTemplate.setType(ToscaNodeType.EXTERNAL_CONTRAIL_PORT);
- addPortMirroringCapability(externalPortNodeTemplate);
+ } else if (currentPortNodeType.equals(ToscaNodeType.CONTRAILV2_VIRTUAL_MACHINE_INTERFACE)) {
+ //Set external contrail VMI port node type
+ externalPortNodeTemplate.setType(ToscaNodeType.EXTERNAL_VMI_PORT);
} else if (currentPortNodeType.equals(ToscaNodeType.NEUTRON_PORT)) {
//Set external neutron port node type
externalPortNodeTemplate.setType(ToscaNodeType.EXTERNAL_NEUTRON_PORT);
- addPortMirroringCapability(externalPortNodeTemplate);
}
+
+ addPortMirroringCapability(externalPortNodeTemplate);
}
private void handleExternalPorts(ToscaServiceModel toscaServiceModel) {
@@ -196,53 +199,22 @@ public class PortMirroringEnricher {
ServiceTemplate serviceTemplate =
toscaServiceModel.getServiceTemplates().get(serviceTemplateName);
Map<String, NodeTemplate> externalNodeTemplates = entry.getValue();
- if (MapUtils.isNotEmpty(externalNodeTemplates)) {
- for (Map.Entry<String, NodeTemplate> externalNodeTemplate : externalNodeTemplates
- .entrySet()) {
- String externalPortNodeTemplateId = externalNodeTemplate.getKey();
- updateExternalPortNodeTemplate(externalNodeTemplate.getValue(), toscaServiceModel);
- if (serviceTemplate.getTopology_template().getSubstitution_mappings() != null) {
- //Add port mirroring capability to substitution mapping for external ports
- addPortMirroringSubstitutionMappingCapability(serviceTemplate,
- externalPortNodeTemplateId);
- }
- handleExternalPortProperties(externalNodeTemplate.getValue(), serviceTemplate, toscaServiceModel);
- }
- addGlobalTypeImport(serviceTemplate);
+ if (MapUtils.isEmpty(externalNodeTemplates)) {
+ return;
}
- }
- }
- private void handleExternalPortProperties(NodeTemplate portNodeTemplate,
- ServiceTemplate serviceTemplate,
- ToscaServiceModel toscaServiceModel){
-
- ToscaAnalyzerService toscaAnalyzerService = new ToscaAnalyzerServiceImpl();
- String externalPortType = portNodeTemplate.getType();
- Map<String, PropertyDefinition> globalTypesportProperties = new HashMap<>();
- NodeType flatNodeType =
- (NodeType) toscaAnalyzerService.getFlatEntity(ToscaElementTypes.NODE_TYPE, externalPortType, serviceTemplate, toscaServiceModel);
- globalTypesportProperties.putAll(flatNodeType.getProperties());
-
- Map<String, Object> properties = portNodeTemplate.getProperties();
- Map<String, Object> filteredProperties = new HashMap<>();
-
- if(MapUtils.isEmpty(properties)){
- return;
- }
-
- for(Map.Entry<String, Object> propertyEntry: properties.entrySet()){
- if(globalTypesportProperties.containsKey(propertyEntry.getKey())){
- filteredProperties.put(propertyEntry.getKey(), propertyEntry.getValue());
+ for (Map.Entry<String, NodeTemplate> externalNodeTemplate : externalNodeTemplates
+ .entrySet()) {
+ String externalPortNodeTemplateId = externalNodeTemplate.getKey();
+ updateExternalPortNodeTemplate(externalNodeTemplate.getValue());
+ if (serviceTemplate.getTopology_template().getSubstitution_mappings() != null) {
+ //Add port mirroring capability to substitution mapping for external ports
+ addPortMirroringSubstitutionMappingCapability(serviceTemplate,
+ externalPortNodeTemplateId);
+ }
}
+ addGlobalTypeImport(serviceTemplate);
}
-
- if(!MapUtils.isEmpty(filteredProperties)) {
- portNodeTemplate.setProperties(filteredProperties);
- }else{
- portNodeTemplate.setProperties(null);
- }
-
}
private void addPortMirroringSubstitutionMappingCapability(ServiceTemplate serviceTemplate,
@@ -305,18 +277,16 @@ public class PortMirroringEnricher {
&& portNodeTypes.contains(nodeType);
}
- private Set<String> getPortNodeTypes(){
+ private Set<String> getPortNodeTypes() {
return new HashSet<>(Arrays.asList(ToscaNodeType.NEUTRON_PORT,
ToscaNodeType.CONTRAILV2_VIRTUAL_MACHINE_INTERFACE,
ToscaNodeType.CONTRAIL_PORT));
}
private boolean isSubstitutableNodeTemplate(NodeTemplate nodeTemplate) {
- if (Objects.nonNull(nodeTemplate.getDirectives())) {
- return nodeTemplate.getDirectives().contains(ToscaConstants
- .NODE_TEMPLATE_DIRECTIVE_SUBSTITUTABLE);
- }
- return false;
+ return Objects.nonNull(nodeTemplate.getDirectives())
+ && nodeTemplate.getDirectives()
+ .contains(ToscaConstants.NODE_TEMPLATE_DIRECTIVE_SUBSTITUTABLE);
}
private boolean isInternalPort(String serviceTemplateFileName, String nodeTemplateId,
@@ -327,10 +297,8 @@ public class PortMirroringEnricher {
private boolean isAbstractInternalPort(String serviceTemplateFileName, String nodeTemplateId) {
//Check if port corresponds to an abstract internal port
- if (portNodeTemplateIdsFromAbstract.containsKey(serviceTemplateFileName)) {
- return portNodeTemplateIdsFromAbstract.get(serviceTemplateFileName).contains(nodeTemplateId);
- }
- return false;
+ return portNodeTemplateIdsFromAbstract.containsKey(serviceTemplateFileName)
+ && portNodeTemplateIdsFromAbstract.get(serviceTemplateFileName).contains(nodeTemplateId);
}
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_serverServiceTemplate.yaml
index 1cee498cd2..796b811eb4 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_serverServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_serverServiceTemplate.yaml
@@ -6,8 +6,6 @@ imports:
file: openecomp-heat/_index.yml
- GlobalSubstitutionTypes:
file: GlobalSubstitutionTypesServiceTemplate.yaml
-- openecomp_index:
- file: openecomp/_index.yml
node_types:
org.openecomp.resource.vfc.nodes.heat.pd_server:
derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
@@ -95,24 +93,24 @@ topology_template:
- compute_pd_server_user_data_format
- index_value
pd_server_pd02_port:
- type: org.openecomp.resource.cp.v2.extNeutronCP
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
properties:
- ip_requirements:
- get_input: port_pd02_port_ip_requirements
- network_role:
- get_input: port_pd02_port_network_role
- subnetpoolid:
- get_input: port_pd02_port_subnetpoolid
- mac_requirements:
- get_input: port_pd02_port_mac_requirements
exCP_naming:
get_input: port_pd02_port_exCP_naming
vlan_requirements:
get_input: port_pd02_port_vlan_requirements
+ ip_requirements:
+ get_input: port_pd02_port_ip_requirements
network_role_tag:
get_input: port_pd02_port_network_role_tag
+ mac_requirements:
+ get_input: port_pd02_port_mac_requirements
order:
get_input: port_pd02_port_order
+ network_role:
+ get_input: port_pd02_port_network_role
+ subnetpoolid:
+ get_input: port_pd02_port_subnetpoolid
network:
get_input:
- port_pd02_port_network
@@ -122,15 +120,6 @@ topology_template:
capability: tosca.capabilities.network.Bindable
node: pd_server
relationship: tosca.relationships.network.BindsTo
- capabilities:
- port_mirroring:
- properties:
- connection_point:
- nf_type: ''
- nfc_type: pd_server
- network_role:
- get_input: port_pd02_port_network_role
- pps_capacity: ''
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.pd_server
capabilities:
@@ -290,9 +279,6 @@ topology_template:
network.incoming.bytes_pd_server_pd02_port:
- pd_server_pd02_port
- network.incoming.bytes
- port_mirroring_pd_server_pd02_port:
- - pd_server_pd02_port
- - port_mirroring
requirements:
local_storage_pd_server:
- pd_server
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_1ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_1ServiceTemplate.yaml
index 9722ffec88..a6d8533b57 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_1ServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_1ServiceTemplate.yaml
@@ -6,8 +6,6 @@ imports:
file: openecomp-heat/_index.yml
- GlobalSubstitutionTypes:
file: GlobalSubstitutionTypesServiceTemplate.yaml
-- openecomp_index:
- file: openecomp/_index.yml
node_types:
org.openecomp.resource.vfc.nodes.heat.pd_server:
derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
@@ -95,24 +93,24 @@ topology_template:
- compute_pd_server_user_data_format
- index_value
pd_server_pd01_port:
- type: org.openecomp.resource.cp.v2.extNeutronCP
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
properties:
- ip_requirements:
- get_input: port_pd01_port_ip_requirements
- network_role:
- get_input: port_pd01_port_network_role
- subnetpoolid:
- get_input: port_pd01_port_subnetpoolid
- mac_requirements:
- get_input: port_pd01_port_mac_requirements
exCP_naming:
get_input: port_pd01_port_exCP_naming
vlan_requirements:
get_input: port_pd01_port_vlan_requirements
+ ip_requirements:
+ get_input: port_pd01_port_ip_requirements
network_role_tag:
get_input: port_pd01_port_network_role_tag
+ mac_requirements:
+ get_input: port_pd01_port_mac_requirements
order:
get_input: port_pd01_port_order
+ network_role:
+ get_input: port_pd01_port_network_role
+ subnetpoolid:
+ get_input: port_pd01_port_subnetpoolid
network:
get_input:
- port_pd01_port_network
@@ -122,15 +120,6 @@ topology_template:
capability: tosca.capabilities.network.Bindable
node: pd_server
relationship: tosca.relationships.network.BindsTo
- capabilities:
- port_mirroring:
- properties:
- connection_point:
- nf_type: ''
- nfc_type: pd_server
- network_role:
- get_input: port_pd01_port_network_role
- pps_capacity: ''
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.pd_server_1
capabilities:
@@ -290,9 +279,6 @@ topology_template:
disk.device.iops_pd_server:
- pd_server
- disk.device.iops
- port_mirroring_pd_server_pd01_port:
- - pd_server_pd01_port
- - port_mirroring
requirements:
local_storage_pd_server:
- pd_server
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_3ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_3ServiceTemplate.yaml
index 4d98183c51..9f140e097e 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_3ServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_3ServiceTemplate.yaml
@@ -6,8 +6,6 @@ imports:
file: openecomp-heat/_index.yml
- GlobalSubstitutionTypes:
file: GlobalSubstitutionTypesServiceTemplate.yaml
-- openecomp_index:
- file: openecomp/_index.yml
node_types:
org.openecomp.resource.vfc.nodes.heat.pd_server:
derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
@@ -95,24 +93,24 @@ topology_template:
- compute_pd_server_user_data_format
- index_value
pd_server_pd01_port:
- type: org.openecomp.resource.cp.v2.extNeutronCP
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
properties:
- ip_requirements:
- get_input: port_pd01_port_ip_requirements
- network_role:
- get_input: port_pd01_port_network_role
- subnetpoolid:
- get_input: port_pd01_port_subnetpoolid
- mac_requirements:
- get_input: port_pd01_port_mac_requirements
exCP_naming:
get_input: port_pd01_port_exCP_naming
vlan_requirements:
get_input: port_pd01_port_vlan_requirements
+ ip_requirements:
+ get_input: port_pd01_port_ip_requirements
network_role_tag:
get_input: port_pd01_port_network_role_tag
+ mac_requirements:
+ get_input: port_pd01_port_mac_requirements
order:
get_input: port_pd01_port_order
+ network_role:
+ get_input: port_pd01_port_network_role
+ subnetpoolid:
+ get_input: port_pd01_port_subnetpoolid
network:
get_input:
- port_pd01_port_network
@@ -122,15 +120,6 @@ topology_template:
capability: tosca.capabilities.network.Bindable
node: pd_server
relationship: tosca.relationships.network.BindsTo
- capabilities:
- port_mirroring:
- properties:
- connection_point:
- nf_type: ''
- nfc_type: pd_server
- network_role:
- get_input: port_pd01_port_network_role
- pps_capacity: ''
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.pd_server_3
capabilities:
@@ -290,9 +279,6 @@ topology_template:
disk.device.iops_pd_server:
- pd_server
- disk.device.iops
- port_mirroring_pd_server_pd01_port:
- - pd_server_pd01_port
- - port_mirroring
requirements:
local_storage_pd_server:
- pd_server
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_4ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_4ServiceTemplate.yaml
index 44f068ba31..0022b21c24 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_4ServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_4ServiceTemplate.yaml
@@ -6,8 +6,6 @@ imports:
file: openecomp-heat/_index.yml
- GlobalSubstitutionTypes:
file: GlobalSubstitutionTypesServiceTemplate.yaml
-- openecomp_index:
- file: openecomp/_index.yml
node_types:
org.openecomp.resource.vfc.nodes.heat.pd_server:
derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
@@ -95,24 +93,24 @@ topology_template:
- compute_pd_server_user_data_format
- index_value
pd_server_ps02_port:
- type: org.openecomp.resource.cp.v2.extNeutronCP
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
properties:
- ip_requirements:
- get_input: port_ps02_port_ip_requirements
- network_role:
- get_input: port_ps02_port_network_role
- subnetpoolid:
- get_input: port_ps02_port_subnetpoolid
- mac_requirements:
- get_input: port_ps02_port_mac_requirements
exCP_naming:
get_input: port_ps02_port_exCP_naming
vlan_requirements:
get_input: port_ps02_port_vlan_requirements
+ ip_requirements:
+ get_input: port_ps02_port_ip_requirements
network_role_tag:
get_input: port_ps02_port_network_role_tag
+ mac_requirements:
+ get_input: port_ps02_port_mac_requirements
order:
get_input: port_ps02_port_order
+ network_role:
+ get_input: port_ps02_port_network_role
+ subnetpoolid:
+ get_input: port_ps02_port_subnetpoolid
network:
get_input:
- port_ps02_port_network
@@ -122,15 +120,6 @@ topology_template:
capability: tosca.capabilities.network.Bindable
node: pd_server
relationship: tosca.relationships.network.BindsTo
- capabilities:
- port_mirroring:
- properties:
- connection_point:
- nf_type: ''
- nfc_type: pd_server
- network_role:
- get_input: port_ps02_port_network_role
- pps_capacity: ''
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.pd_server_4
capabilities:
@@ -290,9 +279,6 @@ topology_template:
disk.device.iops_pd_server:
- pd_server
- disk.device.iops
- port_mirroring_pd_server_ps02_port:
- - pd_server_ps02_port
- - port_mirroring
requirements:
local_storage_pd_server:
- pd_server
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_6ServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_6ServiceTemplate.yaml
index 4750ccc1f2..653d1b6454 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_6ServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/multiLevel/out/Nested_pd_server_6ServiceTemplate.yaml
@@ -6,8 +6,6 @@ imports:
file: openecomp-heat/_index.yml
- GlobalSubstitutionTypes:
file: GlobalSubstitutionTypesServiceTemplate.yaml
-- openecomp_index:
- file: openecomp/_index.yml
node_types:
org.openecomp.resource.vfc.nodes.heat.pd_server:
derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
@@ -95,24 +93,24 @@ topology_template:
- compute_pd_server_user_data_format
- index_value
pd_server_pd02_port:
- type: org.openecomp.resource.cp.v2.extNeutronCP
+ type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
properties:
- ip_requirements:
- get_input: port_pd02_port_ip_requirements
- network_role:
- get_input: port_pd02_port_network_role
- subnetpoolid:
- get_input: port_pd02_port_subnetpoolid
- mac_requirements:
- get_input: port_pd02_port_mac_requirements
exCP_naming:
get_input: port_pd02_port_exCP_naming
vlan_requirements:
get_input: port_pd02_port_vlan_requirements
+ ip_requirements:
+ get_input: port_pd02_port_ip_requirements
network_role_tag:
get_input: port_pd02_port_network_role_tag
+ mac_requirements:
+ get_input: port_pd02_port_mac_requirements
order:
get_input: port_pd02_port_order
+ network_role:
+ get_input: port_pd02_port_network_role
+ subnetpoolid:
+ get_input: port_pd02_port_subnetpoolid
network:
get_input:
- port_pd02_port_network
@@ -122,15 +120,6 @@ topology_template:
capability: tosca.capabilities.network.Bindable
node: pd_server
relationship: tosca.relationships.network.BindsTo
- capabilities:
- port_mirroring:
- properties:
- connection_point:
- nf_type: ''
- nfc_type: pd_server
- network_role:
- get_input: port_pd02_port_network_role
- pps_capacity: ''
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.pd_server_6
capabilities:
@@ -290,9 +279,6 @@ topology_template:
network.incoming.bytes_pd_server_pd02_port:
- pd_server_pd02_port
- network.incoming.bytes
- port_mirroring_pd_server_pd02_port:
- - pd_server_pd02_port
- - port_mirroring
requirements:
local_storage_pd_server:
- pd_server
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/oneLevel/out/Nested_computeServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/oneLevel/out/Nested_computeServiceTemplate.yaml
index 7a9311c041..65e0231a73 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/oneLevel/out/Nested_computeServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/nested/oneLevel/out/Nested_computeServiceTemplate.yaml
@@ -6,6 +6,8 @@ imports:
file: openecomp-heat/_index.yml
- GlobalSubstitutionTypes:
file: GlobalSubstitutionTypesServiceTemplate.yaml
+- openecomp_index:
+ file: openecomp/_index.yml
node_types:
org.openecomp.resource.vfc.nodes.heat.compute:
derived_from: org.openecomp.resource.vfc.nodes.heat.nova.Server
@@ -111,7 +113,7 @@ topology_template:
- compute_compute_user_data_format
- index_value
compute_compute_port:
- type: org.openecomp.resource.cp.nodes.heat.network.neutron.Port
+ type: org.openecomp.resource.cp.v2.extNeutronCP
properties:
exCP_naming:
get_input: port_compute_port_exCP_naming
@@ -138,6 +140,15 @@ topology_template:
capability: tosca.capabilities.network.Bindable
node: compute
relationship: tosca.relationships.network.BindsTo
+ capabilities:
+ port_mirroring:
+ properties:
+ connection_point:
+ nf_type: ''
+ nfc_type: compute
+ network_role:
+ get_input: port_compute_port_network_role
+ pps_capacity: ''
substitution_mappings:
node_type: org.openecomp.resource.abstract.nodes.compute
capabilities:
@@ -297,6 +308,9 @@ topology_template:
disk.device.allocation_compute:
- compute
- disk.device.allocation
+ port_mirroring_compute_compute_port:
+ - compute_compute_port
+ - port_mirroring
requirements:
local_storage_compute:
- compute
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/scalingInstance/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/scalingInstance/out/Nested_pd_serverServiceTemplate.yaml
index 0f80630051..b0a2f1668d 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/scalingInstance/out/Nested_pd_serverServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/scalingInstance/out/Nested_pd_serverServiceTemplate.yaml
@@ -167,26 +167,26 @@ topology_template:
pd_server_pd02_port:
type: org.openecomp.resource.cp.v2.extNeutronCP
properties:
+ exCP_naming:
+ get_input: port_pd02_port_exCP_naming
replacement_policy:
get_input:
- port_pd02_port_replacement_policy
- index_value
- ip_requirements:
- get_input: port_pd02_port_ip_requirements
- network_role:
- get_input: port_pd02_port_network_role
- subnetpoolid:
- get_input: port_pd02_port_subnetpoolid
- mac_requirements:
- get_input: port_pd02_port_mac_requirements
- exCP_naming:
- get_input: port_pd02_port_exCP_naming
vlan_requirements:
get_input: port_pd02_port_vlan_requirements
+ ip_requirements:
+ get_input: port_pd02_port_ip_requirements
network_role_tag:
get_input: port_pd02_port_network_role_tag
+ mac_requirements:
+ get_input: port_pd02_port_mac_requirements
order:
get_input: port_pd02_port_order
+ network_role:
+ get_input: port_pd02_port_network_role
+ subnetpoolid:
+ get_input: port_pd02_port_subnetpoolid
requirements:
- binding:
capability: tosca.capabilities.network.Bindable
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/diffPortType/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/diffPortType/out/MainServiceTemplate.yaml
index 8fd8b17b55..dea55c7b77 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/diffPortType/out/MainServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/diffPortType/out/MainServiceTemplate.yaml
@@ -285,7 +285,34 @@ topology_template:
network_role: ''
pps_capacity: ''
template_VMInt_OAM_lb_external_VMI:
- type: org.openecomp.resource.cp.v2.extContrailCP
+ type: org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP
+ properties:
+ name: template_VMInt_OAM_lb_NAME
+ security_group_refs:
+ - get_input: oam_sec_group_name
+ virtual_machine_interface_properties:
+ service_interface_type:
+ get_input: lb_st_interface_type_oam
+ port_tuple_refs:
+ - get_input: template_PortTuple_LB1
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ - get_input: mac_address
capabilities:
port_mirroring:
properties:
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/diffPortType/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/diffPortType/out/Nested_pd_serverServiceTemplate.yaml
index 1c327d212e..f80a037197 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/diffPortType/out/Nested_pd_serverServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/diffPortType/out/Nested_pd_serverServiceTemplate.yaml
@@ -357,26 +357,26 @@ topology_template:
pd_server_pd03_port:
type: org.openecomp.resource.cp.v2.extNeutronCP
properties:
+ exCP_naming:
+ get_input: port_pd03_port_exCP_naming
replacement_policy:
get_input:
- port_pd03_port_replacement_policy
- index_value
- ip_requirements:
- get_input: port_pd03_port_ip_requirements
- network_role:
- get_input: port_pd03_port_network_role
- subnetpoolid:
- get_input: port_pd03_port_subnetpoolid
- mac_requirements:
- get_input: port_pd03_port_mac_requirements
- exCP_naming:
- get_input: port_pd03_port_exCP_naming
vlan_requirements:
get_input: port_pd03_port_vlan_requirements
+ ip_requirements:
+ get_input: port_pd03_port_ip_requirements
network_role_tag:
get_input: port_pd03_port_network_role_tag
+ mac_requirements:
+ get_input: port_pd03_port_mac_requirements
order:
get_input: port_pd03_port_order
+ network_role:
+ get_input: port_pd03_port_network_role
+ subnetpoolid:
+ get_input: port_pd03_port_subnetpoolid
requirements:
- binding:
capability: tosca.capabilities.network.Bindable
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/samePortType/out/MainServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/samePortType/out/MainServiceTemplate.yaml
index 8a030f4628..3a697467c9 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/samePortType/out/MainServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/samePortType/out/MainServiceTemplate.yaml
@@ -264,7 +264,34 @@ topology_template:
node: pd01_volume
relationship: pd01_volume_attachment
template_VMInt_OAM_lb_external_VMI:
- type: org.openecomp.resource.cp.v2.extContrailCP
+ type: org.openecomp.resource.cp.v2.extVirtualMachineInterfaceCP
+ properties:
+ name: template_VMInt_OAM_lb_NAME
+ security_group_refs:
+ - get_input: oam_sec_group_name
+ virtual_machine_interface_properties:
+ service_interface_type:
+ get_input: lb_st_interface_type_oam
+ port_tuple_refs:
+ - get_input: template_PortTuple_LB1
+ virtual_machine_interface_allowed_address_pairs:
+ allowed_address_pair:
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ip_address
+ ip_prefix_len: 32
+ mac:
+ get_input: mac_address
+ - address_mode: active-standby
+ ip:
+ ip_prefix:
+ get_input: virtual_ipv6_address
+ ip_prefix_len: 128
+ mac:
+ get_input: mac_address
+ virtual_machine_interface_mac_addresses:
+ - get_input: mac_address
capabilities:
port_mirroring:
properties:
diff --git a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/samePortType/out/Nested_pd_serverServiceTemplate.yaml b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/samePortType/out/Nested_pd_serverServiceTemplate.yaml
index 4cd5cd0894..567b020dd4 100644
--- a/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/samePortType/out/Nested_pd_serverServiceTemplate.yaml
+++ b/openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-impl/src/test/resources/mock/enrichPortMirroring/singleSubstitution/samePortType/out/Nested_pd_serverServiceTemplate.yaml
@@ -241,26 +241,26 @@ topology_template:
pd_server_pd01_port_2:
type: org.openecomp.resource.cp.v2.extNeutronCP
properties:
+ exCP_naming:
+ get_input: port_pd01_port_2_exCP_naming
replacement_policy:
get_input:
- port_pd01_port_2_replacement_policy
- index_value
- ip_requirements:
- get_input: port_pd01_port_2_ip_requirements
- network_role:
- get_input: port_pd01_port_2_network_role
- subnetpoolid:
- get_input: port_pd01_port_2_subnetpoolid
- mac_requirements:
- get_input: port_pd01_port_2_mac_requirements
- exCP_naming:
- get_input: port_pd01_port_2_exCP_naming
vlan_requirements:
get_input: port_pd01_port_2_vlan_requirements
+ ip_requirements:
+ get_input: port_pd01_port_2_ip_requirements
network_role_tag:
get_input: port_pd01_port_2_network_role_tag
+ mac_requirements:
+ get_input: port_pd01_port_2_mac_requirements
order:
get_input: port_pd01_port_2_order
+ network_role:
+ get_input: port_pd01_port_2_network_role
+ subnetpoolid:
+ get_input: port_pd01_port_2_subnetpoolid
requirements:
- binding:
capability: tosca.capabilities.network.Bindable