Skip to content

Commit 6003fb9

Browse files
committed
describe mechanics of handling beta removal to avoid developer disruption
1 parent 0fba843 commit 6003fb9

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

keps/sig-architecture/1635-prevent-permabeta/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
- [sig-node](#sig-node)
1717
- [sig-scheduling](#sig-scheduling)
1818
- [Drawbacks](#drawbacks)
19+
- [Upgrade / Downgrade Strategy](#upgrade--downgrade-strategy)
1920
<!-- /toc -->
2021

2122
## Release Signoff Checklist
@@ -141,3 +142,16 @@ This is the same as the standard for new beta APIs introduced in 1.19.
141142
1. Consumers of beta APIs will be made aware of the status of the APIs and be given clear dates in documentation about
142143
when they will have to update. If the maintainers of these beta APIs do not graduate their API, a new beta version will
143144
need to exist within 18-ish months and early adopters will have to update their manifests to the new version.
145+
146+
## Upgrade / Downgrade Strategy
147+
148+
To ensure adherence, the kube-apiserver automatically stops serving expired beta APIs.
149+
To avoid disruption to developers, there is a flow to handle removing these APIs.
150+
1. For alpha levels of a release, the expired beta APIs are served.
151+
2. The grace for an alpha level can be removed in a PR by setting
152+
(strictRemovedHandlingInAlpha=true)[https://github.com/kubernetes/kubernetes/blob/73d4c245ef870390b052a070134f7c4751744037/pkg/controlplane/deleted_kinds.go#L72]
153+
3. The PR will highlight tests and code that need to be updated to react to the removed beta API.
154+
4. Updates to handle beta removal can be made before the first beta.0 is tagged.
155+
5. You know you're done when the PR from step 2 passes.
156+
Following these steps will prevent any disruption to the kube development flow when expired APIs are automatically excluded
157+
from the the kube-apiserver.

keps/sig-architecture/1635-prevent-permabeta/kep.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,12 @@ participating-sigs:
1212
- sig-network
1313
- sig-node
1414
- sig-scheduling
15-
status: implementable
15+
status: implemented
16+
17+
latest-milestone: "v1.19"
18+
milestone:
19+
stable: "v1.19"
20+
1621
creation-date: 2019-10-01
1722
reviewers:
1823
- "@bgrant0607"

0 commit comments

Comments
 (0)