Skip to content

Commit 6f0d395

Browse files
authored
Merge pull request #3307 from ravisantoshgudimetla/promote-maxSurge-stable
KEP-1591: Promote DS maxSurge to GA
2 parents 4b5471d + f406357 commit 6f0d395

File tree

3 files changed

+36
-4
lines changed

3 files changed

+36
-4
lines changed

keps/prod-readiness/sig-apps/1591.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@ alpha:
33
approver: "@deads2k"
44
beta:
55
approver: "@ehashman"
6+
stable:
7+
approver: "@wojtek-t"

keps/sig-apps/1591-daemonset-surge/README.md

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@
1313
- [Design Details](#design-details)
1414
- [Implications to drain](#implications-to-drain)
1515
- [Test Plan](#test-plan)
16+
- [Prerequisite testing updates](#prerequisite-testing-updates)
17+
- [Unit tests](#unit-tests)
18+
- [Integration tests](#integration-tests)
19+
- [e2e tests](#e2e-tests)
1620
- [Graduation Criteria](#graduation-criteria)
1721
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
1822
- [Feature Enablement and Rollback](#feature-enablement-and-rollback)
@@ -141,6 +145,30 @@ pod). If the old pod delays deletion, then the new pod has a chance to accept ha
141145
* Testing should set up conflicting rules like HostPort and verify that surge fails and the correct daemonset condition is set and events are generated.
142146
* A test should cover a pod going unready during rollout and verifying it is immediately replaced.
143147

148+
149+
#### Prerequisite testing updates
150+
[x] I/we understand the owners of the involved components may require updates to existing tests to make this code solid enough prior to committing the changes necessary to implement this enhancement.
151+
152+
##### Unit tests
153+
154+
```
155+
`k8s.io/kubernetes/pkg/apis/apps/validation` `06/06/2022`: `90.6% of statements` `The tests added for the current feature in this package touches the daemonSet Spec field. No new tests are needed for promotion to GA`
156+
`k8s.io/kubernetes/pkg/apis/apps/validation/validation.go:387`: `06/06/2022`: `100.0% of statements`
157+
`k8s.io/kubernetes/pkg/controller/daemon`: `06/06/2022`: `70.7% of statements` `The tests added for the current feature in this package touches the daemonSet update strategies. No new tests are needed for promotion to GA`
158+
`k8s.io/kubernetes/pkg/registry/apps/daemonset`: `06/06/2022`: `31.1% of statements` `The tests added for the current feature in this package makes sure that the kubernetes version upgrades/downgrades won't have any impact on the new field to the daemonSet api when persisting to etcd. No new tests are needed for promotion to GA`
159+
`k8s.io/kubernetes/pkg/registry/apps/daemonset/strategy.go:129`: `06/06/2022`: `100.0% of statements`
160+
```
161+
##### Integration tests
162+
163+
A new integration which exercises maxSurge when `RollingUpdate` is used as update strategy will be added to [DS integration test suite](https://github.com/kubernetes/kubernetes/blob/master/test/integration/daemonset/daemonset_test.go)
164+
165+
##### e2e tests
166+
167+
An e2e test which exercises maxSurge when `RollingUpdate` is used as update strategy is added for daemonsets.
168+
169+
- should surge pods onto nodes when spec was updated and update strategy is RollingUpdate: [test grid](https://storage.googleapis.com/k8s-triage/index.html?test=should%20surge%20pods)
170+
171+
144172
### Graduation Criteria
145173

146174
This will be added as a alpha field enhancement to DaemonSets with a backward compatible default. After sufficient exposure this field would be promoted to beta, and then to GA in successive releases. The feature gate for this field will be `DaemonSetUpdateSurge`.
@@ -224,7 +252,7 @@ _This section must be completed when targeting beta graduation to a release._
224252

225253
* **Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?**
226254
Manually tested. No issues were found when we enabled the feature gate -> disabled it ->
227-
re-enabled the feature gate. We still need to test upgrade -> downgrade -> upgrade scenario.
255+
re-enabled the feature gate. Upgrade -> downgrade -> upgrade scenario was tested manually.
228256

229257
* **Is the rollout accompanied by any deprecations and/or removals of features, APIs,
230258
fields of API types, flags, etc.?**
@@ -345,4 +373,5 @@ This feature will not work if the API server or etcd is unavailable as the contr
345373

346374
- 2021-02-09: Initial KEP merged
347375
- 2021-03-05: Initial implementation merged
348-
- 2021-04-30: Graduate the feature to Beta proposed
376+
- 2021-04-30: Graduate the feature to Beta proposed
377+
- 2022-05-10: Graduate the feature to stable proposed

keps/sig-apps/1591-daemonset-surge/kep.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ approvers:
1717
prr-approvers:
1818
- "@deads2k"
1919
- "@ehashman"
20+
- "@wojtek-t"
2021
editor: TBD
2122
creation-date: 2020-03-02
22-
last-updated: 2020-05-06
23+
last-updated: 2022-05-10
2324
status: implementable
2425
replaces:
2526
superseded-by:
@@ -34,4 +35,4 @@ latest-milestone: "v1.22"
3435
milestone:
3536
alpha: "v1.21"
3637
beta: "v1.22"
37-
stable: "v1.24"
38+
stable: "v1.25"

0 commit comments

Comments
 (0)