I use a USB camera on my work laptop and the camera sometimes doesn't show up in my video conferencing app. I verified that the camera is showing in the usb list with lsusb (a script I got from https://github.com/jlhonora/lsusb which is great btw).

dtruss showed that the VDCAssistant was being accessed by my apps, so I tried killing that and boom the camera shows up.

So now I aliased camkill='sudo pkill VDCAssistant'

I spent far too long diagnosing why this worked in one set of hosts and not another. When the vrrp_script fails on one host, it's supposed to move the service to the other host, that's the whole point right?

Talk I gave at PuppetConf 2016
Slides are here

Talk I gave at puppetcamp seattle 2016, slides at

Some of this isn't a great idea for production...some.

Had a problem where I wanted to modify /etc/cups/cupsd.conf but wasn't sure who else might touch the file. I opted to use Augeas and quickly learned it wasn't as easy as I thought it might be...

The cupsd.conf configuration file uses a syntax similar to Apache configuration files, it uses the same Augeas lens (Httpd.lns). Changing directives is a bit of an issue, but I found the solution by reading the source for the Httpd.lns (/usr/share/augeas/lenses/dist/httpd.aug or /opt/puppetlabs/puppet/share/augeas/lenses/dist/httpd.aug)

I ran into this problem recently, certificates were verifying ok but were revoked somewhere along the line. I wanted to check against the CRL but it's a somewhat undocumented feature (fixed in openssl 1.0.2). The -crl_check option checks your cert against the CRL listed in the certificate, but only if that is listed and accessible remotely.

Updated Mastering Puppet for Puppet 4

About the book

Special Promotion 50% off the Ebook version Promo Code: YGTMi50y (Valid March 7 to 27, 2016)

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

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.