> On Jan 9, 2015, at 2:52 PM, Jason Price <[email protected]> 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 [email protected].
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