Book Image

Extending Puppet

By : Alessandro Franceschi
Book Image

Extending Puppet

By: Alessandro Franceschi

Overview of this book

Table of Contents (21 chapters)
Extending Puppet
About the Author
About the Reviewers

Testing the Puppet code

It has been clear for years that there is a strong need to be able to test how changes to our Puppet code can affect our infrastructure.

The topic is quite large and, to be honest, not completely solved, but there are tools and methods than can help us to work safely with Puppet in a production environment.

We can test our code with the following tools:

  • The command puppet parser validate to check the syntax of our manifests

  • The command puppet-lint to check the style of our code

  • The tool rspec-puppet to test the catalog and the logic of our modules

  • The tool rspec-system-puppet and Beaker to test what happens when our catalog is applied to a real system

We can also follow some procedures and techniques, such as:

  • Use the --noop option to verify what the changes before applying them would be

  • Use Puppet environments to try our code on test systems before pushing it into production

  • Have canary nodes where Puppet is run and changes are verified

  • Have a gradual and clustered deployment...