Issue #2521 has been updated by R.I. Pienaar.

Kjetil Torgrim Homme wrote:

> I wouldn't call it non-POSIX semantics, but clearly the daemon in question is 
> making assumptions which do not hold in all POSIX systems.  it would be nice 
> if Volcane could identify the errant daemon more accurately so we could 
> investigate the root cause.

I mentioned crond.  But really as this ticket has gone for almost a year and a 
half I dont recall the specifics.

But it will affect many things, if you're creating files and moving them into 
place there's a race condition between your creation time and the time the 
daemon checked for files matching its expected filename pattern.


----------------------------------------
Bug #2521: file{} should update all timestamps when renaming files from temp 
file.
https://projects.puppetlabs.com/issues/2521

Author: R.I. Pienaar
Status: Accepted
Priority: Normal
Assignee: 
Category: file
Target version: 
Affected Puppet version: 0.24.8
Keywords: 
Branch: 


At present puppet writes new files made with the file resource type using a 
temp file then renames the temp file.  Ruby rename only updates change time not 
mtime.

This is a problem when interacting with daemons that monitor directories for 
new files, like /etc/cron.d:

1) puppet creates /etc/cron.d/foo.zxxx
2) crond checks for new files matching its rules, the temp file does not match 
does not get noticed, crond saves last checked timestamp
3) puppet renames /etc/cron.d/foo.zxxx -> /etc/cron.d/foo and only ctime gets 
updated not mtime
4) crond checks for new files since last check, finds none.

I think puppet should probably touch both mtime and ctime after renaming a file.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" 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-bugs?hl=en.

Reply via email to