Documentation ¶
Index ¶
- Constants
- Variables
- func CheckMountPropagationWithNode(managerURL string) error
- type AttacherDeployment
- type ControllerServer
- func (cs *ControllerServer) ControllerPublishVolume(ctx context.Context, req *csi.ControllerPublishVolumeRequest) (*csi.ControllerPublishVolumeResponse, error)
- func (cs *ControllerServer) ControllerUnpublishVolume(ctx context.Context, req *csi.ControllerUnpublishVolumeRequest) (*csi.ControllerUnpublishVolumeResponse, error)
- 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) ListVolumes(ctx context.Context, req *csi.ListVolumesRequest) (*csi.ListVolumesResponse, error)
- func (cs *ControllerServer) ValidateVolumeCapabilities(ctx context.Context, req *csi.ValidateVolumeCapabilitiesRequest) (*csi.ValidateVolumeCapabilitiesResponse, error)
- type IdentityServer
- func (ids *IdentityServer) GetPluginCapabilities(ctx context.Context, req *csi.GetPluginCapabilitiesRequest) (*csi.GetPluginCapabilitiesResponse, error)
- func (ids *IdentityServer) GetPluginInfo(ctx context.Context, req *csi.GetPluginInfoRequest) (*csi.GetPluginInfoResponse, error)
- func (ids *IdentityServer) Probe(ctx context.Context, req *csi.ProbeRequest) (*csi.ProbeResponse, error)
- type Manager
- type NodeServer
- 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)
- type PluginDeployment
- type ProvisionerDeployment
Constants ¶
View Source
const ( DefaultCSIAttacherImage = "quay.io/k8scsi/csi-attacher:v0.4.2" DefaultCSIProvisionerImage = "quay.io/k8scsi/csi-provisioner:v0.4.2" DefaultCSIDriverRegistrarImage = "quay.io/k8scsi/driver-registrar:v0.4.1" DefaultCSIProvisionerName = "rancher.io/longhorn" DefaultCSIAttacherReplicaCount = 3 DefaultCSIProvisionerReplicaCount = 3 AnnotationCSIVersion = "longhorn.rancher.io/version" AnnotationKubernetesVersion = "longhorn.rancher.io/kubernetes-version" )
Variables ¶
View Source
var ( HostPathDirectory = v1.HostPathDirectory HostPathDirectoryOrCreate = v1.HostPathDirectoryOrCreate MountPropagationBidirectional = v1.MountPropagationBidirectional )
View Source
var VERSION = "v0.3.0"
Functions ¶
func CheckMountPropagationWithNode ¶
CheckMountPropagationWithNode https://github.com/kubernetes/kubernetes/issues/66086#issuecomment-404346854
Types ¶
type AttacherDeployment ¶
type AttacherDeployment struct {
// contains filtered or unexported fields
}
func NewAttacherDeployment ¶
func NewAttacherDeployment(namespace, serviceAccount, attacherImage, rootDir string, replicaCount int, tolerations []v1.Toleration) *AttacherDeployment
func (*AttacherDeployment) Cleanup ¶
func (a *AttacherDeployment) Cleanup(kubeClient *clientset.Clientset)
type ControllerServer ¶
type ControllerServer struct { *csicommon.DefaultControllerServer // contains filtered or unexported fields }
func NewControllerServer ¶
func NewControllerServer(d *csicommon.CSIDriver, apiClient *longhornclient.RancherClient) *ControllerServer
func (*ControllerServer) ControllerPublishVolume ¶
func (cs *ControllerServer) ControllerPublishVolume(ctx context.Context, req *csi.ControllerPublishVolumeRequest) (*csi.ControllerPublishVolumeResponse, error)
ControllerPublishVolume will attach the volume to the specified node
func (*ControllerServer) ControllerUnpublishVolume ¶
func (cs *ControllerServer) ControllerUnpublishVolume(ctx context.Context, req *csi.ControllerUnpublishVolumeRequest) (*csi.ControllerUnpublishVolumeResponse, error)
ControllerUnpublishVolume will detach the volume
func (*ControllerServer) CreateVolume ¶
func (cs *ControllerServer) CreateVolume(ctx context.Context, req *csi.CreateVolumeRequest) (*csi.CreateVolumeResponse, error)
func (*ControllerServer) DeleteVolume ¶
func (cs *ControllerServer) DeleteVolume(ctx context.Context, req *csi.DeleteVolumeRequest) (*csi.DeleteVolumeResponse, error)
func (*ControllerServer) ListVolumes ¶
func (cs *ControllerServer) ListVolumes(ctx context.Context, req *csi.ListVolumesRequest) (*csi.ListVolumesResponse, error)
func (*ControllerServer) ValidateVolumeCapabilities ¶
func (cs *ControllerServer) ValidateVolumeCapabilities(ctx context.Context, req *csi.ValidateVolumeCapabilitiesRequest) (*csi.ValidateVolumeCapabilitiesResponse, error)
type IdentityServer ¶
type IdentityServer struct {
// contains filtered or unexported fields
}
func NewIdentityServer ¶
func NewIdentityServer(driverName, version string) *IdentityServer
func (*IdentityServer) GetPluginCapabilities ¶
func (ids *IdentityServer) GetPluginCapabilities(ctx context.Context, req *csi.GetPluginCapabilitiesRequest) (*csi.GetPluginCapabilitiesResponse, error)
func (*IdentityServer) GetPluginInfo ¶
func (ids *IdentityServer) GetPluginInfo(ctx context.Context, req *csi.GetPluginInfoRequest) (*csi.GetPluginInfoResponse, error)
func (*IdentityServer) Probe ¶
func (ids *IdentityServer) Probe(ctx context.Context, req *csi.ProbeRequest) (*csi.ProbeResponse, error)
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func GetCSIManager ¶
func GetCSIManager() *Manager
type NodeServer ¶
type NodeServer struct {
*csicommon.DefaultNodeServer
}
func NewNodeServer ¶
func NewNodeServer(d *csicommon.CSIDriver) *NodeServer
func (*NodeServer) NodePublishVolume ¶
func (ns *NodeServer) NodePublishVolume(ctx context.Context, req *csi.NodePublishVolumeRequest) (*csi.NodePublishVolumeResponse, error)
NodePublishVolume will mount the volume /dev/longhorn/<volume_name> to target_path
func (*NodeServer) NodeStageVolume ¶
func (ns *NodeServer) NodeStageVolume( ctx context.Context, req *csi.NodeStageVolumeRequest) ( *csi.NodeStageVolumeResponse, error)
func (*NodeServer) NodeUnpublishVolume ¶
func (ns *NodeServer) NodeUnpublishVolume(ctx context.Context, req *csi.NodeUnpublishVolumeRequest) (*csi.NodeUnpublishVolumeResponse, error)
func (*NodeServer) NodeUnstageVolume ¶
func (ns *NodeServer) NodeUnstageVolume( ctx context.Context, req *csi.NodeUnstageVolumeRequest) ( *csi.NodeUnstageVolumeResponse, error)
type PluginDeployment ¶
type PluginDeployment struct {
// contains filtered or unexported fields
}
func NewPluginDeployment ¶
func NewPluginDeployment(namespace, serviceAccount, driverRegistrarImage, managerImage, managerURL, rootDir string, kubeletPluginWatcherEnabled bool, tolerations []v1.Toleration) *PluginDeployment
func (*PluginDeployment) Cleanup ¶
func (p *PluginDeployment) Cleanup(kubeClient *clientset.Clientset)
type ProvisionerDeployment ¶
type ProvisionerDeployment struct {
// contains filtered or unexported fields
}
func NewProvisionerDeployment ¶
func NewProvisionerDeployment(namespace, serviceAccount, provisionerImage, provisionerName, rootDir string, replicaCount int, tolerations []v1.Toleration) *ProvisionerDeployment
func (*ProvisionerDeployment) Cleanup ¶
func (p *ProvisionerDeployment) Cleanup(kubeClient *clientset.Clientset)
Click to show internal directories.
Click to hide internal directories.