Planet Puppet

Your source of Puppet technical information

Puppet Virtual Training subscription: get new knowledge with no waiting

Stephanie Stouck, 3 hours, 6 minutes | Source: Puppet Labs

The new Puppet Virtual Training subscription makes it easy to ensure ongoing skill development throughout your organization.

[ Read More ]

Including additional resources in your rspec-puppet tests

rnelson0, 6 hours, 45 minutes | Source: RNELSON0

I’m a strong advocate of creating unit tests for your puppet code with rspec-puppet. I’ve written a number of articles on tests before, so here’s one more. When you’re testing a class, sometimes there’s an expectation that it’s used alongside another class or resource. But your test is only against your class, so how do […]

[ Read More ]

Automate the Bridgekeeper: Using RBAC to safely delegate access

Mindy Moreland, 4 days, 8 hours | Source: Puppet Labs

Spending too much time guarding the bridge? Learn to safely delegate server access with Puppet Enterprise’s role-based access control.

[ Read More ]

Level up your Puppet Enterprise skills: get training at PuppetConf 2016

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

Level up your Puppet skills with training to fit your skill set & interests. Several courses are available to take while you're attending PuppetConf.

[ Read More ]

Extending Chocolatey packaging at Walmart

Derek Robinson, 6 days, 8 hours | Source: Puppet Labs

At Walmart, we’re on the journey of increased automation and efficiency. We decided to stop using gold images for server deployments early on. We knew that by separating the base Windows image from the configuration and application installs, deployments would be faster and more consistent. Additionally, application teams would no longer have to wait for the server teams to recut and publish a new gold image throughout the environment every time the application teams released a new version.

[ Read More ]

OpsTheater 1.6: Open Source at last!

Walter Heck, 1 week, 4 days | Source: OlinData

source: https://flic.kr/p/robn4v

We're excited to release OpsTheater 1.6 and with that release make the full code open source. We actually quietly released a few weeks back already, but life is busy and I didn't have time to write this blog post until today.

Why Open Source?

Since late 2015 we have been working internally on OpsTheater, a stack of tools we see used individually a lot in Enterprise environments. We decided to put them together so we could make our own lives easier. That turns out to work well. A simple OpsTheater deployment with GitLab, Icinga, ELK Stack and ...

[ Read More ]

A modern Puppet 4 control repo

Anonymous, 1 week, 6 days | Source: Example 42

A few weeks ago we introduced version 4 of example42 Puppet modules with a radical change in the reference repository layout. We’ve started to work on a Puppet 4 only compatible control-repo setup and we explored alternatives or optimizations to current best practices. The term “control-repo” is relatively recent in Puppet world but its function has been common for a while: a single place where we manage our whole Puppet setup: our data, our code, the public modules we use. Needless to say that a good stating control-repo is vital to a sane Puppet setup. What we present here ...

[ Read More ]

Converting and Formatting Data Like a Pro With Puppet 4.5.0

Henrik Lindberg (noreply@blogger.com), 2 weeks, 3 days | 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 ]

Digging out data in style with puppet 4.5.0

Henrik Lindberg (noreply@blogger.com), 2 weeks, 4 days | Source: Puppet on the Edge

In Puppet 4.5.0 there are a couple of new functions dig, then and lest that together with the existing assert_type and with functions makes it easy to do a number of tasks that earlier required conditional logic and temporary variables.

You typically run into a problem in programming languages in general when you are given a data structure consisting of hashes/arrays (or other objects), and you need to “dig out” a particular value, but you do not know if the path you want from the root of the structure actually exists.

Say you are given a hash ...

[ Read More ]

Hiera Node Classifier 0.7

R.I. Pienaar, 1 month | Source: R.I.Pienaar - www.devco.net

A while ago I released a Puppet 4 Hiera based node classifier to see what is next for hiera_include(). This had the major drawback that you couldn’t set an environment with it like with a real ENC since Puppet just doesn’t have that feature.

I’ve released a update to the classifier that now include a small real ENC that takes care of setting the environment based on certname and then boots up the classifier on the node.

Usage


ENCs tend to know only about the certname, you could imagine getting most recent seen facts from PuppetDB etc ...

[ Read More ]

Puppet Enterprise Migration from 3.8.4 to 2015.3.3

rnelson0, 1 month, 1 week | Source: RNELSON0

I recently completed a PE migration from 3.8.4 to 2015.3.3 (puppetserver 2.2.41 and puppet agent 4.3.2). This was a somewhat painful exercise, as we kept running into issues because we had gotten so far behind on upgrades. If you need to perform the same kind of upgrade, I hope this broad-stroke description of the upgrade […]

[ Read More ]

The 4th generation of example42 Puppet modules

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

