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
The pod template validation logic in the API server needs to be updated to relax the validation
252
-
of the Job's Template field. Currently the template is immutable, but we need to make
252
+
of the Job's Template field. Currently the template is immutable, but we need to make
253
253
container resource specifications (CPU, memory, GPU, and extended resources requests and limits) mutable for suspended jobs.
254
254
255
255
The condition we will check to verify that the job is suspended is `Job.Spec.Suspend=true`.
256
256
257
257
We will allow updates to the following fields in container specifications within the pod template:
258
258
-`resources.requests.cpu`
259
-
-`resources.requests.memory`
259
+
-`resources.requests.memory`
260
260
-`resources.requests.*` (for extended resources like `nvidia.com/gpu`, `amd.com/gpu`, `tpu-v4` etc.)
261
261
-`resources.limits.cpu`
262
262
-`resources.limits.memory`
@@ -276,7 +276,11 @@ We will allow updates to the following fields in container specifications within
276
276
277
277
#### Integration tests
278
278
279
-
Available under [Job integrations tests](https://github.com/kubernetes/kubernetes/blob/457341c3d408097025af5a9b6f5917439c0debdd/test/integration/job/job_test.go#L1397)
279
+
We will the following test scenarios to kubernetes/test/integration/jobs.
280
+
281
+
a. When a job is suspended with feature gate enabled, resources are able to be mutated.
282
+
b. When a job is not suspended and feature gate enabled, resources should not be mutated.
283
+
c. When feature date is disabled and suspended, mutations are not allowed.
280
284
281
285
#### e2e tests
282
286
@@ -383,7 +387,7 @@ N/A. This feature doesn't impact nodes.
383
387
###### Does enabling the feature change any default behavior?
384
388
385
389
Yes, it relaxes validation of updates to jobs. Specifically, it will allow
386
-
mutating the container resource specifications (CPU, memory, GPU, and extended resource
390
+
mutating the container resource specifications (CPU, memory, GPU, and extended resource
387
391
requests and limits) in the pod template of suspended jobs.
388
392
389
393
###### Can the feature be disabled once it has been enabled (i.e. can we roll back the enablement)?
@@ -469,7 +473,7 @@ No.
469
473
470
474
The feature itself doesn't generate API calls. But it will allow the
471
475
apiserver to accept update requests to mutate container resource specifications
472
-
(CPU, memory, GPU, and extended resources) in job pod templates, which will
476
+
(CPU, memory, GPU, and extended resources) in job pod templates, which will
473
477
encourage implementing controllers that do this.
474
478
475
479
###### Will enabling / using this feature result in introducing new API types?
0 commit comments