I'm working on setting up a new Ubuntu 10.04 (lucid) cluster in the Rackspace cloud environment. I'm using Puppet for the first time to automate as much as I can. I've setup a puppet master and I'm now ready to build an image that will automatically install the puppet agent on first boot. I have a few ideas on how I could script this, but I thought I'd see if anyone had already solved this problem.
In short, I'd like the ability to create a new cloud instance and have it automatically install the puppet agent, connect to the puppet master and register itself as a node. I'm using puppet enterprise. I'm not sure if this differs a great deal from the standard version at this stage, but maybe somebody knows something I don't.
Puppet client creates new certificates on start if they are missing. So, you just need to install puppet (with puppet master hostname configured) and ensure that its certificate is not included with image (by removing it right before making an image).
On bootup of freshly cloned machine, puppet would generate new certificates and will make connection attempt to master. And you'll see it in output of
puppetca --list