Chris Handy
2013-Mar-20 22:04 UTC
[Puppet Users] How to make sure my common module executes before all other ones
I am running puppet 3.1.1 and have a site.pp which roughly looks like this site.pp: node basenode { include common } node ''server1'' inherits basenode { include role::appserver } node ''server2'' inherits basenode { include role::webserver } And my common module includes lots of different types of classes for creating base directories, adding in users/groups, setting up LDAP, mcollective, etc.. So my issue is how to make sure that the common module runs before the roles listed in my node definitions. I know that I could write out node ''server1'' inherits basenode { class{''common'': } -> class{''role::appserver'': } } node ''server2'' inherits basenode { class{''common'': } -> class{''role::webserver'': } } but I am trying to think of a better way to do this. Thoughts? Thanks, Chris -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Wolf Noble
2013-Mar-20 23:00 UTC
Re: [Puppet Users] How to make sure my common module executes before all other ones
Hi Chris, Take a look at run stages http://docs.puppetlabs.com/guides/language_guide.html#stages They make it a little easier to perform some coarse ordering. additionally, you can use PuppetLabs stdlib module and take advantage of the anchor pattern sparingly. Here''s a good example of its use: https://github.com/adrienthebo/puppetlabs-mrepo/blob/master/manifests/init.pp Hope that helps! W On Mar 20, 2013, at 5:04 PM, Chris Handy <chrisjhandy@gmail.com> wrote:> I am running puppet 3.1.1 and have a site.pp which roughly looks like this > > site.pp: > node basenode { > include common > } > > node ''server1'' inherits basenode { > include role::appserver > } > node ''server2'' inherits basenode { > include role::webserver > } > > And my common module includes lots of different types of classes for creating base directories, adding in users/groups, setting up LDAP, mcollective, etc.. So my issue is how to make sure that the common module runs before the roles listed in my node definitions. I know that I could write out > > node ''server1'' inherits basenode { > class{''common'': } -> > class{''role::appserver'': } > } > node ''server2'' inherits basenode { > class{''common'': } -> > class{''role::webserver'': } > } > > but I am trying to think of a better way to do this. Thoughts? > > Thanks, > Chris > > > -- > You received this message because you are subscribed to the Google Groups "Puppet Users" group. > To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. > To post to this group, send email to puppet-users@googlegroups.com. > Visit this group at http://groups.google.com/group/puppet-users?hl=en. > For more options, visit https://groups.google.com/groups/opt_out. > >________________________________ This message may contain confidential or privileged information. If you are not the intended recipient, please advise us immediately and delete this message. See http://www.datapipe.com/legal/email_disclaimer/ for further information on confidentiality and the risks of non-secure electronic communication. If you cannot access these links, please notify us by reply message and we will send the contents to you. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Chris Handy
2013-Mar-21 17:53 UTC
Re: [Puppet Users] How to make sure my common module executes before all other ones
ahhh, this is exactly what I needed. Thanks Wolf!! On Wednesday, March 20, 2013 7:00:26 PM UTC-4, Wolf Noble wrote:> > Hi Chris, > > Take a look at run stages > http://docs.puppetlabs.com/guides/language_guide.html#stages > They make it a little easier to perform some coarse ordering. > > additionally, you can use PuppetLabs stdlib module and take advantage of > the anchor pattern sparingly. > Here''s a good example of its use: > > https://github.com/adrienthebo/puppetlabs-mrepo/blob/master/manifests/init.pp > > Hope that helps! > > W > > > On Mar 20, 2013, at 5:04 PM, Chris Handy <chris...@gmail.com <javascript:>> > > wrote: > > > I am running puppet 3.1.1 and have a site.pp which roughly looks like > this > > > > site.pp: > > node basenode { > > include common > > } > > > > node ''server1'' inherits basenode { > > include role::appserver > > } > > node ''server2'' inherits basenode { > > include role::webserver > > } > > > > And my common module includes lots of different types of classes for > creating base directories, adding in users/groups, setting up LDAP, > mcollective, etc.. So my issue is how to make sure that the common module > runs before the roles listed in my node definitions. I know that I could > write out > > > > node ''server1'' inherits basenode { > > class{''common'': } -> > > class{''role::appserver'': } > > } > > node ''server2'' inherits basenode { > > class{''common'': } -> > > class{''role::webserver'': } > > } > > > > but I am trying to think of a better way to do this. Thoughts? > > > > Thanks, > > Chris > > > > > > -- > > You received this message because you are subscribed to the Google > Groups "Puppet Users" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to puppet-users...@googlegroups.com <javascript:>. > > To post to this group, send email to puppet...@googlegroups.com<javascript:>. > > > Visit this group at http://groups.google.com/group/puppet-users?hl=en. > > For more options, visit https://groups.google.com/groups/opt_out. > > > > > > > ________________________________ > > This message may contain confidential or privileged information. If you > are not the intended recipient, please advise us immediately and delete > this message. See http://www.datapipe.com/legal/email_disclaimer/ for > further information on confidentiality and the risks of non-secure > electronic communication. If you cannot access these links, please notify > us by reply message and we will send the contents to you. >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com. To post to this group, send email to puppet-users@googlegroups.com. Visit this group at http://groups.google.com/group/puppet-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.