driver

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2022 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// BlockVolumeDriverName defines the driver name to be used in Kubernetes
	BlockVolumeDriverName = "blockvolume.csi.oraclecloud.com"

	// BlockVolumeDriverVersion is the version of the CSI driver
	BlockVolumeDriverVersion = "0.1.0"

	// FSSDriverName defines the driver name to be used in Kubernetes
	FSSDriverName = "fss.csi.oraclecloud.com"

	// FSSDriverVersion is the version of the CSI driver
	FSSDriverVersion = "0.1.0"
)
View Source
const (
	FipsEnabled = "1"
)

Variables

This section is empty.

Functions

func GetNodeDriver

func GetNodeDriver(name string, nodeID string, kubeClientSet kubernetes.Interface, logger *zap.SugaredLogger) csi.NodeServer

Types

type BlockVolumeNodeDriver

type BlockVolumeNodeDriver struct {
	NodeDriver
}

BlockVolumeNodeDriver extends NodeDriver

func (BlockVolumeNodeDriver) NodeExpandVolume

NodeExpandVolume returns the expand of the volume

func (BlockVolumeNodeDriver) NodeGetCapabilities

NodeGetCapabilities returns the supported capabilities of the node server

func (BlockVolumeNodeDriver) NodeGetInfo

NodeGetInfo returns the supported capabilities of the node server. The result of this function will be used by the CO in ControllerPublishVolume.

func (BlockVolumeNodeDriver) NodeGetVolumeStats

NodeGetVolumeStats return the stats of the volume

func (BlockVolumeNodeDriver) NodePublishVolume

NodePublishVolume mounts the volume to the target path

func (BlockVolumeNodeDriver) NodeStageVolume

NodeStageVolume mounts the volume to a staging path on the node.

func (BlockVolumeNodeDriver) NodeUnpublishVolume

NodeUnpublishVolume unmounts the volume from the target path

func (BlockVolumeNodeDriver) NodeUnstageVolume

NodeUnstageVolume unstage the volume from the staging path

type ControllerDriver

type ControllerDriver struct {
	KubeClient kubernetes.Interface
	// contains filtered or unexported fields
}

ControllerDriver implements CSI Controller interfaces

func (*ControllerDriver) ControllerExpandVolume

ControllerExpandVolume returns ControllerExpandVolume request

func (*ControllerDriver) ControllerGetCapabilities

ControllerGetCapabilities returns the capabilities of the controller service.

func (*ControllerDriver) ControllerPublishVolume

ControllerPublishVolume attaches the given volume to the node

func (*ControllerDriver) ControllerUnpublishVolume

ControllerUnpublishVolume deattaches the given volume from the node

func (*ControllerDriver) CreateSnapshot

CreateSnapshot will be called by the CO to create a new snapshot from a source volume on behalf of a user.

func (*ControllerDriver) CreateVolume

CreateVolume creates a new volume from the given request. The function is idempotent.

func (*ControllerDriver) DeleteSnapshot

DeleteSnapshot will be called by the CO to delete a snapshot.

func (*ControllerDriver) DeleteVolume

DeleteVolume deletes the given volume. The function is idempotent.

func (*ControllerDriver) GetCapacity

GetCapacity returns the capacity of the storage pool

func (*ControllerDriver) ListSnapshots

ListSnapshots returns all the matched snapshots

func (*ControllerDriver) ListVolumes

ListVolumes returns a list of all requested volumes

func (*ControllerDriver) ValidateVolumeCapabilities

ValidateVolumeCapabilities checks whether the volume capabilities requested are supported.

type Driver

type Driver struct {
	*ControllerDriver
	// contains filtered or unexported fields
}

Driver implements only Identity interface and embed Controller and Node interface.

func NewControllerDriver

func NewControllerDriver(logger *zap.SugaredLogger, endpoint, kubeconfig, master string, enableControllerServer bool, name, version string) (*Driver, error)

NewControllerDriver creates a new CSI driver for OCI blockvolume

func NewNodeDriver

func NewNodeDriver(logger *zap.SugaredLogger, nodeOptions nodedriveroptions.NodeOptions) (*Driver, error)

NewNodeDriver creates a new CSI node driver for OCI blockvolume

func (*Driver) GetNodeDriver

func (d *Driver) GetNodeDriver() csi.NodeServer

func (*Driver) GetPluginCapabilities

GetPluginCapabilities returns available capabilities of the plugin

func (*Driver) GetPluginInfo

func (d *Driver) GetPluginInfo(ctx context.Context, req *csi.GetPluginInfoRequest) (*csi.GetPluginInfoResponse, error)

GetPluginInfo returns metadata of the plugin

func (*Driver) Probe

func (d *Driver) Probe(ctx context.Context, req *csi.ProbeRequest) (*csi.ProbeResponse, error)

Probe returns the health and readiness of the plugin

func (*Driver) Run

func (d *Driver) Run() error

Run starts a gRPC server on the given endpoint

func (*Driver) Stop

func (d *Driver) Stop()

Stop stops the plugin

type FSSNodeDriver

type FSSNodeDriver struct {
	NodeDriver
}

FSSNodeDriver extends NodeDriver

func (FSSNodeDriver) NodeExpandVolume

NodeExpandVolume returns the expand of the volume

func (FSSNodeDriver) NodeGetCapabilities

NodeGetCapabilities returns the supported capabilities of the node server

func (FSSNodeDriver) NodeGetInfo

NodeGetInfo returns the supported capabilities of the node server. The result of this function will be used by the CO in ControllerPublishVolume.

func (FSSNodeDriver) NodeGetVolumeStats

NodeGetVolumeStats return the stats of the volume

func (FSSNodeDriver) NodePublishVolume

NodePublishVolume mounts the volume to the target path

func (FSSNodeDriver) NodeStageVolume

NodeStageVolume mounts the volume to a staging path on the node.

func (FSSNodeDriver) NodeUnpublishVolume

NodeUnpublishVolume unmounts the volume from the target path

func (FSSNodeDriver) NodeUnstageVolume

NodeUnstageVolume unstage the volume from the staging path

type NodeDriver

type NodeDriver struct {
	KubeClient kubernetes.Interface
	// contains filtered or unexported fields
}

NodeDriver implements CSI Node interfaces

type VolumeAttachmentOption

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

VolumeAttachmentOption holds config for attachments

type VolumeParameters

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

VolumeParameters holds configuration

Jump to

Keyboard shortcuts

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