Documentation

Index

Constants

This section is empty.

Variables

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

Functions

func GetPMEMDriver

func GetPMEMDriver(cfg Config) (*pmemDriver, 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(nodeId string, dm pmdmanager.PmemDeviceManager) *nodeServer

Types

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 string
	//Directory where to persist the node driver state
	StateBasePath string
	//Version driver release version
	Version string
}

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 defintion for controller driver mode
	Controller DriverMode = "controller"
	//Node defintion for noder driver mode
	Node DriverMode = "node"
)

type NonBlockingGRPCServer

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

NonBlocking server

func NewNonBlockingGRPCServer

func NewNonBlockingGRPCServer() *NonBlockingGRPCServer

func (*NonBlockingGRPCServer) ForceStop

func (s *NonBlockingGRPCServer) ForceStop()

func (*NonBlockingGRPCServer) Start

func (s *NonBlockingGRPCServer) Start(endpoint string, tlsConfig *tls.Config, services ...PmemService) error

func (*NonBlockingGRPCServer) Stop

func (s *NonBlockingGRPCServer) Stop()

func (*NonBlockingGRPCServer) Wait

func (s *NonBlockingGRPCServer) Wait()

type PmemPersistencyModel

type PmemPersistencyModel string

type PmemService

type PmemService interface {
	// RegisterService will be called by NonBlockingGRPCServer whenever
	// its about to start a grpc server on an endpoint.
	RegisterService(s *grpc.Server)
}

type VolumeStatus

type VolumeStatus int

VolumeStatus type representation for volume status

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