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.

Reply via email to