Class TerminationPointConfigReconciliationTask
- java.lang.Object
-
- org.opendaylight.ovsdb.southbound.reconciliation.ReconciliationTask
-
- org.opendaylight.ovsdb.southbound.reconciliation.configuration.TerminationPointConfigReconciliationTask
-
- All Implemented Interfaces:
Runnable
public class TerminationPointConfigReconciliationTask extends ReconciliationTask
Reconciliation task to reconcile termination point configurations in the config datastore. When the OVS switch connects to the ODL, the list of all bridge and termination point configurations in the config datastore are obtained. We then listens for any new bridge show up in the operational data store. If the new bridge is in the list of bridges to be reconciled as described above termination point reconciliation is triggered for that bridge.
-
-
Field Summary
-
Fields inherited from class org.opendaylight.ovsdb.southbound.reconciliation.ReconciliationTask
configData, connectionManager, nodeIid, reconciliationManager
-
-
Constructor Summary
Constructors Constructor Description TerminationPointConfigReconciliationTask(ReconciliationManager reconciliationManager, OvsdbConnectionManager connectionManager, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node bridgeNode, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> bridgeIid, OvsdbConnectionInstance connectionInstance, Map<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<OvsdbTerminationPointAugmentation>,OvsdbTerminationPointAugmentation> operTerminationPoints, InstanceIdentifierCodec instanceIdentifierCodec)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkReadinessAndProcess()
Extended task should implement the logic that check the readiness of the task for execution.void
doRetry(boolean wasPreviousAttemptSuccessful)
Extended task should implement the logic that decides whether retry for the task is required or not.boolean
reconcileConfiguration(OvsdbConnectionManager connectionManager)
Method contains task reconciliation logic.long
retryDelayInMills()
Method returns the time interval for retrying the failed task.-
Methods inherited from class org.opendaylight.ovsdb.southbound.reconciliation.ReconciliationTask
equals, hashCode, run, toString
-
-
-
-
Constructor Detail
-
TerminationPointConfigReconciliationTask
public TerminationPointConfigReconciliationTask(ReconciliationManager reconciliationManager, OvsdbConnectionManager connectionManager, org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node bridgeNode, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<?> bridgeIid, OvsdbConnectionInstance connectionInstance, Map<org.opendaylight.yangtools.yang.binding.InstanceIdentifier<OvsdbTerminationPointAugmentation>,OvsdbTerminationPointAugmentation> operTerminationPoints, InstanceIdentifierCodec instanceIdentifierCodec)
-
-
Method Detail
-
reconcileConfiguration
public boolean reconcileConfiguration(OvsdbConnectionManager connectionManager)
Description copied from class:ReconciliationTask
Method contains task reconciliation logic. Please refer toConnectionReconciliationTask.reconcileConfiguration(OvsdbConnectionManager)
for example.- Specified by:
reconcileConfiguration
in classReconciliationTask
- Parameters:
connectionManager
- Connection manager to get connection instance of the device- Returns:
- True if reconciliation was successful, else false
-
doRetry
public void doRetry(boolean wasPreviousAttemptSuccessful)
Description copied from class:ReconciliationTask
Extended task should implement the logic that decides whether retry for the task is required or not. If retry is required but it does not requires any delay, submit the task immediately usingReconciliationManager.enqueue(ReconciliationTask)
. If retry requires delay, useReconciliationManager.enqueueForRetry(ReconciliationTask)
and specify the delay usingReconciliationTask.retryDelayInMills()
. If data store operation is required to decide if the task need retry, please implement it as an async operation and submit the task on the callback of the future.Note:Please do not write blocking data store operations
ConnectionReconciliationTask.doRetry(boolean)
- Specified by:
doRetry
in classReconciliationTask
- Parameters:
wasPreviousAttemptSuccessful
- Status of the previous attempt
-
checkReadinessAndProcess
public void checkReadinessAndProcess()
Description copied from class:ReconciliationTask
Extended task should implement the logic that check the readiness of the task for execution. If task is ready for the execution, submit it for immediate execution usingReconciliationManager.enqueue(ReconciliationTask)
. If task is not ready for execution yet, enqueue it again for delayed execution usingReconciliationManager.enqueueForRetry(ReconciliationTask)
. To check the readiness of the task, if the data store operation is required, please implement it as an async operation and submit the task on the callback of the future.Note:Please do not write blocking data store operations
ConnectionReconciliationTask.doRetry(boolean)
- Specified by:
checkReadinessAndProcess
in classReconciliationTask
-
retryDelayInMills
public long retryDelayInMills()
Description copied from class:ReconciliationTask
Method returns the time interval for retrying the failed task.ReconciliationTask.doRetry(boolean)
- Specified by:
retryDelayInMills
in classReconciliationTask
- Returns:
- time
-
-