Issue #4242 has been updated by Peter Meier.

Well it was a weird class setup that probably evolved over time. And there is 
no reason to have it that way. For sure fixing that weird issue is the proper 
solution, and I did that with that commit 
http://git.puppet.immerda.ch/?p=module-munin.git;a=commitdiff;h=dab730ed6b0667d4356c0e8e21e37719ea977a93
 which might give you an impression of the actual problem.

So what we did was setting up default stuff (like the plugins directory) in 
munin::plugins::base, but also including some default plugins. Each plugin 
class then somehow got somehow at some time the convention, that they should 
inherit from the base class, so that the plugins directory is for sure properly 
setup.

So in my opinion it isn't a bug that we should fix. It's good that puppet is 
now stricter, however it might be good to document that behavior change (as 
that weird setup worked before).
I'm also totally fine if you think that bug report is enough to document it, as 
people might find the error messages and get an idea of why things break now in 
2.6, that haven't up to 0.25.5.
----------------------------------------
Bug #4242: behavior change in recursive inclusions
http://projects.puppetlabs.com/issues/4242

Author: Peter Meier
Status: Accepted
Priority: Normal
Assigned to: Matt Robinson
Category: 
Target version: 2.6.0
Affected version: 2.6.0rc3
Keywords: 
Branch: 


The following (rather weird) class setup worked on 0.25.x:

<pre>
# cat foo.pp 
class test {
  notice("test")
  file{'/tmp/a': ensure => file }
  include testa
}
class testa inherits test {
  notice("testa")
}
include test
</pre>

0.25.5:
<pre>
$ puppet foo.pp
notice: Scope(Class[test]): test
notice: Scope(Class[testa]): testa
notice: //test/File[/tmp/a]/ensure: created
</pre>

2.6:
<pre>
$ puppet foo.pp
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
Duplicate definition: File[/tmp/a] is already defined in file /tmp/foo.pp at 
line 3; cannot redefine at /tmp/foo.pp:3 on node puppet.bar.ch
</pre>

If you remove the file statement, we get the following on 2.6:

<pre>
$ puppet foo.pp
[... a lot of messages ...]
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
notice: Scope(Class[Test]): test
stack level too deep at /tmp/foo.pp:3 on node puppet.bar.ch
</pre>

I don't know if the old behavior was actually correct and the new one should be 
fixed, but I think at least the behavior change should be documented somewhere.


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