Issue #17715 has been updated by Lee Lowder.

Status changed from Needs Decision to Closed

Closing this as "Not a Bug" per my prior comments.
----------------------------------------
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#change-83129

Author: Jon Topper
Status: Closed
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 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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to