adt-virt-lxc(1)

NAME
adt-virt-lxc - autopkgtest virtualisation server using LXC

SYNOPSYS
adt-virt-lxc [options] lxc-container

DESCRIPTION
adt-virt-lxc provides an autopkgtest virtualisation server using LXC. It adapts the raw functionality provided by the lxc-* tools for use by autopkgtest. Normally adt-virt-lxc will be invoked by adt-run. You can conveniently create a suitable container using the adt-build-lxc(1) script.

REQUIREMENTS
adt-virt-lxc assumes that you have already prepared a suitable Debian based LXC container. See lxc-create(1) for how to create containers.

OPTIONS

-e | --ephemeral
    This option makes use of lxc-start-ephemeral to create temporary container overlays, instead of the default behaviour of cloning your containers. This can be used to dramatically improve performance, although you may see issues due to the overlayfs filesystem as used by lxc-start-ephemeral not being completely transparent (e. g. seen with tar failing when running LXC within Qemu). Before using this option in automation you should ensure that tests that involve large I/O work as expected.

-s | --sudo
    Run lxc-* commands through sudo; use this option if you run adt-run as normal user, but need to run the container itself as root (if you use LXC system level containers).

--eatmydata
    This option is intended for test developer use. It enables the use of eatmydata(1) inside the container on all commands in order to improve performance. This requires eatmydata(1) to already be installed inside the supplied template, which you will need to do manually. However, since eatmydata is not part of the dep8 specification and may affect the test environment, it is not recommended for use in automation.

-d | --debug
    Enables debugging output.

INPUT, OUTPUT AND EXIT STATUS
The behaviour of adt-virt-lxc is as described by the AutomatedTesting virtualisation regime specification.

NOTES
adt-run does not run apt-get update at the start of a package build, which can cause a build failure if you are using a development release template. You will need to run apt-get update in the template yourself (e. g. using --setup-commands).

EXAMPLE
Create a suitable debootstrap-based container for Debian or Ubuntu template, e. g. a Debian sid one (will be named adt-sid):
        adt-build-lxc debian sid
Or an Ubuntu one based on the cloud images (faster than adt-build-lxc's "ubuntu" template with debootstrap, but much bigger):
        lxc-create -t ubuntu-cloud -n adt-trusty -- -r trusty -d daily
Run tests against hello_2.8-4.dsc, using the LXC container adt-sid, and with an ephemeral overlay for speed:
        adt-run hello_2.8-4.dsc --- adt-virt-lxc -e adt-sid

SEE ALSO
adt-run(1), adt-build-lxc(1), lxc-create(1), eatmydata(1), /usr/share/doc/autopkgtest/.

AUTHORS AND COPYRIGHT
adt-virt-lxc was written by Robie Basak <robie.basak@canonical.com> and Martin Pitt <martin.pitt@ubuntu.com>. This manpage is part of autopkgtest, a tool for testing Debian binary packages. autopkgtest is Copyright (C) 2006-2013 Canonical Ltd and others. See /usr/share/doc/autopkgtest/CREDITS for the list of contributors and full copying conditions.