> In James Turnbull's book there's a good discussion on the variable
> scoping issue (excellent book btw, a must have).  He offered a
I have it, and while a good book, I don't think my problems are with
understanding the issues- I just want puppet to do things it can't.

> $ntp_servers = ['ntp01.example.com',
>                           'ntp02.example.com']
>
> class zones::global {
>   $ntp_acls = ['']
>   include ntp
> }
See- now you're defining a role (ntp) and settings ($ntp_acls) for
that role all in the same place. I wanted to use zones to define
various settings and then just keep overriding them. If I include
classes then the scoping rules prevent the variables in my zone class
from being seen by my role class so that doesn't work either.

What I've started doing is to use inheritance to build a variable
tree:

node global {
  ntp_servers = ['']
}

node zonenyc inherits global {
  $ntp_servers = ['10..1.1.10']
}

node client inherits zonenyc {
  include roles::general
}

node ntpmaster inherits zonenyc {
  $ntp_servers = ['pool.ntp.org']

  include roles::general
  include roles::ntpmaster
}

It's not nearly as clean as I would like, but at least I can override
variables and accomplish most of what I want to do.

-Don
--~--~---------~--~----~------------~-------~--~----~
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