Class 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 Detail

      • ReconciliationManager

        public ReconciliationManager​(org.opendaylight.mdsal.binding.api.DataBroker db,
                                     InstanceIdentifierCodec instanceIdentifierCodec)
    • Method Detail

      • getDb

        public org.opendaylight.mdsal.binding.api.DataBroker getDb()
      • 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 object
        connectionInstance - OvsdbConnectionInstance object
        bridgeNodes - list of bridge nodes be reconciled for termination points
      • cancelTerminationPointReconciliation

        public void cancelTerminationPointReconciliation()