Example42 Puppet modules have been around since 2009, they have lived different generations. It’s time for a new one, the 4th. Almost a revolution. Let me give an historical perspective. The first generation of example42 Puppet modules introduced a set of features that were quite uncommon for the times: Support of multiple OS, based on a dedicated params class Possibility to remove (decommission) the resources managed by the module Abstraction and automation of firewalling and monitoring (Optional) Awesome (IMHO) integration with Puppi 1.0 (Optional) The reference layout of this first generation was done in pre Puppet 2.6 ...

[ Read More ]

Come meet us at RootConf 2016 in Bangalore this week!

Walter Heck, 1 month, 1 week | Source: OlinData

Conferences are some of the greatest ways to connect with your peers and to soak up new knowledge. However, great conferences are not easy to find. Especially not Open Source-focused conferences. Well, I have good news today: the great RootConf conference iscoming up this week in Bangalore, and you can come and meet the OlinData India team and myself there!
 

Database BOF

On Thursday, I'll partake in a Birds-Of-a-Feather session about open source databases together with Colin Charles, Srihari Sriraman and Raj Sekhar. This promises to be interesting as some of us come from a mysql background where others ...

[ Read More ]

Hello, Rabbithole

Anonymous, 1 month, 2 weeks | Source: david.log

Please note that this post is a linear and unedited brain dump of what I did. Many things might have changed meanwhile, and I may have learned how to do things better. This is an experiment in progress.

This is a continuation of lass week's post, refreshing my exiscan module using retrospec-puppet, and a few other nifty technologies. In the last installment I contained docker in a virtualbox to avoid magic action at a distance on my desktop (dialogs popping up, audio being muted).

Picking up the Pieces

Last week, I gave up on this, after provisioning a fresh ...

[ Read More ]

Containing Docker

Anonymous, 1 month, 3 weeks | Source: david.log

Please note that this post is a linear and unedited brain dump of what I did. Many things might have changed meanwhile, and I may have learned how to do things better. This is an experiment in progress.

This is a continuation of lass week's post, refreshing my exiscan module using retrospec-puppet. In the last installment I managed to get the full-system tests running in docker. Yay! It turns out that the SUT from within the docker "container" changes my sound settings and causes weird interactions with my desktop environment. Boo! Isolating myself from the contents of the container ...

[ Read More ]

Setting up modulesync with multiple Puppet modules

rnelson0, 1 month, 3 weeks | Source: RNELSON0

If you maintain more than one Puppet module, you’ve probably spent some time aligning changes in your general setup by hand – rspec helpers, Gemfile, Rakefile, your travis config, etc. Once you have a third or a fourth module, you find that does not scale. Thankfully, there’s a great tool to help automate this: Modulesync. […]

[ Read More ]

Automatic grouping in mgmt

purpleidea, 1 month, 3 weeks | Source: The Technical Blog of James

In this post, I’ll tell you about the recently released “automatic grouping” or “AutoGroup” feature in mgmt, a next generation configuration management prototype. If you aren’t already familiar with mgmt, I’d recommend you start by reading the introductory post, and the second post. There’s also an introductory video.

Resources in a graph

Most configuration management systems use something called a directed acyclic graph, or DAG. This is a fancy way of saying that it is a bunch of circles (vertices) which are connected with arrows (edges). The arrows must be connected to exactly two vertices, and ...

[ Read More ]

Cooperating with Travis CI

Anonymous, 1 month, 3 weeks | Source: david.log

Please note that this post is a linear and unedited brain dump of what I did. Many things might have changed meanwhile, and I may have learned how to do things better. This is an experiment in progress.

This is a continuation of yesterday's post, refreshing my exiscan module using retrospec-puppet. Today I'm aiming for getting the release_checks running on travis. This should ensure that going forward, the module stays neat and clean.

At work we recently released a new version of puppetlabs_spec_helper that has a new rake task that will run all checks that we want to ...

[ Read More ]

Fixing all the Things

Anonymous, 1 month, 4 weeks | Source: david.log

Please note that this post is a linear and unedited brain dump of what I did. Many things might have changed meanwhile, and I may have learned how to do things better. This is an experiment in progress.

This is a continuation of yesterday's post, refreshing my exiscan module using retrospec-puppet.

Braindump

To recap from yesterday, I stopped after finally getting all the boilerplate code up and running, so that the new tests told me that the exim class was missing. In the current code this was a local version of example42/exim. Alessandro has deprecated that module and ...

[ Read More ]

Lies, Damn Lies and Statistics, 2016 Edition

Kris Buytaert, 2 months | Source: Everything is a Freaking Puppet problem

When people sign up for Configuration Management Camp, we ask them what community room they are mostly interested in.
We ask this question because we have rooms in different sizes and we don't want to put communities with 20 people showing interest in a 120 seat room and we don't want to put a community with 200 people in a 60 seat room.

But it also gives us to opportunity to build some very interesting graph over the potential evolution of the communities.

So looking at the figures ... the overall community is obviously growing,From 350 to 420 ...

[ Read More ]