From e6475c7f7ca8d3756b36cd22741037ce2f98d12e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Wo=C5=BAniak?= Date: Tue, 24 Sep 2024 13:54:00 +0200 Subject: [PATCH] Update "KEP-4368 Job API managed-by mechanism" targeting Beta in 1.32 (#4856) * KEP-4368 Job managed-by field update for Beta * Review remarks and other updates * Update keps/sig-apps/4368-support-managed-by-for-batch-jobs/README.md Co-authored-by: Andrey Velichkevich --------- Co-authored-by: Andrey Velichkevich --- keps/prod-readiness/sig-apps/4368.yaml | 2 + .../README.md | 94 ++++++++++++------- .../kep.yaml | 3 +- 3 files changed, 66 insertions(+), 33 deletions(-) diff --git a/keps/prod-readiness/sig-apps/4368.yaml b/keps/prod-readiness/sig-apps/4368.yaml index 4842c916ce4..f39e0ba2ed7 100644 --- a/keps/prod-readiness/sig-apps/4368.yaml +++ b/keps/prod-readiness/sig-apps/4368.yaml @@ -1,3 +1,5 @@ kep-number: 4368 alpha: approver: "@wojtek-t" +beta: + approver: "@wojtek-t" diff --git a/keps/sig-apps/4368-support-managed-by-for-batch-jobs/README.md b/keps/sig-apps/4368-support-managed-by-for-batch-jobs/README.md index 8a17243e892..61305053359 100644 --- a/keps/sig-apps/4368-support-managed-by-for-batch-jobs/README.md +++ b/keps/sig-apps/4368-support-managed-by-for-batch-jobs/README.md @@ -49,6 +49,7 @@ - [Implementation History](#implementation-history) - [Drawbacks](#drawbacks) - [Alternatives](#alternatives) + - [Skip reconciliation in the event handler](#skip-reconciliation-in-the-event-handler) - [Reserved controller name value](#reserved-controller-name-value) - [Defaulting of the for newly created jobs](#defaulting-of-the-for-newly-created-jobs) - [Alternative names for field](#alternative-names-for-field) @@ -99,8 +100,8 @@ Items marked with (R) are required *prior to targeting to a milestone / release* - [x] (R) Production readiness review completed - [x] (R) Production readiness review approved - [x] "Implementation History" section is up-to-date for milestone -- [ ] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io] -- [ ] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes +- [x] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io] +- [x] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes -The Upgrade->downgrade->upgrade testing will be done manually prior to release -as Beta, with the following steps: +The Upgrade->downgrade->upgrade was tested manually using the 1.31 release +(Alpha), with the following steps: -1. Start the cluster with the `JobManagedBy` enabled for api server and control-plane. +1. Start the cluster with the `JobManagedBy` enabled for kube-apiserver and kube-controller-manager. Then, create two-long running Jobs: - `job-managed` with custom value of the "managedBy" field @@ -788,13 +794,13 @@ Then, verify that: - the `job-managed` does not get status updates from built-in controller. Update the status manually and observe it is not reset by the built-in controller. - the `job-regular` starts making progress (creates pods and updates the status accordingly by the built-in controller) -2. Simulate downgrade by disabling the feature for api server and control-plane. +2. Simulate downgrade by disabling the feature for kube-apiserver and kube-controller-manager. Then, verify that: - the `job-managed` starts to make progress, the status is reset, and updated to some new values - the `job-regular` continues making progress -3. Simulate upgrade by re-enabling the feature for api server and control-plane. +3. Simulate upgrade by re-enabling the feature for kube-apiserver and kube-controller-manager. Then, verify that: - the `job-managed` stops getting status updates from the built-in controller. Update the status manually and observe it is not reset by the built-in controller. @@ -1080,6 +1086,10 @@ N/A. - 2024-03-08 - Merged [Follow up fix to the job status update test](https://github.com/kubernetes/kubernetes/pull/123815) - 2024-03-11 - Merged [Adjust the Job field API comments and validation to the current state](https://github.com/kubernetes/kubernetes/pull/123792) - 2024-05-16 - Merged [Fix the comment for the Job managedBy field](https://github.com/kubernetes/kubernetes/pull/124793) +- 2024-06-11 - Merged [Count terminating pods when deleting active pods for failed jobs](https://github.com/kubernetes/kubernetes/pull/1251753) +- 2024-06-21 - Merged [Update the count of ready pods when deleting pods](https://github.com/kubernetes/kubernetes/pull/125546) +- 2024-07-12 - Merged [Delay setting terminal Job conditions until all pods are terminal](https://github.com/kubernetes/kubernetes/pull/125510) +- 2024-07-30 - Merged [Update the docs for JobManagedBy and JobPodReplacementPolicy related to pod termination](https://github.com/kubernetes/website/pull/46808)