Book Image

Mastering Puppet - Second Edition

By : Thomas Uphill
Book Image

Mastering Puppet - Second Edition

By: Thomas Uphill

Overview of this book

Puppet is a configuration management system and a language. It was written for and by system administrators to manage large numbers of systems efficiently and prevent configuration drifts. Mastering Puppet deals with the issues faced when scaling out Puppet to handle large numbers of nodes. It will show you how to fit Puppet into your enterprise and allow many developers to work on your Puppet code simultaneously. In addition, you will learn to write custom facts and roll your own modules to solve problems. Next, popular options for performing reporting and orchestration tasks will be introduced in this book. Moving over to troubleshooting techniques, which will be very useful. The concepts presented are useful to any size organization. By the end of the book, you will know how to deal with problems of scale and exceptions in your code, automate workflows, and support multiple developers working simultaneously.
Table of Contents (17 chapters)

Store


To enable the store mechanism, use reports = store. We'll add this to our log destination in this example, as shown in the following snippet:

[main]
reports = store

The default location for reports is reportdir. To see your current reportdir directory, use the --configprint option on the master, as shown in the following snippet:

[root@stand ~]# puppetconfig print reportdir
/opt/puppetlabs/server/data/puppetserver/reports

The store option is on by default; however, once you specify the reports setting as anything in the main section of puppet.conf, you disable the implicit store option. Remember that report files will start accumulating on the master. It's a good idea to enable purging of those reports. In our multiple-master scenario, it's a good idea to set report_server in the agent section of the nodes if you are using store, as shown in the following commands. The default setting for report_server is the same as the server parameter:

[root@client ~]# puppetconfig print report_server...