Book Image

Mastering Chef

By : Mayank Joshi
Book Image

Mastering Chef

By: Mayank Joshi

Overview of this book

Table of Contents (20 chapters)
Mastering Chef
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
2
Knife and Its Associated Plugins
10
Data Bags and Templates
Index

Environment run lists


One of the major reasons why roles aren't popular is due to the fact that it's hard to maintain versioned run lists. For example, you might have created web servers with the role webserver that had a run list containing the base and nginx recipes. Now, today you needed to add another recipe, say logstash, to these servers. So you went ahead and added the recipe to the run list in your role and triggered a chef-client run either automatically or manually. This is where you didn't realize that your new recipe code had a bug and now all your ten servers are in a messed-up state.

There are many ways to overcome this issue; however, I like to use environment run lists just for this very purpose. I split my infrastructure into different environments such as dev, staging, and production. Whenever I write a new piece of Chef code, I ensure that I push it into the run list associated with the dev environment initially for local testing. Once it has passed there, I add the recipe...