driver

package
v1.30.0 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2024 License: Apache-2.0 Imports: 58 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OkeSystemTagNamesapce  = "orcl-containerengine"
	MaxDefinedTagPerVolume = 64
)
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"

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

	// LustreDriverVersion is the version of the CSI driver
	LustreDriverVersion = "0.1.0"
)
View Source
const (
	SetupLnet        = "setupLnet"
	LustreSubnetCidr = "lustreSubnetCidr"
)
View Source
const (
	FSTypeXfs = "xfs"
)
View Source
const (
	FipsEnabled = "1"
)

Variables

View Source
var ServiceAccountTokenExpiry = int64(serviceAccountTokenExpiry)

Functions

func GetControllerDriver added in v1.24.1

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

func GetNodeDriver

func GetNodeDriver(name string, nodeID string, nodeIpFamily *csi_util.NodeIpFamily, 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) ControllerModifyVolume added in v1.29.0

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"

	Lustre CSIDriver = "Lustre"
)

type Clientset added in v1.28.2

type Clientset struct {
	*fake.Clientset
	// contains filtered or unexported fields
}

Clientset implements clientset.Interface. Meant to be embedded into a struct to get a default implementation. This makes faking out just the method you want to test easier.

func NewSimpleClientset added in v1.28.2

func NewSimpleClientset(objects ...runtime.Object) *Clientset

NewSimpleClientset returns a clientset that will respond with the provided objects. It's backed by a very simple object tracker that processes creates, updates and deletions as-is, without applying any validations and/or defaults. It shouldn't be considered a replacement for a real clientset and is mostly useful in simple unit tests.

func (*Clientset) CoreV1 added in v1.28.2

func (c *Clientset) CoreV1() corev1.CoreV1Interface

CoreV1 retrieves the CoreV1Client

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
	ClusterIpFamily        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
	// contains filtered or unexported fields
}

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) ControllerModifyVolume added in v1.29.0

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 FakeCoreV1 added in v1.28.2

type FakeCoreV1 struct {
	*fakecorev1.FakeCoreV1
	*testing.Fake
}

func (*FakeCoreV1) ServiceAccounts added in v1.28.2

func (c *FakeCoreV1) ServiceAccounts(namespace string) corev1.ServiceAccountInterface

type FakeServiceAccounts added in v1.28.2

type FakeServiceAccounts struct {
	Fake *FakeCoreV1
	// contains filtered or unexported fields
}

FakeServiceAccounts implements ServiceAccountInterface

func (*FakeServiceAccounts) Apply added in v1.28.2

Apply takes the given apply declarative configuration, applies it and returns the applied serviceAccount.

func (*FakeServiceAccounts) Create added in v1.28.2

func (c *FakeServiceAccounts) Create(ctx context.Context, serviceAccount *apicorev1.ServiceAccount, opts v1.CreateOptions) (result *apicorev1.ServiceAccount, err error)

Create takes the representation of a serviceAccount and creates it. Returns the server's representation of the serviceAccount, and an error, if there is any.

func (*FakeServiceAccounts) CreateToken added in v1.28.2

func (c *FakeServiceAccounts) CreateToken(ctx context.Context, serviceAccountName string, tokenRequest *apiauthenticationv1.TokenRequest, opts v1.CreateOptions) (result *apiauthenticationv1.TokenRequest, err error)

CreateToken takes the representation of a tokenRequest and creates it. Returns the server's representation of the tokenRequest, and an error, if there is any.

func (*FakeServiceAccounts) Delete added in v1.28.2

func (c *FakeServiceAccounts) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error

Delete takes name of the serviceAccount and deletes it. Returns an error if one occurs.

func (*FakeServiceAccounts) DeleteCollection added in v1.28.2

func (c *FakeServiceAccounts) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error

DeleteCollection deletes a collection of objects.

func (*FakeServiceAccounts) Get added in v1.28.2

func (c *FakeServiceAccounts) Get(ctx context.Context, name string, options v1.GetOptions) (result *apicorev1.ServiceAccount, err error)

Get takes name of the serviceAccount, and returns the corresponding serviceAccount object, and an error if there is any.

func (*FakeServiceAccounts) List added in v1.28.2

List takes label and field selectors, and returns the list of ServiceAccounts that match those selectors.

func (*FakeServiceAccounts) Patch added in v1.28.2

func (c *FakeServiceAccounts) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *apicorev1.ServiceAccount, err error)

Patch applies the patch and returns the patched serviceAccount.

func (*FakeServiceAccounts) Update added in v1.28.2

func (c *FakeServiceAccounts) Update(ctx context.Context, serviceAccount *apicorev1.ServiceAccount, opts v1.UpdateOptions) (result *apicorev1.ServiceAccount, err error)

Update takes the representation of a serviceAccount and updates it. Returns the server's representation of the serviceAccount, and an error, if there is any.

func (*FakeServiceAccounts) Watch added in v1.28.2

Watch returns a watch.Interface that watches the requested serviceAccounts.

type LustreNodeDriver added in v1.28.2

type LustreNodeDriver struct {
	NodeDriver
}

func (LustreNodeDriver) NodeExpandVolume added in v1.28.2

NodeExpandVolume returns the expand of the volume

func (LustreNodeDriver) NodeGetCapabilities added in v1.28.2

func (LustreNodeDriver) NodeGetInfo added in v1.28.2

func (LustreNodeDriver) NodeGetVolumeStats added in v1.28.2

NodeGetVolumeStats return the stats of the volume

func (LustreNodeDriver) NodePublishVolume added in v1.28.2

func (LustreNodeDriver) NodeStageVolume added in v1.28.2

func (LustreNodeDriver) NodeUnpublishVolume added in v1.28.2

func (LustreNodeDriver) NodeUnstageVolume added in v1.28.2

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 SecretParameters added in v1.28.2

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

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