Planet Puppet

Your source of Puppet technical information

Puppet Camp Paris in the African Art Museum

Dawn Foster, 2 days | Source: Puppet Labs

Puppet Camp Paris: A collection of great Puppet talks amid a world-class collection of African art. Continuous delivery, DevOps, Puppet module writing, highly available Puppet and more.

[ Read More ]

The Quest To Learn Puppet: New Learning VM

Carthik Sharma, 5 days, 18 hours | Source: Puppet Labs

Puppet skills are in big demand in the job market. The new Learning VM makes it easier to get started learning Puppet and monitor your own progress.

[ Read More ]

Patching the Heartbleed OpenSSL Vulnerability with Puppet Enterprise

Spencer Seebald, 6 days, 21 hours | Source: Puppet Labs

Patch management is easier & quicker with Puppet Enterprise. See how to remediate the Heartbleed OpenSSL security vulnerability faster in this 8-minute video.

[ Read More ]

What Heartbleed Tells Us About the Need for IT Automation

Aliza Earnshaw, 1 week | Source: Puppet Labs

Heartbleed amply demonstrated how important IT automation is in security situations. But it's just as important for turning on a dime when the business demands it.

[ Read More ]

puppet cloudera module 2.0.2

Michael Arnold, 1 week, 1 day | Source: The Razor's Edge

This is a minor bugfix release of my Puppet module to deploy Cloudera Manager. When I released the module, I had assumed that the testing I did for the C5 beta2 would be 100% valid for C5 GA.  It turns out that Cloudera shipped a newer version of the Oracle 7 JDK and a symlink […]

[ Read More ]

Clojure: an outsider's investigation

walterheck, 1 week, 2 days | Source: OlinData

Last week, this post on the Puppet Labs blog caught my eye. It announces a services framework called TrapperKeeper, which seems interesting. To be honest I haven't looked into what it does and how it does the things it does.

I did however spend a bit of time investigating clojure as well as the community response to this announcement. I'll share my thoughts here. I do have to warn that this is all found through creative surfing, so welcome to how my mind works when investigating a (to me) new piece of open source technology.


I started ...

[ Read More ]

EC2 provisioning using Foreman

