Planet Puppet

Your source of Puppet technical information

Our predictions for 2018: the cloud, containers, DevOps and more

Kristina Psaris-Weis, 6 days, 8 hours | Source: Puppet Labs

What changes will the world of IT see in 2018? Read the predictions from some of Puppet’s wisest on everything from DevOps to microservices.

[ Read More ]

Tip of the Week 59 - How to use psick module for common profiles.

Anonymous, 1 week, 1 day | Source: Example 42

At last Configuration Management Camp we have presented PSICK, giving some background info on the reasons behind it, an overview what it does and glimpses on how it can be used both for new and existing Puppet infrastructures. In this post we are going to give a deeper look to how to cherry pick the profiles of the psick module we may need in our current infrastructure. Using psick module in existing infrastructures The psick module makes large use of example42’s Tiny Puppet, which provides defines that allow installation of management of applications in a quick and powerful ways ...

[ Read More ]

What’s new from the Puppet modules team: January 2018 edition

Davin Hanlon, 1 week, 5 days | Source: Puppet Labs

The modules team has been busy in January — from pdk convert to enabling Rubocop, updating Puppet Device and more.

[ Read More ]

Puppet Enterprise adds Arm support and security updates

Eric Sorenson, 1 week, 6 days | Source: Puppet Labs

Puppet Enterprise adds support for Arm CPUs and macOS High Sierra in new releases.

[ Read More ]

Tip of the Week 58 - News from FOSDEM and Configuration Management Camp

Anonymous, 2 weeks, 1 day | Source: Example 42

Example42 attended FOSDEM in Brussels and will be at Configuration Management Camp in Ghent. FOSDEM You can have an idea of FOSDEM only when you attend it. Thousands of people, hundreds of talks, dozens of tracks, everything about Open Source and its multiple fields of application. When you go to FOSDEM you have always the problem of picking the presentations that interest you and, then, manage to get inside the rooms, which are often full. Among the presentations we attended, besides the “impressive as usual” demos from James Shubin with MGMT we were amazed by the demonstration of the forthcoming ...

[ Read More ]

Convince your boss to send you to PuppetConf 2018

Lisa Gregory, 2 weeks, 6 days | Source: Puppet Labs

We hope you’ll join us for PuppetConf 2018. To help you get your boss on board, here’s a letter to show them why sending you is a great investment.

[ Read More ]

Tip of the Week 57 - All the ways to remotely trigger Puppet runs (with or without Puppet tasks)

Anonymous, 3 weeks, 1 day | Source: Example 42

