> On Jan 9, 2015, at 2:52 PM, Jason Price <japr...@gmail.com> wrote:
> 
> This doesn't make me happy, but fine. Major versions let you have breaking 
> changes.
> 
> My question is this: What do I replace it with?
> 
> My use case is as follows:
> 
> ------------------------------------
> node default {
>    class{ 'ntp': }
>    class{ 'dns': }
>    class{ 'monitoring': }
>    class{ 'puppet_agent': }
> }
> 
> node 'myweb' inherits default {
>    class{ 'web': }
> }
> 
> node 'mydb' inherits default {
>    class{ 'db': }
> }
> -----------------------------------
> 
> This has several very useful features:
> 1) Everything 'standard' is nicely encapsulated in the 'default' node.  
> 2) Everything in 'default' resolves and is complete before anything in 'web' 
> or 'db' is done. This means I don't have to go crazy about 'requires' and 
> 'notify' for these resources. They're already done.
> 
> So: What do I do instead which handles the two features?  I could easily 
> build a new class with everything in the default node... But that fails the 
> second piece. I'd have to build a nasty anchor pattern in every node to 
> ensure that everything in default resolves first... which is ugly.
> 
> Thoughts?


Here's a quick-and-dirty rejiggering that keeps the same functionality:

class default_class {
   class{ 'ntp': }
   class{ 'dns': }
   class{ 'monitoring': }
   class{ 'puppet_agent': }
}

node 'myweb' {
   require default_class
   class{ 'web': }
}

node 'mydb' {
   require default_class
   class{ 'db': }
}

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/3C142BDD-4652-4BFF-AC67-BE88CDDC7603%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to