Contents

libvirt Wiki

This is the libvirt Wiki for user contributed content.

Due to frequent attacks from spammers who are able to defeat the various anti-spam measures, it has become necessary to disable new account creation.

We still welcome contributions from anyone interested in updating content. Simply send an email to the main libvirt development list asking for an account and one will be created for you with as little delay as practical. Please tell us your preferred wiki user name in the email - if you have no preferences we will create one with "ForenameSurname" style.

General project documentation

Books

Configuration Management

convert

Guest Management

Concepts

CGroups

CPU

KVM / QEMU

Guest device Configuration

Virtio

Host SCSI device

NPIV

libguestfs / guestfish

Networking

Concepts

Detailed networking pieces

Perl

Provisioning

Cobbler

Foreman

Remote Management

CIM

QPID

Security

Host Security

SSH

Transport Layer Security (TLS)

Storage

iSCSI

QCow2 disk encryption

Disk and Memory Snapshots

Examples of live block opertaions

Third Party Libvirt Applications

Other

Images

The images in this wiki, along with their Inkscape SVG source, are on this page in one place in case you'd like to use or modify them for your own project:

Debug logs

In case you want to turn on debuging in libvirt follow:

Getting started with virt-test

Prerequisites

  1. Install libvirt, virt-install, qemu-kvm, p7zip, genisoimage.

    When installing libvirt on Fedora, make sure you have the following packages installed: libvirt-client, libvirt-python, libvirt-daemon-kvm, and libvirt-daemon-config-network.

  2. Start libvirtd service.

    On systems with systemd, run

    systemctl start libvirtd.service

Steps to setup the virt-test

  1. Clone the autotest repository:
    git clone https://github.com/autotest/autotest.git
  2. Clone the virt-test repository:
    git clone https://github.com/autotest/virt-test.git
  3. Switch to next branch in both repositories:
    for repo in autotest virt-test; do (cd $repo && git checkout next); done
  4. Export path to the autotest repository.

    Please note, /some/dir is the directory where you ran the above commands. Thus, AUTOTEST_PATH variable has to point to autotest directory created by git when cloning the autotest repository.

    export AUTOTEST_PATH=/some/dir/autotest

Running tests

Now you are ready to test libvirt with virt-test. Just go to virt-test directory created in step 2 above and run

 ./run -t libvirt --tests=virsh --install --remove

This command will automatically download JeOS disk image used as a guest OS for the test domain required for virt-test. You can remove the --remove option to keep the test domain installed and then you can just run

 ./run -t libvirt --tests='virsh.help virsh.console'

to reuse the existing test domain. To get a list of all test available in virt-test, run

 ./run -t libvirt --list-tests

Testing self-built libvirt

To test self-built libvirt rather then the one installed in the system, either built a proper package and install it or follow the steps below.

  1. Configure libvirt to use the same paths as the system one.
    ./autogen.sh --system
  2. Compile libvirt.
    make
  3. Change libvirtd service to start your local libvirtd using /path/to/libvirt/run /path/to/libvirt/daemon/.libs/libvirtd. On systems with systemd change ExecStart in /etc/systemd/system/multi-user.target.wants/libvirtd.service. This hack is required for some tests that restart libvirtd service.
  4. Run tests using the self-built libvirt:
    /path/to/libvirt/run ./run -t libvirt --tests='virsh.help virsh.console'

Tips

Log files from all test runs can be found in logs sub directory of virt-test. The latest log file is easily accessible via the latest symlink:

 less logs/latest/debug.log

The config files for each test are located in libvirt/tests/cfg and the source files of all tests are located in libvirt/tests/src within the virt-test repository.

Getting started with the Wiki

This wiki is using the MediaWiki software. The following links will provide help on wiki syntax and other matters