Documentation ¶
Index ¶
- Constants
- Variables
- func VirtualizationProvider() machine.VirtProvider
- type MachineVM
- func (v *MachineVM) Init(opts machine.InitOptions) (bool, error)
- func (v *MachineVM) Inspect() (*machine.InspectInfo, error)
- func (v *MachineVM) ProxyPID() (int, error)
- func (v *MachineVM) Remove(_ string, opts machine.RemoveOptions) (string, func() error, error)
- func (v *MachineVM) SSH(_ string, opts machine.SSHOptions) error
- func (v *MachineVM) Set(_ string, opts machine.SetOptions) ([]error, error)
- func (v *MachineVM) Start(name string, opts machine.StartOptions) error
- func (v *MachineVM) State(bypass bool) (machine.Status, error)
- func (v *MachineVM) Stop(_ string, _ machine.StopOptions) error
- func (v *MachineVM) VMPid() (int, error)
- type MachineVMV1deprecated
- type Monitor
- type Monitorv1
- type QEMUVirtualization
- func (p *QEMUVirtualization) CheckExclusiveActiveVM() (bool, string, error)
- func (p *QEMUVirtualization) IsValidVMName(name string) (bool, error)
- func (p *QEMUVirtualization) List(_ machine.ListOptions) ([]*machine.ListResponse, error)
- func (p *QEMUVirtualization) LoadVMByName(name string) (machine.VM, error)
- func (p *QEMUVirtualization) NewMachine(opts machine.InitOptions) (machine.VM, error)
- func (p *QEMUVirtualization) RemoveAndCleanMachines() error
- func (p *QEMUVirtualization) VMType() machine.VMType
- type QemuCmd
- func (q *QemuCmd) Build() []string
- func (q *QemuCmd) SetBootableImage(image string)
- func (q *QemuCmd) SetCPUs(c uint64)
- func (q *QemuCmd) SetDisplay(display string)
- func (q *QemuCmd) SetIgnitionFile(file define.VMFile)
- func (q *QemuCmd) SetMemory(m uint64)
- func (q *QemuCmd) SetNetwork()
- func (q *QemuCmd) SetPropagatedHostEnvs()
- func (q *QemuCmd) SetQmpMonitor(monitor Monitor)
- func (q *QemuCmd) SetSerialPort(readySocket, vmPidFile define.VMFile, name string)
- func (q *QemuCmd) SetUSBHostPassthrough(usbs []machine.USBConfig)
- func (q *QemuCmd) SetVirtfsMount(source, tag, securityModel string, readonly bool)
Constants ¶
const ( VolumeTypeVirtfs = "virtfs" MountType9p = "9p" )
Variables ¶
var (
QemuCommand = "qemu-system-x86_64"
)
Functions ¶
func VirtualizationProvider ¶ added in v4.7.0
func VirtualizationProvider() machine.VirtProvider
Types ¶
type MachineVM ¶
type MachineVM struct { // ConfigPath is the path to the configuration file ConfigPath define.VMFile // The command line representation of the qemu command CmdLine QemuCmd // HostUser contains info about host user machine.HostUser // ImageConfig describes the bootable image machine.ImageConfig // Mounts is the list of remote filesystems to mount Mounts []machine.Mount // Name of VM Name string // PidFilePath is the where the Proxy PID file lives PidFilePath define.VMFile // VMPidFilePath is the where the VM PID file lives VMPidFilePath define.VMFile // QMPMonitor is the qemu monitor object for sending commands QMPMonitor Monitor // ReadySocket tells host when vm is booted ReadySocket define.VMFile // ResourceConfig is physical attrs of the VM machine.ResourceConfig // SSHConfig for accessing the remote vm machine.SSHConfig // Starting tells us whether the machine is running or if we have just dialed it to start it Starting bool // Created contains the original created time instead of querying the file mod time Created time.Time // LastUp contains the last recorded uptime LastUp time.Time // contains filtered or unexported fields }
func (*MachineVM) Init ¶
func (v *MachineVM) Init(opts machine.InitOptions) (bool, error)
Init writes the json configuration file to the filesystem for other verbs (start, stop)
func (*MachineVM) Inspect ¶ added in v4.1.0
func (v *MachineVM) Inspect() (*machine.InspectInfo, error)
Inspect returns verbose detail about the machine
func (*MachineVM) Remove ¶
Remove deletes all the files associated with a machine including ssh keys, the image itself
func (*MachineVM) SSH ¶
func (v *MachineVM) SSH(_ string, opts machine.SSHOptions) error
SSH opens an interactive SSH session to the vm specified. Added ssh function to VM interface: pkg/machine/config/go : line 58
func (*MachineVM) Start ¶
func (v *MachineVM) Start(name string, opts machine.StartOptions) error
Start executes the qemu command line and forks it
type MachineVMV1
deprecated
added in
v4.1.0
type MachineVMV1 struct { // CPUs to be assigned to the VM CPUs uint64 // The command line representation of the qemu command CmdLine []string // Mounts is the list of remote filesystems to mount Mounts []machine.Mount // IdentityPath is the fq path to the ssh priv key IdentityPath string // IgnitionFilePath is the fq path to the .ign file IgnitionFilePath string // ImageStream is the update stream for the image ImageStream string // ImagePath is the fq path to ImagePath string // Memory in megabytes assigned to the vm Memory uint64 // Disk size in gigabytes assigned to the vm DiskSize uint64 // Name of the vm Name string // SSH port for user networking Port int // QMPMonitor is the qemu monitor object for sending commands QMPMonitor Monitorv1 // RemoteUsername of the vm user RemoteUsername string // Whether this machine should run in a rootful or rootless manner Rootful bool // UID is the numerical id of the user that called machine UID int }
Deprecated: MachineVMV1 is being deprecated in favor a more flexible and informative structure
type Monitor ¶
type QEMUVirtualization ¶ added in v4.7.0
type QEMUVirtualization struct {
machine.Virtualization
}
func (*QEMUVirtualization) CheckExclusiveActiveVM ¶ added in v4.7.0
func (p *QEMUVirtualization) CheckExclusiveActiveVM() (bool, string, error)
CheckExclusiveActiveVM checks if there is a VM already running that does not allow other VMs to be running
func (*QEMUVirtualization) IsValidVMName ¶ added in v4.7.0
func (p *QEMUVirtualization) IsValidVMName(name string) (bool, error)
func (*QEMUVirtualization) List ¶ added in v4.7.0
func (p *QEMUVirtualization) List(_ machine.ListOptions) ([]*machine.ListResponse, error)
List lists all vm's that use qemu virtualization
func (*QEMUVirtualization) LoadVMByName ¶ added in v4.7.0
func (p *QEMUVirtualization) LoadVMByName(name string) (machine.VM, error)
LoadVMByName reads a json file that describes a known qemu vm and returns a vm instance
func (*QEMUVirtualization) NewMachine ¶ added in v4.7.0
func (p *QEMUVirtualization) NewMachine(opts machine.InitOptions) (machine.VM, error)
NewMachine initializes an instance of a virtual machine based on the qemu virtualization.
func (*QEMUVirtualization) RemoveAndCleanMachines ¶ added in v4.7.0
func (p *QEMUVirtualization) RemoveAndCleanMachines() error
RemoveAndCleanMachines removes all machine and cleans up any other files associated with podman machine
func (*QEMUVirtualization) VMType ¶ added in v4.7.0
func (p *QEMUVirtualization) VMType() machine.VMType
type QemuCmd ¶ added in v4.8.0
type QemuCmd []string
QemuCmd is an alias around a string slice to prevent the need to migrate the MachineVM struct due to changes
func NewQemuBuilder ¶ added in v4.8.0
NewQemuBuilder creates a new QemuCmd object that we will build on top of, starting with the qemu binary, architecture specific options, and propagated proxy and SSL settings
func (*QemuCmd) SetBootableImage ¶ added in v4.8.0
SetBootableImage specifies the image the machine will use to boot
func (*QemuCmd) SetDisplay ¶ added in v4.8.0
SetDisplay specifies whether the machine will have a display
func (*QemuCmd) SetIgnitionFile ¶ added in v4.8.0
SetIgnitionFile specifies the machine's ignition file
func (*QemuCmd) SetMemory ¶ added in v4.8.0
SetMemory adds the specified amount of memory for the machine
func (*QemuCmd) SetNetwork ¶ added in v4.8.0
func (q *QemuCmd) SetNetwork()
SetNetwork adds a network device to the machine
func (*QemuCmd) SetPropagatedHostEnvs ¶ added in v4.8.0
func (q *QemuCmd) SetPropagatedHostEnvs()
SetPropagatedHostEnvs adds options that propagate SSL and proxy settings
func (*QemuCmd) SetQmpMonitor ¶ added in v4.8.0
SetQmpMonitor specifies the machine's qmp socket
func (*QemuCmd) SetSerialPort ¶ added in v4.8.0
SetSerialPort adds a serial port to the machine for readiness
func (*QemuCmd) SetUSBHostPassthrough ¶ added in v4.8.0
SetNetwork adds a network device to the machine
func (*QemuCmd) SetVirtfsMount ¶ added in v4.8.0
SetVirtfsMount adds a virtfs mount to the machine