 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package attachdetach implements a controller to manage volume attach and detach operations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttachDetachController ¶
type AttachDetachController interface {
	Run(stopCh <-chan struct{})
	GetDesiredStateOfWorld() cache.DesiredStateOfWorld
}
    AttachDetachController defines the operations supported by this controller.
func NewAttachDetachController ¶
func NewAttachDetachController( kubeClient clientset.Interface, podInformer coreinformers.PodInformer, nodeInformer coreinformers.NodeInformer, pvcInformer coreinformers.PersistentVolumeClaimInformer, pvInformer coreinformers.PersistentVolumeInformer, cloud cloudprovider.Interface, plugins []volume.VolumePlugin, prober volume.DynamicPluginProber, disableReconciliationSync bool, reconcilerSyncDuration time.Duration, timerConfig TimerConfig) (AttachDetachController, error)
NewAttachDetachController returns a new instance of AttachDetachController.
type TimerConfig ¶ added in v1.8.0
type TimerConfig struct {
	// ReconcilerLoopPeriod is the amount of time the reconciler loop waits
	// between successive executions
	ReconcilerLoopPeriod time.Duration
	// ReconcilerMaxWaitForUnmountDuration is the maximum amount of time the
	// attach detach controller will wait for a volume to be safely unmounted
	// from its node. Once this time has expired, the controller will assume the
	// node or kubelet are unresponsive and will detach the volume anyway.
	ReconcilerMaxWaitForUnmountDuration time.Duration
	// DesiredStateOfWorldPopulatorLoopSleepPeriod is the amount of time the
	// DesiredStateOfWorldPopulator loop waits between successive executions
	DesiredStateOfWorldPopulatorLoopSleepPeriod time.Duration
	// DesiredStateOfWorldPopulatorListPodsRetryDuration is the amount of
	// time the DesiredStateOfWorldPopulator loop waits between list pods
	// calls.
	DesiredStateOfWorldPopulatorListPodsRetryDuration time.Duration
}
    TimerConfig contains configuration of internal attach/detach timers and should be used only to speed up tests. DefaultTimerConfig is the suggested timer configuration for production.
var DefaultTimerConfig TimerConfig = TimerConfig{ ReconcilerLoopPeriod: 100 * time.Millisecond, ReconcilerMaxWaitForUnmountDuration: 6 * time.Minute, DesiredStateOfWorldPopulatorLoopSleepPeriod: 1 * time.Minute, DesiredStateOfWorldPopulatorListPodsRetryDuration: 3 * time.Minute, }
DefaultTimerConfig is the default configuration of Attach/Detach controller timers.
       Directories
      ¶
      Directories
      ¶
    
    | Path | Synopsis | 
|---|---|
| Package cache implements data structures used by the attach/detach controller to keep track of volumes, the nodes they are attached to, and the pods that reference them. | Package cache implements data structures used by the attach/detach controller to keep track of volumes, the nodes they are attached to, and the pods that reference them. | 
| Package populator implements interfaces that monitor and keep the states of the desired_state_of_word in sync with the "ground truth" from informer. | Package populator implements interfaces that monitor and keep the states of the desired_state_of_word in sync with the "ground truth" from informer. | 
| Package reconciler implements interfaces that attempt to reconcile the desired state of the with the actual state of the world by triggering actions. | Package reconciler implements interfaces that attempt to reconcile the desired state of the with the actual state of the world by triggering actions. | 
| Package statusupdater implements interfaces that enable updating the status of API objects. | Package statusupdater implements interfaces that enable updating the status of API objects. | 
 Click to show internal directories. 
   Click to hide internal directories.