Issue #17799 has been updated by Nick Fagerlund.
So fully-qualified variables actually work identically to short variables; they just change where lookup STARTS. Just like short variables don't tell Puppet where to _stop_ lookup, fully-qualified variables don't tell Puppet where to stop lookup. So lookup will start in the specified scope, but if nothing is found, it will progress to the parent scope, grandparent scope, etc. etc. and eventually top scope. So this is working as designed. ---------------------------------------- Bug #17799: Scope problem in 2.7.12 (PE 2.5.3) https://projects.puppetlabs.com/issues/17799#change-77436 Author: Walter Heck Status: Unreviewed Priority: Normal Assignee: Category: Target version: Affected Puppet version: 2.7.12 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.
