Issue #11875 has been updated by Klavs Klavsen.

Affected Puppet version changed from 2.7.9 to 3.2.4

This is still a problem with 3.2.4 :(
 (Scope(Class[Firewall])) Could not look up qualified variable 
'hiera::network-unknown::firewall::ensure'; class 
hiera::network-unknown::firewall could not be found
 (Scope(Class[Firewall])) Could not look up qualified variable 
'hiera::RedHat::firewall::ensure'; class hiera::RedHat::firewall could not be 
found
 (Scope(Class[Firewall])) Could not look up qualified variable 
'hiera::common::firewall::ensure'; class hiera::common::firewall could not be 
found
 (Scope(Class[Firewall])) Could not look up qualified variable 
'fake::hiera::firewall::ensure'; class fake::hiera::firewall could not be found

Now to hunt for the source of these errors :(


----------------------------------------
Feature #11875: warning for "Could not look up qualified variable 'foo::bar' " 
should report the fully-qualified class name being examined
https://projects.puppetlabs.com/issues/11875#change-96681

* Author: Daniel Grace
* Status: Accepted
* Priority: Low
* Assignee: 
* Category: error reporting
* Target version: 
* Affected Puppet version: 3.2.4
* Keywords: 
* Branch: 
----------------------------------------
Consider the following manifest, assuming the classes and such were separated 
into the correct file structure

<pre>stage { 'init': }->Stage['main']

class config ($server_id => 1) { ... }
class mysql ($server_id => config::$server_id) { ... }
class mysql::config inherits mysql { ... }

Class {'config': }->Class {'mysql': }->Class['mysql::config': }</pre>

During apply, puppet will report a warning similar to:
warning: Scope(Class[Mysql]): Could not look up qualified variable 
'config::server_id'; class **config** has not been evaluated at 
/etc/puppet/modules/mysql/manifests/init.pp:17

What actually is happening is config::$server_id is resolving to 
::mysql::config::$server_id rather than the intended ::config::$server_id, and 
the warning is generated since mysql::config has not yet been evaluated.  
Furthermore, this only happens if there is a class named mysql::config -- if it 
were named, say, 'mysql::files' instead, the code works as intended.

That's not readily obvious from the warning message, however.  If the warning 
message instead read:
warning: Scope(Class[Mysql]): Could not look up qualified variable 
'config::server_id'; class **mysql::config** has not been evaluated at 
/etc/puppet/modules/mysql/manifests/init.pp:17
it would be far more obvious as to what's happening.


-- 
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