On Aug 19, 2009, at 11:03 AM, Duncan Hill wrote:
>
> Hello folks,
>
> Running 0.24.6, and I need a clue-by-4 with something I'm trying to
> do.
>
> I have a single manifest file, used by 3 servers. Depending on the
> server name, I need to allocate a different set of variables that get
> used to populate a host {} block.
>
> Since Puppet doesn't work in a top-down manner, this has a chance of
> working sometimes, but not all the time.
>
> A convoluted approach that just came to mind is to use inheritance
> tricks. Namely:
>
> node application-server inherits generic-server {
> all common stuff other than hosts
> possibly the if logic to set the IPs
> }
> node specific-1 inherits application-server {
> host {}
> }
> node specific-2 inherits application-server {
> host {}
> }
>
> Are there any better solutions to this? I'm making the assumption
> (that I'm about to test) that inheritance is top-down.
Hi Duncan,
why not define the variables per 'node'? Why use inheritance at all?
Personally I'm not a fan of node inheritance and like putting all of
the classes in another class which then is in included in each node.
For your example, create a class and specify the 'host' type.
If these are required parameters, you can put in your 'class'
something like this:
case $directadmin_cid {
'': { fail("You need to define your directadmin cid! Please set
\$directadmin_cid in your site.pp or node config") }
}
This will make sure that the node has the proper variables when you
include the class.
Hope this helps...
-L
--
Larry Ludwig
Reductive Labs
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---