Oh yeah sorry I forgot the line concerning the variable. the template contain also this line : *********************** server <%= ntpserver %> ***********************
No big deal but it seems to pose a problem during the first run. And I really don't understand why. On Dec 20, 2:14 pm, Patrick <[email protected]> wrote: > On Dec 19, 2010, at 8:03 PM, Nicolas Aizier wrote: > > > > > > > > > > > Hi everyone, > > > I'm actually working on implementing templates as it is a very > > convenient and powerfull way to configure files properly. But I'm > > actually meeting a little problem, not a blocking one but a strange > > thing. > > > Basically my module is configuring the ntp client, no big deal. > > manifest/init.pp of the module define a simple variable from facts to > > know if it's a VM or not > > > code : > > *************************************** > > > $HardwareType = $manufacturer ? { 'VMware, Inc.' => 'VM', default => > > 'PHYSICAL' } > > $ntpserver = 'time.au.fcl.internal' > > > class ntp > > { > > package { 'ntp': > > ensure => present, > > } > > > file { '/etc/ntp.conf': > > owner => root, > > group => root, > > mode => 644, > > content => template('/etc/puppet/modules/ntp/templates/ > > ntp.conf.erb'), > > notify => Service['ntpd'], > > require => Package['ntp'], > > } > > > service { 'ntpd': > > ensure => running, > > enable => true, > > hasrestart => true, > > require => Package['ntp'], > > } > > } > > *************************************** > > > and template from the same module check if it's a VM or not and add a > > special parameter to the ntp.conf if it is. > > > extract from the code : > > *************************************** > > <% if @HardwareType == "VM" %> > > # VMWare Option: > > # Instructs NTP not to give up if it sees a large jump in time. > > # This is important for coping with large time drifts and resuming > > virtual machines from their suspended state. > > tinker panic 0 > > <% end %> > > *************************************** > > > My problem is that on the first run I got a nice error like : > > *************************************** > > [r...@foo puppet]# puppet agent --test > > notice: Ignoring --listen on onetime run > > err: Could not retrieve catalog from remote server: Error 400 on > > SERVER: Failed to parse template /etc/puppet/modules/ntp/templates/ > > ntp.conf.erb: Could not find value for 'ntpserver' at /etc/puppet/ > > modules/ntp/manifests/init.pp:25 on node foo.fqdn > > warning: Not using cache on failed catalog > > err: Could not retrieve catalog; skipping run > > *************************************** > > > Second run is fine even if run directly after the first one .... ???? > > /etc/puppet/modules/ntp/manifests/init.pp:25 is the "content template" > > line. So it seems that puppet didn't manage to get the variable on the > > first run but the second run is ok. Strange isn't it ? Any hint ? > > Does the template use the $ntpserver line? Right now something's not making > sense and I'd guess it's because something is left out. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
