Why do we want configuration management? There are plenty of reasons, but at the core of them is that we want to streamline the configuration and deployment of systems. We want this process to be repeatable, well-understood, and predictable. We want to make it deterministic. Determinism — the idea that a process should result in […]
It’s come time for us to pick a code name for our next release of Puppet. If you help develop Puppet you may be fairly familiar with our naming system, but for those who haven’t yet contributed to the open source project, we name each version of Puppet after a Muppet. We use code names […]
This post is the second in a series on Live Management, new in Puppet Enterprise 2.0, a capability that lets you visually discover, clone, and manage resources across your entire deployment, all through the graphical interface (GUI). In the first post in this series we covered how to make quick changes across your infrastructure by […]
I’m thrilled to announce that VMware, Google Ventures, and Cisco have joined existing investors Kleiner Perkins Caufield & Byers, True Ventures, and Radar Partners in our $8.5 million Series C financing. Gene Kim, author of VisibleOps and founder of Tripwire, has also invested. It’s an exciting milestone for our company. In 2005, after years of […]
OVERVIEW We have discovered a security vulnerability (“AltNames Vulnerability”) whereby a malicious attacker can impersonate the Puppet master using credentials from a Puppet agent node. This vulnerability cannot cross Puppet deployments, but it can allow an attacker with elevated privileges on one Puppet-managed node to gain control of any other Puppet-managed node within the same […]
Cloud computing has brought many benefits to enterprises and startups alike. Not only has it dramatically lowered the cost and time of getting from a prototype to a live product, it has lowered the time required to scale to increased demand. However, the benefits of cloud computing come with difficulties. One of these challenges is […]
As announced by AWS last week, the latest version of the Amazon AMI now includes Puppet 2.6.6 and Facter 1.5.9 (release notes). Accompanying the announcement AWS released a white paper outlining steps to integrate AWS CloudFormation and Puppet. The white paper demonstrates: Installing and securely configuring the Puppet Master Automating the install of Facter Customizing […]
Today we’re excited to announce Puppet Enterprise 1.2 with two great new features that give you the intelligence you need to prove you’re in compliance with your change management processes. With Puppet Enterprise Compliance you set a desired-state for each of your systems and monitor them for any changes, right from our web-based Dashboard, creating […]
We are evaluating two tools for testing Puppet modules. One is rspec-puppet, the other is cucumber-puppet. The hope is to get standards for testing into the module forge and hook it into a CI framework such as Hudson or Jenkins. This will enable Puppet Forge users to immediately evaluate a module in terms of its test failure rate, and enable developers to see the intended behavior of the module. The higher level goal is to open a discussion among developers on the Puppet Forge about the intended behavior of modules, what they need to do, and what they should and should not be doing.
Another huge goal of this project is to develop a way to test Puppet without running puppet apply and looking to see what worked or didn’t. Both of the tools under consideration allow the developer/sysadmin to test the modules against Puppet to see if they compile (equivalent to a puppet apply —noop) and then hold the catalog object so that we can see if the catalog is formed as intended.
Cucumber-puppet’s advantages are that it is a more mature codebase, it is faster to start with, and it uses the human-readable gherkin language for its tests. One disadvantage for cucumber-puppet is that it is difficult to contain all of the tests within a cucumber feature. Many of the tests we have written in cucumber-puppet involved creating dummy nodes in a site.pp to write cucumber tests against. Cucumber-puppet also doesn’t seem to be compatible with Puppet 2.7.x, at least not yet. It is however compatible with the 0.25.x branch which is a benefit for legacy puppet users and administrators.
Rspec-puppet’s advantages are that it is brand new and has seen a flurry of development since its inception. Puppet already uses a lot of rspec to do testing, and, since the gherkin layer is removed, it can be coded entirely in Ruby. Also, in contrast to cucumber-puppet, rspec-puppet tests can be entirely contained within the spec test file. And for compatibility, rspec-puppet works well with the Puppet 2.6.x/2.7.x branches, but does not work with the 0.25.x branch. One note for testing both 2.6.x and 2.7.x is that 2.6.x will raise Puppet::Error exceptions for catalog compilation failures while the 2.7.x branch raises general Runtime exceptions.
Indeed uses puppet in testing, integration, staging and production environments. Puppet has enabled Indeed Operations to scale to hundreds of servers across multiple datacenters with differing infrastructure while maintaining configuration consistency in testing, integration, staging and production environments. Our new Vice President of Marketing, Scott Johnston, was recently poking around on Indeed.com and discovered the […]
The day after the party is always the hardest. As you brush your teeth, you remember all of the things you accomplished the night before: the people you met, the names you have forgotten, the number of extremely large Puppet t-shirts you somehow acquired, and two or three OSL mugs you carried across town back […]
Puppet Labs and Cloudera have partnered to colocate an Apache Hadoop Sysadmin training at PuppetConf. The Hadoop sysadmin course at PuppetConf will be one of the first 3-day Hadoop training courses offered, and registration in the training course includes a free ticket to PuppetConf. The Hadoop Sysadmin course is being offered in addition to a […]
With Puppet we build infrastructures, piece by piece, manifest after manifest. We control how nodes are configured, what services they provide, how they are checked. We manage where web applications stay and sometimes how they are built, tested, and deployed. Puppet has a lot of knowledge about our systems. Every catalog we receive is an […]
After I wrote an article for the OpenBSD Journal about my job at M:tier explaining how we were deploying OpenBSD in several production setups, I’ve been asked several times to extend the part regarding our usage of Puppet. Most of our solution management is handled by Puppet, from unattended installation and configuration to daily maintenance […]
Looking for more device management? Read about it here: Managing F5 BIG-IP Network Devices with Puppet Puppet 2.7.0 was recently released. This version, like every new Puppet release, brings numerous new features (and not counting bug fixes), including one I’m very proud of: Network Device Management. This all started during the Puppet Camp Europe 2010 […]
Puppet 2.7.0 is available. This is a feature-based release for the Puppet project. This release incorporates several key new features, hundreds of bug fixes and enhancements, and a lot of input from the community. We went through four release candidates on Puppet 2.7.0 and appreciate all the feedback, bugs, questions and ideas that made Puppet […]
This week Puppet Labs released version 1.1 of Puppet Enterprise. During the 1.0 launch, we committed to expand the number of platforms supported, and this release is focused on just that. In addition to new platform support, we have changed the number of free licenses from 2 to 10. With 2 nodes, some of the […]