Issue #13349 has been updated by Jeff Weiss.

Status changed from Investigating to In Topic Branch Pending Review
Branch set to https://github.com/puppetlabs/puppet/pull/723


----------------------------------------
Bug #13349: Incorrect scope behavior: single include may load multiple classes
https://projects.puppetlabs.com/issues/13349#change-61517

Author: Mark Dixon
Status: In Topic Branch Pending Review
Priority: High
Assignee: Jeff Weiss
Category: language
Target version: Telly
Affected Puppet version: 2.7.11
Keywords: 
Branch: https://github.com/puppetlabs/puppet/pull/723


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