Issue #11875 has been updated by Daniel Pittman.

Status changed from Needs More Information to Accepted

Kelsey Hightower wrote:
> Can you provide some insight on how best to approach this issue? I'm thinking 
> about trying to fix this one, once the direction is clear.

The right fix is to enhance the system to report, indeed, the fully qualified 
path and, ideally, the file and line number where the error occurs.
----------------------------------------
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

Author: Daniel Grace
Status: Accepted
Priority: Low
Assignee: Daniel Pittman
Category: error reporting
Target version: 
Affected Puppet version: 2.7.9
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 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.

Reply via email to