I created a module with a .pp file containing the following: # ## Class for dns configuration # class resolve-dns{ include my-dns-resolver::location file{ '/etc/resolv.conf': source => $my-dns-resolver::location::resolvesource, ensure => present, mode => 644, owner => root, group => root; } } # # class my-dns-resolver::location { case $domain{ "site-a": { $resolvesource="puppet:///files/etc/resolv.site-a.conf" } "site-b": { $resolvesource="puppet:///files/etc/resolv.site-b.conf" } } }
And included my resolve.conf files in my files directory at the above given path. I hope that helps, I would like to see how other people did this. Greg On 9/23/10 11:40 AM, "Mark Glossop" <mark.glos...@uwa.edu.au> wrote: > On 24/09/10 1:03 AM, somebody called Tony G. (tony...@gmail.com) wrote this: > > http://projects.puppetlabs.com/projects/1/wiki/Resolv_Conf_Patterns > > On Thu, Sep 23, 2010 at 11:36 AM, Daniel Maher <d...@witbe.net> wrote: > Hello, > > I have two sites with a small number of machines at each. Each site is > functionally identical. I would like to set up a bunch of templates for the > various services at each site, with a handful of variables that indicate which > site the service is configured for. What would be "best practice" way to > accomplish this in Puppet ? > > Consider : > > s...@abc$ facter | grep domain > domain => abc.dom.ain > s...@abc$ cat /etc/resolv.conf > search abc.dom.ain > 10.1.0.1 > > s...@xyz$ facter | grep domain > domain => xyz.dom.ain > s...@abc$ cat /etc/resolv.conf > search xyz.dom.ain > 10.2.0.1 > > > Thus i would like a template "resolv.conf.erb" : > > search <%= site_name =>.dom.ain > 10.<%= site_ip =>.0.1 > > > I _could_ put something like this into _every_ class : > > $site_name = $domain ? { > 'abc.dom.ain' => 'abc', > 'xyz.dom.ain' => 'xyz', > } > # etc... > > That works, but frankly it's offensive in every way. There are clearly other > ways to go about it, so i am curious : for Puppet, what is the best practice > solution ? > > Thank you all for your time and consideration. > > Er, unless I'm missing something folks, the OP wasn't asking about managing > /etc/resolv.conf - AFAICT /etc/resolv.conf was only used by the OP as an > example. How to manage that file in a one-off case it wasn't the objective. > > So rehashing [paraphrasing mine]: what is Puppet "best practice" for setting a > handful of variables in a single location that then determine the > configuration of each client? > > I'm posting because I'm interested in the answer too...and the answers so far > don't help answer it IMHO. If the answer is in the documentation somewhere [I > know I haven't found it so far...], well, a link to that doc would be welcomed > for my part. > > Regards, > M. > -- > Mark Glossop > IT Projects Officer [Murchison Widefield Array Radiotelescope] > ICRAR - International Centre for Radio Astronomy Research > Discovering the hidden Universe through Radio Astronomy > [cid:3368140823_18093341] > E: mark.glos...@icrar.org | W: http://icrar.org > P: +61 [0]8 6488 7744 | RSS: http://icrar.org/news/feed > M: +61 [0]406 351 336 | TW: http://twitter.com/icrar -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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.