On Mon, 20 Jun 2011 14:17:46 -0700, Craig White wrote: > > my base/default includes this ntp manifest > > # cat modules/ntp/manifests/ntp.pp > # ntp.pp > > class ntp { > case $operatingsystem { > centos, redhat: { > $service_name = 'ntpd' > $conf_file = 'ntp.conf.el' > } > debian, ubuntu: { > $service_name = 'ntp' > $conf_file = 'ntp.conf.debian' > } > } > > package { 'ntp': > ensure => installed, > } > > service { 'ntp': > name => $service_name, > ensure => running, > enable => true, > subscribe => File['ntp.conf'], > } > > file { 'ntp.conf': > path => '/etc/ntp.conf', > ensure => file, > require => Package['ntp'], > source => "puppet:///ntp/files/${conf_file}", > } > } > > # class {'ntp': } > > So my questions... > > 1. I tested this by moving /etc/ntp.conf on my test client but it doesn't > seem to replace the file though it clearly says 'ensure => file' > Is my understanding wrong? >
That should replace the file. What output are you getting (if anything)? % cat ../test.pp file { 'blab': path => '/tmp/blab.txt', ensure => 'file', content => 'asdf', } % puppet apply ../test.pp notice: /Stage[main]//File[blab]/ensure: defined content as '{md5}912ec803b2ce49e4a541068d495ab570' notice: Finished catalog run in 0.06 seconds % rm /tmp/blab.txt % puppet apply ../test.pp notice: /Stage[main]//File[blab]/ensure: defined content as '{md5}912ec803b2ce49e4a541068d495ab570' notice: Finished catalog run in 0.06 seconds % puppet apply ../test.pp notice: Finished catalog run in 0.04 seconds > 2. Files ntp.conf.el & ntp.conf.debian are located in > /etc/puppet/modules/ntp/files - source => > 'puppet://puppet:///ntp/files/${conf_file} is this correct? > You should include 'modules' in the 'puppet://' URI, since the form without it has been deprecated for a while. IIRC it should look something like: puppet:///modules/ntp/files/${conf_file} -- Jacob Helwig
signature.asc
Description: Digital signature