KVMnanny, a network installer using PXElinux

[Update on 2010-28-09]:
I am currently looking for developers, who like to help me starting a real project. You can download the current stage here:
http://www.roessner-network-solutions.com/kvmnanny-package.tar.bz2
It includes the TFTP environment, the dns-masq setup and the python code. I will serve the roadmap and nearer instructions later on. So please be a little bit patient

I really would appreciate some help

New project started and coming soon. At least this year

  • dnsmasq as local DHCP/DNS
  • tftpd-hpa as TFTP server
  • Apache2 and apt-cacher/Squid for the intranet with preseed.cfg-file for full unattended install

This application is currently being rewritten in python. I am going to create a new project called kvmnanny. It is a complete management tool for kvm. It will be able to deal with:

  • Installing guests over the network. And not only Ubuntu/Debian guests. Any guest OS that can run under VT. This differs to other projects. (Already done and tested on several servers)
  • Deleting and editing guests (to be implemented, but not that hard)
  • Starting/stopping will be done over the already existing kvm-mange. See somewhere on my Blog
  • Migrating servers,
  • CFengine3 integration (hopefully)

It currently offers a ncurses based interface in client mode, which means you can install guests manually on a server and it offers a well defined XML-RPC interface for the upcoming web service.

Roadmap do be done… Below is a raw mind map.

Development is done in a git repository (already).

Copyright of this project is GPLv2 – 2010. The project will never be proprietary or commercial. I want it as an open source project.

Right now, some aspects, I want to add to the current code:

  • plugin archtiecture for storing the resulting guest configuration in different formats. That could be standard file format, as it is right now, libvirt-xml, MariaDB (MySQL), LDAP format, … Storing the configs in a database will offer replication over a clustered network.
  • A post-install hook architecture, which servers plugins for i.e. cfengine, or any other kind of tweaks for a guest
  • maybe other hypervisors later, but for now I only want to focus on kvm
  • Adding the ability to configure pre assigned network addresses to the guest, instead of using DHCP

So there are some factories missing in the code, which I will add later on. Currently kvm guests are started with kvm-manage, which works, but is not the best solution. I want to have the kvm guests bound to a server process. This way, you can attach to each guest over the console, even you do not have configured the guests network. Currently I am doing this with screen.

Thoughts and suggestions are welcome.


-- Download KVMnanny, a network installer using PXElinux als PDF --