Issue #5517 has been updated by eric sorenson. Assignee changed from Nick Lewis to eric sorenson Target version changed from 2.7.x to 3.x
Hi all, we are trying to work through the implications of this problem. It's clearly something people feel strongly about and goes deep into the guts of puppet. I got a bit of a braindump from nick lewis; as I understand it, the nut of it is that although resource-style class declaration makes classes look like resources, they are not _actually_ resources so the parameter override syntax you're trying to do via inheritance doesn't work. ---------------------------------------- Bug #5517: behavior change within 2.6 makes it impossible to override class parameters of "included" parametrized classes https://projects.puppetlabs.com/issues/5517#change-69780 Author: Peter Meier Status: Accepted Priority: High Assignee: eric sorenson Category: language Target version: 3.x Affected Puppet version: 2.6.3 Keywords: parameterized_classes Branch: In 2.6.1 the following recipe: <pre> class a( $b_c = { 'b' => 'foo' } ) { notice $a::b_c if $a::b_c { notice $a::b_c['b'] } } class b { class{'a': b_c => false } } class b::c inherits b { Class['a']{ b_c => { 'b' => 'bleh' } } } class b::d { include ::b::c } include b::d </pre> produces the following output: <pre> $ puppet foo.pp notice: Scope(Class[A]): bbleh notice: Scope(Class[A]): bleh </pre> Which is what I expected. However with 2.6.3 it produces the following output: <pre> # puppet foo.pp notice: Scope(Class[A]): false </pre> Imho likely the changes for #4778 and #5074 are responsible for that behavior change. However this makes it impossible to overwrite parameters of a "included" parametrized class in a subclass. There are only ugly workarounds for that problem and I think this should actually work as it did within 2.6.1. Otherwise the usefulness of parametrized classes is quite reduced. -- 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.
