type Reconciler interface {
// Starts running the reconciliation loop which executes periodically, checks// if volumes that should be attached are attached and volumes that should// be detached are detached. If not, it will trigger attach/detach// operations to rectify.
Run(stopCh <-chan struct{})
}
Reconciler runs a periodic loop to reconcile the desired state of the world with
the actual state of the world by triggering attach detach operations.
Note: This is distinct from the Reconciler implemented by the kubelet volume
manager. This reconciles state for the attach/detach controller. That
reconciles state for the kubelet volume manager.
NewReconciler returns a new instance of Reconciler that waits loopPeriod
between successive executions.
loopPeriod is the amount of time the reconciler loop waits between
successive executions.
maxWaitForUnmountDuration is the max amount of time the reconciler will wait
for the volume to be safely unmounted, after this it will detach the volume
anyway (to handle crashed/unavailable nodes). If during this time the volume
becomes used by a new pod, the detach request will be aborted and the timer
cleared.