File tree Expand file tree Collapse file tree 2 files changed +20
-1
lines changed
keps/sig-architecture/1635-prevent-permabeta Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Original file line number Diff line number Diff line change 16
16
- [ sig-node] ( #sig-node )
17
17
- [ sig-scheduling] ( #sig-scheduling )
18
18
- [ Drawbacks] ( #drawbacks )
19
+ - [ Upgrade / Downgrade Strategy] ( #upgrade--downgrade-strategy )
19
20
<!-- /toc -->
20
21
21
22
## Release Signoff Checklist
@@ -141,3 +142,16 @@ This is the same as the standard for new beta APIs introduced in 1.19.
141
142
1 . Consumers of beta APIs will be made aware of the status of the APIs and be given clear dates in documentation about
142
143
when they will have to update. If the maintainers of these beta APIs do not graduate their API, a new beta version will
143
144
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.
Original file line number Diff line number Diff line change @@ -12,7 +12,12 @@ participating-sigs:
12
12
- sig-network
13
13
- sig-node
14
14
- sig-scheduling
15
- status : implementable
15
+ status : implemented
16
+
17
+ latest-milestone : " v1.19"
18
+ milestone :
19
+ stable : " v1.19"
20
+
16
21
creation-date : 2019-10-01
17
22
reviewers :
18
23
- " @bgrant0607"
You can’t perform that action at this time.
0 commit comments