Skip to content

Commit c3c2509

Browse files
authored
Merge pull request kubernetes#3404 from sallyom/tracing-kubelet-add-test-plan
KEP-2831: update KEP testing plan, implementation history, & milestones
2 parents 9b475dc + 66a1e29 commit c3c2509

File tree

2 files changed

+82
-6
lines changed

2 files changed

+82
-6
lines changed

keps/sig-instrumentation/2831-kubelet-tracing/README.md

Lines changed: 78 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
- [Kubelet Configuration](#kubelet-configuration)
1717
- [Design Details](#design-details)
1818
- [Test Plan](#test-plan)
19+
- [Prerequisite testing updates](#prerequisite-testing-updates)
20+
- [Unit tests](#unit-tests)
21+
- [Integration tests](#integration-tests)
22+
- [e2e tests](#e2e-tests)
1923
- [Graduation Requirements](#graduation-requirements)
2024
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
2125
- [Feature Enablement and Rollback](#feature-enablement-and-rollback)
@@ -183,11 +187,78 @@ type TracingConfiguration struct {
183187

184188
### Test Plan
185189

186-
We will test tracing added by this feature with an integration test. The
187-
integration test will verify that spans exported by the kubelet match what is
190+
<!--
191+
**Note:** *Not required until targeted at a release.*
192+
The goal is to ensure that we don't accept enhancements with inadequate testing.
193+
All code is expected to have adequate tests (eventually with coverage
194+
expectations). Please adhere to the [Kubernetes testing guidelines][testing-guidelines]
195+
when drafting this test plan.
196+
[testing-guidelines]: https://git.k8s.io/community/contributors/devel/sig-testing/testing.md
197+
-->
198+
199+
[x] I/we understand the owners of the involved components may require updates to
200+
existing tests to make this code solid enough prior to committing the changes necessary
201+
to implement this enhancement.
202+
203+
##### Prerequisite testing updates
204+
205+
<!--
206+
Based on reviewers feedback describe what additional tests need to be added prior
207+
implementing this enhancement to ensure the enhancements have also solid foundations.
208+
-->
209+
210+
An integration test will verify that spans exported by the kubelet match what is
188211
expected from the request. We will also add an integration test that verifies
189212
spans propagated from kubelet to API server match what is expected from the request.
190213

214+
##### Unit tests
215+
216+
<!--
217+
In principle every added code should have complete unit test coverage, so providing
218+
the exact set of tests will not bring additional value.
219+
However, if complete unit test coverage is not possible, explain the reason of it
220+
together with explanation why this is acceptable.
221+
-->
222+
223+
<!--
224+
Additionally, for Alpha try to enumerate the core package you will be touching
225+
to implement this enhancement and provide the current unit coverage for those
226+
in the form of:
227+
- <package>: <date> - <current test coverage>
228+
The data can be easily read from:
229+
https://testgrid.k8s.io/sig-testing-canaries#ci-kubernetes-coverage-unit
230+
This can inform certain test coverage improvements that we want to do before
231+
extending the production code to implement this enhancement.
232+
-->
233+
234+
- `k8s.io/component-base/traces`: no test grid results - k8s.io/component-base/traces/config_test.go
235+
236+
##### Integration tests
237+
238+
<!--
239+
This question should be filled when targeting a release.
240+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
241+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
242+
https://storage.googleapis.com/k8s-triage/index.html
243+
-->
244+
245+
An integration test will verify that spans exported by the kubelet match what is
246+
expected from the request. We will also add an integration test that verifies
247+
spans propagated from kubelet to API server match what is expected from the request.
248+
249+
##### e2e tests
250+
251+
<!--
252+
This question should be filled when targeting a release.
253+
For Alpha, describe what tests will be added to ensure proper quality of the enhancement.
254+
For Beta and GA, add links to added tests together with links to k8s-triage for those tests:
255+
https://storage.googleapis.com/k8s-triage/index.html
256+
We expect no non-infra related flakes in the last month as a GA graduation criteria.
257+
-->
258+
259+
- A test with kubelet-tracing & apiserver-tracing enabled to ensure no issues are introduced, regardless
260+
of whether a tracing backend is configured.
261+
191262
### Graduation Requirements
192263

193264
Alpha
@@ -367,6 +438,11 @@ _This section must be completed when targeting beta graduation to a release._
367438

368439
## Implementation History
369440

441+
- 2021-07-20: KEP opened
442+
- 2022-07-22: KEP merged, targeted at Alpha in 1.24
443+
- 2022-03-29: KEP deemed not ready for Alpha in 1.24
444+
- 2022-06-09: KEP targeted at Alpha in 1.25
445+
370446
## Drawbacks
371447

372448
Small overhead of increased kubelet request latency, will be monitored during experimental phase.

keps/sig-instrumentation/2831-kubelet-tracing/kep.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@ see-also:
1919
- "https://github.com/kubernetes/enhancements/tree/master/keps/sig-instrumentation/647-apiserver-tracing"
2020
replaces:
2121
stage: alpha
22-
latest-milestone: "v1.24"
22+
latest-milestone: "v1.25"
2323
milestone:
24-
alpha: "v1.24"
25-
beta: "v1.25"
26-
stable: "v1.26"
24+
alpha: "v1.25"
25+
beta: "v1.26"
26+
stable: "v1.27"
2727
feature-gates:
2828
- name: KubeletTracing
2929
components:

0 commit comments

Comments
 (0)