You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keps/sig-scheduling/2926-job-mutable-scheduling-directives/README.md
+20-7Lines changed: 20 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -162,8 +162,8 @@ specific partition (e.g., preemptibles) or a specific location (e.g., zone x).
162
162
163
163
This is a proposal to relax update validation on jobs that have never been unsuspended to
164
164
allow mutating node scheduling directives, namely the pod template's node affinity,
165
-
node selector, tolerations, annotations and labels of the job's pod template. This enables
166
-
a higher-level queue controller to inject such directives before un-suspending a job to
165
+
node selector, tolerations, schedulingGates, annotations and labels of the job's pod template. This
166
+
enables a higher-level queue controller to inject such directives before un-suspending a job to
167
167
influence its placement.
168
168
169
169
<!--
@@ -534,7 +534,8 @@ kube-apiserver will accept node affinity/tolerations updates of jobs.
534
534
535
535
###### Are there any tests for feature enablement/disablement?
536
536
537
-
No, unit and integration tests will be added prior to Beta graduation.
537
+
Tests are in place. See [Job integrations tests](https://github.com/kubernetes/kubernetes/blob/457341c3d408097025af5a9b6f5917439c0debdd/test/integration/job/job_test.go#L1397).
538
+
The tests do not directly test switching between enable/disable, that was tested manually (see below).
538
539
539
540
<!--
540
541
The e2e framework does not currently support enabling or disabling feature
@@ -551,7 +552,8 @@ This section must be completed when targeting beta to a release.
551
552
552
553
###### How can a rollout or rollback fail? Can it impact already running workloads?
553
554
554
-
The change is opt-in, it doesn't impact already running workloads.
555
+
The change is opt-in, it doesn't impact already running workloads. But problems with the
556
+
updated validation logic may cause crashes in the apiserver.
555
557
556
558
<!--
557
559
Try to be as paranoid as possible - e.g., what if some components will restart
@@ -565,7 +567,7 @@ will rollout across nodes.
565
567
566
568
###### What specific metrics should inform a rollback?
567
569
568
-
N/A
570
+
Crashes in the apiserver because of potential problems with the updated validation logic.
569
571
570
572
<!--
571
573
What signals should users be paying attention to when the feature is young
@@ -574,7 +576,16 @@ that might indicate a serious problem?
574
576
575
577
###### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?
576
578
577
-
It will be tested manually prior to beta launch.
579
+
Tested manually.
580
+
1. Cluster on 1.22 was upgraded to 1.23
581
+
2. Created a suspended job
582
+
3. Mutated scheduling directives and checked that mutation was successful
583
+
4. Started the job, verifying that the mutation took effect in practice as well
584
+
5. Created a suspended job
585
+
6. Downgraded the cluster back to 1.22
586
+
7. Attempt to mutate the scheduling directives was rejected.
587
+
588
+
Findings: the feature and the cluster are behaving as expected.
578
589
579
590
<!--
580
591
Describe manual testing that was done and the outcomes.
@@ -820,7 +831,9 @@ N/A.
820
831
## Implementation History
821
832
822
833
- 2021-09-01: Proposed KEP starting in beta status.
823
-
- 2021-10-28: Updated the KEP to include annotations and labels of the pod template
834
+
- 2021-10-28: Updated the KEP to include annotations and labels of the pod template.
835
+
- 2023-01-03: Updated the KEP to include schedulingGates of the pod template and graduated the feature to stable.
836
+
824
837
825
838
<!--
826
839
Major milestones in the lifecycle of a KEP should be tracked in this section.
0 commit comments