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 -~----------~----~----~----~------~----~------~--~---