Open main menu

CDOT Wiki β

Changes

Web-based Virtual Machine Management

1,800 bytes added, 18:04, 14 December 2007
no edit summary
Web-based Virtual Machine Management (aka virtbuilder)
== Project Description ==
"Create a A web-based rapid provisioning system for application which allows users to request and access custom virtual machines. Targeted use case: temporary VMs for one-time use, building on work started by Ben Hearsumi.e. A user could select an testing new configurations, operating systemsystems, toolchain, and source branch and the VM would be configured and started (using Xen, KVM, or another hypervisor/backend)etc. Resources: bhearsum"
== Project Leader(s) ==
[[User:Jb|Jesse Buchanan]]
== Project Contributor(s) Details ==
I will want a lot * 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 technical helpthe VM in the libvirt XML format. As * "Instances" are snapshots of right now I have nothing specific to ask forthe templates: buta user can log in and select a template, read [http://jbopensrc.wordpress.com/2007/10/21/virtbuilder-v01-1-part-code-1-part-mockup-3-parts-questions/ my blog] and answer some be assigned an instance of that template. Changes to the questions if you canuser's VM are not persistent.
== Project Details Unresolved issues ==
=* Design issue: Expiry of virtual machines (how long should they last? when should they be cleaned up?)* Design issue: Validating RAM/disk space usage (how to stop users from bringing server to a grinding halt?)* Known bug: Cannot boot more than one virtual machine because VNC port is in use - must modify this. == Related bugs ===
Since I'm not hacking on Firefox or any Mozilla products per se, finding bugs related to my project is sort of difficult. To get in the right direction I tried searching Bugzilla for 'vmware', 'xen', 'kvm', and 'try server'. Here are a few results:
* [https://bugzilla.redhat.com/show_bug.cgi?id=389101 RH389101 virt-manager fails to create KVM guests from CD-ROM installation media]
== Goals ===== v0.1 goal ===
* very simple CLI tool that will boot a pre-built Xen machine, using either libvirt or virsh
* if time, very rudimentary control of virtual machine (i.e. change RAM)
* [added in lieu of above] HTML mockup
 
=== v0.2 ===
 
* something to make modifications to XML
* shell out to make LVM volumes
 
=== v0.3 ===
 
* web-based front end to v0.2
== Releases ==
=== Current: v0.3 release === ==== Description ==== * Pylons web application* Handles simple actions such as create, destroy, and list VMs ==== Download ==== * [http://matrix.senecac.on.ca/~jabuchan/virtbuilder0.3.zip Download virtbuilder0.3.zip] ==== Requirements ==== Environment:* Recent Linux distribution (Fedora 8 was my testing platform, YMMV)* An LVM volume group with a bit of free space.* An Intel-VT compliant CPU (hardware assisted virtualization), for KVM.* A preinstalled virtual machine to be cloned, installed to an LVM volume. Python:* libvirt python bindings* BeautifulSoup* Pylons ==== Installation and usage ==== * Download and untar.* Edit development.ini:** virtbuilder.lvm.vg: Provide the name of your LVM volume group.** virtbuilder.vmtemplates: Provide the directory your template XMLs are stored in. (optional, default will work)* Change permissions on libvirt, and set LVM as suid, so Pylons doesn't need privileged access:** chmod +s /usr/sbin/lvm** chmod -R 777 /var/run/libvirt** Run the Pylons project from the top-level virtbuilder dir:** paster serve development.ini* We're done. Go to http://127.0.0.1:5000 and start making VMs. === Obsolete releases === ==== v0.1 release (OBSOLETE) ====
* Python script which boots a prebuilt KVM virtual machine via libvirt
* [http://matrix.senecac.on.ca/~jabuchan/virtbuilder0.1.zip Download virtbuilder0.1.zip]
==== v0.25 release (OBSOLETE) ====
* Python script which:
* [http://matrix.senecac.on.ca/~jabuchan/virtbuilder/CHANGELOG Download CHANGELOG]
* [http://matrix.senecac.on.ca/~jabuchan/virtbuilder0.25-r07.zip Download virtbuilder0.25-r07.zip]
 
== Project News ==
2007-11-28: Released v0.25-r07.
 
2007-12-14: Released v0.3.
== Related links ==
1
edit