From: Robert Varga Date: Sat, 11 May 2019 06:35:56 +0000 (+0200) Subject: Migrate elanmanager to use LoggingFutures X-Git-Tag: release/sodium~46 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=427c43cbee327376787cd3dbb88168336bc2ebd6;p=netvirt.git Migrate elanmanager to use LoggingFutures {Jdk,Listenable}Futures.addErrorLogging() has been long deprecated, migrate to its replacement. Change-Id: I8b23430f4c177bd256d4899565103d7a7eca9f72 Signed-off-by: Robert Varga --- diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/listeners/EvpnElanInstanceListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/listeners/EvpnElanInstanceListener.java index 317ae1c479..776a8af04e 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/listeners/EvpnElanInstanceListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/listeners/EvpnElanInstanceListener.java @@ -20,7 +20,7 @@ import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase; import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.evpn.utils.EvpnMacVrfUtils; import org.opendaylight.netvirt.elan.evpn.utils.EvpnUtils; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.ElanInstances; @@ -76,7 +76,7 @@ public class EvpnElanInstanceListener extends AsyncDataTreeChangeListenerBase instanceIdentifier, ElanInstance original, ElanInstance update) { String elanName = update.getElanInstanceName(); - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, confTx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, confTx -> { if (evpnUtils.isWithdrawEvpnRT2Routes(original, update)) { evpnUtils.withdrawEvpnRT2Routes(original.augmentation(EvpnAugmentation.class), elanName); evpnMacVrfUtils.updateEvpnDmacFlows(original, false); diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/EvpnUtils.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/EvpnUtils.java index 417fc14279..75eaaa3ea2 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/EvpnUtils.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/EvpnUtils.java @@ -47,7 +47,7 @@ import org.opendaylight.genius.mdsalutil.instructions.InstructionWriteMetadata; import org.opendaylight.genius.mdsalutil.matches.MatchTunnelId; import org.opendaylight.genius.utils.ServiceIndex; import org.opendaylight.infrautils.jobcoordinator.JobCoordinator; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.bgpmanager.api.IBgpManager; import org.opendaylight.netvirt.elan.cache.ElanInstanceCache; import org.opendaylight.netvirt.elan.l2gw.utils.SettableFutureCallback; @@ -227,7 +227,7 @@ public class EvpnUtils { return; } int vpnLabel = 0; - long l2vni = elanUtils.getVxlanSegmentationId(elanInfo); + long l2vni = ElanUtils.getVxlanSegmentationId(elanInfo); long l3vni = 0; String gatewayMacAddr = null; String l3VpName = getL3vpnNameFromElan(elanInfo); @@ -370,7 +370,7 @@ public class EvpnUtils { } public void bindElanServiceToExternalTunnel(String elanName, String interfaceName) { - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { int instructionKey = 0; LOG.trace("Binding external interface {} elan {}", interfaceName, elanName); List instructions = new ArrayList<>(); @@ -389,7 +389,7 @@ public class EvpnUtils { } public void unbindElanServiceFromExternalTunnel(String elanName, String interfaceName) { - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { LOG.trace("UnBinding external interface {} elan {}", interfaceManager, elanName); short elanServiceIndex = ServiceIndex.getIndex(NwConstants.ELAN_SERVICE_NAME, NwConstants.ELAN_SERVICE_INDEX); @@ -415,7 +415,7 @@ public class EvpnUtils { private void programEvpnL2vniFlow(ElanInstance elanInfo, BiConsumer flowHandler) { long elanTag = elanInfo.getElanTag(); List mkMatches = new ArrayList<>(); - mkMatches.add(new MatchTunnelId(BigInteger.valueOf(elanUtils.getVxlanSegmentationId(elanInfo)))); + mkMatches.add(new MatchTunnelId(BigInteger.valueOf(ElanUtils.getVxlanSegmentationId(elanInfo)))); NWUtil.getOperativeDPNs(broker).forEach(dpnId -> { LOG.debug("Updating tunnel flow to dpnid {}", dpnId); List instructions = getInstructionsForExtTunnelTable(elanTag); diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanExtnTepConfigListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanExtnTepConfigListener.java index 69890bb3a2..c77635d569 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanExtnTepConfigListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanExtnTepConfigListener.java @@ -12,13 +12,12 @@ import static org.opendaylight.genius.infra.Datastore.OPERATIONAL; import javax.annotation.PostConstruct; import javax.inject.Inject; import javax.inject.Singleton; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase; import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; -import org.opendaylight.infrautils.utils.concurrent.JdkFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.ElanInstances; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances.ElanInstance; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances.elan.instance.ExternalTeps; @@ -58,7 +57,7 @@ public class ElanExtnTepConfigListener @Override protected void add(InstanceIdentifier iid, ExternalTeps tep) { - JdkFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL, tx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL, tx -> { tx.put(iid, tep, true); }), LOG, "Failed to update operational external teps {}", iid); } @@ -69,7 +68,7 @@ public class ElanExtnTepConfigListener @Override protected void remove(InstanceIdentifier iid, ExternalTeps tep) { - JdkFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL, tx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL, tx -> { tx.delete(iid); }), LOG, "Failed to update operational external teps {}", iid); } diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInstanceManager.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInstanceManager.java index 4008026517..701ebf97f5 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInstanceManager.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInstanceManager.java @@ -16,7 +16,6 @@ import java.util.Collections; import javax.annotation.PostConstruct; import javax.inject.Inject; import javax.inject.Singleton; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase; @@ -24,7 +23,7 @@ import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager; import org.opendaylight.infrautils.jobcoordinator.JobCoordinator; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.cache.ElanInterfaceCache; import org.opendaylight.netvirt.elan.utils.ElanConstants; import org.opendaylight.netvirt.elan.utils.ElanUtils; @@ -107,8 +106,8 @@ public class ElanInstanceManager extends AsyncDataTreeChangeListenerBase ListenableFutures.addErrorLogging( + LoggingFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL, + operTx -> LoggingFutures.addErrorLogging( txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, confTx -> ElanUtils.updateOperationalDataStore(idManager, update, new ArrayList<>(), confTx, operTx)), LOG, "Error updating ELAN tag in ELAN instance")), LOG, @@ -122,11 +121,11 @@ public class ElanInstanceManager extends AsyncDataTreeChangeListenerBase identifier, ElanInstance elanInstanceAdded) { - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(OPERATIONAL, operTx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(OPERATIONAL, operTx -> { String elanInstanceName = elanInstanceAdded.getElanInstanceName(); Elan elanInfo = ElanUtils.getElanByName(operTx, elanInstanceName); if (elanInfo == null) { - ListenableFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, + LoggingFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, confTx -> ElanUtils.updateOperationalDataStore(idManager, elanInstanceAdded, new ArrayList<>(), confTx, operTx)), LOG, "Error adding an ELAN instance"); } diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInterfaceManager.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInterfaceManager.java index 7397b2aa49..ac11a301a6 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInterfaceManager.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanInterfaceManager.java @@ -11,6 +11,7 @@ import static java.util.Collections.emptyList; import static org.opendaylight.controller.md.sal.binding.api.WriteTransaction.CREATE_MISSING_PARENTS; import static org.opendaylight.genius.infra.Datastore.CONFIGURATION; import static org.opendaylight.genius.infra.Datastore.OPERATIONAL; +import static org.opendaylight.infrautils.utils.concurrent.LoggingFutures.addErrorLogging; import static org.opendaylight.netvirt.elan.utils.ElanUtils.isVxlanNetworkOrVxlanSegment; import com.google.common.base.Optional; @@ -70,7 +71,7 @@ import org.opendaylight.genius.mdsalutil.matches.MatchTunnelId; import org.opendaylight.genius.utils.JvmGlobalLocks; import org.opendaylight.genius.utils.ServiceIndex; import org.opendaylight.infrautils.jobcoordinator.JobCoordinator; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.cache.ElanInstanceCache; import org.opendaylight.netvirt.elan.cache.ElanInterfaceCache; import org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayMulticastUtils; @@ -490,7 +491,7 @@ public class ElanInterfaceManager extends AsyncDataTreeChangeListenerBase dpnInterfaces = elanUtils.getInvolvedDpnsInElan(elanName); - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, confTx -> { + addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, confTx -> { for (DpnInterfaces dpnInterface : dpnInterfaces) { BigInteger currentDpId = dpnInterface.getDpId(); if (!currentDpId.equals(dpId) && dpnInterface.getInterfaces() != null) { @@ -563,7 +564,7 @@ public class ElanInterfaceManager extends AsyncDataTreeChangeListenerBase macEntryIdentifier = getMacEntryOperationalDataPath(elanName, staticMacEntry.getMacAddress()); - ListenableFutures.addErrorLogging(ElanUtils.waitForTransactionToComplete( + addErrorLogging(ElanUtils.waitForTransactionToComplete( txRunner.callWithNewReadWriteTransactionAndSubmit(OPERATIONAL, tx -> { Optional existingMacEntry = tx.read(macEntryIdentifier).get(); if (existingMacEntry.isPresent()) { @@ -580,7 +581,7 @@ public class ElanInterfaceManager extends AsyncDataTreeChangeListenerBase identifier, ElanInterface elanInterfaceAdded) { - ListenableFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL, operTx -> { + addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(OPERATIONAL, operTx -> { String elanInstanceName = elanInterfaceAdded.getElanInstanceName(); String interfaceName = elanInterfaceAdded.getName(); InterfaceInfo interfaceInfo = interfaceManager.getInterfaceInfo(interfaceName); @@ -1690,7 +1691,7 @@ public class ElanInterfaceManager extends AsyncDataTreeChangeListenerBase elanL2GatewayMulticastUtils.setupElanBroadcastGroups(elanInfo, finalDpId, confTx)), LOG, "Error setting up ELAN BGs"); // install L2gwDevices local macs in dpn. @@ -1799,7 +1800,7 @@ public class ElanInterfaceManager extends AsyncDataTreeChangeListenerBase elanL2GatewayMulticastUtils.setupStandardElanBroadcastGroups(elanInstance, dpnInterfaces, dpId, confTx)), LOG, "Error setting up remote BC group for ELAN {}", elanInstance.getPhysicalNetworkName()); try { diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanNodeListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanNodeListener.java index cd80a65db4..57acfbf2ef 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanNodeListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanNodeListener.java @@ -8,6 +8,7 @@ package org.opendaylight.netvirt.elan.internal; import static org.opendaylight.genius.infra.Datastore.CONFIGURATION; +import static org.opendaylight.infrautils.utils.concurrent.LoggingFutures.addErrorLogging; import java.math.BigInteger; import java.time.Duration; @@ -16,11 +17,9 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.concurrent.ExecutionException; - import javax.annotation.PostConstruct; import javax.inject.Inject; import javax.inject.Singleton; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase; @@ -59,7 +58,7 @@ import org.opendaylight.genius.mdsalutil.matches.MatchEthernetDestination; import org.opendaylight.genius.mdsalutil.matches.MatchEthernetType; import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchRegister; import org.opendaylight.infrautils.jobcoordinator.JobCoordinator; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.arp.responder.ArpResponderConstant; import org.opendaylight.netvirt.elan.arp.responder.ArpResponderUtil; import org.opendaylight.netvirt.elan.utils.ElanConstants; @@ -139,13 +138,12 @@ public class ElanNodeListener extends AsyncDataTreeChangeListenerBase { - BigInteger dpId = new BigInteger(node[1]); - createTableMissEntry(tx, dpId); - createMulticastFlows(tx, dpId); - createArpDefaultFlowsForArpCheckTable(dpId); - }), LOG, "Error handling ELAN node addition for {}", add); + addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION, tx -> { + BigInteger dpId = new BigInteger(node[1]); + createTableMissEntry(tx, dpId); + createMulticastFlows(tx, dpId); + createArpDefaultFlowsForArpCheckTable(dpId); + }), LOG, "Error handling ELAN node addition for {}", add); } private void createArpDefaultFlowsForArpCheckTable(BigInteger dpId) { @@ -355,7 +353,7 @@ public class ElanNodeListener extends AsyncDataTreeChangeListenerBase { LOG.info("group {} added in the config", arpRequestGroupId); - ListenableFutures.addErrorLogging( + LoggingFutures.addErrorLogging( txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, innerConfTx -> createArpRequestMatchFlowsForGroup(dpId, arpRequestGroupId, innerConfTx)), diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanPacketInHandler.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanPacketInHandler.java index 2bd769649b..86df916e18 100755 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanPacketInHandler.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanPacketInHandler.java @@ -30,7 +30,7 @@ import org.opendaylight.genius.mdsalutil.NWUtil; import org.opendaylight.genius.mdsalutil.NwConstants; import org.opendaylight.genius.mdsalutil.packet.Ethernet; import org.opendaylight.infrautils.jobcoordinator.JobCoordinator; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.cache.ElanInstanceCache; import org.opendaylight.netvirt.elan.evpn.utils.EvpnUtils; import org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils; @@ -250,7 +250,7 @@ public class ElanPacketInHandler implements PacketProcessingListener { macEntry.getMacAddress(), macEntry.getInterface()); return; } - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> elanUtils.deleteMacFlows(elanInfo, oldInterfaceLport, macEntry, tx)), LOG, "Error deleting invalid MAC entry"); elanL2GatewayUtils.removeMacsFromElanExternalDevices(elanInfo, diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java index cbde09c7ea..2b4b876a60 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/internal/ElanServiceProvider.java @@ -41,7 +41,7 @@ import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager; import org.opendaylight.genius.utils.ServiceIndex; import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundConstants; import org.opendaylight.infrautils.inject.AbstractLifecycle; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.mdsal.eos.binding.api.Entity; import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipCandidateRegistration; import org.opendaylight.mdsal.eos.binding.api.EntityOwnershipService; @@ -866,7 +866,7 @@ public class ElanServiceProvider extends AbstractLifecycle implements IElanServi ArpResponderUtil.generateCookie(lportTag, ipAddress), ArpResponderUtil.getMatchCriteria(lportTag, elanInstance, ipAddress), arpResponderInput.getInstructions()); - ListenableFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION, + LoggingFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION, tx -> mdsalManager.addFlow(tx, dpnId, flowEntity)), LOG, "Error adding flow {}", flowEntity); LOG.info("Installed the ARP Responder flow for Interface {}", ingressInterfaceName); } @@ -894,7 +894,7 @@ public class ElanServiceProvider extends AbstractLifecycle implements IElanServi ArpResponderUtil.generateCookie(lportTag, ipAddress), ArpResponderUtil.getMatchCriteria(lportTag, elanInstance, ipAddress), arpResponderInput.getInstructions()); - ListenableFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION, + LoggingFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(Datastore.CONFIGURATION, tx -> mdsalManager.addFlow(tx, dpnId, flowEntity)), LOG, "Error adding flow {}", flowEntity); LOG.trace("Installed the ExternalTunnel ARP Responder flow for ElanInstance {}", elanInstanceName); } @@ -914,7 +914,7 @@ public class ElanServiceProvider extends AbstractLifecycle implements IElanServi */ @Override public Long retrieveNewElanTag(String idKey) { - return elanUtils.retrieveNewElanTag(idManager, idKey); + return ElanUtils.retrieveNewElanTag(idManager, idKey); } @Override diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeConnectedHandler.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeConnectedHandler.java index 1efffc6f4f..d48e2110c9 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeConnectedHandler.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeConnectedHandler.java @@ -20,7 +20,7 @@ import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; import org.opendaylight.genius.infra.TypedReadWriteTransaction; import org.opendaylight.genius.utils.hwvtep.HwvtepNodeHACache; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil; import org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAJobScheduler; import org.opendaylight.netvirt.elan.l2gw.ha.merge.GlobalAugmentationMerger; @@ -92,7 +92,7 @@ public class NodeConnectedHandler { (created in the device) */ HAJobScheduler.getInstance().submitJob(() -> { - ListenableFutures.addErrorLogging( + LoggingFutures.addErrorLogging( txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, jobTx -> { hwvtepNodeHACache.updateConnectedNodeStatus(childNodePath); LOG.info("HA child reconnected handleNodeReConnected {}", diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeCopier.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeCopier.java index daeb952b30..b82bf3e27f 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeCopier.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/handlers/NodeCopier.java @@ -24,7 +24,7 @@ import org.opendaylight.genius.infra.Datastore.Operational; import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; import org.opendaylight.genius.infra.TypedReadWriteTransaction; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil; import org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAJobScheduler; import org.opendaylight.netvirt.elan.l2gw.ha.merge.GlobalAugmentationMerger; @@ -69,7 +69,7 @@ public class NodeCopier { Futures.addCallback(tx.read(srcPath), new FutureCallback>() { @Override public void onSuccess(Optional nodeOptional) { - HAJobScheduler.getInstance().submitJob(() -> ListenableFutures.addErrorLogging( + HAJobScheduler.getInstance().submitJob(() -> LoggingFutures.addErrorLogging( txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> { if (nodeOptional.isPresent()) { copyGlobalNode(nodeOptional, srcPath, dstPath, datastoreType, tx); @@ -122,7 +122,7 @@ public class NodeCopier { haBuilder.setManagers(HwvtepHAUtil.buildManagersForHANode(srcGlobalNodeOptional.get(), existingDstGlobalNodeOptional)); //Also update the manager section in config which helps in cluster reboot scenarios - ListenableFutures.addErrorLogging( + LoggingFutures.addErrorLogging( txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, confTx -> haBuilder.getManagers().forEach(manager -> { InstanceIdentifier managerIid = @@ -153,7 +153,7 @@ public class NodeCopier { @Override public void onSuccess(Optional nodeOptional) { HAJobScheduler.getInstance().submitJob(() -> { - ListenableFutures.addErrorLogging( + LoggingFutures.addErrorLogging( txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> { if (nodeOptional.isPresent()) { copyPSNode(nodeOptional, diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HAOpNodeListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HAOpNodeListener.java index aa3ce9f210..a448342fbc 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HAOpNodeListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HAOpNodeListener.java @@ -27,7 +27,7 @@ import org.opendaylight.genius.infra.Datastore.Operational; import org.opendaylight.genius.infra.TypedReadWriteTransaction; import org.opendaylight.genius.utils.hwvtep.HwvtepNodeHACache; import org.opendaylight.infrautils.metrics.MetricProvider; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil; import org.opendaylight.netvirt.elan.l2gw.ha.handlers.HAEventHandler; import org.opendaylight.netvirt.elan.l2gw.ha.handlers.IHAEventHandler; @@ -84,7 +84,7 @@ public class HAOpNodeListener extends HwvtepNodeBaseListener { LOG.trace("Ha enabled child node connected {}", childNode.getNodeId().getValue()); try { nodeCopier.copyGlobalNode(Optional.fromNullable(childNode), childGlobalPath, haNodePath, OPERATIONAL, tx); - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, confTx -> nodeCopier.copyGlobalNode(Optional.fromNullable(null), haNodePath, childGlobalPath, CONFIGURATION, confTx)), LOG, "Error copying to configuration"); } catch (InterruptedException | ExecutionException e) { @@ -161,7 +161,7 @@ public class HAOpNodeListener extends HwvtepNodeBaseListener { try { nodeCopier.copyPSNode(Optional.fromNullable(childPsNode), childPsPath, haPsPath, haGlobalPath, OPERATIONAL, tx); - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, confTx -> nodeCopier.copyPSNode(Optional.fromNullable(null), haPsPath, childPsPath, childGlobalPath, CONFIGURATION, confTx)), LOG, "Error copying to configuration"); } catch (InterruptedException | ExecutionException e) { diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HwvtepNodeBaseListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HwvtepNodeBaseListener.java index e0316bec5d..d87fe75850 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HwvtepNodeBaseListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HwvtepNodeBaseListener.java @@ -30,7 +30,7 @@ import org.opendaylight.infrautils.metrics.Labeled; import org.opendaylight.infrautils.metrics.Meter; import org.opendaylight.infrautils.metrics.MetricDescriptor; import org.opendaylight.infrautils.metrics.MetricProvider; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.HwvtepGlobalAugmentation; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.PhysicalSwitchAugmentation; @@ -139,7 +139,7 @@ public abstract class HwvtepNodeBaseListener @Override public void onDataTreeChanged(final Collection> changes) { - HAJobScheduler.getInstance().submitJob(() -> ListenableFutures.addErrorLogging( + HAJobScheduler.getInstance().submitJob(() -> LoggingFutures.addErrorLogging( txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> { processConnectedNodes(changes, tx); processUpdatedNodes(changes, tx); diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HwvtepNodeDataListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HwvtepNodeDataListener.java index c7ea093ea5..3a2da8e616 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HwvtepNodeDataListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/ha/listeners/HwvtepNodeDataListener.java @@ -23,7 +23,7 @@ import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; import org.opendaylight.genius.infra.TypedReadWriteTransaction; import org.opendaylight.genius.utils.hwvtep.HwvtepNodeHACache; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.hwvtep.rev150901.hwvtep.global.attributes.RemoteUcastMacs; import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node; @@ -115,7 +115,7 @@ public abstract class HwvtepNodeDataListener parentIdentifier = mergeCommand.generateId(parent, parentData); - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> writeToMdsal(tx, parentData, parentIdentifier)), LOG, "Error copying to parent"); } } @@ -127,7 +127,7 @@ public abstract class HwvtepNodeDataListener parent = getHAParent(identifier); if (parent != null) { - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> { if (isNodeConnected(identifier)) { LOG.trace("Copy child op data {} to parent {} create:{}", mergeCommand.getDescription(), getNodeId(parent), false); @@ -142,7 +142,7 @@ public abstract class HwvtepNodeDataListener parentIdentifier, final T parentData) { Set> children = getChildrenForHANode(parentIdentifier); if (children != null) { - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> { for (InstanceIdentifier child : children) { LOG.trace("Copy parent config data {} to child {}", mergeCommand.getDescription(), getNodeId(child)); @@ -157,7 +157,7 @@ public abstract class HwvtepNodeDataListener parentIdentifier, final T parentData) { Set> children = getChildrenForHANode(parentIdentifier); if (children != null) { - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(datastoreType, tx -> { for (InstanceIdentifier child : children) { LOG.trace("Delete parent config data {} to child {}", mergeCommand.getDescription(), getNodeId(child)); diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/ElanGroupListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/ElanGroupListener.java index 7a98143a70..b5cfc0e305 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/ElanGroupListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/ElanGroupListener.java @@ -20,7 +20,7 @@ import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.genius.datastoreutils.AsyncClusteredDataTreeChangeListenerBase; import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.cache.ElanInstanceCache; import org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayMulticastUtils; import org.opendaylight.netvirt.elan.utils.ElanClusterUtils; @@ -151,7 +151,7 @@ public class ElanGroupListener extends AsyncClusteredDataTreeChangeListenerBase< LOG.trace("no of buckets mismatched {} {}", elanInstance.getElanInstanceName(), update.key().getGroupId()); elanClusterUtils.runOnlyInOwnerNode(elanInstance.getElanInstanceName(), "updating broadcast group", () -> { - ListenableFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, + LoggingFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, confTx -> elanL2GatewayMulticastUtils.setupElanBroadcastGroups(elanInstance, dpnId, confTx)), LOG, "Error setting up ELAN BGs"); return null; diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/ElanInstanceListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/ElanInstanceListener.java index 14ce85bcd0..f9a6f8fcb7 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/ElanInstanceListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/ElanInstanceListener.java @@ -20,7 +20,7 @@ import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.genius.datastoreutils.AsyncClusteredDataTreeChangeListenerBase; import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.l2gw.utils.L2GatewayConnectionUtils; import org.opendaylight.netvirt.elan.utils.ElanClusterUtils; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.ElanInstances; @@ -76,7 +76,7 @@ public class ElanInstanceListener extends AsyncClusteredDataTreeChangeListenerBa tx.delete(iid); } }); - ListenableFutures.addErrorLogging(future, LOG, + LoggingFutures.addErrorLogging(future, LOG, "Failed to delete associate L2 gateway connection while deleting network"); return Collections.singletonList(future); }); diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepPhysicalSwitchListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepPhysicalSwitchListener.java index 802ee837f6..84fe2d833a 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepPhysicalSwitchListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/HwvtepPhysicalSwitchListener.java @@ -32,7 +32,7 @@ import org.opendaylight.genius.mdsalutil.MDSALUtil; import org.opendaylight.genius.utils.hwvtep.HwvtepNodeHACache; import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundConstants; import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundUtils; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil; import org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpClusteredListener; import org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils; @@ -384,7 +384,7 @@ public class HwvtepPhysicalSwitchListener private void updateConfigTunnelIp(InstanceIdentifier identifier, PhysicalSwitchAugmentation phySwitchAdded) { if (phySwitchAdded.getTunnelIps() != null) { - ListenableFutures.addErrorLogging( + LoggingFutures.addErrorLogging( txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { Optional existingSwitch = tx.read(identifier).get(); PhysicalSwitchAugmentationBuilder psBuilder = new PhysicalSwitchAugmentationBuilder(); diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/LocalUcastMacListener.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/LocalUcastMacListener.java index e49a2f08ff..136c7b3091 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/LocalUcastMacListener.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/listeners/LocalUcastMacListener.java @@ -31,7 +31,7 @@ import org.opendaylight.genius.utils.batching.ResourceBatchingManager; import org.opendaylight.genius.utils.hwvtep.HwvtepNodeHACache; import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundUtils; import org.opendaylight.infrautils.jobcoordinator.JobCoordinator; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.cache.ElanInstanceCache; import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil; import org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpClusteredListener; @@ -203,11 +203,11 @@ public class LocalUcastMacListener extends ChildListener haOpClusteredListener.onGlobalNodeAdd(nodeIid, modification.getRootNode().getDataAfter(), tx)), LOG, "Error processing added parent"); if (!isHAChild(nodeIid)) { - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { LOG.trace("On parent add {}", nodeIid); Node operNode = modification.getRootNode().getDataAfter(); Set configMacs = getMacs(tx.read(nodeIid).get().orNull()); diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java index c07ab0087a..6188724f9d 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayMulticastUtils.java @@ -39,7 +39,7 @@ import org.opendaylight.genius.utils.batching.ResourceBatchingManager; import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundUtils; import org.opendaylight.genius.utils.hwvtep.HwvtepUtils; import org.opendaylight.infrautils.jobcoordinator.JobCoordinator; -import org.opendaylight.infrautils.utils.concurrent.JdkFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.l2gw.jobs.HwvtepDeviceMcastMacUpdateJob; import org.opendaylight.netvirt.elan.utils.ElanConstants; import org.opendaylight.netvirt.elan.utils.ElanItmUtils; @@ -119,7 +119,7 @@ public class ElanL2GatewayMulticastUtils { */ public void handleMcastForElanL2GwDeviceAdd(String elanName, L2GatewayDevice device) { InstanceIdentifier tepPath = buildExternalTepPath(elanName, device.getTunnelIp()); - JdkFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, + LoggingFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> tx.put(tepPath, buildExternalTeps(device))), LOG, "Failed to write to config external tep {}", tepPath); updateMcastMacsForAllElanDevices(elanName, device, true/* updateThisDevice */); diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java index 3e4d17ad83..bb53847f45 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/ElanL2GatewayUtils.java @@ -50,7 +50,7 @@ import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundConstants; import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundUtils; import org.opendaylight.genius.utils.hwvtep.HwvtepUtils; import org.opendaylight.infrautils.jobcoordinator.JobCoordinator; -import org.opendaylight.infrautils.utils.concurrent.JdkFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.cache.ElanInstanceCache; import org.opendaylight.netvirt.elan.cache.ElanInstanceDpnsCache; import org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil; @@ -1022,7 +1022,7 @@ public class ElanL2GatewayUtils { if (!optionalElan.isPresent()) { return; } - JdkFutures.addErrorLogging( + LoggingFutures.addErrorLogging( new ManagedNewTransactionRunnerImpl(dataBroker).callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> optionalElan.get().nonnullElanInstance().stream() .flatMap(elan -> elan.nonnullExternalTeps().stream() diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/StaleVlanBindingsCleaner.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/StaleVlanBindingsCleaner.java index 9a2d7639fe..ea8e50cbf2 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/StaleVlanBindingsCleaner.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/l2gw/utils/StaleVlanBindingsCleaner.java @@ -29,7 +29,7 @@ import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; import org.opendaylight.genius.mdsalutil.MDSALUtil; import org.opendaylight.genius.utils.hwvtep.HwvtepSouthboundUtils; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.cache.ElanInstanceCache; import org.opendaylight.netvirt.elan.utils.Scheduler; import org.opendaylight.netvirt.neutronvpn.api.l2gw.L2GatewayCache; @@ -187,7 +187,7 @@ public class StaleVlanBindingsCleaner { final String staleLogicalSwitch) { LOG.trace("CleanupStaleBindings for logical switch {}", staleLogicalSwitch); - ListenableFutures.addErrorLogging( + LoggingFutures.addErrorLogging( txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> { if (vlans.containsKey(staleLogicalSwitch)) { vlans.get(staleLogicalSwitch).forEach((vlanIid) -> tx.delete(vlanIid)); diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanForwardingEntriesHandler.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanForwardingEntriesHandler.java index 13794f82f1..524c533ddc 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanForwardingEntriesHandler.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanForwardingEntriesHandler.java @@ -24,7 +24,7 @@ import org.opendaylight.genius.infra.ManagedNewTransactionRunner; import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; import org.opendaylight.genius.infra.TypedReadWriteTransaction; import org.opendaylight.genius.interfacemanager.globals.InterfaceInfo; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.instances.ElanInstance; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.elan.interfaces.elan._interface.StaticMacEntries; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.rev150602.forwarding.entries.MacEntry; @@ -143,7 +143,7 @@ public class ElanForwardingEntriesHandler { flowTx -> elanUtils.deleteMacFlows(elanInfo, interfaceInfo, macEntry, flowTx))); })); for (ListenableFuture future : futures) { - ListenableFutures.addErrorLogging(future, LOG, "Error deleting ELAN interface forwarding entries"); + LoggingFutures.addErrorLogging(future, LOG, "Error deleting ELAN interface forwarding entries"); } } } diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanUtils.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanUtils.java index 99230771ca..f23876ba7e 100755 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanUtils.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/ElanUtils.java @@ -32,7 +32,6 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import javax.inject.Inject; import javax.inject.Singleton; - import org.apache.commons.lang3.StringUtils; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; @@ -74,8 +73,7 @@ import org.opendaylight.genius.mdsalutil.matches.MatchTunnelId; import org.opendaylight.genius.mdsalutil.packet.ARP; import org.opendaylight.genius.mdsalutil.packet.Ethernet; import org.opendaylight.genius.mdsalutil.packet.IPv4; -import org.opendaylight.infrautils.utils.concurrent.JdkFutures; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.arp.responder.ArpResponderUtil; import org.opendaylight.netvirt.elan.cache.ElanInterfaceCache; import org.opendaylight.netvirt.elanmanager.api.ElanHelper; @@ -270,7 +268,7 @@ public class ElanUtils { public static void releaseId(IdManagerService idManager, String poolName, String idKey) { ReleaseIdInput releaseIdInput = new ReleaseIdInputBuilder().setPoolName(poolName).setIdKey(idKey).build(); - JdkFutures.addErrorLogging(idManager.releaseId(releaseIdInput), LOG, "Release Id"); + LoggingFutures.addErrorLogging(idManager.releaseId(releaseIdInput), LOG, "Release Id"); } /** @@ -1403,7 +1401,7 @@ public class ElanUtils { public void addDmacRedirectToDispatcherFlows(Long elanTag, String displayName, String macAddress, List dpnIds) { for (BigInteger dpId : dpnIds) { - ListenableFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, + LoggingFutures.addErrorLogging(txRunner.callWithNewWriteOnlyTransactionAndSubmit(CONFIGURATION, tx -> mdsalManager.addFlow(tx, buildDmacRedirectToDispatcherFlow(dpId, macAddress, displayName, elanTag))), LOG, "Error adding DMAC redirect to dispatcher flows"); @@ -1411,7 +1409,7 @@ public class ElanUtils { } public void removeDmacRedirectToDispatcherFlows(Long elanTag, String macAddress, List dpnIds) { - ListenableFutures.addErrorLogging( + LoggingFutures.addErrorLogging( txRunner.callWithNewReadWriteTransactionAndSubmit(Datastore.CONFIGURATION, tx -> { for (BigInteger dpId : dpnIds) { String flowId = getKnownDynamicmacFlowRef(NwConstants.ELAN_DMAC_TABLE, dpId, macAddress, elanTag); @@ -1588,7 +1586,7 @@ public class ElanUtils { int lportTag) { LOG.info("Removing the ARP responder flow on DPN {} of Interface {} with IP {}", dpnId, ingressInterfaceName, ipAddress); - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(Datastore.CONFIGURATION, + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(Datastore.CONFIGURATION, tx -> mdsalManager.removeFlow(tx, dpnId, ArpResponderUtil.getFlowId(lportTag, ipAddress), NwConstants.ARP_RESPONDER_TABLE)), LOG, "Error removing ARP responder flow"); } diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/TransportZoneNotificationUtil.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/TransportZoneNotificationUtil.java index 651b04fbca..478f64ae93 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/TransportZoneNotificationUtil.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/utils/TransportZoneNotificationUtil.java @@ -38,7 +38,7 @@ import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl; import org.opendaylight.genius.infra.TypedReadTransaction; import org.opendaylight.genius.infra.TypedReadWriteTransaction; import org.opendaylight.genius.infra.TypedWriteTransaction; -import org.opendaylight.infrautils.utils.concurrent.ListenableFutures; +import org.opendaylight.infrautils.utils.concurrent.LoggingFutures; import org.opendaylight.netvirt.elan.cache.ElanInstanceCache; import org.opendaylight.netvirt.elan.internal.ElanBridgeManager; import org.opendaylight.netvirt.elanmanager.api.IElanService; @@ -147,7 +147,7 @@ public class TransportZoneNotificationUtil { } public void updateTransportZone(String zoneNamePrefix, BigInteger dpnId) { - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { Map localIps = getDpnLocalIps(dpnId); if (!localIps.isEmpty()) { LOG.debug("Will use local_ips for transport zone update for dpn {} and zone name prefix {}", dpnId, @@ -196,7 +196,7 @@ public class TransportZoneNotificationUtil { } public void deleteTransportZone(String zoneNamePrefix, BigInteger dpnId) { - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { Map localIps = getDpnLocalIps(dpnId); if (!localIps.isEmpty()) { LOG.debug("Will use local_ips for transport zone delete for dpn {} and zone name prefix {}", dpnId, @@ -266,7 +266,7 @@ public class TransportZoneNotificationUtil { return; } - ListenableFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { + LoggingFutures.addErrorLogging(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> { BigInteger dpId = dpIdOpt.get(); Optional dpnTepsInfoOpt = getDpnTepsInfo(dpId, tx); if (!dpnTepsInfoOpt.isPresent()) {