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

Scaling stored configs

We have seen that the usage of exported resources allows resources declared on a node to be applied on another node. In order to achieve this, Puppet needs the storeconfigs option enabled and this involves the usage of an external database where all the information about the exported resources is stored.

The usage of store configs has been historically a big performance killer for Puppet. The amount of database transactions involved for each run makes it quite a resource-intensive activity.

There are various options in puppet.conf that permit us to tune our configurations. The default settings are as follows:

storeconfigs = false
storeconfigs_backend = active_record
dbadapter = sqlite3
thin_storeconfigs = false

If we enable them with storeconfigs = true, the default configuration involves the usage of the active_record backend and a SQLite database.

This is a solution that performs quite badly and, therefore, should be used only in test or small environments. It has the...