What’s New in Puppet 5?

Review: Executive’s Guide to Cloud Computing by Eric Marks and Bob Lozano

By G C Network | January 26, 2010

Recently, I had the privilege of reviewing an advance copy of Executive’s Guide to Cloud Computing by Eric Marks and Bob Lozano. Available now for pre-order on Amazon, this guide is a…

DoD Cloud Computing Session at 5th International Cloud Expo

By G C Network | January 22, 2010

I’m happy to announce that I will be presenting on DoD Cloud Computing Advances at the 5th International Cloud Expo, April 19-21, 2010 at the Javits Convention Center in New…

InformationWeek Prediction: Cloud Computing for Classified Software

By G C Network | January 20, 2010

Yes, I know you’re sick of all the predictions, but I just can’t resist pointing you to Nick Hoover’s “5 Predictions For Government IT in 2010“. In summary: 1. Cybersecurity…

“Shaping Government Clouds” Just Released

By G C Network | January 12, 2010

As part of the On The Frontlines series, Trezza Media Group has just released it latest on-line electronic magazine. “Shaping Government Clouds” includes: Pete Tseronis, Chairman of the Federal Cloud…

Fed Tech Bisnow: If Nostradamus Did RFPs?

By G C Network | January 6, 2010

Nostradamus may no longer be with us, but check out the “beltway” predictions from Tech Bisnow! “Two hot trends almost all mentioned: early uptick on M&A and cloud computing ubiquity”…

Navy CANES and Cloud Computing

By G C Network | January 4, 2010

During the first quarter of 2010, the Navy is expected to make the first selection for the Consolidated Afloat Network Enterprise System (CANES). CANES is just one component of the…

GovCloud, “Cloud Musings” rated “Influential” by Topsy

By G C Network | January 3, 2010

Log in with Twitter A search engine powered by tweets My sincere appreciation and thanks goes out to Topsy for rating my tweets as “Influential”! Topsy is a new kind…

Jill Tummler Singer Appointed NRO CIO

By G C Network | January 1, 2010

Effective January 1, 2010, Jill Tummler Singer will take the reigns as CIO for the National Reconnaissance Office (NRO). As the CIA Deputy CIO, Ms Tummler has been a proponent…

Most Influential Cloud Bloggers for 2009

By G C Network | January 1, 2010

Thank you Ulitzer and SYS-CON Media for naming me to your list of the most influential cloud computing bloggers for 2009. My hearty congratulations go out to the other bloggers…

2009: The Government Discovers Cloud Computing

By G C Network | December 23, 2009

2009 was truly a watershed year for Federal information technology professionals. After inaugurating the first Cyber-President we saw the appointment of our first Federal CIO and the rapid adoption of…

Puppet 5 is released and comes with several exciting enhancements and features that promise to make configuration management much more streamlined. This article will take a comprehensive look at these new features and enhancements.

Puppet 5 was released in 2017, and according to Eric Sorensen, director of product management at Puppet, the goal was to standardize Puppet as a one-stop destination for all configuration management requirements. Here are the four primary goals of this release:

  • To standardize the version numbering of all the major Puppet components (Puppet Agent, PuppetDB, and Puppet Server) to 5, and deliver them as part of a unified platform
  • To include Hiera 5 with eyaml as a built-in capability
  • To provide clean UTF-8 support
  • To move network communications to fast, interoperable JSON

Customer feedback

Customer and community feedback played a major role in setting the goals for Puppet 5’s release, having helped the developers with identifying and defining certain patterns, such as:

  • Different version numbers across components were a huge source of confusion
  • There was a lot of chaos when it came to combining components to get a working installation as well as where each component would fit
  • Since both Facter 3 and PuppetDB 3 seamlessly rolled into PC1, guaranteeing a new Puppet Collection for every major release didn’t make much sense

However, the makers ensured that one critical aspect didn’t get affected: Modules that worked on Puppet 4 will work unchanged under Puppet 5.

New features

Puppet 5 comes with some power-packed new features; have a look:

  • The call function: The call (name, args,…) function has been added, which allows you to directly call a function by its name
  • The unique function Earlier, you had to include the stdlib module to include the unique function. None of those hassles anymore! The unique function is now directly available in Puppet 5. What’s more, the function is also capable of handling Hash and Iterable data types. In addition, you can now also give a code block that determines whether the uniqueness has been computed.
  • Puppet Server request metrics: Puppet Server 5 now comes with am http-client metric puppetlabs..http-client.experimental.with-metric-id.puppet.report.http.full-response to enable the tracking of how long Puppet Server requests to a configured HTTP report processor take.

Enhancements

Time to take a look at some exciting new enhancements that come with Puppet 5:

  • Switched from PSON to JSON as default: Agents now download node information, catalogs, and file metadata, by default, in JSON instead of PSON in Puppet 5. The move to JSON ensures enhanced interoperability with other languages and tools, while also enabling better performance, especially when the master is parsing JSON facts and reports from agents. Plus, JSON-encoded facts can also be easily accepted in Puppet 5.
  • Ruby 2.4: Puppet now uses Ruby 2.4, which ships in the puppet-agent package. All you have ensure is to reinstall user-installed Puppet agent gems after upgrading to Puppet agent 5.0. This is necessary because of the differences in Ruby API in Ruby 2.1 and 2.4. Further, some gems may also need to be upgraded to versions compatible with Ruby 2.4.
  • HOCON gem is a dependency now: The HOCON gem, which was previously shipped in puppet-agent package is also now a dependency of the Puppet gem.
  • Silence warnings with metadata.json: You can now turn off warnings from faulty metadata.json by setting –strict=off.
  • Updated Puppet Module Tool dependencies: The gem dependencies of Puppet Module Tool are updated to use puppetlabs_spec_helper 1.2.0 or later, which runs metadata-json-lint as part of the validate rake task.
  • Hiera 5 default file: Default Hiera 5-compliant files go into confdir and env-directory. Puppet creates appropriate v5 hiera.yaml in $confdir and $environment Moreover, if Puppet detects a hiera.yaml in either $confdir or $environment, it won’t install a new file in either location or remove $hieradata.

Performance boosts

All these enhancements and new features have contributed to ushering performance boosts in a lot of aspects. The runtimes of Puppet 5 agent have decreased by 30% at equivalent loads (that is, from an average of 8 seconds to 5.5 seconds). In addition CPU utilization of Puppet 5 server has reduced by at least 20% as compared to Puppet 4 in all scenarios, while the CPU utilization for Puppet 5 PuppetDB and PostgreSQL have also significantly reduced in all scenarios.

Catalog compile times of Puppet 5 reported by Puppet Server have reduced by 7% to 10% compared to Puppet 4. Puppet 5 can now scale to 40 percent more agents with no deterioration in runtime performance, whereas Puppet 4 agent runtimes were disastrously long when scaled to the same number of agents.

If you liked this article and want to learn more about Puppet 5, you can explore Puppet 5 Cookbook – Fourth Edition. This book takes you from a basic knowledge of Puppet to a complete and expert understanding of Puppet’s latest and most advanced features. Puppet 5 Cookbook – Fourth Edition is for anyone who builds and administers servers, especially in a web operations context.

( This sponsored post is part of a series designed to highlight recently published Packt books about leading technologies and software applications. The opinions expressed are solely those of the author and do not represent the views of GovCloud Network, GovCloud Network Partners.)

Posted in

G C Network