Documentation
¶
Index ¶
- Constants
- func GetDaemonGitCommit(nydusdPath string) (string, error)
- func WaitUntilSocketExisted(sock string, pid int) error
- type ConfigState
- type Daemon
- func (d *Daemon) AddRafsInstance(r *rafs.Rafs)
- func (d *Daemon) ClearVestige()
- func (d *Daemon) CloneRafsInstances(src *Daemon)
- func (d *Daemon) ConfigFile(instanceID string) string
- func (d *Daemon) DecRef() int32
- func (d *Daemon) Exit() error
- func (d *Daemon) GetAPISock() string
- func (d *Daemon) GetCacheMetrics(sid string) (*types.CacheMetrics, error)
- func (d *Daemon) GetClient() (NydusdClient, error)
- func (d *Daemon) GetDaemonInfo() (*types.DaemonInfo, error)
- func (d *Daemon) GetFsMetrics(sid string) (*types.FsMetrics, error)
- func (d *Daemon) GetInflightMetrics() (*types.InflightMetrics, error)
- func (d *Daemon) GetRef() int32
- func (d *Daemon) GetState() (types.DaemonState, error)
- func (d *Daemon) HostMountpoint() (mnt string)
- func (d *Daemon) ID() string
- func (d *Daemon) IncRef()
- func (d *Daemon) IsSharedDaemon() bool
- func (d *Daemon) Lock()
- func (d *Daemon) LogFile() string
- func (d *Daemon) NydusdThreadNum() int
- func (d *Daemon) Pid() int
- func (d *Daemon) RecoverRafsInstances() error
- func (d *Daemon) RemoveRafsInstance(snapshotID string)
- func (d *Daemon) ResetClient()
- func (d *Daemon) ResetState()
- func (d *Daemon) SendStates()
- func (d *Daemon) SharedMount(rafs *rafs.Rafs) error
- func (d *Daemon) SharedUmount(rafs *rafs.Rafs) error
- func (d *Daemon) Start() error
- func (d *Daemon) State() types.DaemonState
- func (d *Daemon) TakeOver() error
- func (d *Daemon) Terminate() error
- func (d *Daemon) UmountRafsInstance(r *rafs.Rafs) error
- func (d *Daemon) UmountRafsInstances() error
- func (d *Daemon) Unlock()
- func (d *Daemon) Wait() error
- func (d *Daemon) WaitUntilState(expected types.DaemonState) error
- type NewDaemonOpt
- func WithConfigDir(dir string) NewDaemonOpt
- func WithDaemonMode(daemonMode config.DaemonMode) NewDaemonOpt
- func WithFailoverPolicy(failoverPolicy string) NewDaemonOpt
- func WithFsDriver(fsDriver string) NewDaemonOpt
- func WithLogDir(dir string) NewDaemonOpt
- func WithLogLevel(logLevel string) NewDaemonOpt
- func WithLogRotationSize(logRotationSize int) NewDaemonOpt
- func WithLogToStdout(logToStdout bool) NewDaemonOpt
- func WithMountpoint(mountpoint string) NewDaemonOpt
- func WithNydusdThreadNum(nydusdThreadNum int) NewDaemonOpt
- func WithRef(ref int32) NewDaemonOpt
- func WithSocketDir(dir string) NewDaemonOpt
- type NydusdClient
Constants ¶
const ( APISocketFileName = "api.sock" )
Variables ¶
This section is empty.
Functions ¶
func GetDaemonGitCommit ¶ added in v0.15.4
func WaitUntilSocketExisted ¶ added in v0.4.0
Types ¶
type ConfigState ¶ added in v0.12.0
type ConfigState struct {
// A unique ID generated by daemon manager to identify the nydusd instance.
ID string
ProcessID int
APISocket string
DaemonMode config.DaemonMode
FsDriver string
LogDir string
LogLevel string
LogRotationSize int
LogToStdout bool
Mountpoint string
SupervisorPath string
ThreadNum int
FailoverPolicy string
// Where the configuration file resides, all rafs instances share the same configuration template
ConfigDir string
}
Fields in this structure should be write-once, and caller should hold `Daemon.mu` when updating fields.
type Daemon ¶
type Daemon struct {
States ConfigState
// Host all RAFS filesystems managed by this daemon:
// fusedev dedicated mode: one and only one RAFS instance
// fusedev shared mode: zero, one or more RAFS instances
// fscache shared mode: zero, one or more RAFS instances
RafsCache rafs.Cache
// Nil means this daemon object has no supervisor
Supervisor *supervisor.Supervisor
Config daemonconfig.DaemonConfig
// How much CPU nydusd is utilizing when starts since full prefetch might
// consume many CPU cycles
StartupCPUUtilization float64
Version types.BuildTimeInfo
// contains filtered or unexported fields
}
TODO: Record queried nydusd state
func (*Daemon) AddRafsInstance ¶ added in v0.12.0
func (*Daemon) ClearVestige ¶ added in v0.3.0
func (d *Daemon) ClearVestige()
When daemon dies, clean up its vestige before start a new one.
func (*Daemon) CloneRafsInstances ¶ added in v0.12.0
func (*Daemon) ConfigFile ¶
Each nydusd daemon has a copy of configuration json file.
func (*Daemon) GetAPISock ¶ added in v0.2.1
func (*Daemon) GetCacheMetrics ¶ added in v0.4.0
func (d *Daemon) GetCacheMetrics(sid string) (*types.CacheMetrics, error)
func (*Daemon) GetClient ¶ added in v0.4.0
func (d *Daemon) GetClient() (NydusdClient, error)
func (*Daemon) GetDaemonInfo ¶ added in v0.5.0
func (d *Daemon) GetDaemonInfo() (*types.DaemonInfo, error)
func (*Daemon) GetFsMetrics ¶ added in v0.4.0
func (*Daemon) GetInflightMetrics ¶ added in v0.6.0
func (d *Daemon) GetInflightMetrics() (*types.InflightMetrics, error)
func (*Daemon) GetState ¶ added in v0.4.0
func (d *Daemon) GetState() (types.DaemonState, error)
Get and cache daemon current working state by querying nydusd: 1. INIT 2. READY: All needed resources are ready. 3. RUNNING
func (*Daemon) HostMountpoint ¶ added in v0.4.0
func (*Daemon) IsSharedDaemon ¶
func (*Daemon) NydusdThreadNum ¶
NydusdThreadNum returns how many working threads are needed of a single nydusd
func (*Daemon) RecoverRafsInstances ¶ added in v0.12.0
Daemon must be started and reach RUNNING state before call this method
func (*Daemon) RemoveRafsInstance ¶ added in v0.12.0
func (*Daemon) ResetClient ¶ added in v0.3.0
func (d *Daemon) ResetClient()
func (*Daemon) ResetState ¶ added in v0.8.0
func (d *Daemon) ResetState()
Reset the cached nydusd working status
func (*Daemon) SendStates ¶ added in v0.4.0
func (d *Daemon) SendStates()
func (*Daemon) State ¶ added in v0.4.0
func (d *Daemon) State() types.DaemonState
Return the cached nydusd working status, no API is invoked.
func (*Daemon) UmountRafsInstance ¶ added in v0.12.0
func (*Daemon) UmountRafsInstances ¶ added in v0.12.0
func (*Daemon) WaitUntilState ¶ added in v0.4.0
func (d *Daemon) WaitUntilState(expected types.DaemonState) error
Wait for the nydusd daemon to reach specified state with timeout.
type NewDaemonOpt ¶
func WithConfigDir ¶
func WithConfigDir(dir string) NewDaemonOpt
func WithDaemonMode ¶ added in v0.9.0
func WithDaemonMode(daemonMode config.DaemonMode) NewDaemonOpt
func WithFailoverPolicy ¶ added in v0.15.5
func WithFailoverPolicy(failoverPolicy string) NewDaemonOpt
func WithFsDriver ¶ added in v0.3.0
func WithFsDriver(fsDriver string) NewDaemonOpt
func WithLogDir ¶
func WithLogDir(dir string) NewDaemonOpt
func WithLogLevel ¶
func WithLogLevel(logLevel string) NewDaemonOpt
func WithLogRotationSize ¶ added in v0.10.0
func WithLogRotationSize(logRotationSize int) NewDaemonOpt
func WithLogToStdout ¶
func WithLogToStdout(logToStdout bool) NewDaemonOpt
func WithMountpoint ¶ added in v0.4.0
func WithMountpoint(mountpoint string) NewDaemonOpt
func WithNydusdThreadNum ¶
func WithNydusdThreadNum(nydusdThreadNum int) NewDaemonOpt
func WithRef ¶ added in v0.4.0
func WithRef(ref int32) NewDaemonOpt
func WithSocketDir ¶
func WithSocketDir(dir string) NewDaemonOpt
Build runtime nydusd daemon object, which might be persisted later
type NydusdClient ¶ added in v0.4.0
type NydusdClient interface {
GetDaemonInfo() (*types.DaemonInfo, error)
Mount(mountpoint, bootstrap, daemonConfig string) error
Umount(mountpoint string) error
BindBlob(daemonConfig string) error
UnbindBlob(domainID, blobID string) error
GetFsMetrics(sid string) (*types.FsMetrics, error)
GetInflightMetrics() (*types.InflightMetrics, error)
GetCacheMetrics(sid string) (*types.CacheMetrics, error)
TakeOver() error
SendFd() error
Start() error
Exit() error
}
Nydusd HTTP client to query nydusd runtime status, operate file system instances. Control nydusd workflow like failover and upgrade.
func NewNydusClient ¶ added in v0.4.0
func NewNydusClient(sock string) (NydusdClient, error)