I’m heading towards being able to create a Continuous Integration system for setting up and testing my config files.

This post consists of a few notes I’ve observed as I’ve been configuring KVM, Cobbler, Koan and Puppet in order to achieve this.


  1. Use Cobbler to manage DNS and DHCPIt doesn’t matter if you’re using Bind/DHCP or DNSMasq

    if you use Cobbler to manage these services then it will make your life much easier!

  2. Set up a profile for your development environment

    By setting up a separate profile in Cobbler, you can define all of your defaults (VM Disk Size, Number of CPUS, Virtualisation Type, base management classes etc) you’ll find it much easier to create and destroy your VMs.

  3. Setup a custom KickStart for your virtual systemsBy default, you’ll get a load of cruft that you really don’t need.  My VM Kickstart file installed the following packages:
    1. @Base
    2. puppet
    3. acpid
  4. Install acpidIf you don’t, your KVM-Based virtual machines will not reboot!