Documentation ¶
Index ¶
- Variables
- type CephFilesystem
- type CephFilesystemDetails
- type CephFilesystemDump
- type ControllerServer
- func (cs *ControllerServer) CreateVolume(ctx context.Context, req *csi.CreateVolumeRequest) (*csi.CreateVolumeResponse, error)
- func (cs *ControllerServer) DeleteVolume(ctx context.Context, req *csi.DeleteVolumeRequest) (*csi.DeleteVolumeResponse, error)
- func (cs *ControllerServer) ValidateVolumeCapabilities(ctx context.Context, req *csi.ValidateVolumeCapabilitiesRequest) (*csi.ValidateVolumeCapabilitiesResponse, error)
- type Driver
- type ErrInvalidVolID
- type ErrNonStaticVolume
- type IdentityServer
- type MDSMap
- type NodeServer
- func (ns *NodeServer) NodeGetCapabilities(ctx context.Context, req *csi.NodeGetCapabilitiesRequest) (*csi.NodeGetCapabilitiesResponse, error)
- func (ns *NodeServer) NodePublishVolume(ctx context.Context, req *csi.NodePublishVolumeRequest) (*csi.NodePublishVolumeResponse, error)
- func (ns *NodeServer) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolumeRequest) (*csi.NodeStageVolumeResponse, error)
- func (ns *NodeServer) NodeUnpublishVolume(ctx context.Context, req *csi.NodeUnpublishVolumeRequest) (*csi.NodeUnpublishVolumeResponse, error)
- func (ns *NodeServer) NodeUnstageVolume(ctx context.Context, req *csi.NodeUnstageVolumeRequest) (*csi.NodeUnstageVolumeResponse, error)
Constants ¶
This section is empty.
Variables ¶
var ( // CSIInstanceID is the instance ID that is unique to an instance of CSI, used when sharing // ceph clusters across CSI instances, to differentiate omap names per CSI instance CSIInstanceID = "default" )
var PluginFolder = ""
PluginFolder defines the location of ceph plugin
Functions ¶
This section is empty.
Types ¶
type CephFilesystem ¶
type CephFilesystem struct { Name string `json:"name"` MetadataPool string `json:"metadata_pool"` MetadataPoolID int `json:"metadata_pool_id"` DataPools []string `json:"data_pools"` DataPoolIDs []int `json:"data_pool_ids"` }
CephFilesystem is a representation of the json structure returned by 'ceph fs ls'
type CephFilesystemDetails ¶
CephFilesystemDetails is a representation of the main json structure returned by 'ceph fs get'
type CephFilesystemDump ¶
type CephFilesystemDump struct {
Filesystems []CephFilesystemDetails `json:"filesystems"`
}
CephFilesystemDetails is a representation of the main json structure returned by 'ceph fs dump'
type ControllerServer ¶
type ControllerServer struct { *csicommon.DefaultControllerServer MetadataStore util.CachePersister // A map storing all volumes with ongoing operations so that additional operations // for that same volume (as defined by VolumeID/volume name) return an Aborted error VolumeLocks *util.VolumeLocks }
ControllerServer struct of CEPH CSI driver with supported methods of CSI controller server spec.
func NewControllerServer ¶
func NewControllerServer(d *csicommon.CSIDriver, cachePersister util.CachePersister) *ControllerServer
NewControllerServer initialize a controller server for ceph CSI driver
func (*ControllerServer) CreateVolume ¶
func (cs *ControllerServer) CreateVolume(ctx context.Context, req *csi.CreateVolumeRequest) (*csi.CreateVolumeResponse, error)
CreateVolume creates a reservation and the volume in backend, if it is not already present
func (*ControllerServer) DeleteVolume ¶
func (cs *ControllerServer) DeleteVolume(ctx context.Context, req *csi.DeleteVolumeRequest) (*csi.DeleteVolumeResponse, error)
DeleteVolume deletes the volume in backend and its reservation
func (*ControllerServer) ValidateVolumeCapabilities ¶
func (cs *ControllerServer) ValidateVolumeCapabilities( ctx context.Context, req *csi.ValidateVolumeCapabilitiesRequest) (*csi.ValidateVolumeCapabilitiesResponse, error)
ValidateVolumeCapabilities checks whether the volume capabilities requested are supported.
type Driver ¶
type Driver struct {
// contains filtered or unexported fields
}
Driver contains the default identity,node and controller struct
type ErrInvalidVolID ¶
type ErrInvalidVolID struct {
// contains filtered or unexported fields
}
ErrInvalidVolID is returned when a CSI passed VolumeID is not conformant to any known volume ID formats
func (ErrInvalidVolID) Error ¶
func (e ErrInvalidVolID) Error() string
type ErrNonStaticVolume ¶
type ErrNonStaticVolume struct {
// contains filtered or unexported fields
}
ErrNonStaticVolume is returned when a volume is detected as not being statically provisioned
func (ErrNonStaticVolume) Error ¶
func (e ErrNonStaticVolume) Error() string
type IdentityServer ¶
type IdentityServer struct {
*csicommon.DefaultIdentityServer
}
IdentityServer struct of ceph CSI driver with supported methods of CSI identity server spec.
func NewIdentityServer ¶
func NewIdentityServer(d *csicommon.CSIDriver) *IdentityServer
NewIdentityServer initialize a identity server for ceph CSI driver
func (*IdentityServer) GetPluginCapabilities ¶
func (is *IdentityServer) GetPluginCapabilities(ctx context.Context, req *csi.GetPluginCapabilitiesRequest) (*csi.GetPluginCapabilitiesResponse, error)
GetPluginCapabilities returns available capabilities of the ceph driver
type MDSMap ¶
type MDSMap struct {
FilesystemName string `json:"fs_name"`
}
MDSMap is a representation of the mds map sub-structure returned by 'ceph fs get'
type NodeServer ¶
type NodeServer struct { *csicommon.DefaultNodeServer // A map storing all volumes with ongoing operations so that additional operations // for that same volume (as defined by VolumeID) return an Aborted error VolumeLocks *util.VolumeLocks }
NodeServer struct of ceph CSI driver with supported methods of CSI node server spec.
func NewNodeServer ¶
func NewNodeServer(d *csicommon.CSIDriver, t string) *NodeServer
NewNodeServer initialize a node server for ceph CSI driver.
func (*NodeServer) NodeGetCapabilities ¶
func (ns *NodeServer) NodeGetCapabilities(ctx context.Context, req *csi.NodeGetCapabilitiesRequest) (*csi.NodeGetCapabilitiesResponse, error)
NodeGetCapabilities returns the supported capabilities of the node server
func (*NodeServer) NodePublishVolume ¶
func (ns *NodeServer) NodePublishVolume(ctx context.Context, req *csi.NodePublishVolumeRequest) (*csi.NodePublishVolumeResponse, error)
NodePublishVolume mounts the volume mounted to the staging path to the target path
func (*NodeServer) NodeStageVolume ¶
func (ns *NodeServer) NodeStageVolume(ctx context.Context, req *csi.NodeStageVolumeRequest) (*csi.NodeStageVolumeResponse, error)
NodeStageVolume mounts the volume to a staging path on the node.
func (*NodeServer) NodeUnpublishVolume ¶
func (ns *NodeServer) NodeUnpublishVolume(ctx context.Context, req *csi.NodeUnpublishVolumeRequest) (*csi.NodeUnpublishVolumeResponse, error)
NodeUnpublishVolume unmounts the volume from the target path
func (*NodeServer) NodeUnstageVolume ¶
func (ns *NodeServer) NodeUnstageVolume(ctx context.Context, req *csi.NodeUnstageVolumeRequest) (*csi.NodeUnstageVolumeResponse, error)
NodeUnstageVolume unstages the volume from the staging path