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.
signature.asc
Description: Digital signature