|
16 | 16 | - [Kubelet Configuration](#kubelet-configuration)
|
17 | 17 | - [Design Details](#design-details)
|
18 | 18 | - [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) |
19 | 23 | - [Graduation Requirements](#graduation-requirements)
|
20 | 24 | - [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
|
21 | 25 | - [Feature Enablement and Rollback](#feature-enablement-and-rollback)
|
@@ -183,11 +187,78 @@ type TracingConfiguration struct {
|
183 | 187 |
|
184 | 188 | ### Test Plan
|
185 | 189 |
|
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 |
188 | 211 | expected from the request. We will also add an integration test that verifies
|
189 | 212 | spans propagated from kubelet to API server match what is expected from the request.
|
190 | 213 |
|
| 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 | + |
191 | 262 | ### Graduation Requirements
|
192 | 263 |
|
193 | 264 | Alpha
|
@@ -367,6 +438,11 @@ _This section must be completed when targeting beta graduation to a release._
|
367 | 438 |
|
368 | 439 | ## Implementation History
|
369 | 440 |
|
| 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 | + |
370 | 446 | ## Drawbacks
|
371 | 447 |
|
372 | 448 | Small overhead of increased kubelet request latency, will be monitored during experimental phase.
|
|
0 commit comments