For the key certificate this state uses the external pillar in the master to call for the generation and signing of certificates for systems running libvirt:
libvirt_keys:
virt.keys
salt.states.virt.defined(name, cpu=None, mem=None, vm_type=None, disk_profile=None, disks=None, nic_profile=None, interfaces=None, graphics=None, seed=True, install=True, pub_key=None, priv_key=None, connection=None, username=None, password=None, os_type=None, arch=None, boot=None, numatune=None, boot_dev=None, hypervisor_features=None, clock=None, serials=None, consoles=None, stop_on_reboot=False, live=True, host_devices=None)¶Starts an existing guest, or defines and starts a new VM with specified arguments.
New in version 3001.
| Parameters: |
|
|---|
Example States
Make sure a virtual machine called domain_name is defined:
domain_name:
virt.defined:
- cpu: 2
- mem: 2048
- boot_dev: network hd
- disk_profile: prod
- disks:
- name: system
size: 8192
overlay_image: True
pool: default
image: /path/to/image.qcow2
- name: data
size: 16834
- nic_profile: prod
- interfaces:
- name: eth0
mac: 01:23:45:67:89:AB
- name: eth1
type: network
source: admin
- graphics:
type: spice
listen:
type: address
address: 192.168.0.125
salt.states.virt.keys(name, basepath='/etc/pki', **kwargs)¶Manage libvirt keys.
/etc/pki, this is the root location used for libvirt
keys on the hypervisorThe following parameters are optional:
- country
- The country that the certificate should use. Defaults to US.
New in version 2018.3.0.
- state
- The state that the certificate should use. Defaults to Utah.
New in version 2018.3.0.
- locality
- The locality that the certificate should use. Defaults to Salt Lake City.
New in version 2018.3.0.
- organization
- The organization that the certificate should use. Defaults to Salted.
New in version 2018.3.0.
- expiration_days
- The number of days that the certificate should be valid for. Defaults to 365 days (1 year)
New in version 2018.3.0.
salt.states.virt.network_defined(name, bridge, forward, vport=None, tag=None, ipv4_config=None, ipv6_config=None, autostart=True, connection=None, username=None, password=None, mtu=None, domain=None, nat=None, interfaces=None, addresses=None, physical_function=None, dns=None)¶Defines a new network with specified arguments.
| Parameters: |
|
|---|
New in version 3001.
network_name:
virt.network_defined
network_name:
virt.network_defined:
- bridge: main
- forward: bridge
- vport: openvswitch
- tag: 180
- autostart: True
network_name:
virt.network_defined:
- bridge: natted
- forward: nat
- ipv4_config:
cidr: 192.168.42.0/24
dhcp_ranges:
- start: 192.168.42.10
end: 192.168.42.25
- start: 192.168.42.100
end: 192.168.42.150
- autostart: True
salt.states.virt.network_running(name, bridge, forward, vport=None, tag=None, ipv4_config=None, ipv6_config=None, autostart=True, connection=None, username=None, password=None, mtu=None, domain=None, nat=None, interfaces=None, addresses=None, physical_function=None, dns=None)¶Defines and starts a new network with specified arguments.
| Parameters: |
|
|---|
network_name:
virt.network_running
network_name:
virt.network_running:
- bridge: main
- forward: bridge
- vport: openvswitch
- tag: 180
- autostart: True
network_name:
virt.network_running:
- bridge: natted
- forward: nat
- ipv4_config:
cidr: 192.168.42.0/24
dhcp_ranges:
- start: 192.168.42.10
end: 192.168.42.25
- start: 192.168.42.100
end: 192.168.42.150
- autostart: True
salt.states.virt.pool_defined(name, ptype=None, target=None, permissions=None, source=None, transient=False, autostart=True, connection=None, username=None, password=None)¶Defines a new pool with specified arguments.
New in version 3001.
| Parameters: |
|
|---|
pool_name:
virt.pool_defined:
- ptype: netfs
- target: /mnt/cifs
- permissions:
- mode: 0770
- owner: 1000
- group: 100
- source:
dir: samba_share
hosts:
- one.example.com
- two.example.com
format: cifs
- autostart: True
salt.states.virt.pool_deleted(name, purge=False, connection=None, username=None, password=None)¶Deletes a virtual storage pool.
| Parameters: |
|
|---|
In order to be purged a storage pool needs to be running to get the list of volumes to delete.
Some libvirt storage drivers may not implement deleting, those actions are implemented on a best effort idea. In any case check the result's comment property to see if any of the action was unsupported.
pool_name:
uyuni_virt.pool_deleted:
- purge: True
New in version 3000.
salt.states.virt.pool_running(name, ptype=None, target=None, permissions=None, source=None, transient=False, autostart=True, connection=None, username=None, password=None)¶Defines and starts a new pool with specified arguments.
New in version 2019.2.0.
| Parameters: |
|
|---|
pool_name:
virt.pool_running
pool_name:
virt.pool_running:
- ptype: netfs
- target: /mnt/cifs
- permissions:
- mode: 0770
- owner: 1000
- group: 100
- source:
dir: samba_share
hosts:
- one.example.com
- two.example.com
format: cifs
- autostart: True
salt.states.virt.powered_off(name, connection=None, username=None, password=None)¶Stops a VM by power off.
New in version 2016.3.0.
| Parameters: |
|
|---|
domain_name:
virt.stopped
salt.states.virt.rebooted(name, connection=None, username=None, password=None)¶Reboots VMs
New in version 2016.3.0.
| Parameters: |
|
|---|
salt.states.virt.reverted(name, snapshot=None, cleanup=False)¶Deprecated since version 2016.3.0.
Reverts to the particular snapshot.
New in version 2016.3.0.
domain_name:
virt.reverted:
- cleanup: True
domain_name_1:
virt.reverted:
- snapshot: snapshot_name
- cleanup: False
salt.states.virt.running(name, cpu=None, mem=None, vm_type=None, disk_profile=None, disks=None, nic_profile=None, interfaces=None, graphics=None, seed=True, install=True, pub_key=None, priv_key=None, connection=None, username=None, password=None, os_type=None, arch=None, boot=None, boot_dev=None, numatune=None, hypervisor_features=None, clock=None, serials=None, consoles=None, stop_on_reboot=False, host_devices=None)¶Starts an existing guest, or defines and starts a new VM with specified arguments.
New in version 2016.3.0.
| Parameters: |
|
|---|
Example States
Make sure an already-defined virtual machine called domain_name is running:
domain_name:
virt.running
Do the same, but define the virtual machine if needed:
domain_name:
virt.running:
- cpu: 2
- mem: 2048
- disk_profile: prod
- boot_dev: network hd
- disks:
- name: system
size: 8192
overlay_image: True
pool: default
image: /path/to/image.qcow2
- name: data
size: 16834
- nic_profile: prod
- interfaces:
- name: eth0
mac: 01:23:45:67:89:AB
- name: eth1
type: network
source: admin
- graphics:
type: spice
listen:
type: address
address: 192.168.0.125
salt.states.virt.saved(name, suffix=None)¶Deprecated since version 2016.3.0: Use snapshot() instead.
Takes a snapshot of a particular VM or by a UNIX-style wildcard.
New in version 2016.3.0.
domain_name:
virt.saved:
- suffix: periodic
domain*:
virt.saved:
- suffix: periodic
salt.states.virt.snapshot(name, suffix=None, connection=None, username=None, password=None)¶Takes a snapshot of a particular VM or by a UNIX-style wildcard.
New in version 2016.3.0.
| Parameters: |
|
|---|
domain_name:
virt.snapshot:
- suffix: periodic
domain*:
virt.snapshot:
- suffix: periodic
salt.states.virt.stopped(name, connection=None, username=None, password=None)¶Stops a VM by shutting it down nicely.
New in version 2016.3.0.
| Parameters: |
|
|---|
domain_name:
virt.stopped
salt.states.virt.unpowered(name)¶Deprecated since version 2016.3.0: Use powered_off() instead.
Stops a VM by power off.
New in version 2016.3.0.
domain_name:
virt.stopped
salt.states.virt.volume_defined(pool, name, size, allocation=0, format=None, type=None, permissions=None, backing_store=None, nocow=False, connection=None, username=None, password=None)¶Ensure a disk volume is existing.
| Parameters: |
|
|---|
CLI Example:
Volume on ESX:
esx_volume:
virt.volume_defined:
- pool: "[local-storage]"
- name: myvm/myvm.vmdk
- size: 8192
QCow2 volume with backing file:
myvolume:
virt.volume_defined:
- pool: default
- name: myvm.qcow2
- format: qcow2
- size: 8192
- permissions:
mode: '0775'
owner: '123'
group: '345'
- backing_store:
path: /path/to/base.img
format: raw
- nocow: True
New in version 3001.
Docs for previous releases are available on readthedocs.org.
Latest Salt release: 3004.1