After upgrade to 0.23.0, puppet started to duplicate crontab entries on hosts where crontab had manually entered lines, here an example:
# HEADER This file was autogenerated at Wed Jun 27 05:20:55 CEST 2007 by puppet.
# HEADER While it can still be managed manually, it is definitely notrecommended.
# HEADER Note particularly that the comments starting with 'Puppet Name' should
# HEADER not be deleted, as doing so could cause duplicate cron jobs.
# Backups incrementals dos cops al dia
0 15,22 * * * /usr/local/arxiver/fileserver/src/shell/backup-incremental.sh >> /var/log/arxiver 2>&1
#05 16 * * * /usr/local/arxiver/fileserver/src/shell/backup-incremental.sh >> /var/log/arxiver 2>&1
# Puppet Name: puppet_restart
10 5 * * * /usr/local/sbin/puppet-restart.sh
# Puppet Name: puppet_restart
10 5 * * * /usr/local/sbin/puppet-restart.sh
(...)
to avoid this we had to move manually entered lines to the bottom of the file.