Example42’s psick control-repo has several features which makes easier the life of the Puppet administrator. Since the release of Puppet Tasks several infrastructure commands have been added as tasks in the psick module: psick::system_update - Update all packages on a system psick::puppet_unlock - Remove Puppet lockfiles psick::puppet_install - Install Puppet agent on a node psick::puppet_enable_noop - Enable noop option in Puppet agent config psick::puppet_agent - Run Puppet agent on a node In this post we review the different ways we can use to remotely trigger a Puppet task and (in this case psick::puppet_agent but can be any task ...

[ Read More ]

Tip of the Week 56 - Running acceptance tests on different Puppet versions with PSICK

Anonymous, 4 weeks, 1 day | Source: Example 42

Example42’s psick control-repo has several features which allows user to manage most of the typical infrastructure tasks easily. PSICK has a set of unit and acceptance tests already built in. Usually we want to test the Puppet version we have running in infrastructure and we want to test functionality with newer versions. Unit Testing Handling different Puppet versions on unit testing is done by reading an environment variable from Gemfile. rspec puppet uses the Puppet version installed by bundler to compile and check catalogs. Running unit tests for different Puppet versions is easy: export PUPPET_GEM_VERSION='4.10.9' bundle ...

[ Read More ]

Self-documenting Puppet modules with puppet-strings

rnelson0, 2 months, 2 weeks | Source: RNELSON0

Documentation is hard. Anyone who has been in IT long enough will have tales of chasing their tails because of incorrect or outdated docs, or even missing docs. Documentation really benefits from automation and ease of creation. For Puppet modules, there exists a tool called puppet-strings that can help with this. There are probably other […]

[ Read More ]

Managing multiple puppet modules with modulesync

Dean Wilson (, 3 months, 1 week | Source: Dean Wilson@UnixDaemon

With the exception of children, puppies and medical compliance frameworks managing one of something is normally much easier than managing a lot of them. If you have a lot of puppet modules, and you’ll eventually always have a lot of puppet modules, you’ll get bitten by this and find yourself spending as much time managing supporting functionality as the puppet code itself.

Luckily you’re not the first person to have a horde of puppet modules that share a lot of common scaffolding. The fine people at Vox Pupuli had the same issue and maintain an excellent tool ...

[ Read More ]

Upgrading Puppet Enterprise from 2016.4 to 2017.3

rnelson0, 3 months, 1 week | Source: RNELSON0

Over the past year, there have been some pretty big improvements to Puppet. I am still running PE 2016.4.2 and the current version is 2017.3.2, so there’s lot of changes in there. Most of the changes are backwards-compatible, so an upgrade from last November’s version is not quite as bad as it sounds, and I […]

[ Read More ]

Copyleft is Dead. Long live Copyleft!

purpleidea, 4 months | Source: The Technical Blog of James

As you may have noticed, we recently re-licensed mgmt from the AGPL (Affero General Public License) to the regular GPL. This is a post explaining the decision and which hopefully includes some insights at the intersection of technology and legal issues.


I am not a lawyer, and these are not necessarily the opinions of my employer. I think I’m knowledgeable in this area, but I’m happy to be corrected in the comments. I’m friends with a number of lawyers, and they like to include disclaimer sections, so I’ll include this so that I blend in ...

[ Read More ]

Retrospec - the Task Generator

Anonymous, 4 months, 1 week | Source: Logical thoughts exposed

Puppet introduced Bolt at Puppetconf 2017 this year and so far I like what I see. Simple, easy to use remote task execution without a huge requirement of any one language. Best of all puppet modules can start adding one off bolt tasks to help with the administrative duties of various applications. Bolt makes it really easy to get started but adds some required scaffolding to create a properly defined task, namely the metadata file.

One of the use cases of retrospec puppet is to build out this scaffolding for you with the many generators it has. So starting with ...

[ Read More ]

The Choria Emulator

R.I. Pienaar, 4 months, 1 week | Source: R.I.Pienaar -

In my previous posts I discussed what goes into load testing a Choria network, what connections are made, subscriptions are made etc.

From this it’s obvious the things we should be able to emulate are:

  • Connections to NATS
  • Subscriptions – which implies number of agents and sub collectives
  • Message payload sizes

To make it realistically affordable to emulate many more machines that I have I made an emulator that can start numbers of Choria daemons on a single node.

I’ve been slowly rewriting MCollective daemon side in Go which means I already had all the networking and connectors available ...

[ Read More ]

Puppet 5 Beginner's Guide (third edition)

John Arundel, 4 months, 3 weeks | Source: Bitfield Consulting

Order your copy now on (

A new book on Puppet for the cloud-native era

A new edition of the bestselling Puppet Beginner’s Guide is now available, covering all the latest features of Puppet 5. Learn Puppet from scratch, from installation to managing complex infrastructures, including chapters on managing Amazon AWS cloud resources and Docker containers with Puppet. Every code example is available right now online in a special GitHub repo just for this book. There is also a complete, working Puppet infrastructure for you to download, adapt, and use on your own servers.

Praise ...

[ Read More ]

Load testing Choria

R.I. Pienaar, 5 months | Source: R.I.Pienaar -


Many of you probably know I am working on a project called Choria that modernize MCollective which will eventually supersede MCollective (more on this later).

Given that Choria is heading down a path of being a rewrite in Go I am also taking the opportunity to look into much larger scale problems to meet some client needs.

In this and the following posts I’ll write about work I am doing to load test and validate Choria to 100s of thousands of nodes and what tooling I created to do that.


Choria builds around the NATS middleware which ...

[ Read More ]

puppet network module 3.10.0

Michael Arnold, 6 months, 3 weeks | Source: The Razor's Edge

Today, I have released a large update to my Red Hat network Puppet module to the Puppet Forge.  Numerous pull requests were merged including: Added support for promiscuous interfaces. (Elyse Salberg) Added a parameter to disable restart of network service on change. (Evgeni Golov) Added support for netmask and broadcast parameters in alias range. (Nick […]

[ Read More ]

strict_variables and the RazorsEdge Puppet Modules

Michael Arnold, 6 months, 4 weeks | Source: The Razor's Edge

Over the past month I have been adding much needed support for running Puppet with strict_variables = true to all of the RazorsEdge Puppet modules. Thanks to coreone, I finally had a solution that did not require tearing out the legacy global variable support. As much as I think that continued inclusion of global variable […]

[ Read More ]

Converting and Formatting Data Like a Pro With Puppet 4.5.0

Henrik Lindberg (, 7 months, 2 weeks | Source: Puppet on the Edge

Before Puppet 4

Before Puppet 4.0.0 there was basically only the data types; String, Boolean, Array, Hash, and Undef. Most notably missing were numeric types (Numeric, Integer, and Float). In Puppet 4.0.0 those and many other types were defined and implemented in a proper type system. This was all good, but a few practical problems were not solved; namely data conversion. In Puppet 4.5.0 there is a new feature that will greatly help with this task. But first lets look at the state of what is available in prior versions.

Converting String to Number ...

[ Read More ]

Managing SSH server security with Puppet

rnelson0, 7 months, 2 weeks | Source: RNELSON0

Edit: In an earlier edition, I credited the wrong newsletter as the source. My apologies to R.I.Pienaar! In this past week’s DevCo Newsletter, I saw the Rebex SSH Check, which reminded me that I’ve locked down the SSH server security configuration at work, but not at home. Sounds like a good opportunity to blog about […]

[ Read More ]