Issue #17799 has been updated by Andrew Parker.
Variable lookups for qualified names will traverse to the referenced class and
then start the variable lookup from there in the normal fashion. This can be
seen by doing something like:
<pre>
> bundle exec puppet apply -e 'class foo {} node default { include foo notice
> $foo::fqdn }'
Notice: Scope(Node[default]): aparker.corp.puppetlabs.net
Notice: Finished catalog run in 0.04 seconds
</pre>
You'll get the same result if you use `$::foo::fqdn`. This may not be ideal,
but it is the way variable lookups have worked for a very long time. I believe
this is a side-effect of trying to support inheritance of variables in child
classes.
----------------------------------------
Bug #17799: Scope problem in 2.7.12 (PE 2.5.3)
https://projects.puppetlabs.com/issues/17799#change-79741
Author: Walter Heck
Status: Needs Decision
Priority: Normal
Assignee: Henrik Lindberg
Category: language
Target version:
Affected Puppet version: 3.0.2
Keywords:
Branch:
Copy-paste from the mailing list:
<pre>
I was playing around with scopes, and I noticed the following
behaviour, which strikes me as odd? This was done with Puppet
Enterprise 2.5.3 which is really Puppet 2.7.12.
I'm not sure what I would expect, quite likely an error message or at
the very least 'mysql-server' package gettign installed. Instead, it
just seems to choose the top-scope variable 'mysql'
$package = 'mysql'
class mysql {
package { $mysql_server::package:
ensure => present
}
}
class mysql_server {
include mysql
$package = 'mysql-server'
}
include mysql_server
This yields:
[root@master test]# puppet apply manifests/init.pp
notice: /Stage[main]/Mysql/Package[mysql]/ensure: created
notice: Finished catalog run in 6.25 seconds
</pre>
--
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.