Convert to JobCoordinator in dhcpservice-impl 21/64321/6
authorTom Pantelis <tompantelis@gmail.com>
Tue, 17 Oct 2017 00:12:25 +0000 (20:12 -0400)
committerSam Hague <shague@redhat.com>
Tue, 31 Oct 2017 01:47:18 +0000 (01:47 +0000)
DataStoreJobCoordinator is deprecated so convert to use JobCoordinator.

Change-Id: Idb4057c125e41bf64dcba559caedfe8d046da28f
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
vpnservice/dhcpservice/dhcpservice-impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpAllocationPoolListener.java
vpnservice/dhcpservice/dhcpservice-impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpAllocationPoolManager.java
vpnservice/dhcpservice/dhcpservice-impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpExternalTunnelManager.java
vpnservice/dhcpservice/dhcpservice-impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpInterfaceConfigListener.java
vpnservice/dhcpservice/dhcpservice-impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpInterfaceEventListener.java
vpnservice/dhcpservice/dhcpservice-impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpManager.java
vpnservice/dhcpservice/dhcpservice-impl/src/main/java/org/opendaylight/netvirt/dhcpservice/DhcpNeutronPortListener.java
vpnservice/dhcpservice/dhcpservice-impl/src/main/resources/org/opendaylight/blueprint/dhcpservice.xml

index 07bb51764540dc32d9f152a7e1280e6125695e0f..2e8ee9bd841531ead28a63c50c4c7eb2c1add220 100644 (file)
@@ -10,11 +10,10 @@ package org.opendaylight.netvirt.dhcpservice;
 import java.math.BigInteger;
 import java.util.List;
 import java.util.Map;
-
 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.datastoreutils.DataStoreJobCoordinator;
+import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.netvirt.dhcpservice.api.DhcpMConstants;
 import org.opendaylight.netvirt.dhcpservice.jobs.DhcpAllocationPoolAddJob;
 import org.opendaylight.netvirt.dhcpservice.jobs.DhcpAllocationPoolRemoveJob;
@@ -32,15 +31,15 @@ public class DhcpAllocationPoolListener
 
     private final DhcpAllocationPoolManager dhcpAllocationPoolManager;
     private final DataBroker dataBroker;
-    private final DataStoreJobCoordinator dataStoreJobCoordinator;
+    private final JobCoordinator jobCoordinator;
 
     public DhcpAllocationPoolListener(final DhcpAllocationPoolManager dhcpAllocationPoolManager,
-            final DataBroker dataBroker) {
+            final DataBroker dataBroker, final JobCoordinator jobCoordinator) {
         super(AllocationPool.class, DhcpAllocationPoolListener.class);
         this.dhcpAllocationPoolManager = dhcpAllocationPoolManager;
         this.dataBroker = dataBroker;
+        this.jobCoordinator = jobCoordinator;
         registerListener(LogicalDatastoreType.CONFIGURATION, dataBroker);
-        dataStoreJobCoordinator = DataStoreJobCoordinator.getInstance();
         LOG.info("DhcpAllocationPoolListener initialized");
     }
 
@@ -54,7 +53,7 @@ public class DhcpAllocationPoolListener
                 LOG.debug("Install Dhcp Entries for dpId: {} interface : {}", dpnId, interfaceName);
                 DhcpAllocationPoolAddJob job = new DhcpAllocationPoolAddJob(dataBroker,
                         interfaceName);
-                dataStoreJobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(interfaceName), job,
+                jobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(interfaceName), job,
                         DhcpMConstants.RETRY_COUNT);
             }
         }
@@ -80,7 +79,7 @@ public class DhcpAllocationPoolListener
             for (String interfaceName : elanDpnInterfacesByName.get(dpnId)) {
                 DhcpAllocationPoolRemoveJob job = new DhcpAllocationPoolRemoveJob(dataBroker,
                         interfaceName);
-                dataStoreJobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(interfaceName), job,
+                jobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(interfaceName), job,
                         DhcpMConstants.RETRY_COUNT);
             }
         }
index a2565ac18b92514d2e452f00f87a414072bf96c5..68d914ff61d324ed8255a6986b3a496b8eeb0ffe 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.netvirt.dhcpservice;
 
 import com.google.common.base.Optional;
