Dealing with exceptions
In a pristine environment, all your nodes with a certain role would be identical in every way, and there would be no exceptions. Unfortunately dealing with exceptions is a large part of the day-to-day business of running Puppet. Using roles and profiles together with hiera, it is possible to remove node level data from your code (roles, profiles, and modules).
Hiera can be used to achieve this separation of code from data. In Chapter 2, Organizing Your Nodes and Data, we configured hiera.yaml with roles/%{::role} in the hierarchy. The defaults for any role would be put in hieradata/roles/[rolename].yaml. The hierarchy determines the order in which files are searched for the hiera data. Our configuration is as follows:
--- ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access