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.