Issue #13349 has been updated by Jeff Weiss.

The issue seems to be that the first time through 
Puppet::Resource::TypeCollection#resolve_namespaces strips off the leading `::` 
that specifies that it's top level. The next time through it's just looking for 
`bar::something` instead of `::bar::something` and finds `foo::bar::something` 
instead of the top level one.

That still doesn't explain how it ends up with both though, only how it get the 
wrong one.
----------------------------------------
Bug #13349: Incorrect scope behavior: single include may load multiple classes
https://projects.puppetlabs.com/issues/13349#change-61494

Author: Mark Dixon
Status: Investigating
Priority: High
Assignee: Jeff Weiss
Category: language
Target version: Telly
Affected Puppet version: 2.7.11
Keywords: 
Branch: 


I find that if I try and include manifest `bar::something` from within 
`foo::test`, puppet preferentially finds `foo::bar::something` instead of 
`bar::something`. Puppet 2.7.11.

Please consider the following puppet code which demonstrates this:

<PRE>
$ cat test.pp
class { 'foo::test': }

class foo::test {
   class { 'bar::something': }
}

# /.*bar::something/ manifests

# - This is the one I thought I'd get
class bar::something {
   notify { 'peep peep!': withpath => true }
}

# - This is the one that "wins"
class foo::bar::something {
   notify { 'poop poop!': withpath => true }  
}
</PRE>

Running it gives:
<PRE>
$ puppet apply test.pp
notice: /Stage[main]/Foo::Bar::Something/Notify[poop poop!]/message: poop poop!
notice: /Stage[main]/Foo::Bar::Something/Notify[poop poop!]/message: defined 
'message' as 'poop poop!'
notice: Finished catalog run in 0.05 seconds
</PRE>

Is this a bug?

Thanks,

Mark


-- 
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