Skip to content

Commit 1608bf1

Browse files
committed
refine graduation critera for GA
1 parent 4622617 commit 1608bf1

File tree

1 file changed

+40
-14
lines changed
  • keps/sig-node/1287-in-place-update-pod-resources

1 file changed

+40
-14
lines changed

keps/sig-node/1287-in-place-update-pod-resources/README.md

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,23 @@
5555
- [Test Plan](#test-plan)
5656
- [Prerequisite testing updates](#prerequisite-testing-updates)
5757
- [Unit Tests](#unit-tests)
58+
- [Allocation Manager](#allocation-manager)
59+
- [Kuberuntime Manager](#kuberuntime-manager)
60+
- [CRI uunit tests](#cri-uunit-tests)
5861
- [Integration tests](#integration-tests)
5962
- [Pod Resize E2E Tests](#pod-resize-e2e-tests)
60-
- [CRI E2E Tests](#cri-e2e-tests)
61-
- [Resource Quota and Limit Ranges](#resource-quota-and-limit-ranges)
62-
- [Resize Policy Tests](#resize-policy-tests)
63+
- [How the tests perform verification](#how-the-tests-perform-verification)
64+
- [Success test cases for Guaranteed Pods with one container](#success-test-cases-for-guaranteed-pods-with-one-container)
65+
- [Success test cases for Guaranteed Pods with multiple containers](#success-test-cases-for-guaranteed-pods-with-multiple-containers)
66+
- [Success test cases for Burstable Pods with one container](#success-test-cases-for-burstable-pods-with-one-container)
67+
- [Other success test cases for Burstable Pods](#other-success-test-cases-for-burstable-pods)
68+
- [Memory limit decrease](#memory-limit-decrease)
69+
- [Patch error tests](#patch-error-tests)
70+
- [Scheduler logic tests](#scheduler-logic-tests)
71+
- [Retry of deferred resizes](#retry-of-deferred-resizes)
72+
- [Resource Quota tests](#resource-quota-tests)
73+
- [Limit Ranger tests](#limit-ranger-tests)
74+
- [Coverage of the READ and REPLACE endpoints](#coverage-of-the-read-and-replace-endpoints)
6375
- [Backward Compatibility and Negative Tests](#backward-compatibility-and-negative-tests)
6476
- [Graduation Criteria](#graduation-criteria)
6577
- [Alpha](#alpha)
@@ -824,7 +836,7 @@ be a race condition where the Kubelet may or may not accept the first resize, de
824836
it admits the first change before seeing the second. This race condition is accepted as working as
825837
intended.
826838

827-
The atomic resize requirement should be reevaluated in the context of pod-level resources.
839+
The atomic resize requirement may be reevaluated in the context of pod-level resources.
828840

829841
### Actuating Resizes
830842

@@ -1389,16 +1401,30 @@ A basic test will be added that uses REPLACE to perform a resize, and the READ e
13891401
- ContainerStatus API change tests are enforced and Windows runtime should comply.
13901402

13911403
#### Stable
1392-
- VPA integration of feature moved to beta,
1393-
- User feedback (ideally from at least two distinct users) is green,
1394-
- No major bugs reported for three months.
1395-
- Pod-scoped resources are handled if that KEP is past alpha
1396-
- `UpdatePodSandboxResources` is implemented by containerd & CRI-O
1404+
- VPA integration of feature, `InPlaceOrRecreate` update mode, is moved to beta
1405+
- User feedback (ideally from at least two distinct users) is green
1406+
- No major bugs reported for three months
1407+
- The following tests are promoted to Conformance:
1408+
- Coverage of the READ and REPLACE endpoints (https://github.com/kubernetes/kubernetes/pull/134407)
1409+
- The multi-container tests for guaranteed pods: https://github.com/kubernetes/kubernetes/blob/ad82c3d39f5e9f21e173ffeb8aa57953a0da4601/test/e2e/common/node/pod_resize.go#L130
1410+
- The multi-container test for burstable pods: https://github.com/kubernetes/kubernetes/blob/ad82c3d39f5e9f21e173ffeb8aa57953a0da4601/test/e2e/common/node/pod_resize.go#L231
1411+
1412+
The following items have been removed from the stable graduation criteria:
1413+
- In-place pod resize support for pod level resources. Pod level resources is now beta, so the
1414+
lack of support for resize is now a significant missing piece of that functionality; however
1415+
we don't believe this is a strong enough reason to block IPPR GA. We can, however, consider
1416+
whether this should block GA of pod level resources.
1417+
- `UpdatePodSandboxResources` is implemented by containerd & CRI-O. This is implemented by
1418+
CRI-O; however there was a delay on the containerd side. We still expect this to be available
1419+
and land in containerd 2.2, which is slated to release before kubernetes 1.35. However, we
1420+
do not consider it blocking because it is a very small and noncritical part of this KEP.
13971421
- Re-evaluate the following decisions:
1398-
- Resize atomicity
1399-
- Exposing allocated resources in the pod status
1400-
- QOS class changes
1401-
- The subset of pod resize tests [here](https://github.com/kubernetes/kubernetes/blob/1aec2eb0030d2f121b4cf78998e9391d9389f1a0/test/e2e/common/node/pod_resize.go) under `doPodResizeTests` and `doPodResizeErrorTests` that meet the Conformance test requirements are promoted to Conformance.
1422+
- Resize atomicity: Resizes will stay atomic. Allowing partial resizes adds significant complexity
1423+
and the use case is unclear.
1424+
- Exposing allocated resources in the pod status: We will continue to expose allocated resources in
1425+
the pod status.
1426+
- QOS class changes: This is a large feature with broad implications, so can be considered in a future
1427+
enhancement.
14021428

14031429
### Upgrade / Downgrade Strategy
14041430
Scheduler and API server should be updated before Kubelets in that order.
@@ -1735,7 +1761,7 @@ _This section must be completed when targeting beta graduation to a release._
17351761
- 2025-01-24 - v1.33 updates for planned beta
17361762
- Replace ResizeStatus with conditions
17371763
- Improve memory limit downsize handling
1738-
- Rename ResizeRestartPolicy `NotRequired` to `NotRequired`,
1764+
- Rename ResizeRestartPolicy `NotRequired` to `PreferNoRestart`,
17391765
and update CRI `UpdateContainerResources` contract
17401766
- Add back `AllocatedResources` field to resolve a scheduler corner case
17411767
- Introduce Actuated resources for actuation

0 commit comments

Comments
 (0)