Skip to content

Commit d9d6411

Browse files
authored
KEP-3998: Graduate JobSuccessPolicy to GA (#5148)
* Graduate JobSuccessPolicy to GA Signed-off-by: Yuki Iwai <[email protected]> * Address review commentes Signed-off-by: Yuki Iwai <[email protected]> * Address review comments Signed-off-by: Yuki Iwai <[email protected]> --------- Signed-off-by: Yuki Iwai <[email protected]>
1 parent 1662428 commit d9d6411

File tree

3 files changed

+19
-15
lines changed

3 files changed

+19
-15
lines changed

keps/prod-readiness/sig-apps/3998.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ alpha:
33
approver: "@wojtek-t"
44
beta:
55
approver: "@wojtek-t"
6+
stable:
7+
approver: "@wojtek-t"

keps/sig-apps/3998-job-success-completion-policy/README.md

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,12 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
7171
- [x] (R) Design details are appropriately documented
7272
- [x] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
7373
- [x] e2e Tests for all Beta API Operations (endpoints)
74-
- [ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
74+
- [x] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
7575
- [ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free
7676
- [x] (R) Graduation criteria is in place
7777
- [ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
78-
- [ ] (R) Production readiness review completed
79-
- [ ] (R) Production readiness review approved
78+
- [x] (R) Production readiness review completed
79+
- [x] (R) Production readiness review approved
8080
- [x] "Implementation History" section is up-to-date for milestone
8181
- [x] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
8282
- [x] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
@@ -439,18 +439,19 @@ to implement this enhancement.
439439
##### Integration tests
440440

441441
- Test scenarios:
442-
- [enabling, disabling and re-enabling of the `JobSuccessPolicy` feature gate](https://github.com/kubernetes/kubernetes/blob/6346b9d1327c4b8be2398d9715bdae5475e27569/test/integration/job/job_test.go#L794)
443-
- [handling of successPolicy when all indexes succeeded](https://github.com/kubernetes/kubernetes/blob/6346b9d1327c4b8be2398d9715bdae5475e27569/test/integration/job/job_test.go#L539)
444-
- [handling of the `.spec.successPolicy.rules.succeededIndexes` when some indexes remain pending](https://github.com/kubernetes/kubernetes/blob/6346b9d1327c4b8be2398d9715bdae5475e27569/test/integration/job/job_test.go#L608)
445-
- [handling of the `.spec.successPolicy.rules.succeededCount` when some indexes remain pending](https://github.com/kubernetes/kubernetes/blob/6346b9d1327c4b8be2398d9715bdae5475e27569/test/integration/job/job_test.go#L653)
446-
- [handling of successPolicy when some indexes of job with `backOffLimitPerIndex` fail](https://github.com/kubernetes/kubernetes/blob/6346b9d1327c4b8be2398d9715bdae5475e27569/test/integration/job/job_test.go#L698)
442+
- [enabling, disabling and re-enabling of the `JobSuccessPolicy` feature gate](https://github.com/kubernetes/kubernetes/blob/20b12ad5c389ff74792988bf1e0c10fe2820d9a1/test/integration/job/job_test.go#L872): [result](https://storage.googleapis.com/k8s-triage/index.html?job=ci-kubernetes-integration&test=TestSuccessPolicy_ReEnabling)
443+
- [handling of successPolicy when all indexes succeeded](https://github.com/kubernetes/kubernetes/blob/20b12ad5c389ff74792988bf1e0c10fe2820d9a1/test/integration/job/job_test.go#L578): [result](https://storage.googleapis.com/k8s-triage/index.html?job=ci-kubernetes-integration&test=TestSuccessPolicy)
444+
- [jobs_finished_total metric with CompletionsReached is incremented when job does not have successPolicy](https://github.com/kubernetes/kubernetes/blob/20b12ad5c389ff74792988bf1e0c10fe2820d9a1/test/integration/job/job_test.go#L649): [result](https://storage.googleapis.com/k8s-triage/index.html?job=ci-kubernetes-integration&test=TestSuccessPolicy)
445+
- [handling of the `.spec.successPolicy.rules.succeededIndexes` when some indexes remain pending](https://github.com/kubernetes/kubernetes/blob/20b12ad5c389ff74792988bf1e0c10fe2820d9a1/test/integration/job/job_test.go#L680): [result](https://storage.googleapis.com/k8s-triage/index.html?job=ci-kubernetes-integration&test=TestSuccessPolicy)
446+
- [handling of the `.spec.successPolicy.rules.succeededCount` when some indexes remain pending](https://github.com/kubernetes/kubernetes/blob/20b12ad5c389ff74792988bf1e0c10fe2820d9a1/test/integration/job/job_test.go#L727): [result](https://storage.googleapis.com/k8s-triage/index.html?job=ci-kubernetes-integration&test=TestSuccessPolicy)
447+
- [handling of successPolicy when some indexes of job with `backOffLimitPerIndex` fail](https://github.com/kubernetes/kubernetes/blob/20b12ad5c389ff74792988bf1e0c10fe2820d9a1/test/integration/job/job_test.go#L774): [result](https://storage.googleapis.com/k8s-triage/index.html?job=ci-kubernetes-integration&test=TestSuccessPolicy)
447448

448449
##### e2e tests
449450

450451
- Test scenarios:
451-
- [handling of successPolicy when all indexes succeeded](https://github.com/kubernetes/kubernetes/blob/3a8a60eba29940e26ac8db52329a91ba87305114/test/e2e/apps/job.go#L524-L530)
452-
- [handling of the `.spec.successPolicy.rules.succeededIndexes` when some indexes remain pending](https://github.com/kubernetes/kubernetes/blob/3a8a60eba29940e26ac8db52329a91ba87305114/test/e2e/apps/job.go#L563-L569)
453-
- [handling of the `.spec.successPolicy.rules.succeededCount` when some indexes remain pending](https://github.com/kubernetes/kubernetes/blob/3a8a60eba29940e26ac8db52329a91ba87305114/test/e2e/apps/job.go#L602-L608)
452+
- [handling of successPolicy when all indexes succeeded](https://github.com/kubernetes/kubernetes/blob/20b12ad5c389ff74792988bf1e0c10fe2820d9a1/test/e2e/apps/job.go#L478-L484): [result](https://storage.googleapis.com/k8s-triage/index.html?job=ci-kubernetes-e2e&test=with%20successPolicy%20should%20succeeded%20when%20all%20indexes%20succeeded)
453+
- [handling of the `.spec.successPolicy.rules.succeededIndexes` when some indexes remain pending](https://github.com/kubernetes/kubernetes/blob/20b12ad5c389ff74792988bf1e0c10fe2820d9a1/test/e2e/apps/job.go#L517-L523): [result](https://storage.googleapis.com/k8s-triage/index.html?job=ci-kubernetes-e2e&test=with%20successPolicy%20succeededIndexes%20rule%20should%20succeeded%20even%20when%20some%20indexes%20remain%20pending)
454+
- [handling of the `.spec.successPolicy.rules.succeededCount` when some indexes remain pending](https://github.com/kubernetes/kubernetes/blob/20b12ad5c389ff74792988bf1e0c10fe2820d9a1/test/e2e/apps/job.go#L556-L562): [result](https://storage.googleapis.com/k8s-triage/index.html?job=ci-kubernetes-e2e&test=with%20successPolicy%20succeededCount%20rule%20should%20succeeded%20even%20when%20some%20indexes%20remain%20pending)
454455

455456
### Graduation Criteria
456457

@@ -470,7 +471,7 @@ to implement this enhancement.
470471
#### GA
471472

472473
- No negative feedback.
473-
- Verify reason for the Job's `Complete` condition in all e2e conformance tests
474+
- Verify `conditions[].reason=[CompletionsReached|SuccessPolicy]` for the Job's `Complete` condition in all e2e conformance tests
474475
(see [example](https://github.com/kubernetes/kubernetes/blob/e5dd48efd07e8a052604b3073e0fafe7361ca689/test/e2e/apps/job.go#L804))
475476

476477
### Upgrade / Downgrade Strategy
@@ -741,6 +742,7 @@ consider tuning the parameters for [APF](https://kubernetes.io/docs/concepts/clu
741742
- 2024.03.09: "Criteria" is replaced with "Rules".
742743
- 2024.06.11: Beta Graduation.
743744
- 2024.07.26: "CompletionsReached" reason is added and new reason labels are added to the "jobs_finished_total" metric.
745+
- 2025.02.07: GA Graduation.
744746

745747
## Drawbacks
746748

keps/sig-apps/3998-job-success-completion-policy/kep.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,18 @@ see-also:
2121
- "/keps/sig-apps/4368-support-managed-by-batch-job"
2222

2323
# The target maturity stage in the current dev cycle for this KEP.
24-
stage: beta
24+
stage: stable
2525

2626
# The most recent milestone for which work toward delivery of this KEP has been
2727
# done. This can be the current (upcoming) milestone, if it is being actively
2828
# worked on.
29-
latest-milestone: "v1.31"
29+
latest-milestone: "v1.33"
3030

3131
# The milestone at which this feature was, or is targeted to be, at each stage.
3232
milestone:
3333
alpha: "v1.30"
3434
beta: "v1.31"
35-
stable:
35+
stable: "v1.33"
3636

3737
# The following PRR answers are required at alpha release
3838
# List the feature gate name and the components for which it must be enabled

0 commit comments

Comments
 (0)