VMBuilder - The next generation
A while ago, somone told me that people might like to hear a bit about what I actually do, so this is the first in a series of blog entries about what interesting stuff I spend my time on.
Some of you may have heard of ubuntu-vm-builder before. if not, it's a tool that you can use to create Ubuntu based virtual machines in a snap. On my home system (with a local mirror and such), it takes about 45-50 seconds to create a complete virtual machine.
It started out as an alternative approach to the JeOS (just enough OS) concept at the end of the gutsy cycle. At that point, it was still a bit fragile, and the resulting vm needed a bit of work before it would actually work. During the Hardy cycle we applied a lot of love to it, so that it could actually complete an install without any handholding. A big thanks to Nick Barcet for helping out a lot with this!
Why talk about this now? Well, the topic came up again at UDS back in May. We wanted to make it easy for everyone (not just Ubuntu users) to create Ubuntu based virtual machines. A few suggestions flew back and forth (mostly about packaging for other distro (and perhaps even Windows)). At some point, someone suggested to build a web interface for it, and put it online. That way, anyone could log on the the webpage and build a new VM. Neat! However, building a VM is a heavy task, so the hosting would be costly. We then came up with a rather novel idea: We'll stick the web interface... in a virtual machine! We can then offer the virtual machine for download for various hypervisors. Now, *that* is neat!
So if you were running VMWare on your own system, you would download the vm image built for VMWare, fire it up and using a web interface you'd create a NEW virtual machine that you can use.
The main problem is that ubuntu-vm-builder was written in bash, which made adding lots of logic rather tedious and it also made it quite difficult to embed in a web interface, so I've been spending most of my time over the last week or so rewriting it in Python, and making it suitable for use as a library. I've now gotten to the point where it actually works, and the code structure is approaching sanity. It currently builds Hardy images for KVM just fine. Dapper, Feisty, Gutsy, and Intrepid will be coming shortly, and VMWare Workstation and Server, VirtualBox, and Xen hypervisors are planned as well. If someone wants to write a plugin for building other distributions, they can even do that! When I'm done with the VMBuilder itself, I'll get back to the webinterface. I already have a working prototype, which was made with the old vm-builder, so that shouldn't take to long. I'll keep you updated on my progress.

debora says:
test says:
CreaveBleltem says:
Oppongini says:
FuraBerecella says:
blobozyirrind says: