DataStoreJobCoordinator is deprecated so convert to use JobCoordinator.
Change-Id: Idb4057c125e41bf64dcba559caedfe8d046da28f
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
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;
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");
}
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);
}
}
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);
}
}
package org.opendaylight.netvirt.dhcpservice;
import com.google.common.base.Optional;
-
import java.math.BigInteger;
import java.util.EventListener;
import java.util.List;
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;
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;
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");
}
}
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;
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;
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<>();
@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
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();
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.");
}
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();
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;
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
@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();
@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) {
protected DhcpInterfaceConfigListener getDataTreeChangeListener() {
return DhcpInterfaceConfigListener.this;
}
-}
\ No newline at end of file
+}
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;
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
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
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
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
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
-
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.inject.Inject;
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;
private final DhcpExternalTunnelManager dhcpExternalTunnelManager;
private final IInterfaceManager interfaceManager;
private final IElanService elanService;
+ private final JobCoordinator jobCoordinator;
private int dhcpOptLeaseTime = 0;
private String dhcpOptDefDomainName;
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;
this.dhcpExternalTunnelManager = dhcpExternalTunnelManager;
this.interfaceManager = interfaceManager;
this.elanService = ielanService;
+ this.jobCoordinator = jobCoordinator;
configureLeaseDuration(DhcpMConstants.DEFAULT_LEASE_TIME);
}
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");
}
}
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;
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;
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
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));
}
return;
}
- if (!isVnicTypeDirectOrMacVtap((original))) {
+ if (!isVnicTypeDirectOrMacVtap(original)) {
LOG.trace("Original port was normal and updated is direct. Calling addPort()");
addPort(update);
return;
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));
return false;
}
String vnicType = portBinding.getVnicType().trim().toLowerCase();
- return (vnicType.equals("direct") || vnicType.equals("macvtap"));
+ return vnicType.equals("direct") || vnicType.equals("macvtap");
}
@Override
}
-}
\ No newline at end of file
+}
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" />