Ohad Levy (, 2 weeks | Source: The Foreman: Blogs

One of foreman goals, is to provide a simple and familiar process to provision systems, regardless of where they are located.

We've now added the ability to provision systems in EC2, alongside with the existing virtualization providers such as RHEVM, libvirt, VMWare etc.

In this blog, I'll try to describe step by step what is required in order to provision a new instance in EC2.


  • You should be using a recent version of foreman, either directly from git, or using the nightly, see for git instruction, or use the debian, redhat or fedora nightly packages.
  • Have a ...

[ Read More ]

Creating a new host using foreman API

Ohad Levy (, 2 weeks | Source: The Foreman: Blogs

Using foreman API is fairly simple, in here I'll show an example using curl.

Using this simple script, you could automate your VM/Bare metal provision process + Puppet configuration in one simple step.

Create a new Host
Loading ....
In this example, I've hidden most of the logic in the host group attribute in foreman.
meaning that it already knows the Provisioning and Puppet attributes, but its not a problem to define extend the script not to relay on a given hostgroup, or simply override certain default attributes ( such as memory size, or host operation system etc).

Best way ...

[ Read More ]

Getting foreman search results into your Puppet manifest

Ohad Levy (, 2 weeks | Source: The Foreman: Blogs

Lets say you want to know all of the hosts your monitoring host need to monitor, or maybe, the hosts to which your database needs to allow access to, traditionally, the solution to this problem was using Puppet storeconfigs.

In this blog post, I mentioned how you could utilize foreman search language to get customized results.

While storeconfigs is a great solution, and if it works for you, by all means, please do keep using it, but in this post I would like to show you how to use Foreman to query for similar data + foreman data as well.

Lets ...

[ Read More ]

Getting your Puppet Ducks in a Row

Henrik Lindberg (, 2 weeks, 1 day | Source: Puppet on the Edge

Getting your Puppet Ducks in a Row

A conversation that comes up frequently is if the Puppet Programming Language is declarative or not. This is usually the topic when someone has been fighting with how master side order of evaluation of manifests works and have left someone beaten by what sometimes may seem as random behavior. In this post I want to explain how Puppet works and try to straighten out some of the misconceptions.

First, lets get the terminology right (or this will remain confusing). It is common to refer to "parse order" instead of "evaluation order" and the ...

[ Read More ]

How Puppet fits in Complex Enterprise IT Environments

Jamshid, 2 weeks, 5 days | Source: OlinData

This blog is part 1 of a 2 part series about using Puppet in Complex Enterprise Environments.

Enterprise IT environments are usually complex, heterogeneous and spread across multiple data centers. Server deployment usually takes multiple days unless the proper automation or system are in place. Configuration drift, IT compliance, agility and visibility are other challenges. To address such challenges, sys admins often prefer to go with configuration management and automation tools like Puppet, Chef, Ansible, CFengine, etc. In this blog, I will discuss Puppet. 

What is Puppet?

Puppet is a next generation IT automation software for system administrators. Puppet ...

[ Read More ]

The Puppet Type System Blog Posts

Henrik Lindberg (, 2 weeks, 5 days | Source: Puppet on the Edge

The Puppet Type System

In Puppet 3.5's future parser there is a new type system that makes it much easier to write validation logic for parameters (and much more). I have written a series of blog posts about the new type system - and this post is just an index to the series.

It works best if they are read in the order they were published:

[ Read More ]

Stdlib Module Functions vs. Puppet Future Parser / Evaluator

Henrik Lindberg (, 2 weeks, 5 days | Source: Puppet on the Edge

The Stdlib is_xxx functions

Stdlib Module vs. Puppet Future Parser / Evaluator

Earlier in this series of blog posts about the future capabilities of Puppet, and the Puppet Type System in particular, you have seen how the match operator can be used to check the type of values. In Puppet 3.6 (with --parser future) there is a new function called assert_type that helps with type checking. This led to questions about the existing functionality in the puppetlabs-stdlib module, and how the new capabilities differ and offer alternatives.

In this post I am going to show examples of when to use ...

[ Read More ]

puppet cloudera module 2.0.1

Michael Arnold, 2 weeks, 6 days | Source: The Razor's Edge

This is a major release of my Puppet module to deploy Cloudera Manager. The major change is that razorsedge/cloudera now supports Cloudera’s latest release, Cloudera Enterprise 5, which adds support for Cloudera Manager 5 and Cloudera’s Distribution of Apache Hadoop (CDH) 5. Additionally, this module and it’s deployment via Puppet Enterprise 3.2 has been certified […]

[ Read More ]

Working at RedHat

jamesjustjames, 2 weeks, 6 days | Source: The Technical Blog of James

So this happened:

James just James at RedHat headquarters in North Carolina

James just James at RedHat headquarters in North Carolina wearing his new red hat.

RedHat made me an offer, and I am happy to say that I have just started this week!

I am proud to have joined a company that employs many of the worlds foremost, highly professional and clever hackers. It is indubitably the best Free Software [1] / Open Source company out there, and they ship some of the greatest and most elegant software available.

Happy hacking,


[1] Since free software is not a matter of price, a low price doesn’t make the ...

[ Read More ]

Heredoc is Here !

Henrik Lindberg (, 3 weeks, 4 days | Source: Puppet on the Edge

Trying out the examples

Starting with Puppet 3.5.0 with --parser future turned on you can now use Puppet Heredoc; basically a way to write strings of text without having to escape/quote special characters. The primary motivation for adding heredoc support to the Puppet Programming Language is to help avoiding the problem known as "backslash hell", where every backslash character in a string may require, two, four or more backslashes to pass an actual backslash through multiple layers of string special character interpretation.

Before talking about the features of Puppet Heredoc, lets look at an example:

 $a = @(END ...

[ Read More ]

Job Opening: Debian Linux System Administrator at Kumina

Tim Stoop, 3 weeks, 5 days | Source: Kumina bv

We’re growing and are looking for Debian Linux System Administors that would like to grow with us and provide sysadmin services to our customers.

TL;DR: (in random order) Debian Linux / Apache / PHP / MySQL / Python / Puppet / KVM / Qemu / PostgreSQL / Tomcat / GlassFish / Logstash / ElasticSearch / HAProxy / Graphite / Heartbeat / Pacemaker / Postfix / Icinga / NFS / DRBD / OCFS2 / Ext4 / Varnish / Unbound / POSIX File Permissions / Git / Kibana / Docker / Awesomeness

Who We Are

Kumina has been around since 2007, but we’re slow growers. Our ideal is to grow no larger than 10-12 people. Expansion should be done by automating the hell out of our work and ...

[ Read More ]

Puppet-Gluster now available as RPM

jamesjustjames, 3 weeks, 5 days | Source: The Technical Blog of James

I’ve been afraid of RPM and package maintaining [1] for years, but thanks to Kaleb Keithley, I have finally made some RPM’s that weren’t generated from a high level tool. Now that I have the boilerplate done, it’s a relatively painless process!

In case you don’t know kkeithley, he is a wizard [2] who happens to also be especially cool and hardworking. If you meet him, be sure to buy him a $BEVERAGE. </plug>

A photo of kkeithley after he (temporarily) transformed himself into a wizard penguin.

A photo of kkeithley after he (temporarily) transformed himself into a wizard penguin.

The full source of my changes is available ...

[ Read More ]

Introducing Puppet Exec['again']

jamesjustjames, 4 weeks, 1 day | Source: The Technical Blog of James

Puppet is missing a number of much-needed features. That’s the bad news. The good news is that I’ve been able to write some of these as modules that don’t need to change the Puppet core! This is an article about one of these features.

Posit: It’s not possible to apply all of your Puppet manifests in a single run.

I believe that this holds true for the current implementation of Puppet. Most manifests can, do and should apply completely in a single run. If your Puppet run takes more than one run to converge, then chances ...

[ Read More ]

Preserving your working directory in gnome-terminal

jamesjustjames, 1 month | Source: The Technical Blog of James

I use gnome-terminal for most of my hacking. In fact, I use it so much, that I’ll often have multiple tabs open for a particular project. Here’s my workflow:

  1. Control+Alt+t (My shortcut to open a new gnome-terminal window.)
  2. cd ~/code/some_cool_hack/ # directory of some cool hack
  3. Control-Shift-t (Shortcut to open a new gnome-terminal tab.)
  4. Hack, hack, hack…

The problem is that the new tab that I’ve created will have a $PWD of ~, instead of keeping the $PWD of ~/code/some_cool_hack/, which is the project I’m working on!

The solution is to add:

# including this ...

[ Read More ]