Thank you for taking the time to demonstrate how to implement a template. This is exactly what I needed.
On Sep 15, 3:28 pm, Eric Heydrick <eric...@speakeasy.net> wrote: > That should work. However, a more puppetish way of doing it is using a > template to generate ntp.conf. I'm guessing the only difference between > your ntp.conf's is the server setting. Here's how you could do it with a > template: > > in site.pp specify ntp servers for each site, e.g.: > > case $site { > sj: { > $ntpServerList = [ 'ntp1.sj', 'ntp2.sj' ] > } > to: { > $ntpServerList = [ 'ntp1.to', 'ntp2.to' ] > } > > } > > then make an ntp.conf.erb in the templates directory that contains this: > > <% ntpServerList.each do |ntpServer| -%> > server <%= ntpServer %> > <% end -%> > > then in your manifest: > > file { "/etc/ntp.conf": > content => template("ntp/ntp.conf.erb"), > > } > > This way you have only one file to edit to change site-specific setings. > > In our environment we have a function in site.pp that determines $site > based on fqdn. > > -Eric > > On Tue, 15 Sep 2009, Mark Christian wrote: > > > Following the example in the CommonMisconceptions I've done away with > > the inherits "base_node" and have instead included the class base_node > > and can now successfully pass my $site variable. However I can't seem > > to include the variable in the "source" parameter for "file" type. > > > For now I'm using this: > > > file { "/etc/ntp.conf": > > owner => root, > > group => root, > > mode => 0644, > > source => $site ? { > > "sj" => "puppet:///ntp/SJ/ntp.conf", > > "to" => "puppet:///ntp/TO/ntp.conf", > > "uk" => "puppet:///ntp/UK/ntp.conf", > > "pg" => "puppet:///ntp/PG/ntp.conf", > > default => "puppet:///ntp/ntp.conf", > > }, > > notify => Service[ntpd], > > require => Package["ntp"], > > } > > > I was just hoping I could use this instead: > > > source => "puppet:///ntp/$site/ntp.conf" > > > On Sep 15, 12:45 pm, Silviu Paragina <sil...@paragina.ro> wrote: > > > I thinks you are in the case explained > > > herehttp://reductivelabs.com/trac/puppet/wiki/CommonMisconceptions > > > > Silviu > > > > Mark Christian wrote: > > > > say I have a couple nodes: > > > > > node 'uk-host' inherits basenode { > > > > $site = "UK" > > > > } > > > > node 'ap-host' inherits basenode { > > > > $site = "AP" > > > > } > > > > > Is it possible to pass the $site variable to the file resource source > > > > parameter?: > > > > > class ntp { > > > > > package { ntp: ensure => installed } > > > > > file { "/etc/ntp.conf": > > > > owner => root, > > > > group => root, > > > > mode => 0644, > > > > source => "puppet:///ntp/$site/ntp.conf", # $modulepath/ntp/ > > > > files/{AP,UK}/ntp.conf > > > > source => "puppet:///ntp/ntp.conf", > > > > notify => Service[ntpd], > > > > require => Package["ntp"], > > > > } > > > > > service { ntpd: > > > > name => "ntpd", > > > > enable => true, > > > > hasstatus => true, > > > > hasrestart => true, > > > > ensure => running, > > > > require => Package["ntp"], > > > > } > > > > } > > > > > The above does not appear to work. Am I simply misguided and should I > > > > be trying something else? Thank you. > > > > > Mark --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---