Hi,

On 24 avr, 18:40, jcbollinger <john.bollin...@stjude.org> wrote:

> Another alternative would be to do exactly as you would have done with
> 0.24 or 0.25.  Global variables, node variables, and dynamic scoping
> still work in 2.6, and even 2.7 (though 2.7 will issue warnings about
> resolving variables via dynamic scoping).  As far as I know, global
> variables will be supported in Telly, too, though you will have to
> reference them by their fully-qualified names.
>

I'm back at fiddling with globals or hiera. Not sure yet which way
we'll go but while playing around, I've have some unexpected results.

manifests/site.pp:

$globalenv = "prod"

node    'centos6.priv.net' {
        $globalenv      = "int"
        class { "yum" :
        }
}


modules/yum/manifests/init.pp
class   yum::params {
        notify { "yum-params" :
                message => "yum:params globalenv=
$globalenv / ::globalenv=$::globalenv"
        }

        $baseurl = $globalenv ? {
                        'int'   => 'http://testing.priv.net',
                        default => 'http://production.priv.net',
                }
}

class   yum(
        $baseurl        = $yum::params::baseurl,
        $centosversion  = "current"
        ) inherits yum::params {



I'm mixing the the "sane parameter default" pattern with global
variables. We'll see whether that leads to something useful but my
issue right know is that $globalenv and $::globalenv do not evaluate
to the same value.

Here's what Notify[yum-params] displays:
notice: /Stage[main]/Yum::Params/Notify[yum-params]/message:
current_value absent, should be yum:params
globalenv=int / ::globalenv=prod (noop)

It seems $::globalenv evaluates to the top-level scope/value while
$globalenv returns the "overridden" value. Is that the expected
behavior ? Am I missing something ?

I'm running puppet 2.6.16.

Thanks !
G

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
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