Class ReconciliationManager
- java.lang.Object
-
- org.opendaylight.ovsdb.southbound.reconciliation.ReconciliationManager
-
- All Implemented Interfaces:
AutoCloseable
public class ReconciliationManager extends Object implements AutoCloseable
This class provides the implementation of ovsdb southbound plugins configuration reconciliation engine. This engine provide interfaces to enqueue (one time retry)/ enqueueForRetry(periodic retry)/ dequeue (remove from retry queue) reconciliation task. Reconciliation task can be a connection reconciliation or configuration reconciliation of any ovsdb managed resource like bridge, termination point etc. This engine execute all the reconciliation task through a fixed size thread pool. If submitted task need to be retry after a periodic interval they are submitted to a single thread executor to periodically wake up and check if task is ready for execution. Ideally, addition of any type of reconciliation task should not require any change in this reconciliation manager execution engine.3-Node Cluster: Reconciliation manager is agnostic of whether it's running in single node cluster or 3-node cluster. It's a responsibility of the task submitter to make sure that it submit the task for reconciliation only if it's an owner of that device EXCEPT controller initiated Connection. Reconciliation of controller initiated connection should be done by all the 3-nodes in the cluster, because connection to individual controller can be interrupted for various reason.
-
-
Constructor Summary
Constructors Constructor Description ReconciliationManager(org.opendaylight.controller.md.sal.binding.api.DataBroker db, InstanceIdentifierCodec instanceIdentifierCodec)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cancelTerminationPointReconciliation()
void
close()
void
dequeue(ReconciliationTask task)
void
enqueue(ReconciliationTask task)
void
enqueueForRetry(ReconciliationTask task)
org.opendaylight.controller.md.sal.binding.api.DataBroker
getDb()
boolean
isEnqueued(ReconciliationTask task)
void
reconcileTerminationPoints(OvsdbConnectionManager connectionManager, OvsdbConnectionInstance connectionInstance, List<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> bridgeNodes)
This method reconciles Termination Point configurations for the given list of bridge nodes.
-
-
-
Constructor Detail
-
ReconciliationManager
public ReconciliationManager(org.opendaylight.controller.md.sal.binding.api.DataBroker db, InstanceIdentifierCodec instanceIdentifierCodec)
-
-
Method Detail
-
isEnqueued
public boolean isEnqueued(ReconciliationTask task)
-
enqueue
public void enqueue(ReconciliationTask task)
-
enqueueForRetry
public void enqueueForRetry(ReconciliationTask task)
-
dequeue
public void dequeue(ReconciliationTask task)
-
getDb
public org.opendaylight.controller.md.sal.binding.api.DataBroker getDb()
-
close
public void close() throws Exception
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-
reconcileTerminationPoints
public void reconcileTerminationPoints(OvsdbConnectionManager connectionManager, OvsdbConnectionInstance connectionInstance, List<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node> bridgeNodes)
This method reconciles Termination Point configurations for the given list of bridge nodes.- Parameters:
connectionManager
- OvsdbConnectionManager objectconnectionInstance
- OvsdbConnectionInstance objectbridgeNodes
- list of bridge nodes be reconciled for termination points
-
cancelTerminationPointReconciliation
public void cancelTerminationPointReconciliation()
-
-