Issue #10063 has been updated by Matthaus Litteken.

Status changed from Unreviewed to Needs More Information

I tried to reproduce this on CentOS 5.6 64-bit with Puppet 2.7.3. I couldn't 
reproduce the problem.
I got the expected behavior of puppet updating that job with the new time, 
rather than creating a new job.

Please let me know if I have misunderstood the issue, or if other steps are 
required to reproduce.

I got the following output when running your sample puppet code (with added 
commas for correct syntax) against a crontab with different time settings, but 
the same job.

    [root@localhost /]# crontab -l
    # HEADER: This file was autogenerated at Tue Nov 15 10:52:43 -0800 2011 by 
puppet.
    # HEADER: While it can still be managed manually, it is definitely not 
recommended.
    # HEADER: Note particularly that the comments starting with 'Puppet Name' 
should
    # HEADER: not be deleted, as doing so could cause duplicate cron jobs.
    # Puppet Name: myjob
    22 6 * * * /usr/local/sbin/myjob
    [root@localhost /]# crontab -e
    crontab: installing new crontab
    [root@localhost /]# crontab -l
    # HEADER: This file was autogenerated at Tue Nov 15 10:52:43 -0800 2011 by 
puppet.
    # HEADER: While it can still be managed manually, it is definitely not 
recommended.
    # HEADER: Note particularly that the comments starting with 'Puppet Name' 
should
    # HEADER: not be deleted, as doing so could cause duplicate cron jobs.
    # Puppet Name: myjob
    25 3 * * * /usr/local/sbin/myjob
    [root@localhost /]# puppet apply broken_cron.pp 
    notice: /Stage[main]/Broken_cron/Cron[myjob]/minute: minute changed '25' to 
'22'
    notice: /Stage[main]/Broken_cron/Cron[myjob]/hour: hour changed '3' to '5'
    notice: Finished catalog run in 0.19 seconds
----------------------------------------
Bug #10063: cron resource violates resource ordering
https://projects.puppetlabs.com/issues/10063

Author: Igor .
Status: Needs More Information
Priority: Normal
Assignee: 
Category: cron
Target version: 
Affected Puppet version: 2.7.3
Keywords: cron ordering
Branch: 


Consider the following class
<pre> 
class broken_cron {
        cron { 'myjob':
                command => "/usr/local/sbin/myjob",
                user => root,
                minute => "22"
                hour => "5"
                ensure => present
        }
 
        # Try and cleanup crontab -- this is broken in a rather surprising way!
        
        exec { 'crontab -l|grep -v myjob|crontab -':
                unless => "crontab -l|grep '^# Puppet Name: myjob'",
                path => "/bin:/usr/bin",
                before => Cron['myjob']
                }
 
}
</pre>

if this applied when crontab already contains myjob but with different time 
settings than specified in the cron resource, crontab will end up containing 
the job twice. It seems cron type is prefetching the contents of crontab before 
the exec runs despite the explicit ordering.


-- 
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