Documentation ¶
Index ¶
- Constants
- func GetNodeDriver(name string, nodeID string, kubeClientSet kubernetes.Interface, ...) csi.NodeServer
- type BlockVolumeNodeDriver
- func (d BlockVolumeNodeDriver) NodeExpandVolume(ctx context.Context, req *csi.NodeExpandVolumeRequest) (*csi.NodeExpandVolumeResponse, error)
- func (d BlockVolumeNodeDriver) NodeGetCapabilities(ctx context.Context, req *csi.NodeGetCapabilitiesRequest) (*csi.NodeGetCapabilitiesResponse, error)
- func (d BlockVolumeNodeDriver) NodeGetInfo(ctx context.Context, req *csi.NodeGetInfoRequest) (*csi.NodeGetInfoResponse, error)
- func (d BlockVolumeNodeDriver) NodeGetVolumeStats(ctx context.Context, req *csi.NodeGetVolumeStatsRequest) (*csi.NodeGetVolumeStatsResponse, error)
- func (d BlockVolumeNodeDriver) NodePublishVolume(ctx context.Context, req *csi.NodePublishVolumeRequest) (*csi.NodePublishVolumeResponse, error)
- func (d BlockVolumeNodeDriver) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolumeRequest) (*csi.NodeStageVolumeResponse, error)
- func (d BlockVolumeNodeDriver) NodeUnpublishVolume(ctx context.Context, req *csi.NodeUnpublishVolumeRequest) (*csi.NodeUnpublishVolumeResponse, error)
- func (d BlockVolumeNodeDriver) NodeUnstageVolume(ctx context.Context, req *csi.NodeUnstageVolumeRequest) (*csi.NodeUnstageVolumeResponse, error)
- type ControllerDriver
- func (d *ControllerDriver) ControllerExpandVolume(ctx context.Context, req *csi.ControllerExpandVolumeRequest) (*csi.ControllerExpandVolumeResponse, error)
- func (d *ControllerDriver) ControllerGetCapabilities(ctx context.Context, req *csi.ControllerGetCapabilitiesRequest) (*csi.ControllerGetCapabilitiesResponse, error)
- func (d *ControllerDriver) ControllerPublishVolume(ctx context.Context, req *csi.ControllerPublishVolumeRequest) (*csi.ControllerPublishVolumeResponse, error)
- func (d *ControllerDriver) ControllerUnpublishVolume(ctx context.Context, req *csi.ControllerUnpublishVolumeRequest) (*csi.ControllerUnpublishVolumeResponse, error)
- func (d *ControllerDriver) CreateSnapshot(ctx context.Context, req *csi.CreateSnapshotRequest) (*csi.CreateSnapshotResponse, error)
- func (d *ControllerDriver) CreateVolume(ctx context.Context, req *csi.CreateVolumeRequest) (*csi.CreateVolumeResponse, error)
- func (d *ControllerDriver) DeleteSnapshot(ctx context.Context, req *csi.DeleteSnapshotRequest) (*csi.DeleteSnapshotResponse, error)
- func (d *ControllerDriver) DeleteVolume(ctx context.Context, req *csi.DeleteVolumeRequest) (*csi.DeleteVolumeResponse, error)
- func (d *ControllerDriver) GetCapacity(ctx context.Context, req *csi.GetCapacityRequest) (*csi.GetCapacityResponse, error)
- func (d *ControllerDriver) ListSnapshots(ctx context.Context, req *csi.ListSnapshotsRequest) (*csi.ListSnapshotsResponse, error)
- func (d *ControllerDriver) ListVolumes(ctx context.Context, req *csi.ListVolumesRequest) (*csi.ListVolumesResponse, error)
- func (d *ControllerDriver) ValidateVolumeCapabilities(ctx context.Context, req *csi.ValidateVolumeCapabilitiesRequest) (*csi.ValidateVolumeCapabilitiesResponse, error)
- type Driver
- func (d *Driver) GetNodeDriver() csi.NodeServer
- func (d *Driver) GetPluginCapabilities(ctx context.Context, req *csi.GetPluginCapabilitiesRequest) (*csi.GetPluginCapabilitiesResponse, error)
- func (d *Driver) GetPluginInfo(ctx context.Context, req *csi.GetPluginInfoRequest) (*csi.GetPluginInfoResponse, error)
- func (d *Driver) Probe(ctx context.Context, req *csi.ProbeRequest) (*csi.ProbeResponse, error)
- func (d *Driver) Run() error
- func (d *Driver) Stop()
- type FSSNodeDriver
- func (d FSSNodeDriver) NodeExpandVolume(ctx context.Context, req *csi.NodeExpandVolumeRequest) (*csi.NodeExpandVolumeResponse, error)
- func (d FSSNodeDriver) NodeGetCapabilities(ctx context.Context, req *csi.NodeGetCapabilitiesRequest) (*csi.NodeGetCapabilitiesResponse, error)
- func (d FSSNodeDriver) NodeGetInfo(ctx context.Context, req *csi.NodeGetInfoRequest) (*csi.NodeGetInfoResponse, error)
- func (d FSSNodeDriver) NodeGetVolumeStats(ctx context.Context, req *csi.NodeGetVolumeStatsRequest) (*csi.NodeGetVolumeStatsResponse, error)
- func (d FSSNodeDriver) NodePublishVolume(ctx context.Context, req *csi.NodePublishVolumeRequest) (*csi.NodePublishVolumeResponse, error)
- func (d FSSNodeDriver) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolumeRequest) (*csi.NodeStageVolumeResponse, error)
- func (d FSSNodeDriver) NodeUnpublishVolume(ctx context.Context, req *csi.NodeUnpublishVolumeRequest) (*csi.NodeUnpublishVolumeResponse, error)
- func (d FSSNodeDriver) NodeUnstageVolume(ctx context.Context, req *csi.NodeUnstageVolumeRequest) (*csi.NodeUnstageVolumeResponse, error)
- type NodeDriver
- type VolumeAttachmentOption
- type VolumeParameters
Constants ¶
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" )
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 ¶
func (d BlockVolumeNodeDriver) NodeExpandVolume(ctx context.Context, req *csi.NodeExpandVolumeRequest) (*csi.NodeExpandVolumeResponse, error)
NodeExpandVolume returns the expand of the volume
func (BlockVolumeNodeDriver) NodeGetCapabilities ¶
func (d BlockVolumeNodeDriver) NodeGetCapabilities(ctx context.Context, req *csi.NodeGetCapabilitiesRequest) (*csi.NodeGetCapabilitiesResponse, error)
NodeGetCapabilities returns the supported capabilities of the node server
func (BlockVolumeNodeDriver) NodeGetInfo ¶
func (d BlockVolumeNodeDriver) NodeGetInfo(ctx context.Context, req *csi.NodeGetInfoRequest) (*csi.NodeGetInfoResponse, error)
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 ¶
func (d BlockVolumeNodeDriver) NodeGetVolumeStats(ctx context.Context, req *csi.NodeGetVolumeStatsRequest) (*csi.NodeGetVolumeStatsResponse, error)
NodeGetVolumeStats return the stats of the volume
func (BlockVolumeNodeDriver) NodePublishVolume ¶
func (d BlockVolumeNodeDriver) NodePublishVolume(ctx context.Context, req *csi.NodePublishVolumeRequest) (*csi.NodePublishVolumeResponse, error)
NodePublishVolume mounts the volume to the target path
func (BlockVolumeNodeDriver) NodeStageVolume ¶
func (d BlockVolumeNodeDriver) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolumeRequest) (*csi.NodeStageVolumeResponse, error)
NodeStageVolume mounts the volume to a staging path on the node.
func (BlockVolumeNodeDriver) NodeUnpublishVolume ¶
func (d BlockVolumeNodeDriver) NodeUnpublishVolume(ctx context.Context, req *csi.NodeUnpublishVolumeRequest) (*csi.NodeUnpublishVolumeResponse, error)
NodeUnpublishVolume unmounts the volume from the target path
func (BlockVolumeNodeDriver) NodeUnstageVolume ¶
func (d BlockVolumeNodeDriver) NodeUnstageVolume(ctx context.Context, req *csi.NodeUnstageVolumeRequest) (*csi.NodeUnstageVolumeResponse, error)
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 ¶
func (d *ControllerDriver) ControllerExpandVolume(ctx context.Context, req *csi.ControllerExpandVolumeRequest) (*csi.ControllerExpandVolumeResponse, error)
ControllerExpandVolume returns ControllerExpandVolume request
func (*ControllerDriver) ControllerGetCapabilities ¶
func (d *ControllerDriver) ControllerGetCapabilities(ctx context.Context, req *csi.ControllerGetCapabilitiesRequest) (*csi.ControllerGetCapabilitiesResponse, error)
ControllerGetCapabilities returns the capabilities of the controller service.
func (*ControllerDriver) ControllerPublishVolume ¶
func (d *ControllerDriver) ControllerPublishVolume(ctx context.Context, req *csi.ControllerPublishVolumeRequest) (*csi.ControllerPublishVolumeResponse, error)
ControllerPublishVolume attaches the given volume to the node
func (*ControllerDriver) ControllerUnpublishVolume ¶
func (d *ControllerDriver) ControllerUnpublishVolume(ctx context.Context, req *csi.ControllerUnpublishVolumeRequest) (*csi.ControllerUnpublishVolumeResponse, error)
ControllerUnpublishVolume deattaches the given volume from the node
func (*ControllerDriver) CreateSnapshot ¶
func (d *ControllerDriver) CreateSnapshot(ctx context.Context, req *csi.CreateSnapshotRequest) (*csi.CreateSnapshotResponse, error)
CreateSnapshot will be called by the CO to create a new snapshot from a source volume on behalf of a user.
func (*ControllerDriver) CreateVolume ¶
func (d *ControllerDriver) CreateVolume(ctx context.Context, req *csi.CreateVolumeRequest) (*csi.CreateVolumeResponse, error)
CreateVolume creates a new volume from the given request. The function is idempotent.
func (*ControllerDriver) DeleteSnapshot ¶
func (d *ControllerDriver) DeleteSnapshot(ctx context.Context, req *csi.DeleteSnapshotRequest) (*csi.DeleteSnapshotResponse, error)
DeleteSnapshot will be called by the CO to delete a snapshot.
func (*ControllerDriver) DeleteVolume ¶
func (d *ControllerDriver) DeleteVolume(ctx context.Context, req *csi.DeleteVolumeRequest) (*csi.DeleteVolumeResponse, error)
DeleteVolume deletes the given volume. The function is idempotent.
func (*ControllerDriver) GetCapacity ¶
func (d *ControllerDriver) GetCapacity(ctx context.Context, req *csi.GetCapacityRequest) (*csi.GetCapacityResponse, error)
GetCapacity returns the capacity of the storage pool
func (*ControllerDriver) ListSnapshots ¶
func (d *ControllerDriver) ListSnapshots(ctx context.Context, req *csi.ListSnapshotsRequest) (*csi.ListSnapshotsResponse, error)
ListSnapshots returns all the matched snapshots
func (*ControllerDriver) ListVolumes ¶
func (d *ControllerDriver) ListVolumes(ctx context.Context, req *csi.ListVolumesRequest) (*csi.ListVolumesResponse, error)
ListVolumes returns a list of all requested volumes
func (*ControllerDriver) ValidateVolumeCapabilities ¶
func (d *ControllerDriver) ValidateVolumeCapabilities(ctx context.Context, req *csi.ValidateVolumeCapabilitiesRequest) (*csi.ValidateVolumeCapabilitiesResponse, error)
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 ¶
func (d *Driver) GetPluginCapabilities(ctx context.Context, req *csi.GetPluginCapabilitiesRequest) (*csi.GetPluginCapabilitiesResponse, error)
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
type FSSNodeDriver ¶
type FSSNodeDriver struct {
NodeDriver
}
FSSNodeDriver extends NodeDriver
func (FSSNodeDriver) NodeExpandVolume ¶
func (d FSSNodeDriver) NodeExpandVolume(ctx context.Context, req *csi.NodeExpandVolumeRequest) (*csi.NodeExpandVolumeResponse, error)
NodeExpandVolume returns the expand of the volume
func (FSSNodeDriver) NodeGetCapabilities ¶
func (d FSSNodeDriver) NodeGetCapabilities(ctx context.Context, req *csi.NodeGetCapabilitiesRequest) (*csi.NodeGetCapabilitiesResponse, error)
NodeGetCapabilities returns the supported capabilities of the node server
func (FSSNodeDriver) NodeGetInfo ¶
func (d FSSNodeDriver) NodeGetInfo(ctx context.Context, req *csi.NodeGetInfoRequest) (*csi.NodeGetInfoResponse, error)
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 ¶
func (d FSSNodeDriver) NodeGetVolumeStats(ctx context.Context, req *csi.NodeGetVolumeStatsRequest) (*csi.NodeGetVolumeStatsResponse, error)
NodeGetVolumeStats return the stats of the volume
func (FSSNodeDriver) NodePublishVolume ¶
func (d FSSNodeDriver) NodePublishVolume(ctx context.Context, req *csi.NodePublishVolumeRequest) (*csi.NodePublishVolumeResponse, error)
NodePublishVolume mounts the volume to the target path
func (FSSNodeDriver) NodeStageVolume ¶
func (d FSSNodeDriver) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolumeRequest) (*csi.NodeStageVolumeResponse, error)
NodeStageVolume mounts the volume to a staging path on the node.
func (FSSNodeDriver) NodeUnpublishVolume ¶
func (d FSSNodeDriver) NodeUnpublishVolume(ctx context.Context, req *csi.NodeUnpublishVolumeRequest) (*csi.NodeUnpublishVolumeResponse, error)
NodeUnpublishVolume unmounts the volume from the target path
func (FSSNodeDriver) NodeUnstageVolume ¶
func (d FSSNodeDriver) NodeUnstageVolume(ctx context.Context, req *csi.NodeUnstageVolumeRequest) (*csi.NodeUnstageVolumeResponse, error)
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