driver

package
v1.2.2-rc1 Latest Latest
Warning

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

Go to latest
Published: May 24, 2022 License: Apache-2.0 Imports: 28 Imported by: 1

Documentation

Index

Constants

View Source
const (

	// Keys for PV and PVC parameters as reported by external-provisioner
	ParameterKeyPVCName      = "csi.storage.k8s.io/pvc/name"
	ParameterKeyPVCNamespace = "csi.storage.k8s.io/pvc/namespace"
	ParameterKeyPVName       = "csi.storage.k8s.io/pv/name"

	// User provided labels
	ParameterKeyLabels = "labels"
)

CreateVolume parameters

View Source
const (

	// Keys for Topology.
	TopologyKeyZone = "topology.gke.io/zone"
)

Variables

This section is empty.

Functions

Types

type GCFSDriver

type GCFSDriver struct {
	// contains filtered or unexported fields
}

func NewGCFSDriver

func NewGCFSDriver(config *GCFSDriverConfig) (*GCFSDriver, error)

func (*GCFSDriver) Run

func (driver *GCFSDriver) Run(endpoint string)

func (*GCFSDriver) ValidateControllerServiceRequest

func (driver *GCFSDriver) ValidateControllerServiceRequest(c csi.ControllerServiceCapability_RPC_Type) error

type GCFSDriverConfig

type GCFSDriverConfig struct {
	Name             string          // Driver name
	Version          string          // Driver version
	NodeID           string          // Node name
	RunController    bool            // Run CSI controller service
	RunNode          bool            // Run CSI node service
	Mounter          mount.Interface // Mount library
	Cloud            *cloud.Cloud    // Cloud provider
	MetadataService  metadataservice.Service
	EnableMultishare bool
	Metrics          *metrics.MetricsManager
	EcfsDescription  string
}

type MultishareController added in v1.2.0

type MultishareController struct {
	// contains filtered or unexported fields
}

MultishareController handles CSI calls for volumes which use Filestore multishare instances.

func NewMultishareController added in v1.2.0

func NewMultishareController(driver *GCFSDriver, fileService file.Service, cloud *cloud.Cloud, volumeLock *util.VolumeLocks, ecfsDescription string) *MultishareController

func (*MultishareController) ControllerExpandVolume added in v1.2.0

func (*MultishareController) CreateVolume added in v1.2.0

func (*MultishareController) DeleteVolume added in v1.2.0

type MultishareOpsManager added in v1.2.0

type MultishareOpsManager struct {
	sync.Mutex // Lock to perform thread safe multishare operations.
	// contains filtered or unexported fields
}

MultishareOpsManager manages the lifecycle of all instance and share operations.

func NewMultishareOpsManager added in v1.2.0

func NewMultishareOpsManager(cloud *cloud.Cloud) *MultishareOpsManager

type NonBlockingGRPCServer

type NonBlockingGRPCServer interface {
	// Start services at the endpoint
	Start(endpoint string, ids csi.IdentityServer, cs csi.ControllerServer, ns csi.NodeServer)
	// Waits for the service to stop
	Wait()
	// Stops the service gracefully
	Stop()
	// Stops the service forcefully
	ForceStop()
}

Defines Non blocking GRPC server interfaces

func NewNonBlockingGRPCServer

func NewNonBlockingGRPCServer() NonBlockingGRPCServer

type OpInfo added in v1.2.0

type OpInfo struct {
	Id     string
	Type   util.OperationType
	Target string
}

type Workflow added in v1.2.0

type Workflow struct {
	// contains filtered or unexported fields
}

A workflow is defined as a sequence of steps to safely initiate instance or share operations.

Jump to

Keyboard shortcuts

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