kubernetes/pkg/volume/csi/csi_plugin.go

const CSIPluginName

const csiTimeout

const volNameSep

const volDataFileName

const fsTypeBlockName

const CsiResyncPeriod

type csiPlugin

// ProbeVolumePlugins returns implemented plugins
func ProbeVolumePlugins() []volume.VolumePlugin {}

var _

type RegistrationHandler

var csiDrivers

var nim

var PluginHandler

// ValidatePlugin is called by kubelet's plugin watcher upon detection
// of a new registration socket opened by CSI Driver registrar side car.
func (h *RegistrationHandler) ValidatePlugin(pluginName string, endpoint string, versions []string) error {}

// RegisterPlugin is called when a plugin can be registered
func (h *RegistrationHandler) RegisterPlugin(pluginName string, endpoint string, versions []string, pluginClientTimeout *time.Duration) error {}

func (h *RegistrationHandler) validateVersions(callerName, pluginName string, endpoint string, versions []string) (*utilversion.Version, error) {}

// DeRegisterPlugin is called when a plugin removed its socket, signaling
// it is no longer available
func (h *RegistrationHandler) DeRegisterPlugin(pluginName string) {}

func (p *csiPlugin) Init(host volume.VolumeHost) error {}

func initializeCSINode(host volume.VolumeHost) error {}

func (p *csiPlugin) GetPluginName() string {}

// GetvolumeName returns a concatenated string of CSIVolumeSource.Driver<volNameSe>CSIVolumeSource.VolumeHandle
// That string value is used in Detach() to extract driver name and volumeName.
func (p *csiPlugin) GetVolumeName(spec *volume.Spec) (string, error) {}

func (p *csiPlugin) CanSupport(spec *volume.Spec) bool {}

func (p *csiPlugin) RequiresRemount(spec *volume.Spec) bool {}

func (p *csiPlugin) NewMounter(
	spec *volume.Spec,
	pod *api.Pod) (volume.Mounter, error) {}

func (p *csiPlugin) NewUnmounter(specName string, podUID types.UID) (volume.Unmounter, error) {}

func (p *csiPlugin) ConstructVolumeSpec(volumeName, mountPath string) (volume.ReconstructedVolume, error) {}

// constructVolSourceSpec constructs volume.Spec with CSIVolumeSource
func (p *csiPlugin) constructVolSourceSpec(volSpecName, driverName string) *volume.Spec {}

// constructPVSourceSpec constructs volume.Spec with CSIPersistentVolumeSource
func (p *csiPlugin) constructPVSourceSpec(volSpecName, driverName, volumeHandle string) *volume.Spec {}

func (p *csiPlugin) SupportsMountOption() bool {}

func (p *csiPlugin) SupportsSELinuxContextMount(spec *volume.Spec) (bool, error) {}

var _

var _

func (p *csiPlugin) NewAttacher() (volume.Attacher, error) {}

func (p *csiPlugin) NewDeviceMounter() (volume.DeviceMounter, error) {}

func (p *csiPlugin) NewDetacher() (volume.Detacher, error) {}

func (p *csiPlugin) CanAttach(spec *volume.Spec) (bool, error) {}

// CanDeviceMount returns true if the spec supports device mount
func (p *csiPlugin) CanDeviceMount(spec *volume.Spec) (bool, error) {}

func (p *csiPlugin) NewDeviceUnmounter() (volume.DeviceUnmounter, error) {}

func (p *csiPlugin) GetDeviceMountRefs(deviceMountPath string) ([]string, error) {}

var _

func (p *csiPlugin) NewBlockVolumeMapper(spec *volume.Spec, podRef *api.Pod) (volume.BlockVolumeMapper, error) {}

func (p *csiPlugin) NewBlockVolumeUnmapper(volName string, podUID types.UID) (volume.BlockVolumeUnmapper, error) {}

func (p *csiPlugin) ConstructBlockVolumeSpec(podUID types.UID, specVolName, mapPath string) (*volume.Spec, error) {}

// skipAttach looks up CSIDriver object associated with driver name
// to determine if driver requires attachment volume operation
func (p *csiPlugin) skipAttach(driver string) (bool, error) {}

func (p *csiPlugin) getCSIDriver(driver string) (*storage.CSIDriver, error) {}

// getVolumeLifecycleMode returns the mode for the specified spec: {persistent|ephemeral}.
// 1) If mode cannot be determined, it will default to "persistent".
// 2) If Mode cannot be resolved to either {persistent | ephemeral}, an error is returned
// See https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/596-csi-inline-volumes/README.md
func (p *csiPlugin) getVolumeLifecycleMode(spec *volume.Spec) (storage.VolumeLifecycleMode, error) {}

func (p *csiPlugin) getPublishContext(client clientset.Interface, handle, driver, nodeName string) (map[string]string, error) {}

func (p *csiPlugin) newAttacherDetacher() (*csiAttacher, error) {}

// podInfoEnabled  check CSIDriver enabled pod info flag
func (p *csiPlugin) podInfoEnabled(driverName string) (bool, error) {}

func unregisterDriver(driverName string) error {}

// waitForAPIServerForever waits forever to get a CSINode instance as a proxy
// for a healthy APIServer
func waitForAPIServerForever(client clientset.Interface, nodeName types.NodeName) error {}