Testing provisioning scripts with throw-away VMs
Using expendable virtual machines for testing purposes is hardly a new concept. Now pretty-please-with-sugar-on-top would be automating the whole create-provision-test-destroy cycle. Enter Vagrant . Vagrant is a tool for building and distributing virtualized development environments. It allows automated creation, provisioning (with Puppet, Chef or shell scripts) and tear down. Installing Vagrant on Ubuntu 10.04 LTS (which I'm still running) requires the following: a 4.1.x VirtualBox distribution (the 3.1 bundled with Ubuntu will not work) a recent version of ruby (you guessed it: the 1.8.x bundled with Ubuntu will not work) To install VirtualBox add the following repo to /etc/apt/sources.list: deb http://download.virtualbox.org/virtualbox/debian lucid contrib non-free then issue the usual apt-get update and install with (remove stock packages first): sudo apt-get update sudo apt-get remove virtualbox-ose virtualbox-ose-dkms sudo apt-get install ...