argoproj / argoproj/argo-workflows
Merge failed and successful job history limits for CronWorkflows into a single limit
- Dominant language
- Go
- Stars
- 17k
- Forks
- 3.7k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 138
Description
# Summary
Argo Workflows, in its current state, allows the separate specification of the maximum number of failed and successful jobs to keep around for CronWorkflows (by setting `spec.failedJobsHistoryLimit` and `spec.successfulJobsHistoryLimit` respectively). Setting `spec.failedJobsHistoryLimit` to too low a number sometimes puts one in a position where a certain failed job is no longer available for inspection. On the other hand, setting it to too high a number results in a large number of failed jobs being left around, long after the workflow in question has moved to a state where it's consistently succeeding.
May I, therefore, request that `spec.failedJobsHistoryLimit` and `spec.failedJobsHistoryLimit` be merged into a single limit that keeps the last `k` failed _OR_ successful jobs?
I'm running v3.0.7 of Argo Workflows.
# Use Cases
Situations where one needs to debug a failing CronWorkflow.
---
**Message from the maintainers**:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.
Contributor guide
Research direction
Start by locating the CronWorkflow definitions and the code that uses spec.failedJobsHistoryLimit and spec.successfulJobsHistoryLimit; the issue names no files or tests. Trace the history-pruning behavior and determine how one combined limit should retain the last k failed or successful jobs. Done means the unified behavior is implemented and covered by relevant tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- devops
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100