Issue #22274 has been updated by Igor Galić.

I don't understand how this is supposed to be step 3, i.e.: give "default text".

"default text" in my example would be "bar", as provided by 
`$foo::params::bar`, but what we get is "baz", i.e.: the first hit in hiera.

so it seems that puppet is wholly ignoring my asignment, and using the hiera as 
default.

----------------------------------------
Bug #22274: Automatic hiera lookup triggered despite explicit override
https://projects.puppetlabs.com/issues/22274#change-96966

* Author: Igor Galić
* Status: Needs More Information
* Priority: Normal
* Assignee: Igor Galić
* Category: 
* Target version: 
* Affected Puppet version: 3.2.4
* Keywords: documentation hiera
* Branch: 
----------------------------------------
I managed to reproduce on a very small scale an issue that's I've debugged for 
hours yesterday.

if we have a class:

<pre>
class foo (
  $bar = hiera_array('foo::bar', $foo::params::bar),
) inherits foo::params {
  notify{ "foo::bar: ${bar}": }
}
class foo::params {
  # so we know if we're hitting defaults, or actually hiera!
  $bar = 'bar'
}
</pre>
and a hierachiy:
<pre>
%{::fqdn}
%{::common}
</pre>    
with the values:
<pre>
--- # ::fqdn
foo::bar: baz
</pre>
and
<pre>
--- # ::common
foo::bar: quux
</pre>
then hiera -a will deliever [ 'baz', 'quuux' ], but our notify will give
us 'baz'. Now, if we change the class:
<pre>
class foo (
  $_bar = hiera_array('foo::bar', $foo::params::bar),
) inherits foo::params {
  notify{ "foo::bar: ${_bar}": }
}
</pre>
we'll get the expected result, that is, notify will print:
<pre>
Notice: /Stage[main]/Foo/Notify[foo::bar: bazquux]/message: defined 'message' 
as 'foo::bar: bazquux'
</pre>
My question is simple: If this is a feature, it needs to be documented some 
place.


-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to