Control virtual machines via Salt


Force power down the named virtual machine


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.


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


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


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


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


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


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


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


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.


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


The disk profile to use


The Salt environment to use


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


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


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


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.


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.


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.


Force power down and restart an existing VM


Resume a paused VM


Start a named virtual machine

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

Return the information on the named VM