From a2c0845af51f68102d9f32df83cdfa93fbf9bb35 Mon Sep 17 00:00:00 2001 From: Balagangadhar Bathula Date: Mon, 7 Feb 2022 11:26:07 -0500 Subject: [PATCH] Update 7.1 port-mapping data after inf delete - When the service/interface is deleted, the 7.1 port-mapping data is not updated and still shows the supporting ODUCn/OTUCn interfaces. - Add code to update data for the supporting interfaces, after deletion. JIRA: TRNSPRTPCE-608 Change-Id: Ie0af185285f645c2d52d88699ba538bdf207a66b Signed-off-by: Balagangadhar Bathula --- .../OpenRoadmInterfacesImpl710.java | 15 ++++++++++++++- .../OSGI-INF/blueprint/common-blueprint.xml | 2 ++ .../controllers/tpce/module/TransportPCEImpl.java | 2 +- .../olm/OlmPowerServiceRpcImplTest.java | 3 ++- .../olm/power/PowerMgmtPowerMockTest.java | 3 ++- .../transportpce/olm/power/PowerMgmtTest.java | 3 ++- .../olm/service/OlmPowerServiceImplTest.java | 3 ++- 7 files changed, 25 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl710.java b/common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl710.java index 35fd0963f..4152b2e38 100644 --- a/common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl710.java +++ b/common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl710.java @@ -19,6 +19,9 @@ import org.opendaylight.transportpce.common.StringConstants; import org.opendaylight.transportpce.common.Timeouts; import org.opendaylight.transportpce.common.device.DeviceTransaction; import org.opendaylight.transportpce.common.device.DeviceTransactionManager; +import org.opendaylight.transportpce.common.mapping.PortMapping; +import org.opendaylight.transportpce.common.mapping.PortMappingVersion710; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220114.mapping.Mapping; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.circuit.pack.Ports; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.circuit.pack.PortsKey; import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.circuit.packs.CircuitPacks; @@ -41,9 +44,14 @@ public class OpenRoadmInterfacesImpl710 { private static final Logger LOG = LoggerFactory.getLogger(OpenRoadmInterfacesImpl710.class); private final DeviceTransactionManager deviceTransactionManager; + private final PortMapping portMapping; + private final PortMappingVersion710 portMapping710; - public OpenRoadmInterfacesImpl710(DeviceTransactionManager deviceTransactionManager) { + public OpenRoadmInterfacesImpl710(DeviceTransactionManager deviceTransactionManager, + PortMapping portMapping, PortMappingVersion710 portMapping710) { this.deviceTransactionManager = deviceTransactionManager; + this.portMapping = portMapping; + this.portMapping710 = portMapping710; } public void postInterface(String nodeId, InterfaceBuilder ifBuilder) throws OpenRoadmInterfaceException { @@ -174,6 +182,11 @@ public class OpenRoadmInterfacesImpl710 { if (intf2Delete.getName().contains(StringConstants.CLIENT_TOKEN) || intf2Delete.getName().contains( StringConstants.NETWORK_TOKEN)) { postEquipmentState(nodeId, intf2Delete.getSupportingCircuitPackName(), false); + // Here we update the port-mapping data after the interface delete + Mapping oldMapping = this.portMapping.getMapping( + nodeId, intf2Delete.getSupportingCircuitPackName(), intf2Delete.getSupportingPort()); + this.portMapping.deleteMapping(nodeId, oldMapping.getLogicalConnectionPoint()); + this.portMapping710.updateMapping(nodeId, oldMapping); } } else { diff --git a/common/src/main/resources/OSGI-INF/blueprint/common-blueprint.xml b/common/src/main/resources/OSGI-INF/blueprint/common-blueprint.xml index ac7e7b763..8add36259 100644 --- a/common/src/main/resources/OSGI-INF/blueprint/common-blueprint.xml +++ b/common/src/main/resources/OSGI-INF/blueprint/common-blueprint.xml @@ -36,6 +36,8 @@ and is available at http://www.eclipse.org/legal/epl-v10.html + + diff --git a/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java b/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java index 7a8da833b..4bee0e15b 100644 --- a/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java +++ b/lighty/src/main/java/io/lighty/controllers/tpce/module/TransportPCEImpl.java @@ -342,7 +342,7 @@ public class TransportPCEImpl extends AbstractLightyModule implements TransportP OpenRoadmInterfacesImpl221 openRoadmInterfacesImpl221 = new OpenRoadmInterfacesImpl221( deviceTransactionManager, portMapping, portMapping.getPortMappingVersion221()); OpenRoadmInterfacesImpl710 openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710( - deviceTransactionManager); + deviceTransactionManager, portMapping, portMapping.getPortMappingVersion710()); return new OpenRoadmInterfacesImpl(deviceTransactionManager, mappingUtils, openRoadmInterfacesImpl121, openRoadmInterfacesImpl221, openRoadmInterfacesImpl710); } diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java index 1f7bd98fb..6fb3cb865 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/OlmPowerServiceRpcImplTest.java @@ -123,7 +123,8 @@ public class OlmPowerServiceRpcImplTest extends AbstractTest { this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager); this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl221(deviceTransactionManager, this.portMapping, this.portMappingVersion22); - this.openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710(deviceTransactionManager); + this.openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710(deviceTransactionManager, this.portMapping, + this.portMappingVersion710); this.openRoadmInterfaces = new OpenRoadmInterfacesImpl((this.deviceTransactionManager), this.mappingUtils,this.openRoadmInterfacesImpl121,this.openRoadmInterfacesImpl22, this.openRoadmInterfacesImpl710); diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java index 46997f4cf..bbce9663b 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtPowerMockTest.java @@ -115,7 +115,8 @@ public class PowerMgmtPowerMockTest extends AbstractTest { this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager); this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl221(deviceTransactionManager, this.portMapping, this.portMappingVersion22); - this.openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710(deviceTransactionManager); + this.openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710(deviceTransactionManager, this.portMapping, + this.portMappingVersion710); this.openRoadmInterfaces = new OpenRoadmInterfacesImpl((this.deviceTransactionManager), this.mappingUtils,this.openRoadmInterfacesImpl121,this.openRoadmInterfacesImpl22, this.openRoadmInterfacesImpl710); diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java index c020b545c..67519f78c 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/power/PowerMgmtTest.java @@ -86,7 +86,8 @@ public class PowerMgmtTest extends AbstractTest { this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager); this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl221(deviceTransactionManager, this.portMapping, this.portMappingVersion22); - this.openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710(deviceTransactionManager); + this.openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710(deviceTransactionManager, this.portMapping, + this.portMappingVersion710); this.openRoadmInterfaces = new OpenRoadmInterfacesImpl((this.deviceTransactionManager), this.mappingUtils,this.openRoadmInterfacesImpl121,this.openRoadmInterfacesImpl22, this.openRoadmInterfacesImpl710); diff --git a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java index fa739e040..0bca3731f 100644 --- a/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java +++ b/olm/src/test/java/org/opendaylight/transportpce/olm/service/OlmPowerServiceImplTest.java @@ -123,7 +123,8 @@ public class OlmPowerServiceImplTest extends AbstractTest { this.openRoadmInterfacesImpl121 = new OpenRoadmInterfacesImpl121(deviceTransactionManager); this.openRoadmInterfacesImpl22 = new OpenRoadmInterfacesImpl221(deviceTransactionManager, this.portMapping, this.portMappingVersion22); - this.openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710(deviceTransactionManager); + this.openRoadmInterfacesImpl710 = new OpenRoadmInterfacesImpl710(deviceTransactionManager, this.portMapping, + this.portMappingVersion710); this.openRoadmInterfaces = new OpenRoadmInterfacesImpl((this.deviceTransactionManager), this.mappingUtils,this.openRoadmInterfacesImpl121,this.openRoadmInterfacesImpl22, this.openRoadmInterfacesImpl710); -- 2.36.6