This section is empty.


var (
	//PmemDriverTopologyKey key to use for topology constraint
	DriverTopologyKey = ""


func GenerateVolumeID

func GenerateVolumeID(caller string, name string) string

func GetCSIDriver

func GetCSIDriver(cfg Config) (*csiDriver, error)

func Main

func Main() int

func NewIdentityServer

func NewIdentityServer(name, version string) (*identityServer, error)

func NewMasterControllerServer

func NewMasterControllerServer(rs *registryserver.RegistryServer) *masterController

func NewNodeControllerServer

func NewNodeControllerServer(nodeID string, dm pmdmanager.PmemDeviceManager, sm pmemstate.StateManager) *nodeControllerServer

func NewNodeServer

func NewNodeServer(cs *nodeControllerServer, mountDirectory string) *nodeServer


type Config

type Config struct {
	//DriverName name of the csi driver
	DriverName string
	//NodeID node id on which this csi driver is running
	NodeID string
	//Endpoint exported csi driver endpoint
	Endpoint string
	//TestEndpoint adds the controller service to the server listening on Endpoint.
	//Only needed for testing.
	TestEndpoint bool
	//Mode mode fo the driver
	Mode DriverMode
	//RegistryEndpoint exported registry server endpoint
	RegistryEndpoint string
	//CAFile Root certificate authority certificate file
	CAFile string
	//CertFile certificate for server authentication
	CertFile string
	//KeyFile server private key file
	KeyFile string
	//ClientCertFile certificate for client side authentication
	ClientCertFile string
	//ClientKeyFile client private key
	ClientKeyFile string
	//ControllerEndpoint exported node controller endpoint
	ControllerEndpoint string
	//DeviceManager device manager to use
	DeviceManager api.DeviceMode
	//Directory where to persist the node driver state
	StateBasePath string
	//Version driver release version
	Version string
	// PmemPercentage percentage of space to be used by the driver in each PMEM region
	PmemPercentage uint
	// contains filtered or unexported fields

Config type for driver configuration

type DefaultControllerServer

type DefaultControllerServer struct {
	// contains filtered or unexported fields

func (*DefaultControllerServer) ControllerGetCapabilities

func (cs *DefaultControllerServer) ControllerGetCapabilities(ctx context.Context, req *csi.ControllerGetCapabilitiesRequest) (*csi.ControllerGetCapabilitiesResponse, error)

ControllerGetCapabilities implements the default GRPC callout. Default supports all capabilities

func (*DefaultControllerServer) ControllerPublishVolume

func (cs *DefaultControllerServer) ControllerPublishVolume(ctx context.Context, req *csi.ControllerPublishVolumeRequest) (*csi.ControllerPublishVolumeResponse, error)

func (*DefaultControllerServer) ControllerUnpublishVolume

func (cs *DefaultControllerServer) ControllerUnpublishVolume(ctx context.Context, req *csi.ControllerUnpublishVolumeRequest) (*csi.ControllerUnpublishVolumeResponse, error)

func (*DefaultControllerServer) CreateSnapshot

func (cs *DefaultControllerServer) CreateSnapshot(ctx context.Context, req *csi.CreateSnapshotRequest) (*csi.CreateSnapshotResponse, error)

func (*DefaultControllerServer) CreateVolume

func (cs *DefaultControllerServer) CreateVolume(ctx context.Context, req *csi.CreateVolumeRequest) (*csi.CreateVolumeResponse, error)

func (*DefaultControllerServer) DeleteSnapshot

func (cs *DefaultControllerServer) DeleteSnapshot(ctx context.Context, req *csi.DeleteSnapshotRequest) (*csi.DeleteSnapshotResponse, error)

func (*DefaultControllerServer) DeleteVolume

func (cs *DefaultControllerServer) DeleteVolume(ctx context.Context, req *csi.DeleteVolumeRequest) (*csi.DeleteVolumeResponse, error)

func (*DefaultControllerServer) GetCapacity

func (cs *DefaultControllerServer) GetCapacity(ctx context.Context, req *csi.GetCapacityRequest) (*csi.GetCapacityResponse, error)

func (*DefaultControllerServer) ListSnapshots

func (cs *DefaultControllerServer) ListSnapshots(ctx context.Context, req *csi.ListSnapshotsRequest) (*csi.ListSnapshotsResponse, error)

func (*DefaultControllerServer) ListVolumes

func (cs *DefaultControllerServer) ListVolumes(ctx context.Context, req *csi.ListVolumesRequest) (*csi.ListVolumesResponse, error)

func (*DefaultControllerServer) ValidateControllerServiceRequest

func (cs *DefaultControllerServer) ValidateControllerServiceRequest(c csi.ControllerServiceCapability_RPC_Type) error

type DriverMode

type DriverMode string
const (
	//Controller definition for controller driver mode
	Controller DriverMode = "controller"
	//Node definition for noder driver mode
	Node DriverMode = "node"

The mode strings are part of the metrics API (-> csi_controller, csi_node as subsystem), do not change them!

func (*DriverMode) Set

func (mode *DriverMode) Set(value string) error

func (*DriverMode) String

func (mode *DriverMode) String() string

type VolumeStatus

type VolumeStatus int

VolumeStatus type representation for volume status

const (
	//Created volume created
	Created VolumeStatus = iota + 1
	//Deleted volume deleted


Path Synopsis