Documentation ¶
Index ¶
- Constants
- Variables
- func CreateDeviceVolume(ctx context.Context, req *csi.CreateVolumeRequest, params *VolumeParams) (*apis.DeviceVolume, error)
- func GetVolAndMountInfo(req *csi.NodePublishVolumeRequest) (*apis.DeviceVolume, *device.MountInfo, error)
- func GetVolumeCapabilityAccessModes() []*csi.VolumeCapability_AccessMode
- func IsSupportedVolumeCapabilityAccessMode(accessMode csi.VolumeCapability_AccessMode_Mode) bool
- func LabelIndexFunc(label string) cache.IndexFunc
- func LabelIndexName(label string) string
- func NewController(d *CSIDriver) csi.ControllerServer
- func NewIdentity(d *CSIDriver) csi.IdentityServer
- func NewNode(d *CSIDriver) csi.NodeServer
- type CSIDriver
- type NonBlockingGRPCServer
- type VolumeParams
Constants ¶
const ( MB = 1000 * 1000 GB = 1000 * 1000 * 1000 Mi = 1024 * 1024 Gi = 1024 * 1024 * 1024 )
size constants
const ( // pick the node where less volumes are provisioned for the given device name VolumeWeighted = "VolumeWeighted" // pick the node where total provisioned volumes have occupied less capacity from the given device name // this will be the default scheduler when none provided CapacityWeighted = "CapacityWeighted" )
scheduling algorithm constants
Variables ¶
var SupportedVolumeCapabilityAccessModes = []*csi.VolumeCapability_AccessMode{ &csi.VolumeCapability_AccessMode{ Mode: csi.VolumeCapability_AccessMode_SINGLE_NODE_WRITER, }, }
SupportedVolumeCapabilityAccessModes contains the list of supported access modes for the volume
Functions ¶
func CreateDeviceVolume ¶
func CreateDeviceVolume(ctx context.Context, req *csi.CreateVolumeRequest, params *VolumeParams) (*apis.DeviceVolume, error)
CreateDeviceVolume create new device volume for csi volume request
func GetVolAndMountInfo ¶
func GetVolAndMountInfo( req *csi.NodePublishVolumeRequest, ) (*apis.DeviceVolume, *device.MountInfo, error)
GetVolAndMountInfo get volume and mount info from node csi volume request
func GetVolumeCapabilityAccessModes ¶
func GetVolumeCapabilityAccessModes() []*csi.VolumeCapability_AccessMode
GetVolumeCapabilityAccessModes fetches the access modes on which the volume can be exposed
func IsSupportedVolumeCapabilityAccessMode ¶
func IsSupportedVolumeCapabilityAccessMode( accessMode csi.VolumeCapability_AccessMode_Mode, ) bool
IsSupportedVolumeCapabilityAccessMode valides the requested access mode
func LabelIndexFunc ¶
LabelIndexFunc defines index values for given label.
func LabelIndexName ¶
LabelIndexName add prefix for label index.
func NewController ¶
func NewController(d *CSIDriver) csi.ControllerServer
NewController returns a new instance of CSI controller
func NewIdentity ¶
func NewIdentity(d *CSIDriver) csi.IdentityServer
NewIdentity returns a new instance of CSI IdentityServer
func NewNode ¶
func NewNode(d *CSIDriver) csi.NodeServer
NewNode returns a new instance of CSI NodeServer
Types ¶
type CSIDriver ¶
type CSIDriver struct {
// contains filtered or unexported fields
}
CSIDriver defines a common data structure for drivers TODO check if this can be renamed to Base
type NonBlockingGRPCServer ¶
type NonBlockingGRPCServer interface { // Start services at the endpoint Start() // Waits for the service to stop Wait() // Stops the service gracefully Stop() // Stops the service forcefully ForceStop() }
NonBlockingGRPCServer defines Non blocking GRPC server interfaces
func NewNonBlockingGRPCServer ¶
func NewNonBlockingGRPCServer(ep string, ids csi.IdentityServer, cs csi.ControllerServer, ns csi.NodeServer) NonBlockingGRPCServer
NewNonBlockingGRPCServer returns a new instance of NonBlockingGRPCServer
type VolumeParams ¶
type VolumeParams struct { // DeviceName specifies device name / meta partition name to use for // provisioning logical volumes. DeviceName string Scheduler string // extra optional metadata passed by external provisioner // if enabled. See --extra-create-metadata flag for more details. // https://github.com/kubernetes-csi/external-provisioner#recommended-optional-arguments PVCName string PVCNamespace string PVName string }
VolumeParams holds collection of supported settings that can be configured in storage class.
func NewVolumeParams ¶
func NewVolumeParams(m map[string]string) (*VolumeParams, error)
NewVolumeParams parses the input params and instantiates new VolumeParams.