Class 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.
Created by Anil Vishnoi (avishnoi@Brocade.com) on 3/9/16.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
dequeue
(ReconciliationTask task) void
enqueue
(ReconciliationTask task) void
org.opendaylight.mdsal.binding.api.DataBroker
getDb()
boolean
isEnqueued
(ReconciliationTask task)
-
Constructor Details
-
ReconciliationManager
public ReconciliationManager(org.opendaylight.mdsal.binding.api.DataBroker db)
-
-
Method Details
-
isEnqueued
-
enqueue
-
enqueueForRetry
-
dequeue
-
getDb
public org.opendaylight.mdsal.binding.api.DataBroker getDb() -
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
Exception
-