|
55 | 55 | - [Test Plan](#test-plan) |
56 | 56 | - [Prerequisite testing updates](#prerequisite-testing-updates) |
57 | 57 | - [Unit Tests](#unit-tests) |
| 58 | + - [Allocation Manager](#allocation-manager) |
| 59 | + - [Kuberuntime Manager](#kuberuntime-manager) |
| 60 | + - [CRI uunit tests](#cri-uunit-tests) |
58 | 61 | - [Integration tests](#integration-tests) |
59 | 62 | - [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) |
63 | 75 | - [Backward Compatibility and Negative Tests](#backward-compatibility-and-negative-tests) |
64 | 76 | - [Graduation Criteria](#graduation-criteria) |
65 | 77 | - [Alpha](#alpha) |
@@ -824,7 +836,7 @@ be a race condition where the Kubelet may or may not accept the first resize, de |
824 | 836 | it admits the first change before seeing the second. This race condition is accepted as working as |
825 | 837 | intended. |
826 | 838 |
|
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. |
828 | 840 |
|
829 | 841 | ### Actuating Resizes |
830 | 842 |
|
@@ -1389,16 +1401,30 @@ A basic test will be added that uses REPLACE to perform a resize, and the READ e |
1389 | 1401 | - ContainerStatus API change tests are enforced and Windows runtime should comply. |
1390 | 1402 |
|
1391 | 1403 | #### 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. |
1397 | 1421 | - 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. |
1402 | 1428 |
|
1403 | 1429 | ### Upgrade / Downgrade Strategy |
1404 | 1430 | 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._ |
1735 | 1761 | - 2025-01-24 - v1.33 updates for planned beta |
1736 | 1762 | - Replace ResizeStatus with conditions |
1737 | 1763 | - Improve memory limit downsize handling |
1738 | | - - Rename ResizeRestartPolicy `NotRequired` to `NotRequired`, |
| 1764 | + - Rename ResizeRestartPolicy `NotRequired` to `PreferNoRestart`, |
1739 | 1765 | and update CRI `UpdateContainerResources` contract |
1740 | 1766 | - Add back `AllocatedResources` field to resolve a scheduler corner case |
1741 | 1767 | - Introduce Actuated resources for actuation |
|
0 commit comments