README.rst

Taskotron VM Builder

This is a proof of concept code, don't rely on this.

Taskotron VM Builder should provide an easy way to create customized virtual machines to be used in Taskotron as disposable clients. The machine will be built according to specified parameters, mainly:

  • contain a requested set of up-to-date packages
  • have libtaskotron installed
  • have user accounts configured
  • have remote logging capabilities configured (ssh, serial console)

This image can then be snapshotted and used to spawn virtual machines, throwing away any disk changes before each new boot.

If historical images are archived, they can provide a way to have reproducible environment for re-executing tasks.

Dependencies

  • libguestfs-tools-c

And then everything from requirements.txt:

$ virtualenv --system-site-packages env_vmbuilder
$ source env_vmbuilder/bin/activate
$ pip install -r requirements.txt

Execution

You can generate a simple VM image like this:

$ ./vmbuilder.py templates/f21-minimal.yaml

Run ./vmbuilder.py --help to see full help.

Templates

Each VM image is described by its template. You can find some templates predefined in templates/ directory. See templates/README.templates for instructions how to define your own template.