Do not fast forward rrule if count is set #15696
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
SUMMARY
Fixes a bug where a schedule that was created to run only once will continue to run repeatedly.
e.g. an rrule with
dtstart 20240730; count 1; freq MINUTELY
This job will run on 20240730, and should never run again.
However, the next time the schedule update_computed_fields runs, the dtstart will fast forward to today's date, and next_run will be computed from that. This will trigger the job to run again, which is not intended.
If count is set, we just should not fast forward the rrule and always calculate next_run based on original dtstart.
I missed this conditional when making the fast forwarded changes https://github.com/ansible/awx/pull/15601/files#diff-4e2b0c51faca14c32936465e8d8ce1d88673c02b45b684970f0df2aeb5091f46L220
ISSUE TYPE
COMPONENT NAME