This regression only seems to happen when a file is
_replaced_, if the file does not exist on the client it will be
created with the correct ownership and group.
A remote file is pulled over on the first pass if the content
changes, but it's ownership and group seem to be what they were in
the filestore, not as specified in the config. This is all
corrected by the second run of the puppet service.
My definitions:
define remotefile($source, $owner = root, $group = root, $mode = 440, $recurse = true, $backup = main, $replace = true ) {
file { $name:
source => "$puppetserver/files/$source",
backup => $backup,
owner => $owner,
group => $group,
mode => $mode,
recurse => $recurse,
replace => $replace
}
}
...snip...
remotefile { "/etc/nagios/nrpe.cfg" :
source => "modules/nagios-nrpe/nrpe.cfg",
mode => 640,
owner => root,
group => nagios,
require => Package["nagios-nrpe"] }
...snip...
puppeteer manifests # ls -l ./files/modules/nagios-nrpe/nrpe.cfg
-rw-r----- 1 root puppet 6479 Feb 14 16:15 ./files/modules/nagios-nrpe/nrpe.cfg
puppeteer manifests # ls -l /etc/nagios/nrpe.cfg
-rw-r----- 1 root nagios 6479 Feb 16 09:18 /etc/nagios/nrpe.cfg
puppeteer manifests # echo "junk" >> /etc/nagios/nrpe.cfg
puppeteer manifests # ls -l /etc/nagios/nrpe.cfg
-rw-r----- 1 root nagios 6484 Feb 16 09:18 /etc/nagios/nrpe.cfg
puppeteer manifests # puppetd --server puppeteer.goshen.edu --test --tags nagios-nrpe --verbose
notice: Ignoring --listen on onetime run
info: Config is up to date
notice: Starting configuration run
notice: //base-menno/puppeteer/nagios-nrpe/remotefile[/etc/nagios/nrpe.cfg]/File[/etc/nagios/nrpe.cfg]/checksum: checksum changed '{md5}88796d0b27f1496696fbc20732b4ced2' to '{md5}88be36ec13ae5270cee3cfc029d3d4f9'
info: //base-menno/puppeteer/nagios-nrpe/remotefile[/etc/nagios/nrpe.cfg]/File[/etc/nagios/nrpe.cfg]: Filebucketed to main with sum 88be36ec13ae5270cee3cfc029d3d4f9
notice: //base-menno/puppeteer/nagios-nrpe/remotefile[/etc/nagios/nrpe.cfg]/File[/etc/nagios/nrpe.cfg]/source: replacing from source puppet://puppeteer.goshen.edu/files/modules/nagios-nrpe/nrpe.cfg
info: //base-menno/puppeteer/nagios-nrpe/remotefile[/etc/nagios/nrpe.cfg]/File[/etc/nagios/nrpe.cfg]: Scheduling refresh of Service[nrpe]
info: //base-menno/puppeteer/nagios-nrpe/remotefile[/etc/nagios/nrpe.cfg]/File[/etc/nagios/nrpe.cfg]: Scheduling refresh of Service[nrpe]
notice: //base-menno/puppeteer/nagios-nrpe/Service[nrpe]: Triggering 'refresh' from 2 dependencies
err: //base-menno/puppeteer/nagios-nrpe/Service[nrpe]: Failed to call refresh on Service[nrpe]: Could not restart Service[nrpe]
puppeteer manifests # ls -l /etc/nagios/nrpe.cfg
-rw-r----- 1 root puppet 6479 Feb 16 09:19 /etc/nagios/nrpe.cfg
Note the group change. It is corrected on the next run of puppet.
Again, this does not happen with files that are new on the client in
my experience, but it does happen with files that have changed on
the client.