[colug-432] Puppet presentation followup

Scott Merrill skippy at skippy.net
Thu Oct 27 09:12:42 EDT 2011


Thanks to everyone who came out to the COLUG meeting last night.
Thanks especially to Rob for hosting us and for saving the day when my
laptop decided not to work with the projector, rending my carefully
prepared presentation completely useless! :)

As mentioned last night, the primary developer of Puppet is Puppet Labs:
   http://www.puppetlabs.com/

They offer pretty thorough documentation:
   http://docs.puppetlabs.com/

They also offer YUM and APT repositories:
   http://yum.puppetlabs.com/
   http://apt.puppetlabs.com/

The Puppet Enterprise product is available as a free download, with
which you can control up to ten nodes. This is a really good way to
play with Puppet in general, because it resolves all dependencies for
you. It's also a good way to see how the Puppet Dashboard product
works (again avoiding all dependency issues).

APress has a decent book called "Pro Puppet":
http://www.apress.com/9781430230571 It provides a really good
introduction to the patterns advocated by the Puppet community (the
"Package / File / Service" pattern I mentioned, for example), as well
as a dip into advanced topics like the Dashboard and MCollective. I've
found a number of glaring typographical errors in the book, but most
of these don't detract from the quality of the information. (One
exampe is factually wrong, if you read it verbatim, but it's pretty
obviously wrong and easy to correct.)


I mentioned briefly a Puppet plugin called "facts.d". You can find that here:
   https://github.com/ripienaar/facter-facts/tree/master/facts-dot-d
To use this:
* create a module (/etc/puppet/modules/factsdotd), and in that module
create lib/facter.
* Save the facter_dot_d.rb file in /etc/puppet/modules/factsdotd/lib/facter/
* Ensure your puppet master is configured to synchronize plugins. This
is one detail I neglected to cover last night: edit
/etc/puppet/puppet.conf, and in the [master] section add "pluginsync =
true".
* assign the factsdotd module to the client machines on which you'd
like to use this.
* create the directory /etc/facts.d on your clients (optionally
control the creation of this durectory in a manifest defined in your
factsdotd module)
* create text files with key=value pairs for your custom facts
You can now use your custom facts in your manifests!

Cheers,
Scott


More information about the colug-432 mailing list