report about puppet creating empty files
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
This commit is contained in:
parent
d594525085
commit
2c54bba14e
1 changed files with 42 additions and 0 deletions
42
blog/puppet-empties-new-and-existing-files.mdwn
Normal file
42
blog/puppet-empties-new-and-existing-files.mdwn
Normal file
|
@ -0,0 +1,42 @@
|
|||
[[!meta title="Puppet empties new and existing files"]]
|
||||
|
||||
After [we](http://sans.ethz.ch) changed our puppetmaster to run
|
||||
under unicorn plus nginx and the first 2.6.0 client connected,
|
||||
I realised that puppetd created empty files on the client.
|
||||
Not even new files created are affected, but also existing
|
||||
files.
|
||||
|
||||
It seems that [issue 4319](http://projects.puppetlabs.com/issues/4319)
|
||||
is related to that problem, as the same entries are found in the
|
||||
logfile.
|
||||
|
||||
The [[client reports about|debuglog]] duplicated files in the filebucket:
|
||||
|
||||
info: FileBucket got a duplicate file /etc/pam.d/common-password ({md5}d41d8cd98f00b204e9800998ecf8427e)
|
||||
info: FileBucket got a duplicate file /etc/pam.d/common-account ({md5}d41d8cd98f00b204e9800998ecf8427e)
|
||||
info: FileBucket got a duplicate file /etc/pam.d/common-auth ({md5}d41d8cd98f00b204e9800998ecf8427e)
|
||||
|
||||
But hey, they are duplicate, because they all have the same checksum!
|
||||
And the checksum is everywhere the same, because all files are empty:
|
||||
|
||||
% touch test
|
||||
% md5sum test
|
||||
d41d8cd98f00b204e9800998ecf8427e test
|
||||
|
||||
In the syslog of the puppetmaster one can see
|
||||
|
||||
Oct 1 14:31:14 sans-puppetca puppetmaster_unicorn: 129.132.85.166 - - [01/Oct/2010 14:31:14] "GET /production/file_content//autofs/auto.net HTTP/1.0" 404 44 0.0012
|
||||
|
||||
So in essence, what happens is:
|
||||
|
||||
* puppetd 2.6.0 submits two slashes in the path (//)
|
||||
* puppetmaster via unicorn does not find the file, because of the double slash
|
||||
* puppetd sees the 404 error and creates a empty file
|
||||
|
||||
Switching to webbrick as a workaround works, because it accepts the two slashes.
|
||||
|
||||
Replacing the two slashes with one in the server does not fix the origin
|
||||
of the problem, nor does it address the issue that puppetd creates
|
||||
empty files, if it gets a 404 for the file content.
|
||||
|
||||
[[!tag config eth unix]]
|
Loading…
Reference in a new issue