Versions in this module Expand all Collapse all v0 v0.7.0 Dec 5, 2019 Changes in this version + const ControlLogLevelDebug + const ControlLogLevelError + const ControlLogLevelInfo + func CheckReplica(lis net.Listener, accessPoints []string, srv *exec.Cmd) (msReplicaCheck string, err error) + func Start(log *logging.LeveledLogger, cfg *Configuration) error + func WriteSuperblock(sbPath string, sb *Superblock) error + type Configuration struct + AccessPoints []string + BdevExclude []string + BdevInclude []string + ControlLogFile string + ControlLogJSON bool + ControlLogMask ControlLogLevel + ControlPort int + Fabric ioserver.FabricConfig + FaultCb string + FaultPath string + GroupName string + HelperLogFile string + Hyperthreads bool + Modules string + NrHugepages int + NvmeShmID int + Path string + RecreateSuperblocks bool + Servers []*ioserver.Config + SocketDir string + SystemName string + TransportConfig *security.TransportConfig + UserName string + func NewConfiguration() *Configuration + func (c *Configuration) Load() error + func (c *Configuration) SaveToFile(filename string) error + func (c *Configuration) SetNvmeShmID(base string) + func (c *Configuration) SetPath(path string) error + func (c *Configuration) Validate() (err error) + func (c *Configuration) WithAccessPoints(aps ...string) *Configuration + func (c *Configuration) WithBdevExclude(bList ...string) *Configuration + func (c *Configuration) WithBdevInclude(bList ...string) *Configuration + func (c *Configuration) WithControlLogFile(filePath string) *Configuration + func (c *Configuration) WithControlLogJSON(enabled bool) *Configuration + func (c *Configuration) WithControlLogMask(lvl ControlLogLevel) *Configuration + func (c *Configuration) WithControlPort(port int) *Configuration + func (c *Configuration) WithFabricProvider(provider string) *Configuration + func (c *Configuration) WithFaultCb(cb string) *Configuration + func (c *Configuration) WithFaultPath(fp string) *Configuration + func (c *Configuration) WithGroupName(name string) *Configuration + func (c *Configuration) WithHelperLogFile(filePath string) *Configuration + func (c *Configuration) WithHyperthreads(enabled bool) *Configuration + func (c *Configuration) WithModules(mList string) *Configuration + func (c *Configuration) WithNUMAValidator(fn networkNUMAValidation) *Configuration + func (c *Configuration) WithNrHugePages(nr int) *Configuration + func (c *Configuration) WithNvmeShmID(id int) *Configuration + func (c *Configuration) WithProviderValidator(fn networkProviderValidation) *Configuration + func (c *Configuration) WithRecreateSuperblocks() *Configuration + func (c *Configuration) WithScmMountPoint(mp string) *Configuration + func (c *Configuration) WithServers(srvList ...*ioserver.Config) *Configuration + func (c *Configuration) WithSocketDir(sockDir string) *Configuration + func (c *Configuration) WithSystemName(name string) *Configuration + func (c *Configuration) WithTransportConfig(cfg *security.TransportConfig) *Configuration + func (c *Configuration) WithUserName(name string) *Configuration + type ControlLogLevel logging.LogLevel + func (c *ControlLogLevel) UnmarshalYAML(unmarshal func(interface{}) error) error + func (c ControlLogLevel) MarshalYAML() (interface{}, error) + func (c ControlLogLevel) String() string + type ControlService struct + func NewControlService(l logging.Logger, h *IOServerHarness, sp *scm.Provider, cfg *Configuration, ...) (*ControlService, error) + func (c *ControlService) NetworkListProviders(ctx context.Context, in *pb.ProviderListRequest) (*pb.ProviderListReply, error) + func (c *ControlService) NetworkScanDevices(in *pb.DeviceScanRequest, stream pb.MgmtCtl_NetworkScanDevicesServer) error + func (c *ControlService) StorageFormat(req *ctlpb.StorageFormatReq, stream ctlpb.MgmtCtl_StorageFormatServer) error + func (svc *ControlService) SystemMemberQuery(ctx context.Context, req *ctlpb.SystemMemberQueryReq) (*ctlpb.SystemMemberQueryResp, error) + func (svc *ControlService) SystemStop(ctx context.Context, req *ctlpb.SystemStopReq) (*ctlpb.SystemStopResp, error) + type External interface + type IOServerHarness struct + func NewIOServerHarness(log logging.Logger) *IOServerHarness + func (h *IOServerHarness) AddInstance(srv *IOServerInstance) error + func (h *IOServerHarness) AwaitStorageReady(ctx context.Context, skipMissingSuperblock bool) error + func (h *IOServerHarness) CreateSuperblocks(recreate bool) error + func (h *IOServerHarness) GetMSLeaderInstance() (*IOServerInstance, error) + func (h *IOServerHarness) Instances() []*IOServerInstance + func (h *IOServerHarness) IsStarted() bool + func (h *IOServerHarness) Start(parent context.Context) error + func (h *IOServerHarness) StartManagementService(ctx context.Context) error + type IOServerInstance struct + func NewIOServerInstance(log logging.Logger, bcp *bdev.ClassProvider, sp *scm.Provider, ...) *IOServerInstance + func (srv *IOServerInstance) AwaitReady() chan *srvpb.NotifyReadyReq + func (srv *IOServerInstance) AwaitStorageReady(ctx context.Context) + func (srv *IOServerInstance) CallDrpc(module, method int32, body proto.Message) (*drpc.Response, error) + func (srv *IOServerInstance) CreateSuperblock(msInfo *mgmtInfo) error + func (srv *IOServerInstance) Index() uint32 + func (srv *IOServerInstance) IsMSReplica() bool + func (srv *IOServerInstance) MountScmDevice() error + func (srv *IOServerInstance) NeedsScmFormat() (bool, error) + func (srv *IOServerInstance) NeedsSuperblock() (bool, error) + func (srv *IOServerInstance) NotifyReady(msg *srvpb.NotifyReadyReq) + func (srv *IOServerInstance) NotifyStorageReady() + func (srv *IOServerInstance) ReadSuperblock() error + func (srv *IOServerInstance) SetIndex(idx uint32) + func (srv *IOServerInstance) SetRank(ctx context.Context, ready *srvpb.NotifyReadyReq) error + func (srv *IOServerInstance) Start(ctx context.Context, errChan chan<- error) error + func (srv *IOServerInstance) StartManagementService() error + func (srv *IOServerInstance) WriteSuperblock() error + type IOServerStarter interface + GetConfig func() *ioserver.Config + Start func(context.Context, chan<- error) error + type NvmePrepareRequest struct + HugePageCount int + PCIWhitelist string + ResetOnly bool + TargetUser string + type SecurityModule struct + func NewSecurityModule(tc *security.TransportConfig) *SecurityModule + func (m *SecurityModule) HandleCall(session *drpc.Session, method int32, body []byte) ([]byte, error) + func (m *SecurityModule) ID() int32 + type SpdkSetup interface + type StorageControlService struct + func DefaultStorageControlService(log logging.Logger, cfg *Configuration) (*StorageControlService, error) + func NewStorageControlService(log logging.Logger, ext External, nvme *nvmeStorage, scm *scm.Provider, ...) *StorageControlService + func (c *StorageControlService) GetScmState() (storage.ScmState, error) + func (c *StorageControlService) NvmePrepare(req NvmePrepareRequest) error + func (c *StorageControlService) NvmeScan() (types.NvmeControllers, error) + func (c *StorageControlService) ScmPrepare(req scm.PrepareRequest) (*scm.PrepareResponse, error) + func (c *StorageControlService) ScmScan() (*scm.ScanResponse, error) + func (c *StorageControlService) Setup() error + func (c *StorageControlService) StoragePrepare(ctx context.Context, req *ctlpb.StoragePrepareReq) (*ctlpb.StoragePrepareResp, error) + func (c *StorageControlService) StorageScan(ctx context.Context, req *ctlpb.StorageScanReq) (*ctlpb.StorageScanResp, error) + func (c *StorageControlService) Teardown() + type Superblock struct + BootstrapMS bool + CreateMS bool + MS bool + Rank *ioserver.Rank + System string + UUID string + ValidRank bool + Version uint8 + func ReadSuperblock(sbPath string) (*Superblock, error) + func (sb *Superblock) Marshal() ([]byte, error) + func (sb *Superblock) Unmarshal(raw []byte) error