Difference between revisions of "Virtbuilder"
(New project page for virtbuilder) |
|||
Line 24: | Line 24: | ||
* Web frontend to v0.2 | * Web frontend to v0.2 | ||
+ | === v0.4 and beyond === | ||
+ | |||
+ | * Frontend to help in creating/maintaining templates | ||
=== Unresolved design issues === | === Unresolved design issues === |
Revision as of 11:40, 22 November 2007
Purpose
A web application which allows users to request and access custom virtual machines. Targeted use case: temporary VMs for one-time use, i.e. testing new configurations, operating systems, etc.
Details
- Uses libvirt, KVM, QEMU
- "Templates" are virtual machines created by hand with existing Linux virtual machine tools like virt-manager. There are two parts to templates: the installed system partition itself, and an XML description of the VM in the libvirt XML format.
- "Instances" are snapshots of the templates: a user can log in and select a template, and be assigned an instance of that template. Changes to the user's VM are not persistent.
v0.1
- Python CLI app that boots a pre-built VM, already known to virt-manager, via libvirt
v0.2
- Still in progress (2007-11-22)
- Python CLI app that takes a template, changes it's unique identifier and name, creates an LVM snapshot of the VMs disks, and dumps this new VM description into libvirt, and boots the newly created VM.
TODO: actually create LVM snapshots
v0.3
- Web frontend to v0.2
v0.4 and beyond
- Frontend to help in creating/maintaining templates
Unresolved design issues
- Expiry of virtual machines (how long should they last? when should they be cleaned up?)
- Validating RAM/disk space usage (how to stop users from bringing server to a grinding halt?)