This is the command adt-virt-lxc that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator
adt-virt-lxc - autopkgtest virtualisation server using LXC
adt-virt-lxc [options] lxc-container [-- extra lxc-start args...]
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.
adt-virt-lxc assumes that you have already prepared a suitable Debian based LXC container.
See lxc-create(1) for how to create containers, and particularly adt-build-lxc(1) for
conveniently creating standard autopkgtest containers.
-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.
Note that ephemeral containers do not support rebooting with LXC 1.x. This does
work with LXC >= 2.x.
-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
Set a custom name for the temporary container in which to run the test. This is
autogenerated by default (adt-virt-lxc-XXXXXX), but if you have a way to generate
more expressive unique names you can use that to make it easier to map containers
to running tests.
-d | --debug
Enables debugging output.
You can pass additional options to LXC: Anything after a -- gets passed verbatim to lxc-
INPUT, OUTPUT AND EXIT STATUS
The behaviour of adt-virt-lxc is as described by the AutomatedTesting virtualisation
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).
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
Use adt-virt-lxc online using onworks.net services