ibmcsidriver

package
v1.2.5-beta Latest Latest
Warning

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

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

Documentation

Overview

Package ibmcsidriver ...

Package ibmcsidriver ...

Package ibmcsidriver ...

Package ibmcsidriver ...

Package ibmcsidriver ...

Package ibmcsidriver ...

Package ibmcsidriver ...

Package ibmcsidriver ...

Package ibmcsidriver ...

Index

Constants

View Source
const (
	// Profile ...
	Profile = "profile"

	// IopsPerGB ...
	IopsPerGB = "iopsPerGB"

	//SizeIopsRange ...
	SizeIopsRange = "sizeIOPSRange"

	// IOPS per PVC
	IOPS = "iops"

	// SizeRangeSupported ...
	SizeRangeSupported = "sizeRange"

	// BillingType ...
	BillingType = "billingType"

	// Encrypted ..
	Encrypted = "encrypted"

	// EncryptionKey ...
	EncryptionKey = "encryptionKey"

	// ResourceGroup ...
	ResourceGroup = "resourceGroup"

	// Zone ...
	Zone = "zone"

	// Region ...
	Region = "region"

	// Tag ...
	Tag = "tags"

	// DP2Profile ...
	DP2Profile = "dp2"

	// ClassVersion ...
	ClassVersion = "classVersion"

	// TrueStr ...
	TrueStr = "true"

	// FalseStr ...
	FalseStr = "false"

	// EncryptionKeyMaxLen Max length of the CRN key in Chars
	EncryptionKeyMaxLen = 256

	// ProfileNameMaxLen Max length of the profile name in Chars
	// maxLength: 63 minLength: 1 pattern: ^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$
	ProfileNameMaxLen = 63

	// ResourceGroupIDMaxLen Max length of the resource group id in Chars
	// pattern: ^[0-9a-f]{32}$
	ResourceGroupIDMaxLen = 32

	// TagMaxLen Max size of tag in Chars
	// The maximum size of a tag is 128 characters.
	// The permitted characters are A-Z, 0-9, white space, underscore, hyphen,
	// period, and colon, and tags are case-insensitive.
	TagMaxLen = 128

	// ZoneNameMaxLen Max length of the Zone Name in Chars
	// maxLength: 63 minLength: 1 pattern: ^([a-z]|[a-z][-a-z0-9]*[a-z0-9])$
	ZoneNameMaxLen = 63

	// RegionMaxLen urrently same as zone
	RegionMaxLen = ZoneNameMaxLen

	// VolumeIDLabel ...
	VolumeIDLabel = "volumeId"

	// VolumeCRNLabel ...
	VolumeCRNLabel = "volumeCRN"

	// ClusterIDLabel ...
	ClusterIDLabel = "clusterID"

	// NFSServerPath ...
	NFSServerPath = "nfsServerPath"

	// AccessPointID ...
	AccessPointID = "accessPointID"

	// IOPSLabel ...
	IOPSLabel = "iops"

	// ZoneLabel ...
	ZoneLabel = "zone"

	// Generation ... just for backward compatibility
	Generation = "generation"

	// UID ...
	UID = "uid"

	// GID ...
	GID = "gid"

	// SecurityGroup
	SecurityGroup = "security_group"

	// VPC
	VPC = "vpc"

	// IsENIEnabled
	IsENIEnabled = "isENIEnabled"

	// SecurityGroupIDs
	SecurityGroupIDs = "securityGroupIDs"

	// PrimaryIPId
	PrimaryIPID = "primaryIPID"

	// PrimaryIPAddress
	PrimaryIPAddress = "primaryIPAddress"

	// SubnetID
	SubnetID = "subnetID"

	// ConfigmapName
	ConfigmapName = "ibm-cloud-provider-data"

	// ConfigmapNamespace
	ConfigmapNamespace = "kube-system"

	// ConfigmapDataKey
	ConfigmapDataKey = "vpc_subnet_ids"
)
View Source
const (
	// PublishInfoRequestID ...
	PublishInfoRequestID = "request-id"
)

Variables

View Source
var SupportedFS = []string{"nfs"}

