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.

Reply via email to