Package cinder contains the internal representation of cinder volumes.



const (
	// DefaultCloudConfigPath is the default path for cloud configuration
	DefaultCloudConfigPath = "/etc/kubernetes/cloud-config"


This section is empty.


func ProbeVolumePlugins

func ProbeVolumePlugins() []volume.VolumePlugin

ProbeVolumePlugins is the primary entrypoint for volume plugins.


type BlockStorageProvider

type BlockStorageProvider interface {
	AttachDisk(instanceID, volumeID string) (string, error)
	DetachDisk(instanceID, volumeID string) error
	DeleteVolume(volumeID string) error
	CreateVolume(name string, size int, vtype, availability string, tags *map[string]string) (string, string, string, bool, error)
	GetDevicePath(volumeID string) string
	InstanceID() (string, error)
	GetAttachmentDiskPath(instanceID, volumeID string) (string, error)
	OperationPending(diskName string) (bool, string, error)
	DiskIsAttached(instanceID, volumeID string) (bool, error)
	DiskIsAttachedByName(nodeName types.NodeName, volumeID string) (bool, string, error)
	DisksAreAttachedByName(nodeName types.NodeName, volumeIDs []string) (map[string]bool, error)
	ShouldTrustDevicePath() bool
	Instances() (cloudprovider.Instances, bool)
	ExpandVolume(volumeID string, oldSize resource.Quantity, newSize resource.Quantity) (resource.Quantity, error)

BlockStorageProvider is the interface for accessing cinder functionality.

type DiskUtil

type DiskUtil struct{}

DiskUtil has utility/helper methods

func (*DiskUtil) AttachDisk

func (util *DiskUtil) AttachDisk(b *cinderVolumeMounter, globalPDPath string) error

AttachDisk attaches a disk specified by a volume.CinderPersistenDisk to the current kubelet. Mounts the disk to its global path.

func (*DiskUtil) CreateVolume

func (util *DiskUtil) CreateVolume(c *cinderVolumeProvisioner, node *v1.Node, allowedTopologies []v1.TopologySelectorTerm) (volumeID string, volumeSizeGB int, volumeLabels map[string]string, fstype string, err error)

CreateVolume uses the cloud provider entrypoint for creating a volume

func (*DiskUtil) DeleteVolume

func (util *DiskUtil) DeleteVolume(cd *cinderVolumeDeleter) error

DeleteVolume uses the cloud entrypoint to delete specified volume

func (*DiskUtil) DetachDisk

func (util *DiskUtil) DetachDisk(cd *cinderVolumeUnmounter) error

DetachDisk unmounts the device and detaches the disk from the kubelet's host machine.