[Pkg-puppet-devel] Bug#698294: puppet: Checksum mismatch when copying followed symlinks (upstream #7680)

Chris Boot crb at tiger-computing.co.uk
Wed Jan 16 12:59:30 UTC 2013


Package: puppet
Version: 2.7.18-2
Severity: important

Dear maintainers,

I am building a number of Wheezy-based servers for my organisation and
have run into what is for us a show-stopper Puppet bug. The bug does not
appear in Squeeze.

Consider the following 'file' resource:

file { "/tmp/example":
    source  => "puppet:///modules/example/example.$fqdn",
    links   => follow,
}

If, on the puppetmaster,
/etc/puppet/modules/example/files/example.<fqdn> were a symlink to
another file, the file may not be created on the puppet client with an
error indicating a mismatched checksum. The error might look like:

err: /Stage[pre]/Example/File[/tmp/example]/ensure: change from absent
to present failed: Could not rename temporary file
/tmp/example.puppettmp_4293 to /tmp/example:
File written to disk did not match checksum; discarding changes ( vs
{md5}d41d8cd98f00b204e9800998ecf8427e) at
/etc/puppet/modules/example/manifests/init.pp:12 at
/etc/puppet/modules/example/manifests/init.pp:12

If the file is created already, for example by using touch to create an
empty file, Puppet will not touch the file at all and will fail to
update its contents - silently. When using 'puppet agent --test
--verbose --debug' or 'puppetd -tvd', there is no mention of the file in
the output of the command, but the resource is present in reports on our
Puppet Dashboard and marked as unchanged.

Applying the patch [1] in the upstream bug [2] to the client resolves
the issue for us.

As the upstream bug appears to be being ignored completely by the
upstream maintainers, can you please carry the patch in the Debian package?

[1] - http://projects.puppetlabs.com/issues/7680#note-6
[2] - http://projects.puppetlabs.com/issues/7680

Best regards,
Chris

-- System Information:
Debian Release: 7.0
  APT prefers testing-updates
  APT policy: (500, 'testing-updates'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages puppet depends on:
ii  dpkg           1.16.9
ii  puppet-common  2.7.18-2
ii  ruby1.8        1.8.7.358-6

Versions of packages puppet recommends:
ii  ruby [rdoc]  4.9

Versions of packages puppet suggests:
pn  etckeeper   <none>
pn  puppet-el   <none>
pn  vim-puppet  <none>

-- Configuration Files:
/etc/default/puppet changed [not included]

-- no debconf information



More information about the Pkg-puppet-devel mailing list