Red Hat Bugzilla – Bug 1473606
Cancelled delayed plans are not picked up by cleaner rake task when using AFTER
Last modified: 2017-08-02 01:02:42 EDT
Description of problem:
When trying to remove cancelled delayed plans using the foreman_tasks:cleanup AFTER=$AFTER, it will skip those plans because they don't have started_at field set.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Schedule remote execution job to be executed in the future
2. Go to its task and click cancel
3. Observe task flipping over to stopped-error
5. Run foreman-rake foreman_tasks:cleanup AFTER='10s'
The task remains there
The task is deleted
Modify your cleanup cronjob/script to look like this
AFTER='30d' # Set desired time interval here
# Run your normal cleanup here
# foreman-rake foreman_tasks:cleanup AFTER=$AFTER ...
# Let the cleanup task compute the right cutoff date
TIMESTAMP="$(foreman-rake foreman_tasks:cleanup TASK_SEARCH='label != a_label' NOOP=true AFTER="$AFTER" | grep 'all tasks matching' | grep -P -o "\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d" | tail -n1)"
# Remove the broken leftovers
foreman-rake foreman_tasks:cleanup TASK_SEARCH="null? started_at AND ended_at < \"$TIMESTAMP\""
Created redmine issue http://projects.theforeman.org/issues/20375 from this bug