Documentation
¶
Index ¶
Constants ¶
View Source
const ( // UnknownDriver driver is used to indicate an unknown or misspecified driver UnknownDriver = DriverType("unknown") // QemuDriver is the QEMU hypervisor QemuDriver = DriverType("qemu") )
View Source
const KvmPath = "/dev/kvm"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Driver ¶
type Driver interface {
// Create a machine using this driver with the defined `MachineOption`s.
Create(context.Context, ...machine.MachineOption) (machine.MachineID, error)
// Start requests the machine to begin its execution if paused.
Start(context.Context, machine.MachineID) error
// Stop requests the machine to stop its execution if running.
Stop(context.Context, machine.MachineID) error
// Wait for the machine to complete its execution if running.
Wait(context.Context, machine.MachineID) (int, time.Time, error)
// StartAndWait starts the machine and then waits for the machine to exit
// before returning.
StartAndWait(context.Context, machine.MachineID) (int, time.Time, error)
// Pid returns the process ID of the machine VMM
Pid(ctx context.Context, mid machine.MachineID) (uint32, error)
// Pause a machine given its MachineID.
Pause(context.Context, machine.MachineID) error
// Destroy a machine given its MachineID.
Destroy(context.Context, machine.MachineID) error
// Tail the serial console of the machine by providing.
TailWriter(context.Context, machine.MachineID, io.Writer) error
// List all machines supervised by the current driver.
List(context.Context) ([]machine.MachineID, error)
// State returns the machine state given a MachineID.
State(context.Context, machine.MachineID) (machine.MachineState, error)
// Shutdown sends a shutdown signal to the machine given a MachineID.
Shutdown(context.Context, machine.MachineID) error
// ListenStatusUpdate returns two channels, one for receiving the state of a
// machine and any live errors. This can be used to monitor a given machine
// by its MachineID. The method returns the last error if the channels cannot
// be initialized.
ListenStatusUpdate(context.Context, machine.MachineID) (chan machine.MachineState, chan error, error)
}
Driver represents the interface necessary to be implemented to manage the lifcycle of a machine.
func New ¶
func New(driverType DriverType, opts ...driveropts.DriverOption) (driver Driver, err error)
New creates an instantiated driver which can create and manage the lifecycle of a machine. The returning interface is implemented by the driver.
type DriverType ¶
type DriverType string
func DetectHostHypervisor ¶
func DetectHostHypervisor() (DriverType, error)
func DriverTypeFromName ¶
func DriverTypeFromName(name string) DriverType
func (DriverType) String ¶
func (dt DriverType) String() string
type IsHypervisor ¶
Click to show internal directories.
Click to hide internal directories.