argoproj / argoproj/argo-workflows

Merge failed and successful job history limits for CronWorkflows into a single limit

Open
#6,323 0 comments 1 reaction 0 assignees View on GitHub
area/cron-workflows
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.