SupportedFS the supported FS types

View Source
var SupportedProfile = []string{"dp2"}

SupportedProfile the supported profile names

Functions

func WatchClusterConfigMap

func WatchClusterConfigMap(client rest.Interface, log *zap.Logger)

Types

type CSIControllerServer

type CSIControllerServer struct {
	Driver      *IBMCSIDriver
	CSIProvider cloudProvider.CloudProviderInterface
}

CSIControllerServer ...

func NewControllerServer

func NewControllerServer(icDriver *IBMCSIDriver, provider cloudProvider.CloudProviderInterface) *CSIControllerServer

NewControllerServer ...

func (*CSIControllerServer) ControllerExpandVolume

ControllerExpandVolume ...

ControllerExpandVolume is responsible for upsizing the file share.

It takes ControllerExpandVolumeRequest as input and creates a provider session to invoke ExpandVolumeRequest cal from provider-library. The function returns a csi ControllerExpandVolumeResponse if successful and error otherwise.

func (*CSIControllerServer) ControllerGetCapabilities

ControllerGetCapabilities allows kubernetes to check the supported capabilities of controller service provided by the Plugin

func (*CSIControllerServer) ControllerGetVolume

ControllerGetVolume ...

func (*CSIControllerServer) ControllerPublishVolume

ControllerPublishVolume ...

func (*CSIControllerServer) ControllerUnpublishVolume

ControllerUnpublishVolume ...

func (*CSIControllerServer) CreateSnapshot

CreateSnapshot ...

func (*CSIControllerServer) CreateVolume

CreateVolume ...

CreateVolume is responsible for creating file share and file share-targets.

It takes the csi createVolumeRequest as input and populates the provider volume. It then creates a provider session to invoke the CreateVolume first and then CreateVolumeAccessPoint call from provider-library. The function returns a csi CreateVolumeResponse if successful and error otherwise.

func (*CSIControllerServer) DeleteSnapshot

DeleteSnapshot ...

func (*CSIControllerServer) DeleteVolume

DeleteVolume ...

DeleteVolume is responsible for deleting file share-targets and file share.

It takes the csi deleteVolumeRequest as input and creates a provider session to invoke DeleteVolumeAccessPoint first and then DeleteVolume call from provider-library. The function returns a csi DeleteVolumeResponse if successful and error otherwise.

func (*CSIControllerServer) GetCapacity

GetCapacity ...

func (*CSIControllerServer) ListSnapshots

ListSnapshots ...

func (*CSIControllerServer) ListVolumes

ListVolumes is responsible for returning the information about all the volumes that it knows about.

func (*CSIControllerServer) ValidateVolumeCapabilities

ValidateVolumeCapabilities ...

ValidateVolumeCapabilities is responsible to check if a pre-provisioned volume has all the capabilities that the CO wants.

This RPC call SHALL return confirmed only if all the volume capabilities specified in the request are supported.

type CSIIdentityServer

type CSIIdentityServer struct {
	Driver *IBMCSIDriver
}

CSIIdentityServer ...

func NewIdentityServer

func NewIdentityServer(icDriver *IBMCSIDriver) *CSIIdentityServer

NewIdentityServer ...

func (*CSIIdentityServer) GetPluginCapabilities

func (csiIdentity *CSIIdentityServer) GetPluginCapabilities(ctx context.Context, req *csi.GetPluginCapabilitiesRequest) (*csi.GetPluginCapabilitiesResponse, error)

GetPluginCapabilities ...

func (*CSIIdentityServer) GetPluginInfo

func (csiIdentity *CSIIdentityServer) GetPluginInfo(ctx context.Context, req *csi.GetPluginInfoRequest) (*csi.GetPluginInfoResponse, error)

GetPluginInfo ...

func (*CSIIdentityServer) Probe

func (csiIdentity *CSIIdentityServer) Probe(ctx context.Context, req *csi.ProbeRequest) (*csi.ProbeResponse, error)

Probe ...

type CSINodeServer

