puppet – autobuild progress report
As I’ve mentioned before, I’ve been using [http://reductivelabs.com/projects/puppet/ puppet] to manage my machines at home – deploying config files, packages etc. Just search for “puppet” and you’ll find my earlier posts.
This was in preparation for rolling it out at a customer which we’ve now done. The timescale is now:
# add machine to puppet manifest, PXE list, TFTP list
# reboot machine, start the clock
# machine starts to PXE boot (it’s taken 66 seconds to run through the BIOS)
# machine now repartitions the disks, formats them and start a minimal debian preseed install. This takes three and a half minutes
# puppet is now installed and runs – setting up all the client configuration, pulling in packages etc
# two mins later and the box is built – it’s told to reboot to boot into the new 64bit kernel (installed by puppet).
So ignoring the minute that it takes the box to get past the BIOS, that’s five and half minutes to provision a box from bare metal. Not bad at all IMO.
However the most important bit is that now it’s managed via puppet – which means that changes as trivial to roll out. New GPG key for the repository? Just update the key file on the server – it’s pushed out, “apt-key add” and “apt-get update” run automatically on all the boxes. Another package to install? Just add it to the list, it’s automatically installed.
This is going to be fabulous.