On Mon, Aug 08, 2011 at 06:25:20AM -0700, Alessandro Franceschi wrote:
> NEVER include a class in the inheritance tree (well you can if you
> don't redefine variables used in that class but still is not
> necessary).
> In a nodes inheritance layout BEFORE you set the variables and THEN
> you include classes (in my case "role classes").

This is precisely why Puppet's inheritance model is painful.  To be
safe, you have to include all classes at the specific node.  You can
hide some of this in role-based classes, but only so much.  It causes
duplication, noise in the config and is an unnecessary potential source
of error.  Yes, if you use an ENC, you can avoid some of this by, for
example, having a script that queries a database in which the
duplication has been removed by normalisation, or by using a language
with a sane inheritance model to describe your nodes.  That, though, is
only hiding the problem and still means much more noise than is
necessary in the communication between the ECN and Puppet (which is
still a potential source of error, as the same datum transmitted many
times is more likely to be corrupted/distorted in one of those
instances).

-- 
Bruce

I unfortunately do not know how to turn cheese into gold.

Attachment: signature.asc
Description: Digital signature

Reply via email to