Puppet, Foreman, Facter, Mcollective


Updated Cookbook for Puppet 5.
This is the Fourth edition of the Cookbook.

Available from Packt or Amazon


Augeas is a great tool for changing only parts of a configuration file. It has a few problems though, it's slow and hard to learn and does lack some documentation. That said, unless you can use file_line or inifile, Augeas is the only game in town. The alternative is an exec with sed or awk or something terrible...

More information on augeas is available on the project home page and the puppet augeas page

To make Augeas…


A talk I gave at LISA2015. A gentle introduction to Puppet for the complete beginner. This talk assumes no knowledge of Puppet and is intended for the complete beginner. Slides available here. Support files are available here.


My puppet book was released July 25th on Packtpub.com

You can also grab a copy from Amazon.

About the book

The book was written to help Puppet Engineers solve problems with their Puppet code and infrastructure.


Talk I gave at Puppetcamp Seattle 2015 - June 4, 2015
Slides are here: https://goo.gl/68yr6S

Beginner talk on how to get your code onto your masters.


Tutorial from Cascadia 2015, all about automating your puppet workflow using git, git-hooks, puppet-sync and r10k.

Slides are available here:

Tutorial Questions here:

Files used on github:


Tutorial I gave at LISA 2014 http://goo.gl/G0TLfJ

This is a talk about running puppet in the enterprise, or at scale. The original title of Mastering Puppet was Puppet in the Enterprise, the talk was to present the ideas in the book.

The tutorial files are located on github at: https://github.com/uphillian/lisa2014

I uploaded the lisa2014.iso Live image used in the demo to dropbox, get it here https://www.dropbox.…


Talk I gave at puppetcamp seattle 2014 http://goo.gl/b2NISc

In the first part, Troubleshooting Puppet talks about problems with communication, how to make sure puppet is running and connecting to a master. In the second part, the talk moves on to compilation and catalog application issues. Real world solutions are presented throughout.


This keeps coming up so I thought I'd share one trick we've used to figure out if there are stale nodes out there. These are nodes that are failing to update for various reasons that won't be reported in your reporting mechanism. One of the common causes is an expired or revoked certificate. The agent never gets far enough to report a failure.

In these cases, provided mcollective was running and configured on the node, you may still see the node in mcollective and think everything is fine. If you have a small enough implementation you can probably track down these hosts one by…


I've been running into the 800 node limit on mcollective and splitting up my nodes into subcollectives. I had a spot where I couldn't split up the nodes, so I started looking at why we were hitting this 800 node wall.

I'm using activemq with the ssl plugin, after turning on all the debugging I could find in activemq, it turns out it's just a simple resource limit problem.

With activemq running, I waited for my nodes to connect and watched the number of threads on the active java process. (This is after increasing the memory limits for activemq as described on…

Slides from LISA 2019 Linux systems troubleshooting #LISA2019 https://t.co/D4dMKflK6R Tue Oct 29 05:59:30 +0000 2019

https://t.co/AGeihMALAv configuring grub2 with EFI Fri Sep 13 05:20:01 +0000 2019

I published a Thing on @thingiverse! https://t.co/IYpRyEb7Hz #thingalert Tue Jul 23 19:27:57 +0000 2019

Nokogiri install on MacOSX https://t.co/v3An0miW9L Fri Jul 12 15:06:49 +0000 2019

HTML email with plain mailer plugin on Jenkins https://t.co/Z6FSDMDjy8 Thu Jul 11 21:07:25 +0000 2019