In the end I ended up with puppet + vagrant which allows me to run/rerun/test puppet manifests:
first install VirtualBox, then:
gem install puppet
gem install vagrant
then:
vagrant box add base http://files.vagrantup.com/lucid32.box
vagrant init
then edit ./Vagrantfile to say:
Vagrant::Config.run do |config|
config.vm.box = "base"
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "manifests"
puppet.module_path = "modules"
end
# rest here
end
then add a node definition to manifests/default.pp
, like:
group { "puppet":
ensure => "present",
}
file { '/etc/motd':
content => "Welcome to your Vagrant-built virtual machine!\n"
}
then run:
vagrant up
Now you've got a puppet-managed virtual machine that you can play with, and any manifest that you change goes into source control. And you can iterate quickly without having to resort to rump.