driver

package
v1.28.0 Latest Latest
Warning

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

Go to latest
Published: Feb 16, 2024 License: Apache-2.0 Imports: 40 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 (
	FSTypeXfs = "xfs"
)
View Source
const (
	FipsEnabled = "1"
)

Variables

This section is empty.

Functions

func GetControllerDriver added in v1.24.1

func GetControllerDriver(name string, kubeClientSet kubernetes.Interface, logger *zap.SugaredLogger, config *providercfg.Config, c client.Interface) csi.ControllerServer

func GetNodeDriver

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

Types

type BlockVolumeControllerDriver added in v1.24.1

type BlockVolumeControllerDriver struct {
	ControllerDriver
}

BlockVolumeControllerDriver extends ControllerDriver

func (*BlockVolumeControllerDriver) ControllerExpandVolume added in v1.24.1

ControllerExpandVolume returns ControllerExpandVolume request

func (*BlockVolumeControllerDriver) ControllerGetCapabilities added in v1.24.1

ControllerGetCapabilities returns the capabilities of the controller service.

func (*BlockVolumeControllerDriver) ControllerGetVolume added in v1.24.1

ControllerGetVolume returns ControllerGetVolumeResponse response

func (*BlockVolumeControllerDriver) ControllerPublishVolume added in v1.24.1

ControllerPublishVolume attaches the given volume to the node

func (*BlockVolumeControllerDriver) ControllerUnpublishVolume added in v1.24.1

ControllerUnpublishVolume detaches the given volume from the node

func (*BlockVolumeControllerDriver) CreateSnapshot added in v1.24.1

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

func (*BlockVolumeControllerDriver) CreateVolume added in v1.24.1

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

func (*BlockVolumeControllerDriver) DeleteSnapshot added in v1.24.1

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

func (*BlockVolumeControllerDriver) DeleteVolume added in v1.24.1

DeleteVolume deletes the given volume. The function is idempotent.

func (*BlockVolumeControllerDriver) GetCapacity added in v1.24.1

GetCapacity returns the capacity of the storage pool

func (*BlockVolumeControllerDriver) ListSnapshots added in v1.24.1

ListSnapshots returns all the matched snapshots

func (*BlockVolumeControllerDriver) ListVolumes added in v1.24.1

ListVolumes returns a list of all requested volumes

func (*BlockVolumeControllerDriver) ValidateVolumeCapabilities added in v1.24.1

ValidateVolumeCapabilities checks whether the volume capabilities requested are supported.

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 CSIDriver added in v1.24.1

type CSIDriver string
const (
	BV  CSIDriver = "BV"
	FSS CSIDriver = "FSS"
)

type ControllerDriver

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

ControllerDriver implements CSI Controller interfaces

type ControllerDriverConfig added in v1.24.1

type ControllerDriverConfig struct {
	CsiEndpoint            string
	CsiKubeConfig          string
	CsiMaster              string
	EnableControllerServer bool
	DriverName             string
	DriverVersion          string
}

type Driver

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

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

func NewControllerDriver

func NewControllerDriver(logger *zap.SugaredLogger, driverConfig ControllerDriverConfig) (*Driver, error)

NewControllerDriver creates a new CSI driver

func NewNodeDriver

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

NewNodeDriver creates a new CSI node driver for OCI blockvolume

func (*Driver) GetControllerDriver added in v1.24.1

func (d *Driver) GetControllerDriver() csi.ControllerServer

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 FSSControllerDriver added in v1.24.1

type FSSControllerDriver struct {
	ControllerDriver
}

FSSControllerDriver extends ControllerDriver

func (*FSSControllerDriver) ControllerExpandVolume added in v1.24.1

func (*FSSControllerDriver) ControllerGetCapabilities added in v1.24.1

func (*FSSControllerDriver) ControllerGetVolume added in v1.24.1

func (*FSSControllerDriver) ControllerPublishVolume added in v1.24.1

func (*FSSControllerDriver) ControllerUnpublishVolume added in v1.24.1

func (*FSSControllerDriver) CreateSnapshot added in v1.24.1

func (*FSSControllerDriver) CreateVolume added in v1.24.1

func (*FSSControllerDriver) DeleteSnapshot added in v1.24.1

func (*FSSControllerDriver) DeleteVolume added in v1.24.1

func (*FSSControllerDriver) GetCapacity added in v1.24.1

func (*FSSControllerDriver) ListSnapshots added in v1.24.1

func (*FSSControllerDriver) ListVolumes added in v1.24.1

func (*FSSControllerDriver) ValidateVolumeCapabilities added in v1.24.1

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 MetricPusherGetter added in v1.24.1

type MetricPusherGetter func(logger *zap.SugaredLogger) (*metrics.MetricPusher, error)

type NodeDriver

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

NodeDriver implements CSI Node interfaces

type SnapshotParameters added in v1.24.2

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

type StorageClassParameters added in v1.24.1

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

StorageClassParameters holds configuration

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