driver

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2021 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MB = 1000 * 1000
	GB = 1000 * 1000 * 1000
	Mi = 1024 * 1024
	Gi = 1024 * 1024 * 1024
)

size constants

View Source
const (
	// pick the node where less volumes are provisioned for the given pool
	VolumeWeighted = "VolumeWeighted"

	// pick the node where total provisioned volumes have occupied less capacity from the given pool
	// this will be the default scheduler when none provided
	CapacityWeighted = "CapacityWeighted"
)

scheduling algorithm constants

Variables

SupportedVolumeCapabilityAccessModes contains the list of supported access modes for the volume

Functions

func CreateSnapClone added in v1.1.0

func CreateSnapClone(req *csi.CreateVolumeRequest, snapshot string) (string, error)

CreateSnapClone creates the clone from a snapshot

func CreateVolClone added in v1.1.0

func CreateVolClone(req *csi.CreateVolumeRequest, srcVol string) (string, error)

CreateVolClone creates the clone from a volume

func CreateZFSVolume

func CreateZFSVolume(req *csi.CreateVolumeRequest) (string, error)

CreateZFSVolume create new zfs volume from csi volume request

func GetVolAndMountInfo

func GetVolAndMountInfo(
	req *csi.NodePublishVolumeRequest,
) (*apis.ZFSVolume, *zfs.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 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

func New

func New(config *config.Config) *CSIDriver

New returns a new driver instance

func (*CSIDriver) Run

func (d *CSIDriver) Run() error

Run starts the CSI plugin by communicating over the given endpoint

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL