Issue #2053 has been updated by Andrew Parker.

Status changed from Needs Decision to Accepted
Assignee changed from eric sorenson to Lee Lowder

I've marked this as related to #1372 because of the discrepancy between 
`include foo` and `class { foo: }` pointed out by Cory Hickey. The 
investigation on the other bug turned up that these two forms end up behaving 
very differently and I think what we are seeing is the result of having 
duplicate code between the two execution paths.

Lee, I'm assigning this to you because it might intersect with your work on 
#1372. Feel free to un-assign it if you don't want to try to tackle this as 
well.
----------------------------------------
Bug #2053: Relative namespacing of class/define names results in big surprises
https://projects.puppetlabs.com/issues/2053#change-77982

Author: Lawrence Ludwig
Status: Accepted
Priority: Normal
Assignee: Lee Lowder
Category: modules
Target version: 
Affected Puppet version: 0.24.7
Keywords: telly deprecation modules classes namespaces names
Branch: 


Due to Puppet's relative namespacing of class names, `include bar` does not 
mean "declare class `bar`." It actually means "try to declare class `<current 
namespace>::bar`, class `<parent of current namespace>::bar`, and so on, 
declaring class `bar` only as a last resort."

    class bar {
      notice("From class bar")
    }
    class foo::bar {
      notice("From class foo::bar")
    }
    class foo {
      include bar
    }
    include foo

This is maximally surprising, especially considering the prevalence of things 
like:

    class apache::nagios {
      include nagios # joke's on you, because this just includes apache::nagios 
again
    }

(Test code from original report: <http://pastie.org/409446>)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" 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-bugs?hl=en.

Reply via email to