Documentation
¶
Index ¶
- Constants
- Variables
- func EventString(ev int) string
- func InitNetwork(bIface, bIP string, disableIptables bool) error
- func LazyVmLoop(vmId string, hub chan VmEvent, client chan *types.VmResponse, boot *BootConfig)
- func NewVmMessage(m *hyperstartapi.DecodedMessage) []byte
- func ReadVmMessage(conn *net.UnixConn) (*hyperstartapi.DecodedMessage, error)
- func SupportLazyMode() bool
- func TtyLiner(conn io.Reader, output chan string)
- func UnblockSend(ch chan *types.VmResponse, u *types.VmResponse)
- func VmAssociate(vmId string, hub chan VmEvent, client chan *types.VmResponse, ...)
- func VmLoop(vmId string, hub chan VmEvent, client chan *types.VmResponse, boot *BootConfig)
- type AttachCommand
- type BlockDescriptor
- type BlockdevInsertedEvent
- type BootConfig
- type CommandAck
- type CommandError
- type Container
- type ContainerCreatedEvent
- type ContainerInfo
- type ContainerUnmounted
- type DevSkipEvent
- type DeviceFailed
- type DriverContext
- type EmptyContext
- func (ec *EmptyContext) AddDisk(ctx *VmContext, sourceType string, blockInfo *BlockDescriptor)
- func (ec *EmptyContext) AddMem(ctx *VmContext, slot, size int, result chan<- error)
- func (ec *EmptyContext) AddNic(ctx *VmContext, host *HostNicInfo, guest *GuestNicInfo, result chan<- VmEvent)
- func (ec *EmptyContext) AllocateNetwork(vmId, requestedIP string, maps []pod.UserContainerPort) (*network.Settings, error)
- func (ec *EmptyContext) Associate(ctx *VmContext)
- func (ec *EmptyContext) BuildinNetwork() bool
- func (ec *EmptyContext) Close()
- func (ec *EmptyContext) ConfigureNetwork(vmId, requestedIP string, maps []pod.UserContainerPort, ...) (*network.Settings, error)
- func (ec *EmptyContext) Dump() (map[string]interface{}, error)
- func (ec *EmptyContext) Kill(ctx *VmContext)
- func (ec *EmptyContext) Launch(ctx *VmContext)
- func (ec *EmptyContext) Pause(ctx *VmContext, pause bool, result chan<- error)
- func (ec *EmptyContext) ReleaseNetwork(vmId, releasedIP string, maps []pod.UserContainerPort, file *os.File) error
- func (ec *EmptyContext) RemoveDisk(ctx *VmContext, blockInfo *BlockDescriptor, callback VmEvent)
- func (ec *EmptyContext) RemoveNic(ctx *VmContext, n *InterfaceCreated, callback VmEvent)
- func (ec *EmptyContext) Save(ctx *VmContext, path string, result chan<- error)
- func (ec *EmptyContext) SetCpus(ctx *VmContext, cpus int, result chan<- error)
- func (ec *EmptyContext) Shutdown(ctx *VmContext)
- func (ec *EmptyContext) Stats(ctx *VmContext) (*types.PodStats, error)
- type EmptyDriver
- type Fanout
- type GenericOperation
- type GetPodStatsCommand
- type GuestNicInfo
- type HandleEvent
- type HostNicInfo
- type HypervisorDriver
- type InitConnectedEvent
- type InitFailedEvent
- type InterfaceCreated
- type InterfaceReleased
- type Interrupted
- type LazyDriverContext
- type LogStatus
- type NetDevInsertedEvent
- type NetDevRemovedEvent
- type NewContainerCommand
- type OnlineCpuMemCommand
- type PersistInfo
- type PersistNetworkInfo
- type PersistVolumeInfo
- type PodFinished
- type PodStatus
- type PreparingItem
- type ReleaseVMCommand
- type ReplacePodCommand
- type RouteRule
- type RunPodCommand
- type RunningContainer
- type ShutdownCommand
- type StopPodCommand
- type TtyIO
- type Vm
- func (vm *Vm) AddCpu(totalCpu int) error
- func (vm *Vm) AddMem(totalMem int) error
- func (vm *Vm) AddNic(idx int, name string, info pod.UserInterface) error
- func (vm *Vm) AddProcess(container string, terminal bool, args []string, env []string, workdir string, ...) error
- func (vm *Vm) AssociateVm(mypod *PodStatus, data []byte) error
- func (vm *Vm) Attach(tty *TtyIO, container string, size *WindowSize) error
- func (vm *Vm) Exec(container, cmd string, terminal bool, tty *TtyIO) error
- func (vm *Vm) GenericOperation(name string, op func(ctx *VmContext, result chan<- error), states ...string) error
- func (vm *Vm) GetLogOutput(container, tag string, callback chan *types.VmResponse) (io.ReadCloser, io.ReadCloser, error)
- func (vm *Vm) GetResponseChan() (chan *types.VmResponse, error)
- func (vm *Vm) Kill() (int, string, error)
- func (vm *Vm) KillContainer(container string, signal syscall.Signal) error
- func (vm *Vm) Launch(b *BootConfig) (err error)
- func (vm *Vm) NewContainer(c *pod.UserContainer, info *ContainerInfo) error
- func (vm *Vm) OnlineCpuMem() error
- func (vm *Vm) Pause(pause bool) error
- func (vm *Vm) ReadFile(container, target string) ([]byte, error)
- func (vm *Vm) ReleaseResponseChan(ch chan *types.VmResponse)
- func (vm *Vm) ReleaseVm() (int, error)
- func (vm *Vm) Save(path string) error
- func (vm *Vm) SendGenericOperation(name string, op func(ctx *VmContext, result chan<- error), states ...string) <-chan error
- func (vm *Vm) SetCpus(cpus int) error
- func (vm *Vm) StartPod(mypod *PodStatus, userPod *pod.UserPod, cList []*ContainerInfo, ...) *types.VmResponse
- func (vm *Vm) Stats() *types.VmResponse
- func (vm *Vm) StopPod(mypod *PodStatus) *types.VmResponse
- func (vm *Vm) Tty(tag string, row, column int) error
- func (vm *Vm) WriteFile(container, target string, data []byte) error
- type VmContext
- func (ctx *VmContext) Become(handler stateHandler, desc string)
- func (ctx *VmContext) Close()
- func (ctx *VmContext) ConfigureInterface(index int, pciAddr int, name string, config pod.UserInterface, ...)
- func (ctx *VmContext) CreateInterface(index int, pciAddr int, name string)
- func (ctx *VmContext) InitDeviceContext(spec *pod.UserPod, wg *sync.WaitGroup, cInfo []*ContainerInfo, ...)
- func (ctx *VmContext) Lookup(container string) int
- func (ctx *VmContext) ReleaseInterface(index int, ipAddr string, file *os.File, maps []pod.UserContainerPort)
- type VmEvent
- type VmExit
- type VmHwStatus
- type VmKilledEvent
- type VmStartFailEvent
- type VmTimeout
- type VolumeInfo
- type VolumeReadyEvent
- type VolumeUnmounted
- type WindowSize
- type WindowSizeCommand
Constants ¶
View Source
const ( BaseDir = "/var/run/hyper" HyperSockName = "hyper.sock" TtySockName = "tty.sock" ConsoleSockName = "console.sock" DefaultKernel = "/var/lib/hyper/kernel" DefaultInitrd = "/var/lib/hyper/hyper-initrd.img" DetachKeys = "ctrl-p,ctrl-q" // cpu/mem hotplug constants DefaultMaxCpus = 8 // CONFIG_NR_CPUS hyperstart.git/build/kernel_config DefaultMaxMem = 32768 // size in MiB )
View Source
const ( EVENT_VM_START_FAILED = iota EVENT_VM_EXIT EVENT_VM_KILL EVENT_VM_TIMEOUT EVENT_POD_FINISH EVENT_INIT_CONNECTED EVENT_CONTAINER_ADD EVENT_CONTAINER_DELETE EVENT_VOLUME_ADD EVENT_BLOCK_INSERTED EVENT_DEV_SKIP EVENT_BLOCK_EJECTED EVENT_INTERFACE_ADD EVENT_INTERFACE_DELETE EVENT_INTERFACE_INSERTED EVENT_INTERFACE_EJECTED EVENT_SERIAL_ADD EVENT_SERIAL_DELETE EVENT_TTY_OPEN EVENT_TTY_CLOSE EVENT_PAUSE_RESULT COMMAND_RUN_POD COMMAND_REPLACE_POD COMMAND_STOP_POD COMMAND_SHUTDOWN COMMAND_RELEASE COMMAND_NEWCONTAINER COMMAND_ONLINECPUMEM COMMAND_ATTACH COMMAND_DETACH COMMAND_WINDOWSIZE COMMAND_ACK COMMAND_GET_POD_STATS COMMAND_PAUSEVM GENERIC_OPERATION ERROR_INIT_FAIL ERROR_QMP_FAIL ERROR_INTERRUPTED ERROR_CMD_FAIL )
View Source
const ( StateInit = "INIT" StatePreparing = "PREPARING" StateStarting = "STARTING" StateRunning = "RUNNING" StatePodStopping = "STOPPING" StateCleaning = "CLEANING" StateTerminating = "TERMINATING" StateDestroying = "DESTROYING" StateNone = "NONE" )
states
Variables ¶
View Source
var InterfaceCount int = 1
View Source
var PciAddrFrom int = 0x05
Functions ¶
func EventString ¶
func InitNetwork ¶
func LazyVmLoop ¶
func LazyVmLoop(vmId string, hub chan VmEvent, client chan *types.VmResponse, boot *BootConfig)
func NewVmMessage ¶
func NewVmMessage(m *hyperstartapi.DecodedMessage) []byte
func ReadVmMessage ¶
func ReadVmMessage(conn *net.UnixConn) (*hyperstartapi.DecodedMessage, error)
func SupportLazyMode ¶
func SupportLazyMode() bool
func UnblockSend ¶
func UnblockSend(ch chan *types.VmResponse, u *types.VmResponse)
func VmAssociate ¶
func VmLoop ¶
func VmLoop(vmId string, hub chan VmEvent, client chan *types.VmResponse, boot *BootConfig)
Types ¶
type AttachCommand ¶
type AttachCommand struct {
Streams *TtyIO
Stderr *TtyIO
Size *WindowSize
Container string
}
func (*AttachCommand) Event ¶
func (qe *AttachCommand) Event() int
type BlockDescriptor ¶
type BlockdevInsertedEvent ¶
type BlockdevInsertedEvent struct {
Name string
SourceType string //image or volume
DeviceName string
ScsiId int
ScsiAddr string // pass scsi addr to hyperstart
}
func (*BlockdevInsertedEvent) Event ¶
func (qe *BlockdevInsertedEvent) Event() int
type BootConfig ¶
type CommandAck ¶
type CommandAck struct {
// contains filtered or unexported fields
}
func (*CommandAck) Event ¶
func (qe *CommandAck) Event() int
type CommandError ¶
type CommandError CommandAck
func (*CommandError) Event ¶
func (qe *CommandError) Event() int
type ContainerCreatedEvent ¶
type ContainerCreatedEvent struct {
Index int
Id string
Rootfs string
Image string // if fstype is `dir`, this should be a path relative to share_dir
// which described the mounted aufs or overlayfs dir.
Fstype string
Workdir string
Entrypoint []string
Cmd []string
Envs map[string]string
}
func (*ContainerCreatedEvent) Event ¶
func (qe *ContainerCreatedEvent) Event() int
type ContainerInfo ¶
type ContainerInfo struct {
Id string
User string
MountId string
Rootfs string
Image string // if fstype is `dir`, this should be a path relative to share_dir
// which described the mounted aufs or overlayfs dir.
Fstype string
Workdir string
Entrypoint []string
Cmd []string
Envs map[string]string
Initialize bool // need to initialize container environment in start
}
type ContainerUnmounted ¶
func (*ContainerUnmounted) Event ¶
func (qe *ContainerUnmounted) Event() int
type DevSkipEvent ¶
type DevSkipEvent struct{}
func (*DevSkipEvent) Event ¶
func (qe *DevSkipEvent) Event() int
type DeviceFailed ¶
type DeviceFailed struct {
Session VmEvent
}
func (*DeviceFailed) Event ¶
func (qe *DeviceFailed) Event() int
type DriverContext ¶
type DriverContext interface {
Launch(ctx *VmContext)
Associate(ctx *VmContext)
Dump() (map[string]interface{}, error)
AddDisk(ctx *VmContext, sourceType string, blockInfo *BlockDescriptor)
RemoveDisk(ctx *VmContext, blockInfo *BlockDescriptor, callback VmEvent)
AddNic(ctx *VmContext, host *HostNicInfo, guest *GuestNicInfo, result chan<- VmEvent)
RemoveNic(ctx *VmContext, n *InterfaceCreated, callback VmEvent)
SetCpus(ctx *VmContext, cpus int, result chan<- error)
AddMem(ctx *VmContext, slot, size int, result chan<- error)
Save(ctx *VmContext, path string, result chan<- error)
Shutdown(ctx *VmContext)
Kill(ctx *VmContext)
Pause(ctx *VmContext, pause bool, result chan<- error)
ConfigureNetwork(vmId, requestedIP string, maps []pod.UserContainerPort, config pod.UserInterface) (*network.Settings, error)
AllocateNetwork(vmId, requestedIP string, maps []pod.UserContainerPort) (*network.Settings, error)
ReleaseNetwork(vmId, releasedIP string, maps []pod.UserContainerPort, file *os.File) error
Stats(ctx *VmContext) (*types.PodStats, error)
Close()
}
type EmptyContext ¶
type EmptyContext struct{}
func (*EmptyContext) AddDisk ¶
func (ec *EmptyContext) AddDisk(ctx *VmContext, sourceType string, blockInfo *BlockDescriptor)
func (*EmptyContext) AddMem ¶
func (ec *EmptyContext) AddMem(ctx *VmContext, slot, size int, result chan<- error)
func (*EmptyContext) AddNic ¶
func (ec *EmptyContext) AddNic(ctx *VmContext, host *HostNicInfo, guest *GuestNicInfo, result chan<- VmEvent)
func (*EmptyContext) AllocateNetwork ¶
func (ec *EmptyContext) AllocateNetwork(vmId, requestedIP string, maps []pod.UserContainerPort) (*network.Settings, error)
func (*EmptyContext) Associate ¶
func (ec *EmptyContext) Associate(ctx *VmContext)
func (*EmptyContext) BuildinNetwork ¶
func (ec *EmptyContext) BuildinNetwork() bool
func (*EmptyContext) Close ¶
func (ec *EmptyContext) Close()
func (*EmptyContext) ConfigureNetwork ¶
func (ec *EmptyContext) ConfigureNetwork(vmId, requestedIP string, maps []pod.UserContainerPort, config pod.UserInterface) (*network.Settings, error)
func (*EmptyContext) Dump ¶
func (ec *EmptyContext) Dump() (map[string]interface{}, error)
func (*EmptyContext) Kill ¶
func (ec *EmptyContext) Kill(ctx *VmContext)
func (*EmptyContext) Launch ¶
func (ec *EmptyContext) Launch(ctx *VmContext)
func (*EmptyContext) Pause ¶
func (ec *EmptyContext) Pause(ctx *VmContext, pause bool, result chan<- error)
func (*EmptyContext) ReleaseNetwork ¶
func (ec *EmptyContext) ReleaseNetwork(vmId, releasedIP string, maps []pod.UserContainerPort, file *os.File) error
func (*EmptyContext) RemoveDisk ¶
func (ec *EmptyContext) RemoveDisk(ctx *VmContext, blockInfo *BlockDescriptor, callback VmEvent)
func (*EmptyContext) RemoveNic ¶
func (ec *EmptyContext) RemoveNic(ctx *VmContext, n *InterfaceCreated, callback VmEvent)
func (*EmptyContext) Save ¶
func (ec *EmptyContext) Save(ctx *VmContext, path string, result chan<- error)
func (*EmptyContext) SetCpus ¶
func (ec *EmptyContext) SetCpus(ctx *VmContext, cpus int, result chan<- error)
func (*EmptyContext) Shutdown ¶
func (ec *EmptyContext) Shutdown(ctx *VmContext)
type EmptyDriver ¶
type EmptyDriver struct{}
func (*EmptyDriver) InitContext ¶
func (ed *EmptyDriver) InitContext(homeDir string) DriverContext
func (*EmptyDriver) Initialize ¶
func (ed *EmptyDriver) Initialize() error
func (*EmptyDriver) LoadContext ¶
func (ed *EmptyDriver) LoadContext(persisted map[string]interface{}) (DriverContext, error)
func (*EmptyDriver) SupportLazyMode ¶
func (ed *EmptyDriver) SupportLazyMode() bool
type Fanout ¶
type Fanout struct {
// contains filtered or unexported fields
}
func CreateFanout ¶
func CreateFanout(upstream chan *types.VmResponse, size int, block bool) *Fanout
CreateFanout create a new fanout, and if it is non-blocked, it will start the fanout goroutine at once, otherwise it will start the goroutine when it get the first client
type GenericOperation ¶
type GenericOperation struct {
OpName string
State []string
OpFunc func(ctx *VmContext, result chan<- error)
Result chan<- error
}
func (*GenericOperation) Event ¶
func (qe *GenericOperation) Event() int
type GetPodStatsCommand ¶
type GetPodStatsCommand struct {
Id string
}
func (*GetPodStatsCommand) Event ¶
func (qe *GetPodStatsCommand) Event() int
type HandleEvent ¶
type HandleEvent struct {
Handle func(*types.VmResponse, interface{}, *PodStatus, *Vm) bool
Data interface{}
}
type HostNicInfo ¶
type HypervisorDriver ¶
type HypervisorDriver interface {
InitContext(homeDir string) DriverContext
LoadContext(persisted map[string]interface{}) (DriverContext, error)
BuildinNetwork() bool
InitNetwork(bIface, bIP string, disableIptables bool) error
SupportLazyMode() bool
}
var HDriver HypervisorDriver
type InitConnectedEvent ¶
type InitConnectedEvent struct {
// contains filtered or unexported fields
}
func (*InitConnectedEvent) Event ¶
func (qe *InitConnectedEvent) Event() int
type InitFailedEvent ¶
type InitFailedEvent struct {
Reason string
}
func (*InitFailedEvent) Event ¶
func (qe *InitFailedEvent) Event() int
type InterfaceCreated ¶
type InterfaceCreated struct {
Index int
PCIAddr int
Fd *os.File
Bridge string
HostDevice string
DeviceName string
MacAddr string
IpAddr string
NetMask string
RouteTable []*RouteRule
}
func (*InterfaceCreated) Event ¶
func (qe *InterfaceCreated) Event() int
type InterfaceReleased ¶
func (*InterfaceReleased) Event ¶
func (qe *InterfaceReleased) Event() int
type Interrupted ¶
type Interrupted struct {
Reason string
}
func (*Interrupted) Event ¶
func (qe *Interrupted) Event() int
type LazyDriverContext ¶
type LazyDriverContext interface {
DriverContext
LazyLaunch(ctx *VmContext)
InitVM(ctx *VmContext) error
LazyAddDisk(ctx *VmContext, name, sourceType, filename, format string, id int)
LazyAddNic(ctx *VmContext, host *HostNicInfo, guest *GuestNicInfo)
}
type NetDevInsertedEvent ¶
func (*NetDevInsertedEvent) Event ¶
func (qe *NetDevInsertedEvent) Event() int
type NetDevRemovedEvent ¶
type NetDevRemovedEvent struct {
Index int
}
func (*NetDevRemovedEvent) Event ¶
func (qe *NetDevRemovedEvent) Event() int
type NewContainerCommand ¶
type NewContainerCommand struct {
// contains filtered or unexported fields
}
func (*NewContainerCommand) Event ¶
func (qe *NewContainerCommand) Event() int
type OnlineCpuMemCommand ¶
type OnlineCpuMemCommand struct{}
func (*OnlineCpuMemCommand) Event ¶
func (qe *OnlineCpuMemCommand) Event() int
type PersistInfo ¶
type PersistInfo struct {
Id string
DriverInfo map[string]interface{}
UserSpec *pod.UserPod
VmSpec *hyperstartapi.Pod
HwStat *VmHwStatus
VolumeList []*PersistVolumeInfo
NetworkList []*PersistNetworkInfo
}
type PersistNetworkInfo ¶
type PersistVolumeInfo ¶
type PodFinished ¶
type PodFinished struct {
// contains filtered or unexported fields
}
func (*PodFinished) Event ¶
func (qe *PodFinished) Event() int
type PodStatus ¶
type PodStatus struct {
Id string
Name string
Vm string
Wg *sync.WaitGroup
Containers []*Container
Status uint
Type string
RestartPolicy string
Autoremove bool
Handler HandleEvent
StartedAt string
FinishedAt string
ResourcePath string
}
func (*PodStatus) AddContainer ¶
func (*PodStatus) SetContainerStatus ¶
func (*PodStatus) SetPodContainerStatus ¶
type PreparingItem ¶
type PreparingItem interface {
ItemType() string
}
type ReleaseVMCommand ¶
type ReleaseVMCommand struct{}
func (*ReleaseVMCommand) Event ¶
func (qe *ReleaseVMCommand) Event() int
type ReplacePodCommand ¶
type ReplacePodCommand RunPodCommand
func (*ReplacePodCommand) Event ¶
func (qe *ReplacePodCommand) Event() int
type RunPodCommand ¶
type RunPodCommand struct {
Spec *pod.UserPod
Containers []*ContainerInfo
Volumes map[string]*VolumeInfo
Wg *sync.WaitGroup
}
func (*RunPodCommand) Event ¶
func (qe *RunPodCommand) Event() int
type RunningContainer ¶
type RunningContainer struct {
Id string `json:"id"`
}
type ShutdownCommand ¶
type ShutdownCommand struct {
Wait bool
}
func (*ShutdownCommand) Event ¶
func (qe *ShutdownCommand) Event() int
type StopPodCommand ¶
type StopPodCommand struct{}
func (*StopPodCommand) Event ¶
func (qe *StopPodCommand) Event() int
type TtyIO ¶
type TtyIO struct {
Stdin io.ReadCloser
Stdout io.WriteCloser
ClientTag string
Callback chan *types.VmResponse
ExitCode uint8
}
func (*TtyIO) WaitForFinish ¶
type Vm ¶
type Vm struct {
Id string
Pod *PodStatus
Status uint
Cpu int
Mem int
Lazy bool
Hub chan VmEvent
// contains filtered or unexported fields
}
func (*Vm) AddProcess ¶
func (*Vm) AssociateVm ¶
This function will only be invoked during daemon start
func (*Vm) GenericOperation ¶
func (*Vm) GetLogOutput ¶
func (vm *Vm) GetLogOutput(container, tag string, callback chan *types.VmResponse) (io.ReadCloser, io.ReadCloser, error)
func (*Vm) GetResponseChan ¶
func (vm *Vm) GetResponseChan() (chan *types.VmResponse, error)
func (*Vm) KillContainer ¶
func (*Vm) Launch ¶
func (vm *Vm) Launch(b *BootConfig) (err error)
func (*Vm) NewContainer ¶
func (vm *Vm) NewContainer(c *pod.UserContainer, info *ContainerInfo) error
func (*Vm) OnlineCpuMem ¶
func (*Vm) ReleaseResponseChan ¶
func (vm *Vm) ReleaseResponseChan(ch chan *types.VmResponse)
func (*Vm) SendGenericOperation ¶
func (*Vm) StartPod ¶
func (vm *Vm) StartPod(mypod *PodStatus, userPod *pod.UserPod, cList []*ContainerInfo, vList map[string]*VolumeInfo) *types.VmResponse
func (*Vm) Stats ¶
func (vm *Vm) Stats() *types.VmResponse
type VmContext ¶
type VmContext struct {
Id string
Paused bool
Boot *BootConfig
// Communication Context
Hub chan VmEvent
DCtx DriverContext
HomeDir string
HyperSockName string
TtySockName string
ConsoleSockName string
InterfaceCount int
// contains filtered or unexported fields
}
func InitContext ¶
func InitContext(id string, hub chan VmEvent, client chan *types.VmResponse, dc DriverContext, boot *BootConfig) (*VmContext, error)
func (*VmContext) ConfigureInterface ¶
func (*VmContext) CreateInterface ¶
func (*VmContext) InitDeviceContext ¶
func (ctx *VmContext) InitDeviceContext(spec *pod.UserPod, wg *sync.WaitGroup, cInfo []*ContainerInfo, vInfo map[string]*VolumeInfo)
InitDeviceContext will init device info in context
func (*VmContext) ReleaseInterface ¶
type VmHwStatus ¶
type VmKilledEvent ¶
type VmKilledEvent struct {
Success bool
}
func (*VmKilledEvent) Event ¶
func (qe *VmKilledEvent) Event() int
type VmStartFailEvent ¶
type VmStartFailEvent struct {
Message string
}
func (*VmStartFailEvent) Event ¶
func (qe *VmStartFailEvent) Event() int
type VolumeInfo ¶
type VolumeReadyEvent ¶
type VolumeReadyEvent struct {
Name string //volumen name in spec
Filepath string //block dev absolute path, or dir path relative to share dir
Fstype string //"xfs", "ext4" etc. for block dev, or "dir" for dir path
Format string //"raw" (or "qcow2") for volume, no meaning for dir path
}
func (*VolumeReadyEvent) Event ¶
func (qe *VolumeReadyEvent) Event() int
type VolumeUnmounted ¶
func (*VolumeUnmounted) Event ¶
func (qe *VolumeUnmounted) Event() int
type WindowSize ¶
type WindowSizeCommand ¶
type WindowSizeCommand struct {
ClientTag string
Size *WindowSize
}
func (*WindowSizeCommand) Event ¶
func (qe *WindowSizeCommand) Event() int
Source Files
¶
Click to show internal directories.
Click to hide internal directories.