Class ReconciliationManager
java.lang.Object
org.opendaylight.ovsdb.southbound.reconciliation.ReconciliationManager
- All Implemented Interfaces:
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
ConstructorDescriptionReconciliationManager
(org.opendaylight.mdsal.binding.api.DataBroker db, InstanceIdentifierCodec instanceIdentifierCodec, List<String> reconcileBridgeInclusionList, List<String> reconcileBridgeExclusionList) -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
close()
void
dequeue
(ReconciliationTask task) void
enqueue
(ReconciliationTask task) void
org.opendaylight.mdsal.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 Details
-
ReconciliationManager
public ReconciliationManager(org.opendaylight.mdsal.binding.api.DataBroker db, InstanceIdentifierCodec instanceIdentifierCodec, List<String> reconcileBridgeInclusionList, List<String> reconcileBridgeExclusionList)
-
-
Method Details
-
getBridgesReconciliationInclusionList
-
getBridgesReconciliationExclusionList
-
isEnqueued
-
enqueue
-
enqueueForRetry
-
dequeue
-
getDb
public org.opendaylight.mdsal.binding.api.DataBroker getDb() -
close
- 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()
-