Issue #17715 has been reported by Jon Topper.
----------------------------------------
Bug #17715: Variables with defaults incorrectly looked up in hiera if a value
is not passed to a class declared like a resource.
https://projects.puppetlabs.com/issues/17715
Author: Jon Topper
Status: Unreviewed
Priority: Normal
Assignee:
Category:
Target version:
Affected Puppet version: 3.0.1
Keywords:
Branch:
Given a puppet manifest like:
<pre>
class test_class ( $test_param = 'foo' ) {
info( $test_param )
}
node default {
class { test_class: }
}
</pre>
and a hiera.yaml like
<pre>
---
:backends: - yaml
- puppet
:logger: console
:hierarchy: - environments/%{fqdn}
- common
:yaml:
:datadir: /tmp
:puppet:
:datasource: data
</pre>
When invoked thus:
<pre>
puppet apply --verbose test.pp --hiera_config ./hiera.yaml
</pre>
the following warnings occur:
<pre>
Warning: Scope(Class[Test_class]): Could not look up qualified variable
'data::environments/core.vagrant::test_class::test_param'; class
data::environments/core.vagrant::test_class could not be found
Warning: Scope(Class[Test_class]): Could not look up qualified variable
'data::common::test_class::test_param'; class data::common::test_class could
not be found
Warning: Scope(Class[Test_class]): Could not look up qualified variable
'fake::data::test_class::test_param'; class fake::data::test_class could not be
found
</pre>
It looks like this is the hiera code attempting to look up the value of
test_param in the hiera data. I believe this is incorrect, and that the
behaviour should be equivalent to me invoking the class as
<pre>
class { test_class:
test_param => 'foo'
}
</pre>
which doesn't throw the warnings.
TL;DR: if I set a variable's default in the class definition, this shouldn't be
looked up in hiera if I don't pass it when declaring the class like a resource.
--
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.