Skip to content

Commit fd25970

Browse files
authored
Merge pull request kubernetes#4694 from pwschuurman/kep-3335-stable
KEP-3335: Update stable milestone to 1.31
2 parents 1f17939 + c774fe9 commit fd25970

File tree

3 files changed

+44
-14
lines changed

3 files changed

+44
-14
lines changed

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

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

keps/sig-apps/3335-statefulset-slice/README.md

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ tags, and then generate with `hack/update-toc.sh`.
9999
- [Graduation Criteria](#graduation-criteria)
100100
- [Alpha](#alpha)
101101
- [Beta](#beta)
102+
- [GA](#ga)
102103
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
103104
- [Version Skew Strategy](#version-skew-strategy)
104105
- [Production Readiness Review Questionnaire](#production-readiness-review-questionnaire)
@@ -139,15 +140,15 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
139140
- [X] (R) Design details are appropriately documented
140141
- [X] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
141142
- [ ] e2e Tests for all Beta API Operations (endpoints)
142-
- [ ] (R) Ensure GA e2e tests for meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
143-
- [ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free
143+
- [X] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
144+
- [X] (R) Minimum Two Week Window for GA e2e tests to prove flake free
144145
- [X] (R) Graduation criteria is in place
145-
- [ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
146-
- [ ] (R) Production readiness review completed
147-
- [ ] (R) Production readiness review approved
146+
- [X] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
147+
- [X] (R) Production readiness review completed
148+
- [X] (R) Production readiness review approved
148149
- [X] "Implementation History" section is up-to-date for milestone
149150
- [X] User-facing documentation has been created in [kubernetes/website], for publication to [kubernetes.io]
150-
- [ ] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
151+
- [X] Supporting documentation—e.g., additional design documents, links to mailing list discussions/SIG meetings, relevant PRs/issues, release notes
151152

152153
<!--
153154
**Note:** This checklist is iterative and should be reviewed and updated every time this enhancement is being considered for a milestone.
@@ -536,6 +537,11 @@ in back-to-back releases.
536537
* Enable feature gate for e2e pipelines
537538
* Add e2e tests
538539

540+
#### GA
541+
542+
* Real-world usage
543+
* ([The LeaderWorkerSet API (LWS)](https://github.com/kubernetes-sigs/lws/blob/main/docs/setup/install.md))
544+
539545
### Upgrade / Downgrade Strategy
540546

541547
<!--
@@ -562,15 +568,19 @@ components? What are the guarantees? Make sure this is in the test plan.
562568
563569
Consider the following in developing a version skew strategy for this
564570
enhancement:
565-
- Does this enhancement involve coordinating behavior in the control plane and
566-
in the kubelet? How does an n-2 kubelet without this feature available behave
567-
when this feature is used?
571+
- Does this enhancement involve coordinating behavior in the control plane and nodes?
572+
- How does an n-3 kubelet or kube-proxy without this feature available behave when this feature is used?
573+
- How does an n-1 kube-controller-manager or kube-scheduler without this feature available behave when this feature is used?
568574
- Will any other components on the node change? For example, changes to CSI,
569575
CRI or CNI may require updating that component before the kubelet.
570576
-->
571577

572578
There are only `kube-controller-manager` changes involved (in addition to the apiserver changes for dealing with the new StatefulSet field). Node components are not involved so there is no version skew between nodes and the control plane.
573579

580+
An n-1 `kube-controller-manager` will have the same effect (when applicable) as rolling back
581+
to a version where this feature is not enabled. See
582+
[Rollout, upgrade and rollback planning](#rollout-upgrade-and-rollback-planning) for details.
583+
574584
## Production Readiness Review Questionnaire
575585

576586
<!--
@@ -729,7 +739,7 @@ Longer term, we may want to require automated upgrade/rollback tests, but we
729739
are missing a bunch of machinery and tooling and can't do that now.
730740
-->
731741

732-
Manual upgrade->downgrade->upgrade scenario (to be validated):
742+
A manual upgrade->downgrade->upgrade scenario was performed:
733743

734744
- Create a cluster on a version that doesn't use this feature (eg: 1.26)
735745
- Upgrade a cluster to a version that uses this feature (eg: 1.27)
@@ -784,7 +794,7 @@ and operation of this feature.
784794
Recall that end users cannot usually observe component logs or access metrics.
785795
-->
786796

787-
- [ ] Other (treat as last resort)
797+
- [X] Other (treat as last resort)
788798
- Details: The user can inspect the pods that are created by the StatefulSet
789799
which match the StatefulSet's selector.
790800

@@ -959,6 +969,22 @@ This through this both in small and large cases, again with respect to the
959969

960970
No. Resource usage remains the same with this feature.
961971

972+
###### Can enabling / using this feature result in resource exhaustion of some node resources (PIDs, sockets, inodes, etc.)?
973+
974+
<!--
975+
Focus not just on happy cases, but primarily on more pathological cases
976+
(e.g. probes taking a minute instead of milliseconds, failed pods consuming resources, etc.).
977+
If any of the resources can be exhausted, how this is mitigated with the existing limits
978+
(e.g. pods per node) or new limits added by this KEP?
979+
980+
Are there any tests that were run/should be run to understand performance characteristics better
981+
and validate the declared limits?
982+
-->
983+
984+
No. This feature runs only on the control plane (StatefulSet controller within `kube-controller-manager`).
985+
It also doesn't result in any increased node usage, as the number of expected StatefulSet replicas
986+
remains constant whether this feature is enabled (`.spec.ordinals.start` is set).
987+
962988
### Troubleshooting
963989

964990
<!--
@@ -1045,7 +1071,8 @@ Major milestones might include:
10451071

10461072
- 2022-06-02: KEP created.
10471073
- 2022-10-06: Alpha implementation.
1048-
- 2023-02-09: Beta implementation.
1074+
- 2023-02-09: Beta graduation.
1075+
- 2024-06-04: Stable graduation.
10491076

10501077
## Drawbacks
10511078

keps/sig-apps/3335-statefulset-slice/kep.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,18 @@ approvers:
1515
- "@soltysh"
1616

1717
# The target maturity stage in the current dev cycle for this KEP.
18-
stage: beta
18+
stage: stable
1919

2020
# The most recent milestone for which work toward delivery of this KEP has been
2121
# done. This can be the current (upcoming) milestone, if it is being actively
2222
# worked on.
23-
latest-milestone: "v1.27"
23+
latest-milestone: "v1.31"
2424

2525
# The milestone at which this feature was, or is targeted to be, at each stage.
2626
milestone:
2727
alpha: "v1.26"
2828
beta: "v1.27"
29+
stable: "v1.31"
2930

3031
# The following PRR answers are required at alpha release
3132
# List the feature gate name and the components for which it must be enabled

0 commit comments

Comments
 (0)