Package cinder contains the internal representation of cinder volumes.



    View Source
    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.