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.

Reply via email to