salt.runners.virt

Control virtual machines via Salt

salt.runners.virt.force_off(name)

Force power down the named virtual machine

salt.runners.virt.host_info(host=None)

Return information about the host connected to this master

salt.runners.virt.init(name, cpu, mem, image, hypervisor='kvm', host=None, seed=True, nic='default', install=True, start=True, disk='default', saltenv='base', enable_vnc=False, seed_cmd='seed.apply', enable_qcow=False, serial_type='None')

This routine is used to create a new virtual machine. This routines takes a number of options to determine what the newly created virtual machine will look like.

name

The mandatory name of the new virtual machine. The name option is also the minion id, all minions must have an id.

cpu

The number of cpus to allocate to this new virtual machine.

mem

The amount of memory to allocate to this virtual machine. The number is interpreted in megabytes.

image

The network location of the virtual machine image, commonly a location on the salt fileserver, but http, https and ftp can also be used.

hypervisor

The hypervisor to use for the new virtual machine. Default is kvm.

host

The host to use for the new virtual machine, if this is omitted Salt will automatically detect what host to use.

seed

Set to False to prevent Salt from seeding the new virtual machine.

nic

The nic profile to use, defaults to the "default" nic profile which assumes a single network interface per VM associated with the "br0" bridge on the master.

install

Set to False to prevent Salt from installing a minion on the new VM before it spins up.

disk

The disk profile to use

saltenv

The Salt environment to use

enable_vnc

Whether a VNC screen is attached to resulting VM. Default is False.

seed_cmd

If seed is True, use this execution module function to seed new VM. Default is seed.apply.

enable_qcow

Clone disk image as a copy-on-write qcow2 image, using downloaded image as backing file.

serial_type

Enable serial console. Set to 'pty' for serial console or 'tcp' for telnet. Default is 'None'

salt.runners.virt.list(host=None, quiet=False, hyper=None)

List the virtual machines on each host, this is a simplified query, showing only the virtual machine names belonging to each host. A single host can be passed in to specify an individual host to list.

salt.runners.virt.migrate(name, target='')

Migrate a VM from one host to another. This routine will just start the migration and display information on how to look up the progress.

salt.runners.virt.next_host()

Return the host to use for the next autodeployed VM. This queries the available host and executes some math the determine the most "available" next host.

salt.runners.virt.pause(name)

Pause the named VM

salt.runners.virt.purge(name, delete_key=True)

Destroy the named VM

salt.runners.virt.query(host=None, quiet=False)

Query the virtual machines. When called without options all hosts are detected and a full query is returned. A single host can be passed in to specify an individual host to query.

salt.runners.virt.reset(name)

Force power down and restart an existing VM

salt.runners.virt.resume(name)

Resume a paused VM

salt.runners.virt.start(name)

Start a named virtual machine

salt.runners.virt.vm_info(name, quiet=False)

Return the information on the named VM