Over a million developers have joined DZone.
Platinum Partner

Automated Build Systems with Puppet & Cobbler

The DevOps Zone is brought to you in partnership with New Relic. Improving the performance of your app is easy with New Relic's SaaS-based monitoring.

OK, so I’m not the first to blog about this, however I’m using Cobbler and Puppet to automate the creation of VMs on my laptop for testing/staging purposes so I thought I’d blog about it here.

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:

  1. Install a server to act as the “master” server
  2. Install Cobbler
  3. 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.

The DevOps Zone is brought to you in partnership with New Relic. Know exactly where and when bottlenecks are occurring within your application frameworks with New Relic APM.


Published at DZone with permission of Matthew Macdonald-wallace , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}