From 7d6707de2dc4d4e1f15b90cbf3ffc7cce701fb46 Mon Sep 17 00:00:00 2001 From: Faseela K Date: Wed, 20 Apr 2016 18:25:10 +0530 Subject: [PATCH] Bug 4644 : Reverting workaround for Tunnel deletion issue Description: TerminationPoint was not removed from switch if termination point is added to the existing bridge which was already present before OVSDB node got connected to the controller. There was a workaround in interface-manager to overcome this issue, reverting the same when the actual issue is fixed in ovsdb plugin Change-Id: I00d77d8c0df7504721a44f4748cc0bb72a1a6c37 Signed-off-by: Faseela K --- .../listeners/InterfaceTopologyStateListener.java | 6 +++--- .../ovs/statehelpers/OvsInterfaceStateRemoveHelper.java | 4 ++-- .../statehelpers/OvsInterfaceTopologyStateAddHelper.java | 3 --- .../statehelpers/OvsInterfaceTopologyStateRemoveHelper.java | 3 --- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/listeners/InterfaceTopologyStateListener.java b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/listeners/InterfaceTopologyStateListener.java index cf600532..9621a0bd 100644 --- a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/listeners/InterfaceTopologyStateListener.java +++ b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/listeners/InterfaceTopologyStateListener.java @@ -58,7 +58,7 @@ public class InterfaceTopologyStateListener extends AsyncDataChangeListenerBase< identifier, bridgeOld); DataStoreJobCoordinator jobCoordinator = DataStoreJobCoordinator.getInstance(); RendererStateRemoveWorker rendererStateRemoveWorker = new RendererStateRemoveWorker(identifier, bridgeOld); - jobCoordinator.enqueueJob(bridgeOld.getBridgeName().getValue() + bridgeOld.getDatapathId(), rendererStateRemoveWorker); + jobCoordinator.enqueueJob(bridgeOld.getBridgeName().getValue(), rendererStateRemoveWorker); } @Override @@ -70,7 +70,7 @@ public class InterfaceTopologyStateListener extends AsyncDataChangeListenerBase< DataStoreJobCoordinator jobCoordinator = DataStoreJobCoordinator.getInstance(); RendererStateAddWorker rendererStateAddWorker = new RendererStateAddWorker(identifier, bridgeNew); jobCoordinator.enqueueJob(bridgeNew.getBridgeName().getValue(), rendererStateAddWorker); - } else if(bridgeOld.getDatapathId() != bridgeNew.getDatapathId()){ + } else if(!bridgeOld.getDatapathId().equals(bridgeNew.getDatapathId())){ DataStoreJobCoordinator jobCoordinator = DataStoreJobCoordinator.getInstance(); RendererStateUpdateWorker rendererStateAddWorker = new RendererStateUpdateWorker(identifier, bridgeNew, bridgeOld); jobCoordinator.enqueueJob(bridgeNew.getBridgeName().getValue(), rendererStateAddWorker); @@ -83,7 +83,7 @@ public class InterfaceTopologyStateListener extends AsyncDataChangeListenerBase< identifier, bridgeNew); DataStoreJobCoordinator jobCoordinator = DataStoreJobCoordinator.getInstance(); RendererStateAddWorker rendererStateAddWorker = new RendererStateAddWorker(identifier, bridgeNew); - jobCoordinator.enqueueJob(bridgeNew.getBridgeName().getValue() + bridgeNew.getDatapathId(), rendererStateAddWorker); + jobCoordinator.enqueueJob(bridgeNew.getBridgeName().getValue(), rendererStateAddWorker); } private class RendererStateAddWorker implements Callable>> { diff --git a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceStateRemoveHelper.java b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceStateRemoveHelper.java index 9360c570..a2a8b7d0 100644 --- a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceStateRemoveHelper.java +++ b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceStateRemoveHelper.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Ericsson India Global Services Pvt Ltd. and others. All rights reserved. + * Copyright (c) 2015 - 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, @@ -94,7 +94,7 @@ public class OvsInterfaceStateRemoveHelper { InstanceIdentifier higerLayerChildIfStateId = IfmUtil.buildStateInterfaceId(higherlayerChild.getChildInterface()); Interface higherLayerIfChildState = InterfaceManagerCommonUtils.getInterfaceStateFromOperDS(higherlayerChild.getChildInterface(), dataBroker); - if (interfaceState != null) { + if (interfaceState != null && higherLayerIfChildState != null) { transaction.delete(LogicalDatastoreType.OPERATIONAL, higerLayerChildIfStateId); FlowBasedServicesUtils.removeIngressFlow(higherLayerIfChildState.getName(), dpId, transaction); } diff --git a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceTopologyStateAddHelper.java b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceTopologyStateAddHelper.java index 95f9e91f..53151806 100644 --- a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceTopologyStateAddHelper.java +++ b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceTopologyStateAddHelper.java @@ -52,9 +52,6 @@ public class OvsInterfaceTopologyStateAddHelper { // create bridge reference entry in interface meta operational DS InterfaceMetaUtils.createBridgeRefEntry(dpnId, bridgeIid, writeTransaction); - // FIX for OVSDB Bug - manually copying the bridge info from topology operational DS to config DS - SouthboundUtils.addBridge(bridgeIid, bridgeNew, dataBroker, futures); - // handle pre-provisioning of tunnels for the newly connected dpn BridgeEntry bridgeEntry = InterfaceMetaUtils.getBridgeEntryFromConfigDS(dpnId, dataBroker); if (bridgeEntry == null) { diff --git a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceTopologyStateRemoveHelper.java b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceTopologyStateRemoveHelper.java index ca03320c..9ce801ce 100644 --- a/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceTopologyStateRemoveHelper.java +++ b/interfacemgr/interfacemgr-impl/src/main/java/org/opendaylight/vpnservice/interfacemgr/renderer/ovs/statehelpers/OvsInterfaceTopologyStateRemoveHelper.java @@ -42,9 +42,6 @@ public class OvsInterfaceTopologyStateRemoveHelper { //delete bridge reference entry in interface meta operational DS InterfaceMetaUtils.deleteBridgeRefEntry(dpnId, transaction); - // FIX for ovsdb bug for delete TEP - SouthboundUtils.deleteBridge(bridgeIid, dataBroker, futures); - futures.add(transaction.submit()); return futures; } -- 2.36.6