Issue #11412 has been reported by Andreas Zuber.
----------------------------------------
Bug #11412: Addidtional inherited classes loaded by an external node script
don't overwrite parameters correctly
https://projects.puppetlabs.com/issues/11412
Author: Andreas Zuber
Status: Unreviewed
Priority: Normal
Assignee:
Category:
Target version:
Affected Puppet version: 2.7.6
Keywords:
Branch:
This is the code to reproduce the bug:
**foo.pp**
<pre>
define speak ($say) {
notice("$say")
}
class foo {
speak{'one': say => "screwed up" }
}
class foo::bar inherits foo {
Speak['one']{ say => "hello"}
speak{'two': say => "world"}
}
node 'default' {
include foo
}
</pre>
**foo_node.sh**
<pre>
#!/bin/sh
echo -e "classes: [\"foo::bar\"]\nparameters: {}\n"
</pre>
The expected output is of course a notice "hello" followed by a notice "world".
But what actually happens is this:
<pre>
$ puppet apply --node_terminus=exec --external_nodes=$HOME/tmp/foo_node.sh
foo.pp
notice: Scope(Speak[one]): screwed up
notice: Scope(Speak[two]): world
notice: Finished catalog run in 0.04 seconds
</pre>
As you can see puppet loads the class "foo::bar" otherwise there would be no
"world" in the output. But it does not modify the inherited resource
"Speak[one]".
If I include "foo::bar" from the default node
<pre>
node 'default' {
include foo
include foo::bar
}
</pre>
then I get the expected result:
<pre>
$ puppet apply foo.pp
notice: Scope(Speak[one]): hello
notice: Scope(Speak[two]): world
notice: Finished catalog run in 0.04 seconds
</pre>
This was tested with the puppet versions 2.7.6 as well as 2.6.4
--
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.