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 ?
--
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.