Libvirt Compute Driver Documentation ==================================== .. note:: Libvirt driver in current version of Libcloud is still experimental and doesn't support advanced functionality like creating a node and so on. `libvirt`_ is an open source toolkit for managing different hypervisors. It ca be used to manage Xen, KVM, Vmware ESX, QEMU and many other hypervisors. .. figure:: /_static/images/provider_logos/libvirt.png :align: center :width: 200 :target: http://libvirt.org For full list of the supported hypervisors, please see the `Hypervisor drivers `_ page. Requirements ------------ To be able to use this driver you need to install libvirt client and `libvirt-python`_ Python package. Libvirt client is available in standard package repositories of most popular Linux distributions which means you can install it using your distribution's package manager. Example #1 - Ubuntu, Debian, etc. (apt-get): .. sourcecode:: bash sudo apt-get install libvirt-client Example #2 - Fedora, RHEL, etc. (yum): .. sourcecode:: bash sudo yum install libvirt-client Python package can be installed using pip: .. sourcecode:: bash pip install libvirt-python Connecting to a hypervisor -------------------------- To instantiate the driver and connect to a hypervisor, you need to pass ``uri`` argument to the driver constructor. This argument tells the driver which libvirt driver (qemu, xen, virtualbox, etc.) this connection refers to. For a full list of supported URIs, please refer to the `Connection URIs ` page. Example 1 - Connecting to QEMU and KVM hypervisor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This example shows how to connect to a local QEMU or KVM instance. .. literalinclude:: /examples/compute/libvirt/connect_qemu_kvm.py :language: python For more details and information on how to connect to a remote instance, please see `Connections to QEMU driver `_ page. Example 2 - Connecting to Virtualbox hypervisor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This example shows how to connect to a local Virtualbox instance. .. literalinclude:: /examples/compute/libvirt/connect_virtualbox.py :language: python For more details and information on how to connect to a remote instance, please see `VirtualBox hypervisor driver `_ page. .. _`libvirt`: http://libvirt.org .. _`libvirt-python`: https://pypi.python.org/pypi/libvirt-python Enabling libvirt debug mode --------------------------- To enable libvirt debug mode, simply set ``LIBVIRT_DEBUG`` environment variable. For example: .. sourcecode:: bash LIBVIRT_DEBUG=1 python my_script.py When debug mode is enabled, libvirt client will print all kind of debugging information to the standard error. API Docs -------- .. autoclass:: libcloud.compute.drivers.libvirt_driver.LibvirtNodeDriver :members: :inherited-members: