Automated Build Systems with Puppet & Cobbler
The aim is to use Cobbler to setup the base operating system and install puppet, then let Puppet take over and install and configure the rest of the system.
There’s a few things we need to do:
- Install a server to act as the “master” server
- Install Cobbler
- Install Puppet
Although I usually use Debian or Ubuntu, Cobbler works best on CentOS and that’s what I use during my day job, so we’ll be installing CentOS as the base operating system on the master server.
Download the version of CentOS you want to use (although it’s worth digging out the “netinstall” image if you don’t want to download five or six isos!) and install an absolute minimal system – disable everything when it asks you which packages to install – the less clutter the better!
Enable the EPEL repository (download the RPM from http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm then install it using ‘rpm -Uvh epel-release-5-3.noarch.rpm’) and install cobbler with a simple
yum install cobbler cobbler-web puppet puppet-server
This will install not only cobbler but also the web interface – the web interface is very useful for adding systems etc to cobbler.
Before proceeding with the configuration of cobbler and puppet, make sure you also install “yum-utils” and “cman”.
I know that this is cheating, but follow the installation instructions found at https://fedorahosted.org/cobbler/wiki/UsingCobblerImport and https://fedorahosted.org/cobbler/wiki/CobblerWebInterface and then come back here to continue setting up the system.
Once your master cobbler server is set up, test it by building a basic system via PXE. Once you are happy that works, move on to the next item – configuring Puppet.