kubernetes: k8s.io/kubernetes/pkg/controller/volume/attachdetach/reconciler Index | Files

package reconciler

import "k8s.io/kubernetes/pkg/controller/volume/attachdetach/reconciler"

Package reconciler implements interfaces that attempt to reconcile the desired state of the with the actual state of the world by triggering actions.

Index

Package Files

reconciler.go

type Reconciler Uses

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.

func NewReconciler Uses

func NewReconciler(
    loopPeriod time.Duration,
    maxWaitForUnmountDuration time.Duration,
    syncDuration time.Duration,
    disableReconciliationSync bool,
    desiredStateOfWorld cache.DesiredStateOfWorld,
    actualStateOfWorld cache.ActualStateOfWorld,
    attacherDetacher operationexecutor.OperationExecutor,
    nodeStatusUpdater statusupdater.NodeStatusUpdater,
    recorder record.EventRecorder) Reconciler

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.

Package reconciler imports 15 packages (graph) and is imported by 28 packages. Updated 2019-11-08. Refresh now. Tools for package owners.