On Mar 17, 6:03 pm, Ashley Gould <[email protected]> wrote:
> I'm hoping to avoid using subclasses, because there would have to
> be oodles of them to accomodate the all the variations between nodes.
>
> node default {
>     class { sudoers: }
>
> }
>
> node 'sl11lab02' inherits default {
>
>     # this runs but does nothing
>     Class[sudoers] { additional_rules => [ "$rules_uas" ] }
>
>     # this errors with "Cannot assign to variables in other namespaces"
>     #$sudoers::additional_rules = [ "$rules_uas" ]
>
>     # this errors with "Class[Sudoers] is already defined"
>     #class { sudoers: additional_rules => [ "$rules_uas" ] }
>
> }

Node inheritance is not the same as class inheritance.  Only the
latter allows you to override resource properties, and I'm not sure
whether even that allows you to override class parameters.  I had
thought not.

If you have many nodes with various small differences between them,
then perhaps it's time to look into an external node classifier.
Alternatively, make your classes smarter: instead of parameterizing
them, put the erstwhile parameter-selection logic inside them.


John

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

Reply via email to