Documentation
¶
Index ¶
- Constants
- Variables
- func CreateDatabaseConfig(cfg *config.Server) (*raft.DatabaseConfig, error)
- func FaultBadFaultDomainLabels(faultPath, addr string, reqLabels, systemLabels []string) *fault.Fault
- func FaultEngineNUMAImbalance(nodeMap map[int]int) *fault.Fault
- func FaultIncompatibleComponents(self, other *build.VersionedComponent) *fault.Fault
- func FaultInstancesNotStopped(action string, rank ranklist.Rank) *fault.Fault
- func FaultNoCompatibilityInsecure(self, other build.Version) *fault.Fault
- func FaultPoolDuplicateLabel(dupe string) *fault.Fault
- func FaultPoolInvalidNumRanks(req, avail int) *fault.Fault
- func FaultPoolInvalidRanks(invalid []ranklist.Rank) *fault.Fault
- func FaultPoolInvalidServiceReps(maxSvcReps uint32) *fault.Fault
- func FaultPoolNvmeTooSmall(minTotal, minNVMe uint64) *fault.Fault
- func FaultPoolScmTooSmall(minTotal, minSCM uint64) *fault.Fault
- func FaultScmUnmanaged(mntPoint string) *fault.Fault
- func FaultWrongSystem(reqName, sysName string) *fault.Fault
- func MockMemInfo() *common.MemInfo
- func Start(log logging.Logger, cfg *config.Server) error
- func WriteSuperblock(sbPath string, sb *Superblock) error
- type ControlService
- func (c *ControlService) CollectLog(ctx context.Context, req *ctlpb.CollectLogReq) (*ctlpb.CollectLogResp, error)
- func (cs *ControlService) FabricScan(ctx context.Context, providers ...string) (*hardware.FabricInterfaceSet, error)
- func (svc *ControlService) FirmwareQuery(parent context.Context, pbReq *ctlpb.FirmwareQueryReq) (*ctlpb.FirmwareQueryResp, error)
- func (svc *ControlService) FirmwareUpdate(parent context.Context, pbReq *ctlpb.FirmwareUpdateReq) (*ctlpb.FirmwareUpdateResp, error)
- func (cs *ControlService) NetworkScan(ctx context.Context, req *ctlpb.NetworkScanReq) (*ctlpb.NetworkScanResp, error)
- func (svc *ControlService) PrepShutdownRanks(ctx context.Context, req *ctlpb.RanksReq) (*ctlpb.RanksResp, error)
- func (svc *ControlService) ResetFormatRanks(ctx context.Context, req *ctlpb.RanksReq) (*ctlpb.RanksResp, error)
- func (svc *ControlService) SetEngineLogMasks(ctx context.Context, req *ctlpb.SetLogMasksReq) (*ctlpb.SetLogMasksResp, error)
- func (svc *ControlService) SmdManage(ctx context.Context, req *ctlpb.SmdManageReq) (*ctlpb.SmdManageResp, error)
- func (svc *ControlService) SmdQuery(ctx context.Context, req *ctlpb.SmdQueryReq) (*ctlpb.SmdQueryResp, error)
- func (svc *ControlService) StartRanks(ctx context.Context, req *ctlpb.RanksReq) (*ctlpb.RanksResp, error)
- func (svc *ControlService) StopRanks(ctx context.Context, req *ctlpb.RanksReq) (*ctlpb.RanksResp, error)
- func (cs *ControlService) StorageFormat(ctx context.Context, req *ctlpb.StorageFormatReq) (*ctlpb.StorageFormatResp, error)
- func (cs *ControlService) StorageNvmeAddDevice(ctx context.Context, req *ctlpb.NvmeAddDeviceReq) (resp *ctlpb.NvmeAddDeviceResp, err error)
- func (cs *ControlService) StorageNvmeRebind(ctx context.Context, req *ctlpb.NvmeRebindReq) (*ctlpb.NvmeRebindResp, error)
- func (cs *ControlService) StorageScan(ctx context.Context, req *ctlpb.StorageScanReq) (*ctlpb.StorageScanResp, error)
- type Engine
- type EngineHarness
- func (h *EngineHarness) AddInstance(ei Engine) error
- func (h *EngineHarness) CallDrpc(ctx context.Context, method drpc.Method, body proto.Message) (resp *drpc.Response, err error)
- func (h *EngineHarness) FilterInstancesByRankSet(ranks string) ([]Engine, error)
- func (h *EngineHarness) Instances() []Engine
- func (h *EngineHarness) OnDrpcFailure(fns ...onDrpcFailureFn)
- func (h *EngineHarness) Start(ctx context.Context, db dbLeader, cfg *config.Server) error
- func (h *EngineHarness) WithFaultDomain(fd *system.FaultDomain) *EngineHarness
- type EngineInstance
- func (ei *EngineInstance) CallDrpc(ctx context.Context, method drpc.Method, body proto.Message) (*drpc.Response, error)
- func (ei *EngineInstance) Debugf(format string, args ...interface{})
- func (ei *EngineInstance) GetLastHealthStats(pciAddr string) *ctlpb.BioHealthResp
- func (ei *EngineInstance) GetRank() (ranklist.Rank, error)
- func (ei *EngineInstance) GetStorage() *storage.Provider
- func (ei *EngineInstance) GetTargetCount() int
- func (ei *EngineInstance) Index() uint32
- func (ei *EngineInstance) IsReady() bool
- func (ei *EngineInstance) IsStarted() bool
- func (ei *EngineInstance) LocalState() system.MemberState
- func (ei *EngineInstance) MountMetadata() error
- func (ei *EngineInstance) MountScm() error
- func (ei *EngineInstance) NotifyDrpcReady(msg *srvpb.NotifyReadyReq)
- func (ei *EngineInstance) NotifyStorageReady()
- func (ei *EngineInstance) OnAwaitFormat(fns ...onAwaitFormatFn)
- func (ei *EngineInstance) OnInstanceExit(fns ...onInstanceExitFn)
- func (ei *EngineInstance) OnReady(fns ...onReadyFn)
- func (ei *EngineInstance) OnStorageReady(fns ...onStorageReadyFn)
- func (ei *EngineInstance) ReadSuperblock() error
- func (ei *EngineInstance) RemoveSuperblock() error
- func (ei *EngineInstance) Run(ctx context.Context)
- func (ei *EngineInstance) SetCheckerMode(enabled bool)
- func (ei *EngineInstance) SetLastHealthStats(pciAddr string, bhr *ctlpb.BioHealthResp)
- func (ei *EngineInstance) SetupRank(ctx context.Context, rank ranklist.Rank, map_version uint32) error
- func (ei *EngineInstance) Stop(signal os.Signal) error
- func (ei *EngineInstance) StorageFormatSCM(ctx context.Context, force bool) (mResult *ctlpb.ScmMountResult)
- func (ei *EngineInstance) Tracef(format string, args ...interface{})
- func (ei *EngineInstance) WithHostFaultDomain(fd *system.FaultDomain) *EngineInstance
- func (ei *EngineInstance) WriteSuperblock() error
- type EngineRunner
- type SecurityModule
- type StorageControlService
- func (scs *StorageControlService) NvmePrepare(req storage.BdevPrepareRequest) (*storage.BdevPrepareResponse, error)
- func (scs *StorageControlService) NvmeScan(req storage.BdevScanRequest) (*storage.BdevScanResponse, error)
- func (scs *StorageControlService) ScmPrepare(req storage.ScmPrepareRequest) (*storage.ScmPrepareResponse, error)
- func (scs *StorageControlService) ScmScan(req storage.ScmScanRequest) (*storage.ScmScanResponse, error)
- func (scs *StorageControlService) WithVMDEnabled() *StorageControlService
- type Superblock
Constants ¶
const ( // DefaultPoolScmRatio defines the default SCM:NVMe ratio for // requests that do not specify one. DefaultPoolScmRatio = 0.06 // DefaultPoolNvmeRatio defines the default NVMe:SCM ratio for // requests that do not specify one. DefaultPoolNvmeRatio = 0.94 // MaxPoolServiceReps defines the maximum number of pool service // replicas that may be configured when creating a pool. MaxPoolServiceReps = 2*daos.PoolSvcRedunFacMax + 1 )
Variables ¶
var ( FaultUnknown = serverFault( code.ServerUnknown, "unknown control server error", "", ) FaultIommuDisabled = serverFault( code.ServerIommuDisabled, "no IOMMU detected while running as non-root user with NVMe devices", "enable IOMMU per the DAOS Admin Guide or run daos_server as root", ) FaultVfioDisabled = serverFault( code.ServerVfioDisabled, "disable_vfio: true in config while running as non-root user with NVMe devices", "set disable_vfio: false or run daos_server as root", ) FaultHarnessNotStarted = serverFault( code.ServerHarnessNotStarted, fmt.Sprintf("%s harness not started", build.DataPlaneName), "retry the operation or check server logs for more details", ) FaultDataPlaneNotStarted = serverFault( code.ServerDataPlaneNotStarted, fmt.Sprintf("%s instance not started or not responding on dRPC", build.DataPlaneName), "retry the operation or check server logs for more details", ) FaultPoolNoLabel = serverFault( code.ServerPoolNoLabel, "cannot create a pool without a pool label", "retry the operation with a label set", ) FaultPoolHasContainers = serverFault( code.ServerPoolHasContainers, "cannot destroy a pool with existing containers", "retry the operation with the recursive flag set to remove containers along with the pool", ) FaultHugepagesDisabled = serverFault( code.ServerHugepagesDisabled, "the use of hugepages has been disabled in the server config", "set false (or remove) disable_hugepages parameter in config and reformat storage, then retry the operation", ) )
var FaultPoolMemRatioNoRoles = serverFault( code.ServerPoolMemRatioNoRoles, "pool create request contains MD-on-SSD parameters but MD-on-SSD has not been enabled", "either remove MD-on-SSD-specific options from the command request or set bdev_roles in "+ "server config file to enable MD-on-SSD")
FaultPoolMemRatioNoRoles indicates a fault when pool create request contains MD-on-SSD parameters but MD-on-SSD has not been enabled on the server.
Functions ¶
func CreateDatabaseConfig ¶
func CreateDatabaseConfig(cfg *config.Server) (*raft.DatabaseConfig, error)
CreateDatabaseConfig creates a new database configuration.
func FaultIncompatibleComponents ¶
func FaultIncompatibleComponents(self, other *build.VersionedComponent) *fault.Fault
func FaultPoolDuplicateLabel ¶
func FaultPoolNvmeTooSmall ¶
func FaultPoolScmTooSmall ¶
func FaultScmUnmanaged ¶
func FaultWrongSystem ¶
func WriteSuperblock ¶
func WriteSuperblock(sbPath string, sb *Superblock) error
WriteSuperblock writes a Superblock to storage.
Types ¶
type ControlService ¶
type ControlService struct { ctlpb.UnimplementedCtlSvcServer StorageControlService // contains filtered or unexported fields }
ControlService implements the control plane control service, satisfying ctlpb.CtlSvcServer, and is the data container for the service.
func NewControlService ¶
func NewControlService(log logging.Logger, h *EngineHarness, cfg *config.Server, e *events.PubSub, f *hardware.FabricScanner) *ControlService
NewControlService returns ControlService to be used as gRPC control service datastore. Initialized with sensible defaults and provided components.
func (*ControlService) CollectLog ¶
func (c *ControlService) CollectLog(ctx context.Context, req *ctlpb.CollectLogReq) (*ctlpb.CollectLogResp, error)
CollectLog collect the file for each server on given target location.
func (*ControlService) FabricScan ¶
func (cs *ControlService) FabricScan(ctx context.Context, providers ...string) (*hardware.FabricInterfaceSet, error)
FabricScan performs a scan of fabric interfaces given a list of providers.
func (*ControlService) FirmwareQuery ¶
func (svc *ControlService) FirmwareQuery(parent context.Context, pbReq *ctlpb.FirmwareQueryReq) (*ctlpb.FirmwareQueryResp, error)
FirmwareQuery implements the method defined for the control service if firmware management is enabled for this build.
It fetches information about the device firmware on this server based on the caller's request parameters. It can fetch firmware information for NVMe, SCM, or both.
func (*ControlService) FirmwareUpdate ¶
func (svc *ControlService) FirmwareUpdate(parent context.Context, pbReq *ctlpb.FirmwareUpdateReq) (*ctlpb.FirmwareUpdateResp, error)
FirmwareUpdate implements the method defined for the control service if firmware management is enabled for this build.
It updates the firmware on the storage devices of the specified type.
func (*ControlService) NetworkScan ¶
func (cs *ControlService) NetworkScan(ctx context.Context, req *ctlpb.NetworkScanReq) (*ctlpb.NetworkScanResp, error)
NetworkScan retrieves details of network interfaces on remote hosts.
func (*ControlService) PrepShutdownRanks ¶
func (svc *ControlService) PrepShutdownRanks(ctx context.Context, req *ctlpb.RanksReq) (*ctlpb.RanksResp, error)
PrepShutdownRanks implements the method defined for the Management Service.
Prepare data-plane instance(s) managed by control-plane for a controlled shutdown, identified by unique rank(s).
Iterate over local instances, issue PrepShutdown dRPCs and record results.
func (*ControlService) ResetFormatRanks ¶
func (svc *ControlService) ResetFormatRanks(ctx context.Context, req *ctlpb.RanksReq) (*ctlpb.RanksResp, error)
ResetFormatRanks implements the method defined for the Management Service.
Reset storage format of data-plane instances (DAOS system members) managed by harness.
Reset formatted state of data-plane instance(s) managed by control-plane identified by unique rank(s). After attempting to reset instances through harness (when either all instances are awaiting format or timeout has occurred), populate response results based on local instance state.
func (*ControlService) SetEngineLogMasks ¶
func (svc *ControlService) SetEngineLogMasks(ctx context.Context, req *ctlpb.SetLogMasksReq) (*ctlpb.SetLogMasksResp, error)
SetEngineLogMasks calls into each engine over dRPC to set loglevel at runtime.
func (*ControlService) SmdManage ¶
func (svc *ControlService) SmdManage(ctx context.Context, req *ctlpb.SmdManageReq) (*ctlpb.SmdManageResp, error)
SmdManage implements the method defined for the Management Service.
Manage SMD devices.
func (*ControlService) SmdQuery ¶
func (svc *ControlService) SmdQuery(ctx context.Context, req *ctlpb.SmdQueryReq) (*ctlpb.SmdQueryResp, error)
SmdQuery implements the method defined for the Management Service.
Query SMD info for pools or devices.
func (*ControlService) StartRanks ¶
func (svc *ControlService) StartRanks(ctx context.Context, req *ctlpb.RanksReq) (*ctlpb.RanksResp, error)
StartRanks implements the method defined for the Management Service.
Start data-plane instance(s) managed by control-plane identified by unique rank(s). After attempting to start instances through harness (when either all instances are in ready state or timeout has occurred), populate response results based on local instance state.
func (*ControlService) StopRanks ¶
func (svc *ControlService) StopRanks(ctx context.Context, req *ctlpb.RanksReq) (*ctlpb.RanksResp, error)
StopRanks implements the method defined for the Management Service.
Stop data-plane instance(s) managed by control-plane identified by unique rank(s). After attempting to stop instances through harness (when either all instances are stopped or timeout has occurred), populate response results based on local instance state.
func (*ControlService) StorageFormat ¶
func (cs *ControlService) StorageFormat(ctx context.Context, req *ctlpb.StorageFormatReq) (*ctlpb.StorageFormatResp, error)
StorageFormat delegates to Storage implementation's Format methods to prepare storage for use by DAOS data plane.
Errors returned will stop other servers from formatting, non-fatal errors specific to particular device should be reported within resp results instead.
Send response containing multiple results of format operations on scm mounts and nvme controllers.
func (*ControlService) StorageNvmeAddDevice ¶
func (cs *ControlService) StorageNvmeAddDevice(ctx context.Context, req *ctlpb.NvmeAddDeviceReq) (resp *ctlpb.NvmeAddDeviceResp, err error)
StorageNvmeAddDevice adds a newly added SSD to a DAOS engine's NVMe config to allow it to be used.
If StorageTierIndex is set to -1 in request, add the device to the first configured bdev tier.
func (*ControlService) StorageNvmeRebind ¶
func (cs *ControlService) StorageNvmeRebind(ctx context.Context, req *ctlpb.NvmeRebindReq) (*ctlpb.NvmeRebindResp, error)
StorageNvmeRebind rebinds SSD from kernel and binds to user-space to allow DAOS to use it.
func (*ControlService) StorageScan ¶
func (cs *ControlService) StorageScan(ctx context.Context, req *ctlpb.StorageScanReq) (*ctlpb.StorageScanResp, error)
StorageScan discovers non-volatile storage hardware on node.
type Engine ¶
type Engine interface { events.Publisher // These methods should probably be replaced by callbacks. NotifyDrpcReady(*srvpb.NotifyReadyReq) NotifyStorageReady() // These methods should probably be refactored out into functions that // accept the engine instance as a parameter. StorageFormatSCM(context.Context, bool) *ctlpb.ScmMountResult // This is a more reasonable surface that will be easier to maintain and test. CallDrpc(context.Context, drpc.Method, proto.Message) (*drpc.Response, error) GetRank() (ranklist.Rank, error) GetTargetCount() int Index() uint32 IsStarted() bool IsReady() bool LocalState() system.MemberState RemoveSuperblock() error Run(context.Context) SetupRank(context.Context, ranklist.Rank, uint32) error Stop(os.Signal) error OnInstanceExit(...onInstanceExitFn) OnReady(...onReadyFn) GetStorage() *storage.Provider SetCheckerMode(bool) Debugf(string, ...interface{}) Tracef(string, ...interface{}) GetLastHealthStats(string) *ctlpb.BioHealthResp SetLastHealthStats(string, *ctlpb.BioHealthResp) // contains filtered or unexported methods }
Engine defines an interface to be implemented by engine instances.
NB: This interface is way too big right now; need to refactor in order to limit scope.
type EngineHarness ¶
EngineHarness is responsible for managing Engine instances.
func NewEngineHarness ¶
func NewEngineHarness(log logging.Logger) *EngineHarness
NewEngineHarness returns an initialized *EngineHarness.
func (*EngineHarness) AddInstance ¶
func (h *EngineHarness) AddInstance(ei Engine) error
AddInstance adds a new Engine instance to be managed.
func (*EngineHarness) CallDrpc ¶
func (h *EngineHarness) CallDrpc(ctx context.Context, method drpc.Method, body proto.Message) (resp *drpc.Response, err error)
CallDrpc calls the supplied dRPC method on a managed I/O Engine instance.
func (*EngineHarness) FilterInstancesByRankSet ¶
func (h *EngineHarness) FilterInstancesByRankSet(ranks string) ([]Engine, error)
FilterInstancesByRankSet returns harness' EngineInstances that match any of a list of ranks derived from provided rank set string.
func (*EngineHarness) Instances ¶
func (h *EngineHarness) Instances() []Engine
Instances safely returns harness' EngineInstances.
func (*EngineHarness) OnDrpcFailure ¶
func (h *EngineHarness) OnDrpcFailure(fns ...onDrpcFailureFn)
OnDrpcFailure registers callbacks to be invoked on dRPC call failure.
func (*EngineHarness) Start ¶
Start starts harness by setting up and starting dRPC before initiating configured instances' processing loops.
Run until harness is shutdown.
func (*EngineHarness) WithFaultDomain ¶
func (h *EngineHarness) WithFaultDomain(fd *system.FaultDomain) *EngineHarness
WithFaultDomain adds a fault domain to the EngineHarness.
type EngineInstance ¶
type EngineInstance struct { events.Publisher sync.RWMutex // contains filtered or unexported fields }
EngineInstance encapsulates control-plane specific configuration and functionality for managed I/O Engine instances. The distinction between this structure and what's in the engine package is that the engine package is only concerned with configuring and executing a single daos_engine instance. EngineInstance is intended to be used with EngineHarness to manage and monitor multiple instances per node.
func NewEngineInstance ¶
func NewEngineInstance(l logging.Logger, p *storage.Provider, jf systemJoinFn, r EngineRunner, ps *events.PubSub) *EngineInstance
NewEngineInstance returns an *EngineInstance initialized with its dependencies.
func (*EngineInstance) CallDrpc ¶
func (ei *EngineInstance) CallDrpc(ctx context.Context, method drpc.Method, body proto.Message) (*drpc.Response, error)
CallDrpc makes the supplied dRPC call via this instance's dRPC client.
func (*EngineInstance) Debugf ¶
func (ei *EngineInstance) Debugf(format string, args ...interface{})
func (*EngineInstance) GetLastHealthStats ¶
func (ei *EngineInstance) GetLastHealthStats(pciAddr string) *ctlpb.BioHealthResp
func (*EngineInstance) GetRank ¶
func (ei *EngineInstance) GetRank() (ranklist.Rank, error)
GetRank returns a valid instance rank or error.
func (*EngineInstance) GetStorage ¶
func (ei *EngineInstance) GetStorage() *storage.Provider
GetStorage retrieve the storage provider for an engine instance.
func (*EngineInstance) GetTargetCount ¶
func (ei *EngineInstance) GetTargetCount() int
GetTargetCount returns the target count set for this instance.
func (*EngineInstance) Index ¶
func (ei *EngineInstance) Index() uint32
Index returns the server index assigned by the harness.
func (*EngineInstance) IsReady ¶
func (ei *EngineInstance) IsReady() bool
IsReady indicates whether the EngineInstance is in a ready state.
If true indicates that the instance is fully setup, distinct from drpc and storage ready states, and currently active.
func (*EngineInstance) IsStarted ¶
func (ei *EngineInstance) IsStarted() bool
IsStarted indicates whether EngineInstance is in a running state.
func (*EngineInstance) LocalState ¶
func (ei *EngineInstance) LocalState() system.MemberState
LocalState returns local perspective of the current instance state (doesn't consider state info held by the global system membership).
func (*EngineInstance) MountMetadata ¶
func (ei *EngineInstance) MountMetadata() error
MountMetadata mounts the configured control metadata location.
func (*EngineInstance) MountScm ¶
func (ei *EngineInstance) MountScm() error
MountScm mounts the configured SCM device (DCPM or ramdisk emulation) at the mountpoint specified in the configuration. If the device is already mounted, the function returns nil, indicating success.
func (*EngineInstance) NotifyDrpcReady ¶
func (ei *EngineInstance) NotifyDrpcReady(msg *srvpb.NotifyReadyReq)
NotifyDrpcReady receives a ready message from the running Engine instance.
func (*EngineInstance) NotifyStorageReady ¶
func (ei *EngineInstance) NotifyStorageReady()
NotifyStorageReady releases any blocks on awaitStorageReady().
func (*EngineInstance) OnAwaitFormat ¶
func (ei *EngineInstance) OnAwaitFormat(fns ...onAwaitFormatFn)
OnAwaitFormat adds a list of callbacks to invoke when the instance requires formatting.
func (*EngineInstance) OnInstanceExit ¶
func (ei *EngineInstance) OnInstanceExit(fns ...onInstanceExitFn)
OnInstanceExit adds a list of callbacks to invoke when the instance runner (process) terminates.
func (*EngineInstance) OnReady ¶
func (ei *EngineInstance) OnReady(fns ...onReadyFn)
OnReady adds a list of callbacks to invoke when the instance becomes ready.
func (*EngineInstance) OnStorageReady ¶
func (ei *EngineInstance) OnStorageReady(fns ...onStorageReadyFn)
OnStorageReady adds a list of callbacks to invoke when the instance storage becomes ready.
func (*EngineInstance) ReadSuperblock ¶
func (ei *EngineInstance) ReadSuperblock() error
ReadSuperblock reads the instance's superblock from storage.
func (*EngineInstance) RemoveSuperblock ¶
func (ei *EngineInstance) RemoveSuperblock() error
RemoveSuperblock removes a superblock from storage.
func (*EngineInstance) Run ¶
func (ei *EngineInstance) Run(ctx context.Context)
Run starts the control loop for an EngineInstance. Engine starts are triggered by calling requestStart() on the instance.
func (*EngineInstance) SetCheckerMode ¶
func (ei *EngineInstance) SetCheckerMode(enabled bool)
SetCheckerMode adjusts the engine configuration to enable or disable starting the engine in checker mode.
func (*EngineInstance) SetLastHealthStats ¶
func (ei *EngineInstance) SetLastHealthStats(pciAddr string, bhr *ctlpb.BioHealthResp)
func (*EngineInstance) Stop ¶
func (ei *EngineInstance) Stop(signal os.Signal) error
Stop sends signal to stop EngineInstance runner (nonblocking).
func (*EngineInstance) StorageFormatSCM ¶
func (ei *EngineInstance) StorageFormatSCM(ctx context.Context, force bool) (mResult *ctlpb.ScmMountResult)
StorageFormatSCM performs format on SCM and identifies if superblock needs writing.
func (*EngineInstance) Tracef ¶
func (ei *EngineInstance) Tracef(format string, args ...interface{})
func (*EngineInstance) WithHostFaultDomain ¶
func (ei *EngineInstance) WithHostFaultDomain(fd *system.FaultDomain) *EngineInstance
WithHostFaultDomain adds a fault domain for the host this instance is running on.
func (*EngineInstance) WriteSuperblock ¶
func (ei *EngineInstance) WriteSuperblock() error
WriteSuperblock writes the instance's superblock to storage.
type EngineRunner ¶
type EngineRunner interface { Start(context.Context) (engine.RunnerExitChan, error) IsRunning() bool Signal(os.Signal) GetConfig() *engine.Config }
EngineRunner defines an interface for starting and stopping the daos_engine.
type SecurityModule ¶
type SecurityModule struct {
// contains filtered or unexported fields
}
SecurityModule is the security drpc module struct
func NewSecurityModule ¶
func NewSecurityModule(log logging.Logger, tc *security.TransportConfig) *SecurityModule
NewSecurityModule creates a new security module with a transport config
func (*SecurityModule) HandleCall ¶
func (m *SecurityModule) HandleCall(_ context.Context, session *drpc.Session, method drpc.Method, body []byte) ([]byte, error)
HandleCall is the handler for calls to the SecurityModule
func (*SecurityModule) ID ¶
func (m *SecurityModule) ID() drpc.ModuleID
ID will return Security module ID
type StorageControlService ¶
type StorageControlService struct {
// contains filtered or unexported fields
}
StorageControlService encapsulates the storage part of the control service
func NewMockStorageControlService ¶
func NewMockStorageControlService(log logging.Logger, ecs []*engine.Config, sys storage.SystemProvider, scm storage.ScmProvider, bdev storage.BdevProvider, getMemInfo common.GetMemInfoFn) *StorageControlService
NewMockStorageControlService returns a StorageControlService with a mocked storage provider consisting of the given sys, scm and bdev providers.
func NewStorageControlService ¶
func NewStorageControlService(log logging.Logger, ecs []*engine.Config) *StorageControlService
NewStorageControlService returns an initialized *StorageControlService
func (*StorageControlService) NvmePrepare ¶
func (scs *StorageControlService) NvmePrepare(req storage.BdevPrepareRequest) (*storage.BdevPrepareResponse, error)
NvmePrepare preps locally attached SSDs.
func (*StorageControlService) NvmeScan ¶
func (scs *StorageControlService) NvmeScan(req storage.BdevScanRequest) (*storage.BdevScanResponse, error)
NvmeScan scans locally attached SSDs.
func (*StorageControlService) ScmPrepare ¶
func (scs *StorageControlService) ScmPrepare(req storage.ScmPrepareRequest) (*storage.ScmPrepareResponse, error)
ScmPrepare preps locally attached modules.
func (*StorageControlService) ScmScan ¶
func (scs *StorageControlService) ScmScan(req storage.ScmScanRequest) (*storage.ScmScanResponse, error)
ScmScan scans locally attached modules and namespaces.
func (*StorageControlService) WithVMDEnabled ¶
func (scs *StorageControlService) WithVMDEnabled() *StorageControlService
WithVMDEnabled enables VMD support in storage provider.
type Superblock ¶
type Superblock struct { Version uint8 UUID string System string Rank *ranklist.Rank URI string ValidRank bool HostFaultDomain string }
Superblock is the per-Instance superblock
func (*Superblock) Marshal ¶
func (sb *Superblock) Marshal() ([]byte, error)
Marshal transforms the Superblock into a storable representation
func (*Superblock) Unmarshal ¶
func (sb *Superblock) Unmarshal(raw []byte) error
Unmarshal reconstitutes a Superblock from a Marshaled representation
Source Files
¶
- ctl_firmware.go
- ctl_network_rpc.go
- ctl_ranks_rpc.go
- ctl_smd_rpc.go
- ctl_storage.go
- ctl_storage_rpc.go
- ctl_support_rpc.go
- ctl_svc.go
- drpc.go
- faultdomain.go
- faults.go
- harness.go
- instance.go
- instance_drpc.go
- instance_exec.go
- instance_storage.go
- instance_storage_rpc.go
- instance_superblock.go
- interceptors.go
- mgmt_check.go
- mgmt_cont.go
- mgmt_drpc.go
- mgmt_drpc_checker.go
- mgmt_pool.go
- mgmt_svc.go
- mgmt_system.go
- mocks.go
- security_rpc.go
- server.go
- server_utils.go
- telemetry.go