From: Deepthi V V Date: Fri, 12 Jan 2018 07:13:33 +0000 (+0530) Subject: l3vpn app data clean up on vm delete. X-Git-Tag: release/oxygen~86 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;ds=sidebyside;h=1c3ae785f84659c2ad7c6f795a8990c8ee00884e;p=netvirt.git l3vpn app data clean up on vm delete. L3VPN application data is not cleaned up on vm delete and dissociate network/router scenarios. This review fixes the issue. Change-Id: Id1d7c89206c5bea77925320b67c0e12d6ffbf2bf Signed-off-by: Deepthi V V --- diff --git a/vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/VrfEntryListener.java b/vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/VrfEntryListener.java index 40ff1c8a51..996040bcab 100755 --- a/vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/VrfEntryListener.java +++ b/vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/VrfEntryListener.java @@ -1335,27 +1335,27 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase optAdjacencies = - MDSALUtil.read(dataBroker, LogicalDatastoreType.OPERATIONAL, - FibUtil.getAdjListPathOp(ifName, vpnName)); - int numAdj = 0; - if (optAdjacencies.isPresent()) { - numAdj = optAdjacencies.get().getAdjacency().size(); - } - //remove adjacency corr to prefix - if (numAdj > 1) { - LOG.info("cleanUpOpDataForFib: remove adjacency for prefix: {} {} vpnName {}", vpnId, - vrfEntry.getDestPrefix(), vpnName); - tx.delete(LogicalDatastoreType.OPERATIONAL, - FibUtil.getAdjacencyIdentifierOp(ifName, vpnName, vrfEntry.getDestPrefix())); - } else { - //this is last adjacency (or) no more adjacency left for this vpn interface, so - //clean up the vpn interface from DpnToVpn list - LOG.info("Clean up vpn interface {} from dpn {} to vpn {} list.", - ifName, prefixInfo.getDpnId(), rd); - tx.delete(LogicalDatastoreType.OPERATIONAL, - FibUtil.getVpnInterfaceOpDataEntryIdentifier(ifName, vpnName)); - } + } + Optional optAdjacencies = + MDSALUtil.read(dataBroker, LogicalDatastoreType.OPERATIONAL, + FibUtil.getAdjListPathOp(ifName, vpnName)); + int numAdj = 0; + if (optAdjacencies.isPresent()) { + numAdj = optAdjacencies.get().getAdjacency().size(); + } + //remove adjacency corr to prefix + if (numAdj > 1) { + LOG.info("cleanUpOpDataForFib: remove adjacency for prefix: {} {} vpnName {}", vpnId, + vrfEntry.getDestPrefix(), vpnName); + tx.delete(LogicalDatastoreType.OPERATIONAL, + FibUtil.getAdjacencyIdentifierOp(ifName, vpnName, vrfEntry.getDestPrefix())); + } else { + //this is last adjacency (or) no more adjacency left for this vpn interface, so + //clean up the vpn interface from DpnToVpn list + LOG.info("Clean up vpn interface {} from dpn {} to vpn {} list.", + ifName, prefixInfo.getDpnId(), rd); + tx.delete(LogicalDatastoreType.OPERATIONAL, + FibUtil.getVpnInterfaceOpDataEntryIdentifier(ifName, vpnName)); } })); }