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.