type CSINodeServer struct {
	Driver   *IBMCSIDriver
	Mounter  mountmanager.Mounter
	Metadata nodeMetadata.NodeMetadata
	Stats    StatsUtils
	// contains filtered or unexported fields
}

CSINodeServer ...

func NewNodeServer

func NewNodeServer(icDriver *IBMCSIDriver, mounter mountManager.Mounter, statsUtil StatsUtils, nodeMetadata nodeMetadata.NodeMetadata) *CSINodeServer

NewNodeServer ...

func (*CSINodeServer) NodeExpandVolume

NodeExpandVolume ...

func (*CSINodeServer) NodeGetCapabilities

NodeGetCapabilities ...

func (*CSINodeServer) NodeGetInfo

func (csiNS *CSINodeServer) NodeGetInfo(ctx context.Context, req *csi.NodeGetInfoRequest) (*csi.NodeGetInfoResponse, error)

NodeGetInfo ...

func (*CSINodeServer) NodeGetVolumeStats

NodeGetVolumeStats ...

func (*CSINodeServer) NodePublishVolume

NodePublishVolume ...

func (*CSINodeServer) NodeStageVolume

NodeStageVolume ...

func (*CSINodeServer) NodeUnpublishVolume

NodeUnpublishVolume ...

func (*CSINodeServer) NodeUnstageVolume

NodeUnstageVolume ...

type ConfigWatcher

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

func NewConfigWatcher

func NewConfigWatcher(client rest.Interface, log *zap.Logger) *ConfigWatcher

func (*ConfigWatcher) Start

func (cw *ConfigWatcher) Start()

type IBMCSIDriver

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

IBMCSIDriver ...

func GetIBMCSIDriver

func GetIBMCSIDriver() *IBMCSIDriver

GetIBMCSIDriver ...

func (*IBMCSIDriver) AddControllerServiceCapabilities

func (icDriver *IBMCSIDriver) AddControllerServiceCapabilities(cl []csi.ControllerServiceCapability_RPC_Type) error

AddControllerServiceCapabilities ...

func (*IBMCSIDriver) AddNodeServiceCapabilities

func (icDriver *IBMCSIDriver) AddNodeServiceCapabilities(nl []csi.NodeServiceCapability_RPC_Type) error

AddNodeServiceCapabilities ...

func (*IBMCSIDriver) AddVolumeCapabilityAccessModes

func (icDriver *IBMCSIDriver) AddVolumeCapabilityAccessModes(vc []csi.VolumeCapability_AccessMode_Mode) error

AddVolumeCapabilityAccessModes ...

func (*IBMCSIDriver) Run

func (icDriver *IBMCSIDriver) Run(endpoint string)

Run ...

func (*IBMCSIDriver) SetupIBMCSIDriver

func (icDriver *IBMCSIDriver) SetupIBMCSIDriver(provider cloudProvider.CloudProviderInterface, mounter mountManager.Mounter, statsUtil StatsUtils, metadata nodeMetadata.NodeMetadata, lgr *zap.Logger, name, vendorVersion string) error

SetupIBMCSIDriver ...

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()
}

NonBlockingGRPCServer Defines Non blocking GRPC server interfaces

func NewNonBlockingGRPCServer

func NewNonBlockingGRPCServer(logger *zap.Logger) NonBlockingGRPCServer

NewNonBlockingGRPCServer ...

type StatsUtils

type StatsUtils interface {
	FSInfo(path string) (int64, int64, int64, int64, int64, int64, error)
	IsDevicePathNotExist(devicePath string) bool
}

StatsUtils ...

type VolumeMountUtils

type VolumeMountUtils struct {
}

VolumeMountUtils ...

type VolumeStatUtils

type VolumeStatUtils struct {
}

VolumeStatUtils ...

func (*VolumeStatUtils) FSInfo

func (su *VolumeStatUtils) FSInfo(path string) (int64, int64, int64, int64, int64, int64, error)

FSInfo ...

func (*VolumeStatUtils) IsDevicePathNotExist

func (su *VolumeStatUtils) IsDevicePathNotExist(devicePath string) bool

IsDevicePathNotExist ...

Jump to

Keyboard shortcuts

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