On Sunday, November 18, 2012 2:35:56 PM UTC-6, Walter Heck - OlinData.com 
wrote:
>
> Hello, 
>
> On Sun, Nov 18, 2012 at 6:47 PM, Stefan Heijmans 
> <heij...@rechtspraak.nl <javascript:>> wrote: 
> > No, i's not, it is correct, see 
> > http://docs.puppetlabs.com/guides/scope_and_puppet.html 
> > 
> > At the moment you 'include mysql' only the top scope package variable is 
> > known, so there fore mysql package will be installed. 
> > swap them around and mysql-server package will get installed. 
> but I am specifically referring to _not_ the top-scope variable by 
> using $mysql_server::package. This is a scope that doesn't have that 
> variable (yet, anyway). I don't expect Puppet to just jump to a higher 
> level scope (top-scope in this case) to go and look for my variable 
> there. 
>
>

I agree, it looks like a bug to me.  A variable reference should never 
evaluate a variable that doesn't match the given name.  I would file a 
ticket.

The issue may be less straightforward than it first appears, however.  
Consider the difference between $mysql_server::package and 
$::mysql_server::package.  In the vast majority of cases, I would expect 
them to evaluate to the same thing (including manifesting the same bug in 
this case).  But what if there were also this class:

class mysql::mysql_server {
  $package = 'mysql-server55'
}

Assume that mysql::mysql_server is declared before class mysql.  What value 
do you then expect when class mysql dereferences $mysql_server::package?  
That is, do you get "mysql-server" from $::mysql_server::package or 
"mysql-server55" from $::mysql::mysql_server::package?  I think you get the 
latter, and I think that's reasonable.  Moreover, I would guess that the 
support for that behavior is where the bug is hiding.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/wGKqPfk4ZQgJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to