User Tools

Site Tools


Puppet seemed a bit obtuse to get started with (I found myself jumping around lots of different documentation pages), but it didn't seem so bad after I actually got started.

Getting Started

When initially trying Puppet, I installed the latest version of puppet-server on CentOS 5 using the packages at That was version 2.6.4. Note that the version in EPEL/Fedora 13 is not that old–they jumped from version 0.25 to version 2.6 (see

I found these pages helpful:

One thing mentioned in a few of the pages was the "–mkusers" option; this shouldn't be required if puppet was installed with an OS package.


The layout of files is partially described in Puppet Best Practices. The layout of module files is described in Module Organization.


The functions like 'err', 'warning', 'notice' log messages on the server.

The notify type sends a message to the client log, at the notice level (and will be shown when running puppetd --test):

notify {"The value is: ${yourvar}": }

Reverse Engineering

Try blueprint for reverse engineering a server's configuration. It outputs shell scripts or chef or puppet configuration files.


err: Could not request certificate: No route to host

Remember to let connections through the firewall (TCP port 8140). D'oh!

Undefined method 'closed?' for nil:NilClass

Fixed in 0.25.5.

Workaround: include a class with a "lib" directory (can be empty).

See message:

info/puppet.txt · Last modified: 2011-05-06 21:07 by sam