Skip to content
This repository has been archived by the owner on Mar 10, 2020. It is now read-only.

Architecture

Tim Hardeck edited this page Jul 22, 2014 · 1 revision

Architecture

Pennyworth is a frontend for several tools that work together in order to create a virtual test/development environment from configuration files. It consists of the following components.

Vagrant

Vagrant provides configurable and reproducable virtual work environments based on specially prepared images and a single configfile defining the setup of the environment Vagrantfile). It can facilitate several hypervisors (called VM providers) like VirtualBox, VMware and KVM. For the use with Pennyworth we decided to use KVM as hypervisor.

Veewee

Veewee is a helper tool for Vagrant, creating the images for it. The Vagrant images consist of a normal disk image (qcow) and some metadata packed together into a so called .box file. In order not to have to build those manually we use Veewee which does use a default installation iso as source, runs an unattended installation into a disk image and adds the additionally required Vagrant meta data to it. Veewee-Vagrant Workflow

KVM

KVM is the hypervisor used by Vagrant in Pennyworth. There are two possible ways to use it from Vagrant, a direct KVM plugin and a libvirt based plugin. As the direct KVM plugin lacks support of more than one virtual machine currently, Pennyworth is using the libvirt based plugin.

Libvirt

Both Veewee and Vagrant use libvirt to interact with KVM.

Clone this wiki locally