On Thu, Sep 16, 2010 at 4:03 PM, Nigel Kersten <[email protected]> wrote: > On Thu, Sep 16, 2010 at 12:49 PM, Jeff McCune <[email protected]> wrote: [snip] >> Also, please keep in mind this entire discussion applies to resource >> defaults as well. Whatever behavior we implement for variables should >> also be implemented for resource defaults. > > So the plan is that the only place you can reliably set global > resource defaults is directly in your site.pp or in an *import* from > site.pp ? > > and thus not inside a class that may include all your other classes? > (we have a module 'base' that does all the logic for which other > classes should be included) >
Yeah, so I forgot about this... I rather like being able to do that and we should definitely preserve the feature. I brought this up awhile ago on puppet-users and the thread died pretty quickly with no resolution, which is the thread Nan linked to above. I think we may be approaching this from the wrong angle. What if instead of throwing dynamic scoping out the window, we flatten the class tree? We change the default behavior of include to attach classes to the root of the tree and give the user the option to attach the class somewhere else. If the same class is attached to the tree in two different locations, throw and error. Leave scoping as it is, all of the issues will go away since the class tree is now shallow, broad, and the user must go out of their way to use or abuse the dynamic scoping behavior. -- Jeff McCune http://www.puppetlabs.com/ -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
