|
Re: Template Nodes considered harmful: msg#00248sysutils.puppet.user
Hi all, Sorry for being so quiet on this thread; I've been absorbed in development. I'll be sending out something like a State of the Onion mail today, but in the meantime... On Oct 23, 2007, at 1:33 PM, David Schmitt wrote: > The discussion has brought me to another realisation. When using a > external > node definition script, node inheritance can't be used at all. This > and the > following (shortened) IRC conversation lead me to the conclusion > that using > template nodes should be completely replaced by using a standard > class in the > PuppetBestPractise document on the wiki. Therefore I will go on and > rewrite > that part. My assumption is that node inheritance is implemented in the external node tool -- this way it can provide inheritance however it wants, rather than Puppet enforcing a single inheritance model. > (20:16:02) sheeri: also, if there's no multiple inheritance, why do > I bother > setting up nodes for things....why not just classes, since I can > include > multiple classes? First, let me be clear -- I created nodes because I see nodes as being distinct from classes, but I didn't know if they would actually be functionally different. At this point, they're pretty much exactly the same except for how nodes are looked up when the node contacts the server (i.e., Puppet automatically looks up the right node). I won't be surprised if people see no need for the node construct, or don't use its inheritance or whatever. There's a semantic difference between defining that a node is a member of a class and defining that a class uses other classes. It just so happens that there's currently no functional distinction between them. It's true that you can survive just fine without nodes, but I've always known that some functional reason for their existence would show up, and I think one has. It looks like people are expecting node variables to inherit, which will always be difficult or even impossible with classes. > (20:16:21) sheeri: certainly I can see the need for something being > both > a "webserver" and a "dbserver".......which I'd think multiple > inheritance > would be the way to go Inheritance only makes sense when you're talking about one class needing to modify another class, which is generally not the case. -- Morgan's Second Law: To a first approximation all appointments are canceled. --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | default node (was: Re: Template Nodes considered harmful): 00248, David Schmitt |
|---|---|
| Next by Date: | Re: Template Nodes considered harmful: 00248, Luke Kanies |
| Previous by Thread: | Re: Overrides and node classification (was: Template Nodes considered harmful)i: 00248, Luke Kanies |
| Next by Thread: | Re: Template Nodes considered harmful: 00248, David Lutterkort |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |