kubernetes: k8s.io/kubernetes/pkg/volume/csi Index | Files | Directories

package csi

import "k8s.io/kubernetes/pkg/volume/csi"


Package Files

csi_attacher.go csi_block.go csi_client.go csi_drivers_store.go csi_metrics.go csi_mounter.go csi_plugin.go csi_util.go expander.go


const (
    // CSIPluginName is the name of the in-tree CSI Plugin
    CSIPluginName = "kubernetes.io/csi"

    // CsiResyncPeriod is default resync period duration
    // TODO: increase to something useful
    CsiResyncPeriod = time.Minute
const (
    // TestInformerSyncPeriod is informer sync period duration for testing
    TestInformerSyncPeriod = 100 * time.Millisecond
    // TestInformerSyncTimeout is informer timeout duration for testing
    TestInformerSyncTimeout = 30 * time.Second


var PluginHandler = &RegistrationHandler{}

PluginHandler is the plugin registration handler interface passed to the pluginwatcher module in kubelet

func GetCSIDriverName Uses

func GetCSIDriverName(spec *volume.Spec) (string, error)

GetCSIDriverName returns the csi driver name

func GetCSIMounterPath Uses

func GetCSIMounterPath(path string) string

GetCSIMounterPath returns the mounter path given the base path.

func NewMetricsCsi Uses

func NewMetricsCsi(volumeID string, targetPath string, driverName csiDriverName) volume.MetricsProvider

NewMetricsCsi creates a new metricsCsi with the Volume ID and path.

func ProbeVolumePlugins Uses

func ProbeVolumePlugins() []volume.VolumePlugin

ProbeVolumePlugins returns implemented plugins

type Driver Uses

type Driver struct {
    // contains filtered or unexported fields

Driver is a description of a CSI Driver, defined by an enpoint and the highest CSI version supported

type DriversStore Uses

type DriversStore struct {
    // contains filtered or unexported fields

DriversStore holds a list of CSI Drivers

func (*DriversStore) Clear Uses

func (s *DriversStore) Clear()

Clear deletes all entries in the store. This methiod is protected by a mutex.

func (*DriversStore) Delete Uses

func (s *DriversStore) Delete(driverName string)

Delete lets you delete a CSI Driver by name. This method is protected by a mutex.

func (*DriversStore) Get Uses

func (s *DriversStore) Get(driverName string) (Driver, bool)

Get lets you retrieve a CSI Driver by name. This method is protected by a mutex.

func (*DriversStore) Set Uses

func (s *DriversStore) Set(driverName string, driver Driver)

Set lets you save a CSI Driver to the list and give it a specific name. This method is protected by a mutex.

type RegistrationHandler Uses

type RegistrationHandler struct {

RegistrationHandler is the handler which is fed to the pluginwatcher API.

func (*RegistrationHandler) DeRegisterPlugin Uses

func (h *RegistrationHandler) DeRegisterPlugin(pluginName string)

DeRegisterPlugin is called when a plugin removed its socket, signaling it is no longer available

func (*RegistrationHandler) RegisterPlugin Uses

func (h *RegistrationHandler) RegisterPlugin(pluginName string, endpoint string, versions []string) error

RegisterPlugin is called when a plugin can be registered

func (*RegistrationHandler) ValidatePlugin Uses

func (h *RegistrationHandler) ValidatePlugin(pluginName string, endpoint string, versions []string) error

ValidatePlugin is called by kubelet's plugin watcher upon detection of a new registration socket opened by CSI Driver registrar side car.


nodeinfomanagerPackage nodeinfomanager includes internal functions used to add/delete labels to kubernetes nodes for corresponding CSI drivers

Package csi imports 41 packages (graph) and is imported by 52 packages. Updated 2021-01-08. Refresh now. Tools for package owners.