Circular dependencies

Circular dependencies don't happen often in Puppet development, but when they do, they can be a major pain to troubleshoot. Circular dependencies happen when we create dependency chains with arrow indicators (->) or ordering metaparameters. In the following example, my three notify statements require each other in a circular chain - a -> b -> c -> a:

class profile::baseline::linux {# notify {'baseline': message => 'Applying the Linux Baseline!' }  notify {'a':    message => 'Resource A',    require => Notify['b']  }  notify {'b':    message => 'Resource B',    require => Notify['c']  }  notify {'c':    message => 'Resource C',    require => Notify['a']  }}

When this catalog is applied on the node, we'll get a statement letting us know which ...

Get Mastering Puppet 5 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.