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.
