Ok, so I figured I'd move this here since IRC isn't the place for it.

Ok, so I have my 40ish servers.  Of those, 36 or so of them have hosts 
entries that need to look like this:

127.0.0.1               localhost
172.x.x.x               dbprod1.xxx.com dbprod1
172.x.x.x               mgmt01.xxx.com mgmt01 puppet certmaster
172.x.x.x               mybox.xxx.com mybox

Where mybox is the name of the box.

The others have a few additional entries.

So, I made a class that creates those hosts entries and I include it on my 
host.

Part of the class does this:

   host { "${fqdn}":
     ip => $ipaddress,
     alias => $hostname,
   }

Seems simple enough eh?

The issue comes up with those few exception.  In particular on the mgmt01 
box.  It blows up because it I end up redefining the host, which is a 
nono.

So - lightbulb goes off in head.  I'll add a case to the class that checks 
if the fqdn is one of the ones I manually insert, and if so I'll skip it.

Now to me, this is a bad solution because it puts node specific logic 
inside a class - I think that from a architecture/reusable component/large 
scale perspetive that stuff belongs at the node definition.  I guess I 
could just not use my host class on my exception.

So, my next attempt was this:

node mgmt01.xxx.com {
   $extrahosts = ["puppet", "certmaster"]
   include hosts
}

So, I thought this would work:

if $extrahosts {
   $myhosts = [$hostname, $extrahosts]
} else {
   $myhost = $hostname
}

   host { "${fqdn}":
     ip => $ipaddress,
     alias => $myhost,
   }

Still have the case to handle the duplicate type, but this allow me to 
specify the extra aliases and handles the rest of my cases.

But, this doesn't work.

It would seem that the above not working in SOME form really limits the 
ability to write modules/classes that work in 90% of the cases and can be 
overridden in the other 10%.  This simplifies configuration a lot.

Am I just doing something wrong?  Am I crazy?  Am I thinking too much like 
a programmer?  Do I suck?

Just looking for thoughts?

Jason

-- 
Jason Slagle - RHCE
/"\ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
\ /   ASCII Ribbon Campaign  .
  X  - NO HTML/RTF in e-mail  .
/ \ - NO Word docs in e-mail .


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to