On Wed, Sep 29, 2010 at 3:46 PM, Bruce Richardson <itsbr...@workshy.org> wrote: > On Wed, Sep 29, 2010 at 02:59:28PM +0200, Héctor Rivas Gándara wrote: >> Also, from my tests I checked that the parameters (please correct me if I am >> wrong): >> - Are stored in global scope: All classes has access to it. > > No. The parameters have "node" scope. Any class included within the > node will be able to see the node's values.
Ok, thanks. But I still don't have really clear the different scopes. Do you know any clear documentation about it. A simple diagram like this woud be great: Scope precedence: Subclass => Included Class => Parent Class => Global => Node?? >> But I do not like too much the extlookup solution because: >> * I can not define a common subset of groups that all host will inheret >> (except the ones that overwrite this value). May be using again the >> "default_connect_allowed_groups" variable. > > There's no nice way to do it. Aas I understand it, Puppet's external > nodes code doesn't support arrays, let alone appending to arrays. Every > time I look at using external node classifiers, I walk away from it > again. If I were managing sites of such a scale that it were > unavoidable, I'd be an unhappy person (time to dust off the Ruby > skills). First: I have to say you that external nodes DOES support arrays, just writing [ 'a', 'b', 'c' ] Well, I think that a fast solution could be create a "wrapper" script (an script that parses and modifies the output of the other) for external nodes that would implement simple inheritance and other parameter substitution. We could add a section "super: <name>" and allow the use of reference to other parameters (of actual node or parents) into the parameters. Something like this: - name: linuxserver parameters: connect_allowed_groups: ["group1", "group2"] classes: - linux - name: node1.mydomain.com super: linux parameters: connect_allowed_groups: %{connect_allowed_groups}+["group3"] - name: node2.mydomain.com super: linux parameters: connect_allowed_groups: ["group1", "group3"] This way we could easily implement inheritance in all external nodes implementations. -- Atentamente Héctor Rivas -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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.