Triggering a daemonized puppet agent with SIGUSR1

Day 13 in the #vDM30in30 Pretty quick one, but I thought I’d write it up because I hadn’t heard about it before. So, normally when trying to diagnose a puppet issue, one normally runs puppet agent -t or puppet agent --test. However, the --test flag comes with a set of predefined flags: –test Enable the most common options used for testing. These are ‘onetime’, ‘verbose’, ’no-daemonize’, ’no-usecacheonfailure’, ‘detailed-exitcodes’, ’no-splay’, ‘show_diff’, and ’no-use_cached_catalog’. ...

November 13, 2016 · 3 min · Peter Souter

jmxtrans: What is it and how to configure it

Day 12 in the #vDM30in30 I’ve been investigating getting metrics from the Java parts of Puppet. Puppetserver actually has a dedicated endpoint now, but if you’re on an earlier version you can actually extract the information straight from JMX. I’ve been working on a Vagrant stack to demonstrate this, but I’ve not got it fully working yet, but I’ve made some good progress. I think there’re just a few tweaks left. ...

November 12, 2016 · 4 min · Peter Souter

puppetserver caching

Day 11 in the #vDM30in30 Image Source: http://www.slideshare.net/PuppetLabs/the-puppet-master-on-the-jvm-puppetconf-2014 There is an oft-repeated joke that says that there are two hard things in computer science: cache invalidation, naming things, and off-by-one errors. We’re going to talk about caching with puppet-server. What is Puppet Server puppetserver is a replacement for the previous ruby and passenger engine (aka puppetmasterd) So puppetmaster was the old puppet server, puppetserver is now the current puppet-master. Remember, naming is hard! ...

November 11, 2016 · 3 min · Peter Souter

An example metrics stack with Collectd, Graphite and Grafana

Day 10 in the #vDM30in30 One thing that often comes up is customers or people in Slack/IRC asking “How do I setup X?” I often end up making basic Vagrant stack, as all the examples on Github are either too out of date or broken. I try and pin as many dependencies as possible, and make it as easy as possible to deploy, usually doing all the work with a vagrant up. ...

November 10, 2016 · 4 min · Peter Souter

Compressing images in Ghost blog

Day 9 in the #vDM30in30 If you’re not careful, it’s easy to bloat a website with large images. A feature that would be awesome in Ghost would be the ability to auto-compress images on upload. This idea has been around for a while, and it’s highly voted for in the wish-list. John Nolan (the founder of Ghost) has even responded: Yep, this is needed! We’re looking into how we can do this best. One challenge here is that there are far fewer good image processing libraries written for Node, because it’s still relatively young. We’re on the case ...

November 9, 2016 · 5 min · Peter Souter