Renderer Interface delete for B100G TPDR 10/96210/24
authorVachhani, Shweta (sv111y) <sv111y@att.com>
Mon, 17 May 2021 15:25:16 +0000 (11:25 -0400)
committerGuillaume Lambert <guillaume.lambert@orange.com>
Thu, 8 Jul 2021 08:10:44 +0000 (08:10 +0000)
Update existing renderer code to delete interfaces created during
service provisioning for B100G TPDR

Signed-off-by: Vachhani, Shweta (sv111y) <sv111y@att.com>
Change-Id: I48f074cde335a31aa23534a833724b5413f315c5

common/src/main/java/org/opendaylight/transportpce/common/openroadminterfaces/OpenRoadmInterfacesImpl710.java
renderer/src/main/java/org/opendaylight/transportpce/renderer/provisiondevice/DeviceRendererServiceImpl.java

index c3dab0afec6b69072829b246cba878e172dcf047..358b0dd7ddb0386d87025a40b6b2bb4b506fa335 100644 (file)
@@ -28,14 +28,6 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.interfac
 import org.opendaylight.yang.gen.v1.http.org.openroadm.device.rev200529.org.openroadm.device.container.OrgOpenroadmDevice;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.States;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev191129.OtnOdu;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.interfaces.rev191129.OtnOtu;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.loopback.rev191129.maint.loopback.MaintLoopbackBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.maintenance.testsignal.rev200529.maint.testsignal.MaintTestsignalBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev200529.Interface1;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev200529.Interface1Builder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.odu.interfaces.rev200529.odu.container.OduBuilder;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev200529.otu.container.OtuBuilder;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -92,7 +84,7 @@ public class OpenRoadmInterfacesImpl710 {
 
 
     public void deleteInterface(String nodeId, String interfaceName) throws OpenRoadmInterfaceException {
-        LOG.info("deleting interface {} on device221 {}", interfaceName, nodeId);
+        LOG.info("deleting interface {} on device71 {}", interfaceName, nodeId);
         Optional<Interface> intf2DeleteOpt;
         try {
             intf2DeleteOpt = getInterface(nodeId, interfaceName);
@@ -103,33 +95,9 @@ public class OpenRoadmInterfacesImpl710 {
         if (intf2DeleteOpt.isPresent()) {
             Interface intf2Delete = intf2DeleteOpt.get();
             // State admin state to out of service
-            InterfaceBuilder ifBuilder = new InterfaceBuilder(intf2Delete);
-            if (ifBuilder.getType() == OtnOdu.class) {
-                Interface1Builder oduBuilder = new Interface1Builder(intf2Delete.augmentation(Interface1.class));
-                OduBuilder odu = new OduBuilder(oduBuilder.getOdu());
-                if (odu.getMaintTestsignal() != null) {
-                    MaintTestsignalBuilder maintSignalBuilder = new MaintTestsignalBuilder();
-                    maintSignalBuilder.setEnabled(false);
-                    odu.setMaintTestsignal(maintSignalBuilder.build());
-                }
-                oduBuilder.setOdu(odu.build());
-                ifBuilder.addAugmentation(oduBuilder.build());
-            } else if (ifBuilder.getType() == OtnOtu.class) {
-                org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev200529.Interface1Builder
-                    otuBuilder =
-                    new org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev200529.Interface1Builder(
-                        intf2Delete.augmentation(
-                            org.opendaylight.yang.gen.v1.http.org.openroadm.otn.otu.interfaces.rev200529.Interface1
-                                .class));
-                OtuBuilder otu = new OtuBuilder(otuBuilder.getOtu());
-                if (otu.getMaintLoopback() != null) {
-                    MaintLoopbackBuilder maintLoopBackBuilder = new MaintLoopbackBuilder();
-                    maintLoopBackBuilder.setEnabled(false);
-                    otu.setMaintLoopback(maintLoopBackBuilder.build());
-                }
-                otuBuilder.setOtu(otu.build());
-                ifBuilder.addAugmentation(otuBuilder.build());
-            }
+            InterfaceBuilder ifBuilder = new InterfaceBuilder();
+            ifBuilder.setName(intf2Delete.getName());
+            ifBuilder.setType(intf2Delete.getType());
             ifBuilder.setAdministrativeState(AdminStates.OutOfService);
             // post interface with updated admin state
             try {
index 7a9738e9a71a69821375d318de5d86ee92065c5e..36286a82a93221520e52c7bb2e8ce7e22e77c223 100644 (file)
@@ -61,6 +61,7 @@ import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.re
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev200128.renderer.rollback.output.FailedToRollback;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev200128.renderer.rollback.output.FailedToRollbackBuilder;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.device.renderer.rev200128.renderer.rollback.output.FailedToRollbackKey;
+import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.OpenroadmNodeVersion;
 import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev210426.mapping.Mapping;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev190531.service.Topology;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceList;
@@ -360,34 +361,59 @@ public class DeviceRendererServiceImpl implements DeviceRendererService {
         String spectralSlotName = String.join(GridConstant.SPECTRAL_SLOT_SEPARATOR,
                 String.valueOf(lowerSpectralSlotNumber),
                 String.valueOf(higherSpectralSlotNumber));
+        OpenroadmNodeVersion nodeOpenRoadmVersion = this.portMapping.getNode(nodeId).getNodeInfo()
+                .getOpenroadmVersion();
         List<String> interfacesToDelete = new LinkedList<>();
         if (destTp.contains(StringConstants.NETWORK_TOKEN)
                 || srcTp.contains(StringConstants.CLIENT_TOKEN)
                 || srcTp.contains(StringConstants.NETWORK_TOKEN)
                 || destTp.contains(StringConstants.CLIENT_TOKEN)) {
             if (destTp.contains(StringConstants.NETWORK_TOKEN)) {
-                try {
-                    if (this.openRoadmInterfaces.getInterface(nodeId, destTp + "-ODU").isPresent()) {
-                        interfacesToDelete.add(destTp + "-ODU");
+                if (nodeOpenRoadmVersion.equals(OpenroadmNodeVersion._71)) {
+                    try {
+                        if (this.openRoadmInterfaces.getInterface(nodeId, destTp + "-ODUFLEX").isPresent()) {
+                            interfacesToDelete.add(destTp + "-ODUFLEX");
+                        }
+                        if (this.openRoadmInterfaces.getInterface(nodeId, destTp + "-ODUC4").isPresent()) {
+                            interfacesToDelete.add(destTp + "-ODUC4");
+                        }
+                    } catch (OpenRoadmInterfaceException e) {
+                        LOG.error("impossible to get interface {} or {}", destTp + "-ODUFLEX", destTp + "-ODUC4", e);
+                    }
+                    interfacesToDelete.add(destTp + "-OTUC4");
+                    interfacesToDelete.add(destTp + "-OTSI-GROUP");
+                    interfacesToDelete.add(destTp + "-" + lowerSpectralSlotNumber + ":" + higherSpectralSlotNumber);
+                } else {
+                    try {
+                        if (this.openRoadmInterfaces.getInterface(nodeId, destTp + "-ODU").isPresent()) {
+                            interfacesToDelete.add(destTp + "-ODU");
+                        }
+                        if (this.openRoadmInterfaces.getInterface(nodeId, destTp + ODU4).isPresent()) {
+                            interfacesToDelete.add(destTp + ODU4);
+                        }
                     }
-                    if (this.openRoadmInterfaces.getInterface(nodeId, destTp + ODU4).isPresent()) {
-                        interfacesToDelete.add(destTp + ODU4);
+                    catch (OpenRoadmInterfaceException e) {
+                        LOG.error("impossible to get interface {} or {}", destTp + "-ODU", destTp + ODU4, e);
                     }
+                    interfacesToDelete.add(destTp + "-OTU");
+                    interfacesToDelete.add(
+                            this.openRoadmInterfaceFactory
+                            .createOpenRoadmOchInterfaceName(destTp,spectralSlotName));
                 }
-                catch (OpenRoadmInterfaceException e) {
-                    LOG.error("impossible to get interface {} or {}", destTp + "-ODU", destTp + ODU4, e);
-                }
-                interfacesToDelete.add(destTp + "-OTU");
-                interfacesToDelete.add(
-                        this.openRoadmInterfaceFactory
-                        .createOpenRoadmOchInterfaceName(destTp,spectralSlotName));
             }
             if (srcTp.contains(StringConstants.NETWORK_TOKEN)) {
-                interfacesToDelete.add(srcTp + "-ODU");
-                interfacesToDelete.add(srcTp + "-OTU");
-                interfacesToDelete
-                        .add(this.openRoadmInterfaceFactory
-                                .createOpenRoadmOchInterfaceName(srcTp,spectralSlotName));
+                if (nodeOpenRoadmVersion.equals(OpenroadmNodeVersion._71)) {
+                    interfacesToDelete.add(srcTp + "-ODUC4");
+                    interfacesToDelete.add(srcTp + "-OTUC4");
+                    interfacesToDelete.add(srcTp + "-OTSI-GROUP");
+                    interfacesToDelete.add(srcTp + "-" + lowerSpectralSlotNumber + ":" + higherSpectralSlotNumber);
+                } else {
+                    interfacesToDelete.add(srcTp + "-ODU");
+                    interfacesToDelete.add(srcTp + "-OTU");
+                    interfacesToDelete
+                            .add(this.openRoadmInterfaceFactory
+                                    .createOpenRoadmOchInterfaceName(srcTp, spectralSlotName));
+                }
             }
             if (srcTp.contains(StringConstants.CLIENT_TOKEN)) {
                 interfacesToDelete.add(srcTp + "-ETHERNET");