Skip to content

Commit 949bd7d

Browse files
authored
Merge pull request kubernetes#3405 from bobbypage/cg2-kep-ga-updates
KEP-2254: Target sig-node cgroupv2 KEP to GA in 1.25
2 parents ae30fc8 + e9ffd1b commit 949bd7d

File tree

3 files changed

+84
-7
lines changed

3 files changed

+84
-7
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
kep-number: 2254
22
beta:
33
approver: "@johnbelamaric"
4+
stable:
5+
approver: "@johnbelamaric"

keps/sig-node/2254-cgroup-v2/README.md

Lines changed: 75 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@
1111
- [Implementation Details](#implementation-details)
1212
- [Design](#design)
1313
- [Test Plan](#test-plan)
14-
- [Needed Tests](#needed-tests)
14+
- [Prerequisite testing updates](#prerequisite-testing-updates)
15+
- [Unit tests](#unit-tests)
16+
- [Integration tests](#integration-tests)
17+
- [e2e tests](#e2e-tests)
1518
- [Graduation Criteria](#graduation-criteria)
1619
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
1720
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
@@ -65,11 +68,80 @@ This proposal aims to:
6568

6669
## Design
6770

71+
[X] I/we understand the owners of the involved components may require updates to
72+
existing tests to make this code solid enough prior to committing the changes necessary
73+
to implement this enhancement.
74+
6875
### Test Plan
6976

70-
#### Needed Tests
77+
##### Prerequisite testing updates
78+
79+
<!--
80+
Based on reviewers feedback describe what additional tests need to be added prior
81+
implementing this enhancement to ensure the enhancements have also solid foundations.
82+
-->
83+
84+
##### Unit tests
85+
86+
<!--
87+
In principle every added code should have complete unit test coverage, so providing
88+
the exact set of tests will not bring additional value.
89+
However, if complete unit test coverage is not possible, explain the reason of it
90+
together with explanation why this is acceptable.
91+
-->
92+
93+
<!--
94+
Additionally, for Alpha try to enumerate the core package you will be touching
95+
to implement this enhancement and provide the current unit coverage for those
96+
in the form of:
97+
- <package>: <date> - <current test coverage>
98+
The data can be easily read from:
99+
https://testgrid.k8s.io/sig-testing-canaries#ci-kubernetes-coverage-unit
100+
This can inform certain test coverage improvements that we want to do before
101+
extending the production code to implement this enhancement.
102+
-->
103+
104+
The main unit test coverage is in the cgroup manager kubelet package under `pkg/kubelet/cm`.
105+
Kubelet uses the existing
106+
[libcontainer](https://github.com/opencontainers/runc/tree/main/libcontainer)
107+
library to manage cgroups so we will primarily be targeting integration testing
108+
to verify the feature is working as intended.
109+
110+
##### Integration tests
111+
112+
<!--
113+
This question should be filled when targeting a release.
114+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
115+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
116+
https://storage.googleapis.com/k8s-triage/index.html
117+
-->
118+
119+
Please see below under e2e tests
120+
121+
##### e2e tests
122+
123+
<!--
124+
This question should be filled when targeting a release.
125+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
126+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
127+
https://storage.googleapis.com/k8s-triage/index.html
128+
We expect no non-infra related flakes in the last month as a GA graduation criteria.
129+
-->
130+
131+
We would like to ensure that kubelet e2e node tests are tested under both
132+
variants (cgroupv1 and cgroupv2) based OS images.
133+
We currently have the following cgroupv2 jobs:
134+
135+
- https://testgrid.k8s.io/sig-node-containerd#cos-cgroupv2-containerd-e2e / https://storage.googleapis.com/k8s-triage/index.html?job=sig-node-containerd%23cos-cgroupv2-containerd-e2e
136+
- https://testgrid.k8s.io/sig-node-containerd#cos-cgroupv2-containerd-node-e2e / https://storage.googleapis.com/k8s-triage/index.html?job=cos-cgroupv2-containerd-node-e2e
137+
- https://testgrid.k8s.io/sig-node-containerd#cos-cgroupv2-containerd-node-features / https://storage.googleapis.com/k8s-triage/index.html?job=cos-cgroupv2-containerd-node-features
138+
- https://testgrid.k8s.io/sig-node-containerd#cos-cgroupv2-containerd-node-e2e-serial / https://storage.googleapis.com/k8s-triage/index.html?job=cos-cgroupv2-containerd-node-e2e-serial
139+
- https://testgrid.k8s.io/sig-node-cri-o#ci-crio-cgroupv2-node-e2e-conformance / https://storage.googleapis.com/k8s-triage/index.html?job=ci-crio-cgroupv2-node-e2e-conformance
140+
141+
As part of graduation to GA, we plan to rename the cgroupv1 based jobs as
142+
`cgroupv1` and ensure node e2e test grid have clearly labelled cgroupv1 and cgroupv2 jobs for SIG node based test categories (`e2e`, `node-e2e`,
143+
`node-features`, and `node-e2e-serial`).
71144

72-
- Run E2E tests on a cgroup v2 enabled host.
73145

74146
### Graduation Criteria
75147

@@ -84,7 +156,6 @@ This proposal aims to:
84156

85157
- GA: Assuming no negative user feedback based on production
86158
experience, promote after 2 releases in beta.
87-
*TBD* whether phase 2 must be implemented for GA.
88159

89160
### Upgrade / Downgrade Strategy
90161

keps/sig-node/2254-cgroup-v2/kep.yaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ authors:
44
- "@giuseppe"
55
owning-sig: sig-node
66
participating-sigs:
7-
- sig-architecture
7+
- sig-architecture
88
reviewers:
99
- "@yujuhong"
1010
- "@dchen1107"
@@ -20,6 +20,10 @@ status: implementable
2020
see-also:
2121
replaces:
2222
superseded-by:
23-
latest-milestone: "v1.22"
24-
stage: "beta"
23+
latest-milestone: "v1.25"
24+
stage: "stable"
25+
milestone:
26+
alpha: "v1.18"
27+
beta: "v1.22"
28+
stable: "v1.25"
2529
disable-supported: true

0 commit comments

Comments
 (0)