-
 import java.math.BigInteger;
 import java.util.EventListener;
 import java.util.List;
@@ -16,7 +15,6 @@ import java.util.Map;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 import java.util.stream.Collectors;
-
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
@@ -25,7 +23,7 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.mdsalutil.MDSALDataStoreUtils;
 import org.opendaylight.genius.mdsalutil.MDSALUtil;
-import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
+import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.AllocateIdInput;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.idmanager.rev160406.AllocateIdInputBuilder;
@@ -61,23 +59,23 @@ public class DhcpAllocationPoolManager implements AutoCloseable, EventListener {
     private DhcpAllocationPoolListener dhcpAllocationPoolListener;
 
     private final DataBroker dataBroker;
-    private final IMdsalApiManager mdsalUtil;
     private final IdManagerService idManager;
     private final DhcpserviceConfig config;
+    private final JobCoordinator jobCoordinator;
 
     @Inject
-    public DhcpAllocationPoolManager(final IMdsalApiManager mdsalApiManager, final DataBroker dataBroker,
-            final IdManagerService idManager, final DhcpserviceConfig config) {
-        this.mdsalUtil = mdsalApiManager;
+    public DhcpAllocationPoolManager(final DataBroker dataBroker, final IdManagerService idManager,
+            final DhcpserviceConfig config, final JobCoordinator jobCoordinator) {
         this.dataBroker = dataBroker;
         this.idManager = idManager;
         this.config = config;
+        this.jobCoordinator = jobCoordinator;
     }
 
     @PostConstruct
     public void init() {
         if (config.isDhcpDynamicAllocationPoolEnabled()) {
-            dhcpAllocationPoolListener = new DhcpAllocationPoolListener(this, dataBroker);
+            dhcpAllocationPoolListener = new DhcpAllocationPoolListener(this, dataBroker, jobCoordinator);
             LOG.info("DHCP Allocation Pool Service initialized");
         }
     }
index a21c82338862d07aaceabc9d273fe302f25a73c4..ce76d12c6c5e2196075f64f9e55ed9861d452766 100644 (file)
@@ -33,7 +33,6 @@ import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
-import org.opendaylight.genius.datastoreutils.DataStoreJobCoordinator;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
 import org.opendaylight.genius.mdsalutil.MDSALUtil;
 import org.opendaylight.genius.mdsalutil.NwConstants;
@@ -42,6 +41,7 @@ import org.opendaylight.genius.utils.clustering.EntityOwnershipUtils;
 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.mdsal.eos.binding.api.EntityOwnershipService;
 import org.opendaylight.netvirt.dhcpservice.api.DhcpMConstants;
 import org.opendaylight.netvirt.elanmanager.utils.ElanL2GwCacheUtils;
@@ -93,6 +93,7 @@ public class DhcpExternalTunnelManager {
     private final ItmRpcService itmRpcService;
     private final EntityOwnershipUtils entityOwnershipUtils;
     private final IInterfaceManager interfaceManager;
+    private final JobCoordinator jobCoordinator;
 
     private final ConcurrentMap<BigInteger, Set<Pair<IpAddress, String>>> designatedDpnsToTunnelIpElanNameCache =
             new ConcurrentHashMap<>();
@@ -104,12 +105,14 @@ public class DhcpExternalTunnelManager {
     @Inject
     public DhcpExternalTunnelManager(final DataBroker broker,
             final IMdsalApiManager mdsalUtil, final ItmRpcService itmRpcService,
-            final EntityOwnershipService entityOwnershipService, final IInterfaceManager interfaceManager) {
+            final EntityOwnershipService entityOwnershipService, final IInterfaceManager interfaceManager,
+            final JobCoordinator jobCoordinator) {
         this.broker = broker;
         this.mdsalUtil = mdsalUtil;
         this.itmRpcService = itmRpcService;
         this.entityOwnershipUtils = new EntityOwnershipUtils(entityOwnershipService);
         this.interfaceManager = interfaceManager;
+        this.jobCoordinator = jobCoordinator;
     }
 
     @PostConstruct
@@ -177,7 +180,7 @@ public class DhcpExternalTunnelManager {
                 elanInstanceName, designatedDpnId, vmMacAddress);
 
         String tunnelIpDpnKey = getTunnelIpDpnKey(tunnelIp, designatedDpnId);
-        DataStoreJobCoordinator.getInstance().enqueueJob(getJobKey(tunnelIpDpnKey), () -> {
+        jobCoordinator.enqueueJob(getJobKey(tunnelIpDpnKey), () -> {
             if (entityOwnershipUtils.isEntityOwner(HwvtepSouthboundConstants.ELAN_ENTITY_TYPE,
                     HwvtepSouthboundConstants.ELAN_ENTITY_NAME)) {
                 WriteTransaction tx = broker.newWriteOnlyTransaction();
@@ -675,7 +678,7 @@ public class DhcpExternalTunnelManager {
             return;
         }
 
-        DataStoreJobCoordinator.getInstance().enqueueJob(getJobKey(elanInstanceName), () -> {
+        jobCoordinator.enqueueJob(getJobKey(elanInstanceName), () -> {
             if (!entityOwnershipUtils.isEntityOwner(HwvtepSouthboundConstants.ELAN_ENTITY_TYPE,
                     HwvtepSouthboundConstants.ELAN_ENTITY_NAME)) {
                 LOG.info("Installing remote McastMac is not executed for this node.");
@@ -783,7 +786,7 @@ public class DhcpExternalTunnelManager {
     }
 
     private void unInstallDhcpEntriesOnDpns(final List<BigInteger> dpns, final String vmMacAddress) {
-        DataStoreJobCoordinator.getInstance().enqueueJob(getJobKey(vmMacAddress), () -> {
+        jobCoordinator.enqueueJob(getJobKey(vmMacAddress), () -> {
             if (entityOwnershipUtils.isEntityOwner(HwvtepSouthboundConstants.ELAN_ENTITY_TYPE,
                     HwvtepSouthboundConstants.ELAN_ENTITY_NAME)) {
                 WriteTransaction tx = broker.newWriteOnlyTransaction();
index 28a28e7d11f9e744bd1a485ce1119baa232dac2b..ec589172faebd4b0cb9514fb702614eab122329e 100644 (file)
@@ -9,13 +9,12 @@
 package org.opendaylight.netvirt.dhcpservice;
 
 import java.util.Collections;
-
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase;
-import org.opendaylight.genius.datastoreutils.DataStoreJobCoordinator;
 import org.opendaylight.genius.mdsalutil.NwConstants;
+import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.netvirt.dhcpservice.api.DhcpMConstants;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.Interfaces;
@@ -38,16 +37,17 @@ public class DhcpInterfaceConfigListener
     private final DataBroker dataBroker;
     private final DhcpExternalTunnelManager dhcpExternalTunnelManager;
     private final DhcpManager dhcpManager;
-    private DataStoreJobCoordinator dataStoreJobCoordinator;
+    private final JobCoordinator jobCoordinator;
 
     public DhcpInterfaceConfigListener(DataBroker dataBroker,
-            DhcpExternalTunnelManager dhcpExternalTunnelManager, DhcpManager dhcpManager) {
+            DhcpExternalTunnelManager dhcpExternalTunnelManager, DhcpManager dhcpManager,
+            JobCoordinator jobCoordinator) {
         super(Interface.class, DhcpInterfaceConfigListener.class);
         this.dataBroker = dataBroker;
         this.dhcpExternalTunnelManager = dhcpExternalTunnelManager;
         this.dhcpManager = dhcpManager;
+        this.jobCoordinator = jobCoordinator;
         registerListener(LogicalDatastoreType.CONFIGURATION, dataBroker);
-        dataStoreJobCoordinator = DataStoreJobCoordinator.getInstance();
     }
 
     @Override
@@ -58,7 +58,7 @@ public class DhcpInterfaceConfigListener
 
     @Override
     protected void remove(InstanceIdentifier<Interface> identifier, Interface del) {
-        dataStoreJobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(del.getName()), () -> {
+        jobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(del.getName()), () -> {
             IfTunnel tunnelInterface = del.getAugmentation(IfTunnel.class);
             IfL2vlan vlanInterface = del.getAugmentation(IfL2vlan.class);
             String interfaceName = del.getName();
@@ -90,7 +90,7 @@ public class DhcpInterfaceConfigListener
 
     @Override
     protected void add(InstanceIdentifier<Interface> identifier, Interface add) {
-        dataStoreJobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(add.getName()), () -> {
+        jobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(add.getName()), () -> {
             String interfaceName = add.getName();
             IfL2vlan vlanInterface = add.getAugmentation(IfL2vlan.class);
             if (vlanInterface == null) {
@@ -119,4 +119,4 @@ public class DhcpInterfaceConfigListener
     protected DhcpInterfaceConfigListener getDataTreeChangeListener() {
         return DhcpInterfaceConfigListener.this;
     }
-}
\ No newline at end of file
+}
index 058f4de9a6415b62743f6d0f8dd79310d24d4266..67fa1aa4f39dec2b382395f7d5a1b3338228ab87 100644 (file)
@@ -12,9 +12,9 @@ import java.util.List;
 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.datastoreutils.DataStoreJobCoordinator;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
 import org.opendaylight.genius.mdsalutil.MDSALUtil;
+import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.netvirt.dhcpservice.api.DhcpMConstants;
 import org.opendaylight.netvirt.dhcpservice.jobs.DhcpInterfaceAddJob;
 import org.opendaylight.netvirt.dhcpservice.jobs.DhcpInterfaceRemoveJob;
@@ -41,21 +41,22 @@ public class DhcpInterfaceEventListener
     private final DataBroker dataBroker;
     private final DhcpManager dhcpManager;
     private final DhcpExternalTunnelManager dhcpExternalTunnelManager;
-    private final DataStoreJobCoordinator dataStoreJobCoordinator;
+    private final JobCoordinator jobCoordinator;
     private final IInterfaceManager interfaceManager;
     private final IElanService elanService;
 
     public DhcpInterfaceEventListener(DhcpManager dhcpManager, DataBroker dataBroker,
                                       DhcpExternalTunnelManager dhcpExternalTunnelManager,
-                                      IInterfaceManager interfaceManager, IElanService elanService) {
+                                      IInterfaceManager interfaceManager, IElanService elanService,
+                                      JobCoordinator jobCoordinator) {
         super(Interface.class, DhcpInterfaceEventListener.class);
         this.dhcpManager = dhcpManager;
         this.dataBroker = dataBroker;
         this.dhcpExternalTunnelManager = dhcpExternalTunnelManager;
         this.interfaceManager = interfaceManager;
         this.elanService = elanService;
+        this.jobCoordinator = jobCoordinator;
         registerListener(LogicalDatastoreType.OPERATIONAL, dataBroker);
-        dataStoreJobCoordinator = DataStoreJobCoordinator.getInstance();
     }
 
     @Override
@@ -82,7 +83,7 @@ public class DhcpInterfaceEventListener
         BigInteger dpnId = BigInteger.valueOf(MDSALUtil.getDpnIdFromPortName(nodeConnectorId));
         DhcpInterfaceRemoveJob job = new DhcpInterfaceRemoveJob(dhcpManager, dhcpExternalTunnelManager,
                 dataBroker, del, dpnId, interfaceManager, elanService);
-        dataStoreJobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(interfaceName), job, DhcpMConstants.RETRY_COUNT);
+        jobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(interfaceName), job, DhcpMConstants.RETRY_COUNT);
     }
 
     @Override
@@ -111,7 +112,7 @@ public class DhcpInterfaceEventListener
         String interfaceName = update.getName();
         DhcpInterfaceUpdateJob job = new DhcpInterfaceUpdateJob(dhcpExternalTunnelManager, dataBroker,
                 interfaceName, dpnId, update.getOperStatus(), interfaceManager);
-        dataStoreJobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(interfaceName), job, DhcpMConstants.RETRY_COUNT);
+        jobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(interfaceName), job, DhcpMConstants.RETRY_COUNT);
     }
 
     @Override
@@ -135,7 +136,7 @@ public class DhcpInterfaceEventListener
         BigInteger dpnId = BigInteger.valueOf(MDSALUtil.getDpnIdFromPortName(nodeConnectorId));
         DhcpInterfaceAddJob job = new DhcpInterfaceAddJob(dhcpManager, dhcpExternalTunnelManager, dataBroker,
                 add, dpnId, interfaceManager, elanService);
-        dataStoreJobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(interfaceName), job, DhcpMConstants.RETRY_COUNT);
+        jobCoordinator.enqueueJob(DhcpServiceUtils.getJobKey(interfaceName), job, DhcpMConstants.RETRY_COUNT);
     }
 
     @Override
index 62a1ef417b5ba27eafa023f4b3743d7be62d2806..84f31a03f02fb922ea6a05a9f694d77a559d268e 100644 (file)
@@ -10,7 +10,6 @@ package org.opendaylight.netvirt.dhcpservice;
 import java.math.BigInteger;
 import java.util.ArrayList;
 import java.util.List;
-
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
@@ -30,6 +29,7 @@ import org.opendaylight.genius.mdsalutil.actions.ActionPuntToController;
 import org.opendaylight.genius.mdsalutil.instructions.InstructionApplyActions;
 import org.opendaylight.genius.mdsalutil.instructions.InstructionGotoTable;
 import org.opendaylight.genius.mdsalutil.interfaces.IMdsalApiManager;
+import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.netvirt.dhcpservice.api.DhcpMConstants;
 import org.opendaylight.netvirt.elanmanager.api.IElanService;
 import org.opendaylight.netvirt.neutronvpn.interfaces.INeutronVpnManager;
@@ -51,6 +51,7 @@ public class DhcpManager {
     private final DhcpExternalTunnelManager dhcpExternalTunnelManager;
     private final IInterfaceManager interfaceManager;
     private final IElanService elanService;
+    private final JobCoordinator jobCoordinator;
 
     private int dhcpOptLeaseTime = 0;
     private String dhcpOptDefDomainName;
@@ -62,7 +63,8 @@ public class DhcpManager {
             final INeutronVpnManager neutronVpnManager,
             final DhcpserviceConfig config, final DataBroker dataBroker,
             final DhcpExternalTunnelManager dhcpExternalTunnelManager, final IInterfaceManager interfaceManager,
-            final @Named("elanService") IElanService ielanService) {
+            final @Named("elanService") IElanService ielanService,
+            final JobCoordinator jobCoordinator) {
         this.mdsalUtil = mdsalApiManager;
         this.neutronVpnService = neutronVpnManager;
         this.config = config;
@@ -70,6 +72,7 @@ public class DhcpManager {
         this.dhcpExternalTunnelManager = dhcpExternalTunnelManager;
         this.interfaceManager = interfaceManager;
         this.elanService = ielanService;
+        this.jobCoordinator = jobCoordinator;
         configureLeaseDuration(DhcpMConstants.DEFAULT_LEASE_TIME);
     }
 
@@ -78,8 +81,9 @@ public class DhcpManager {
         LOG.trace("Netvirt DHCP Manager Init .... {}",config.isControllerDhcpEnabled());
         if (config.isControllerDhcpEnabled()) {
             dhcpInterfaceEventListener = new DhcpInterfaceEventListener(this, broker, dhcpExternalTunnelManager,
-                    interfaceManager, elanService);
-            dhcpInterfaceConfigListener = new DhcpInterfaceConfigListener(broker, dhcpExternalTunnelManager, this);
+                    interfaceManager, elanService, jobCoordinator);
+            dhcpInterfaceConfigListener = new DhcpInterfaceConfigListener(broker, dhcpExternalTunnelManager, this,
+                    jobCoordinator);
             LOG.info("DHCP Service initialized");
         }
     }
index 978cacd55627d348b91bd774d0466e8bf0c22d05..10e707efecc5cf8ef964ca711d0f10ea1c6c05ff 100644 (file)
@@ -11,7 +11,6 @@ import java.math.BigInteger;
 import java.util.Collections;
 import java.util.List;
 import java.util.function.Consumer;
-
 import javax.annotation.PostConstruct;
 import javax.annotation.PreDestroy;
 import javax.inject.Inject;
@@ -21,8 +20,8 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.genius.datastoreutils.AsyncClusteredDataTreeChangeListenerBase;
-import org.opendaylight.genius.datastoreutils.DataStoreJobCoordinator;
 import org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager;
+import org.opendaylight.infrautils.jobcoordinator.JobCoordinator;
 import org.opendaylight.netvirt.elan.arp.responder.ArpResponderInput;
 import org.opendaylight.netvirt.elan.arp.responder.ArpResponderInput.ArpReponderInputBuilder;
 import org.opendaylight.netvirt.elan.arp.responder.ArpResponderUtil;
@@ -49,17 +48,19 @@ public class DhcpNeutronPortListener
     private final DataBroker broker;
     private final DhcpserviceConfig config;
     private final IInterfaceManager interfaceManager;
+    private final JobCoordinator jobCoordinator;
 
     @Inject
     public DhcpNeutronPortListener(DataBroker db, DhcpExternalTunnelManager dhcpExternalTunnelManager,
             @Named("elanService") IElanService ielanService, IInterfaceManager interfaceManager,
-            DhcpserviceConfig config) {
+            DhcpserviceConfig config, final JobCoordinator jobCoordinator) {
         super(Port.class, DhcpNeutronPortListener.class);
         this.dhcpExternalTunnelManager = dhcpExternalTunnelManager;
         this.elanService = ielanService;
         this.interfaceManager = interfaceManager;
         this.broker = db;
         this.config = config;
+        this.jobCoordinator = jobCoordinator;
     }
 
     @PostConstruct
@@ -86,8 +87,7 @@ public class DhcpNeutronPortListener
     protected void remove(InstanceIdentifier<Port> identifier, Port del) {
         LOG.trace("Port removed: {}", del);
         if (NeutronConstants.IS_ODL_DHCP_PORT.test(del)) {
-            DataStoreJobCoordinator portDataStoreCoordinator = DataStoreJobCoordinator.getInstance();
-            portDataStoreCoordinator.enqueueJob(getJobKey(del), () -> {
+            jobCoordinator.enqueueJob(getJobKey(del), () -> {
                 WriteTransaction wrtConfigTxn = broker.newWriteOnlyTransaction();
                 DhcpServiceUtils.removeSubnetDhcpPortData(del, subnetDhcpPortIdfr -> wrtConfigTxn
                         .delete(LogicalDatastoreType.CONFIGURATION, subnetDhcpPortIdfr));
@@ -120,7 +120,7 @@ public class DhcpNeutronPortListener
             }
             return;
         }
-        if (!isVnicTypeDirectOrMacVtap((original))) {
+        if (!isVnicTypeDirectOrMacVtap(original)) {
             LOG.trace("Original port was normal and updated is direct. Calling addPort()");
             addPort(update);
             return;
@@ -143,8 +143,7 @@ public class DhcpNeutronPortListener
     protected void add(InstanceIdentifier<Port> identifier, Port add) {
         LOG.trace("Port added {}", add);
         if (NeutronConstants.IS_ODL_DHCP_PORT.test(add)) {
-            DataStoreJobCoordinator portDataStoreCoordinator = DataStoreJobCoordinator.getInstance();
-            portDataStoreCoordinator.enqueueJob(getJobKey(add), () -> {
+            jobCoordinator.enqueueJob(getJobKey(add), () -> {
                 WriteTransaction wrtConfigTxn = broker.newWriteOnlyTransaction();
                 DhcpServiceUtils.createSubnetDhcpPortData(add, (subnetDhcpPortIdfr, subnetToDhcpport) -> wrtConfigTxn
                         .put(LogicalDatastoreType.CONFIGURATION, subnetDhcpPortIdfr, subnetToDhcpport));
@@ -200,7 +199,7 @@ public class DhcpNeutronPortListener
             return false;
         }
         String vnicType = portBinding.getVnicType().trim().toLowerCase();
-        return (vnicType.equals("direct") || vnicType.equals("macvtap"));
+        return vnicType.equals("direct") || vnicType.equals("macvtap");
     }
 
     @Override
@@ -239,4 +238,4 @@ public class DhcpNeutronPortListener
 
     }
 
-}
\ No newline at end of file
+}
index 06b3dcf98c205604549b40cbfa3352ebf7edc19f..2d72e7543de8480576e93026aa99d24f50b671d6 100644 (file)
@@ -16,6 +16,8 @@
     interface="org.opendaylight.genius.interfacemanager.interfaces.IInterfaceManager" />
   <reference id="elanService"
              interface="org.opendaylight.netvirt.elanmanager.api.IElanService" />
+  <reference id="jobCoordinator"
+             interface="org.opendaylight.infrautils.jobcoordinator.JobCoordinator" />
 
   <odl:rpc-service id="odlInterfaceRpcService"
     interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rpcs.rev160406.OdlInterfaceRpcService" />