community.libvirt.libvirt_qemu connection – Run tasks on libvirt/qemu virtual machines

Note

This connection plugin is part of the community.libvirt collection (version 1.3.1).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.libvirt. You need further requirements to be able to use this connection plugin, see Requirements for details.

To use it in a playbook, specify: community.libvirt.libvirt_qemu.

New in community.libvirt 2.10.0

Synopsis

  • Run commands or put/fetch files to libvirt/qemu virtual machines using the qemu agent API.

Requirements

The below requirements are needed on the local controller node that executes this connection.

  • python >= 2.6

  • libvirt python bindings

  • lxml

Parameters

Parameter

Comments

executable

string

Shell to use for execution inside container.

Set this to ‘cmd’ or ‘powershell’ for Windows VMs.

Default: "/bin/sh"

Configuration:

  • Variable: ansible_shell_type

remote_addr

string

Virtual machine name.

Default: "inventory_hostname"

Configuration:

  • Variable: ansible_host

  • Variable: inventory_hostname

virt_uri

string

Libvirt URI to connect to to access the virtual machine.

Default: "qemu:///system"

Configuration:

  • Variable: ansible_libvirt_uri

Notes

Note

  • Currently DOES NOT work with selinux set to enforcing in the VM.

  • Requires the qemu-agent installed in the VM.

  • Requires access to the qemu-ga commands guest-exec, guest-exec-status, guest-file-close, guest-file-open, guest-file-read, guest-file-write.

Authors

  • Jesse Pretorius (@odyssey4me)

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.