Puppet executes classes in the wrong order

278 views Asked by At

The four modules mentioned below are what are there in my site.pp file. These four modules are written by me, they inturn use the Forge modules.For example, iis::install uses puppetlabs/windowsfeature module to install IIS and site::install uses puppetlabs/iis to create website and appPool that I require.

The problem that I am encountering is - Puppet rightly starts execution with iis::install but it does not finish executing this class fully. It keeps it in the background and then starts executing tools::install. As a result of wrong execution order, it fails completely

I am facing the exact same issue with the other two classes as well. It just starts executing site::install and then proceeds to include site::install. At the end, after the remaining classes complete execution, the classes in the background proceeds their execution

How can I inform Puppet in Site.pp file to complete the execution of first class before proceeding to the next

 node default {
   include iis::install
   include tools::install   
   include site::install
   include deploy::execute
   }
1

There are 1 answers

0
kkamil On

Please read this article about resources ordering in puppet.

E.g you can use chaining arrows to define order between classes:

Class['iis::install'] -> Class['tools::install'] -> 
Class['site::install'] -> Class['deploy::execute']