Documentation ¶
Index ¶
- Constants
- 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 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 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 // 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 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)