Documentation ¶
Index ¶
- Constants
- Variables
- func GetNewListenPort(begin uint16) uint16
- type Qemu
- func (q Qemu) AttachISO(label string, filepath *url.URL, index uint) error
- func (q Qemu) AttachQcow2(label string, filepath *url.URL, index uint) error
- func (q Qemu) AttachRaw(label string, filepath *url.URL, index uint) error
- func (q Qemu) AttachTap(label, tap string, mac net.HardwareAddr) error
- func (q Qemu) Boot() error
- func (q *Qemu) Close() error
- func (q *Qemu) Delete() error
- func (q Qemu) GetVNCWebsocketPort() int
- func (q Qemu) HardReset() error
- func (q Qemu) HardShutdown() error
- func (q Qemu) IsRunning() bool
- func (q Qemu) Shutdown() error
- func (q *Qemu) Start(id uuid.UUID, qmpPath string, vcpus uint32, memory uint64) error
- func (q Qemu) Status() (Status, error)
- type QemuArgs
- func (q QemuArgs) GetArgs() []string
- func (q QemuArgs) GetOptionValues(key string) []string
- func (q QemuArgs) GetParsedOptionValueById(key, id string) ([]string, map[string]string, bool)
- func (q QemuArgs) GetTopParsedOptionValue(key string) ([]string, map[string]string, bool)
- func (q QemuArgs) ParseOptionValue(value string) ([]string, map[string]string)
- type Status
Constants ¶
View Source
const MAX_RETRY_TO_START = 5
Variables ¶
View Source
var RETRY_DURATION_IN_START = 100 * time.Millisecond
Functions ¶
func GetNewListenPort ¶
Types ¶
type Qemu ¶
type Qemu struct {
// contains filtered or unexported fields
}
func (Qemu) AttachQcow2 ¶
(QEMU) blockdev-add options={"driver":"qcow2","id":"drive-virtio-disk0","file":{"driver":"file","filename":"/home/h-otter/wk/test-qemu/ubuntu16.04.qcow2"}} (QEMU) device_add driver=virtio-blk-pci bus=pci.0 scsi=off drive=drive-virtio-disk0 id=virtio-disk0 bootindex=1 まだべき等ではない TODO:
- すでにアタッチされていた場合、エラー処理を文字列で判定する必要がある
- bootindexがどうやって更新されるのかがわからない
func (Qemu) AttachTap ¶
func (q Qemu) AttachTap(label, tap string, mac net.HardwareAddr) error
(QEMU) netdev_add id=tap0 type=tap vhost=true ifname=tap0 script=no downscript=no (QEMU) device_add driver=virtio-net-pci netdev=tap0 id=test0 mac=52:54:00:df:89:29 bus=pci.0 まだべき等ではない TODO:
- すでにアタッチされていた場合、エラー処理を文字列で判定する必要がある
- MACアドレスを変更する
func (Qemu) GetVNCWebsocketPort ¶
func (Qemu) HardShutdown ¶
type QemuArgs ¶
type QemuArgs struct {
// contains filtered or unexported fields
}
QemuArgs is QEMU arguments parser TODO: 毎回文字列探索するので遅い
func ParseQemuArgs ¶
func (QemuArgs) GetOptionValues ¶
func (QemuArgs) GetParsedOptionValueById ¶
func (QemuArgs) GetTopParsedOptionValue ¶
type Status ¶
type Status int
const ( StatusDebug Status = Status(raw.RunStateDebug) StatusFinishMigrate Status = Status(raw.RunStateFinishMigrate) StatusGuestPanicked Status = Status(raw.RunStateGuestPanicked) StatusIOError Status = Status(raw.RunStateIOError) StatusInMigrate Status = Status(raw.RunStateInmigrate) StatusInternalError Status = Status(raw.RunStateInternalError) StatusPaused Status = Status(raw.RunStatePaused) StatusPostMigrate Status = Status(raw.RunStatePostmigrate) StatusPreLaunch Status = Status(raw.RunStatePrelaunch) StatusRestoreVM Status = Status(raw.RunStateRestoreVM) StatusRunning Status = Status(raw.RunStateRunning) StatusSaveVM Status = Status(raw.RunStateSaveVM) StatusShutdown Status = Status(raw.RunStateShutdown) StatusSuspended Status = Status(raw.RunStateSuspended) StatusWatchdog Status = Status(raw.RunStateWatchdog) )
Click to show internal directories.
Click to hide internal directories.