type TimerConfig …
var DefaultTimerConfig …
type AttachDetachController …
func NewAttachDetachController(
ctx context.Context,
kubeClient clientset.Interface,
podInformer coreinformers.PodInformer,
nodeInformer coreinformers.NodeInformer,
pvcInformer coreinformers.PersistentVolumeClaimInformer,
pvInformer coreinformers.PersistentVolumeInformer,
csiNodeInformer storageinformersv1.CSINodeInformer,
csiDriverInformer storageinformersv1.CSIDriverInformer,
volumeAttachmentInformer storageinformersv1.VolumeAttachmentInformer,
plugins []volume.VolumePlugin,
prober volume.DynamicPluginProber,
disableReconciliationSync bool,
reconcilerSyncDuration time.Duration,
disableForceDetachOnTimeout bool,
timerConfig TimerConfig) (AttachDetachController, error) { … }
type attachDetachController …
func (adc *attachDetachController) Run(ctx context.Context) { … }
func (adc *attachDetachController) populateActualStateOfWorld(logger klog.Logger) error { … }
func (adc *attachDetachController) getNodeVolumeDevicePath(
volumeName v1.UniqueVolumeName, nodeName types.NodeName) (string, error) { … }
func (adc *attachDetachController) populateDesiredStateOfWorld(logger klog.Logger) error { … }
func (adc *attachDetachController) podAdd(logger klog.Logger, obj interface{ … }
func (adc *attachDetachController) GetDesiredStateOfWorld() cache.DesiredStateOfWorld { … }
func (adc *attachDetachController) podUpdate(logger klog.Logger, oldObj, newObj interface{ … }
func (adc *attachDetachController) podDelete(logger klog.Logger, obj interface{ … }
func (adc *attachDetachController) nodeAdd(logger klog.Logger, obj interface{ … }
func (adc *attachDetachController) nodeUpdate(logger klog.Logger, oldObj, newObj interface{ … }
func (adc *attachDetachController) nodeDelete(logger klog.Logger, obj interface{ … }
func (adc *attachDetachController) enqueuePVC(obj interface{ … }
func (adc *attachDetachController) pvcWorker(ctx context.Context) { … }
func (adc *attachDetachController) processNextItem(logger klog.Logger) bool { … }
func (adc *attachDetachController) syncPVCByKey(logger klog.Logger, key string) error { … }
func (adc *attachDetachController) processVolumesInUse(
logger klog.Logger, nodeName types.NodeName, volumesInUse []v1.UniqueVolumeName) { … }
func (adc *attachDetachController) processVolumeAttachments(logger klog.Logger) error { … }
var _ …
var _ …
func (adc *attachDetachController) CSINodeLister() storagelistersv1.CSINodeLister { … }
func (adc *attachDetachController) CSIDriverLister() storagelistersv1.CSIDriverLister { … }
func (adc *attachDetachController) IsAttachDetachController() bool { … }
func (adc *attachDetachController) VolumeAttachmentLister() storagelistersv1.VolumeAttachmentLister { … }
func (adc *attachDetachController) GetPluginDir(podUID string) string { … }
func (adc *attachDetachController) GetVolumeDevicePluginDir(podUID string) string { … }
func (adc *attachDetachController) GetPodsDir() string { … }
func (adc *attachDetachController) GetPodVolumeDir(podUID types.UID, pluginName, volumeName string) string { … }
func (adc *attachDetachController) GetPodPluginDir(podUID types.UID, pluginName string) string { … }
func (adc *attachDetachController) GetPodVolumeDeviceDir(podUID types.UID, pluginName string) string { … }
func (adc *attachDetachController) GetKubeClient() clientset.Interface { … }
func (adc *attachDetachController) NewWrapperMounter(volName string, spec volume.Spec, pod *v1.Pod) (volume.Mounter, error) { … }
func (adc *attachDetachController) NewWrapperUnmounter(volName string, spec volume.Spec, podUID types.UID) (volume.Unmounter, error) { … }
func (adc *attachDetachController) GetMounter(pluginName string) mount.Interface { … }
func (adc *attachDetachController) GetHostName() string { … }
func (adc *attachDetachController) GetHostIP() (net.IP, error) { … }
func (adc *attachDetachController) GetNodeAllocatable() (v1.ResourceList, error) { … }
func (adc *attachDetachController) GetAttachedVolumesFromNodeStatus() (map[v1.UniqueVolumeName]string, error) { … }
func (adc *attachDetachController) GetSecretFunc() func(namespace, name string) (*v1.Secret, error) { … }
func (adc *attachDetachController) GetConfigMapFunc() func(namespace, name string) (*v1.ConfigMap, error) { … }
func (adc *attachDetachController) GetServiceAccountTokenFunc() func(_, _ string, _ *authenticationv1.TokenRequest) (*authenticationv1.TokenRequest, error) { … }
func (adc *attachDetachController) DeleteServiceAccountTokenFunc() func(types.UID) { … }
func (adc *attachDetachController) GetExec(pluginName string) utilexec.Interface { … }
func (adc *attachDetachController) addNodeToDswp(node *v1.Node, nodeName types.NodeName) { … }
func (adc *attachDetachController) GetNodeLabels() (map[string]string, error) { … }
func (adc *attachDetachController) GetNodeName() types.NodeName { … }
func (adc *attachDetachController) GetEventRecorder() record.EventRecorder { … }
func (adc *attachDetachController) GetSubpather() subpath.Interface { … }
func (adc *attachDetachController) GetCSIDriverLister() storagelistersv1.CSIDriverLister { … }