Skip to content

Commit 34b255a

Browse files
committed
Update KEP-4569 to graduate ResilientWatchCacheInitialization to GA
1 parent 54d8e48 commit 34b255a

File tree

3 files changed

+20
-24
lines changed

3 files changed

+20
-24
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
kep-number: 4568
22
beta:
33
approver: "@jpbetz"
4+
stable:
5+
approver: "@deads2k"

keps/sig-api-machinery/4568-resilient-watchcache-initialization/README.md

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -223,22 +223,16 @@ requests will be rejected with 429 http code similarly to watch requests.
223223
Given we're changing the existing behavior, there is a risk of breaking some
224224
clients. To mitigate it, we will introduce all the logic behind two separate
225225
feature gates [to allow for disablement if needed]:
226-
- WatchCacheInitializationPostStartHook - handling the logic of the new
227-
post-start hook
228-
- ResilientWatchCacheInitialization - handling the changes to returning
229-
429 errors instead of keeping the requests hanging
230-
231-
Given the proposed changes are not changing the API and we will already
232-
implement them with desired quality and coverage, we propose to go directly
233-
to Beta.
234-
However, we admit that the risk in both cases is different:
235-
- for the new post-start hook, there is a risk of kube-apiserver not initializing,
236-
thus we will start with Beta disabled by-default
237-
- for the changes to handing requests when watchcache is uninitialized, we
238-
believe the risk is visibly lower (and 429 errors were already returned
239-
before, even in small clusters where priority-levels are small enough
240-
to often admit only 1-2 inflight requests at once anyway) and we will
241-
enable it by-default from the very beginning
226+
- WatchCacheInitializationPostStartHook (Beta, disabled by default):
227+
handling the logic of the new post-start hook. There is a risk of
228+
kube-apiserver not initializing if this hook has issues, hence it started
229+
as Beta disabled by default. Plan is to enable it by default after getting some production data.
230+
- ResilientWatchCacheInitialization (Beta, enabled by default since 1.31):
231+
Handles the changes to returning 429 errors instead of keeping the requests hanging.
232+
The risk is visibly lower (and 429 errors were already returned
233+
before, even in small clusters where priority-levels are small enough
234+
to often admit only 1-2 inflight requests at once anyway) so the feature was enabled by default.
235+
This feature has proven stable and is targeting GA in 1.34.
242236

243237
## Design Details
244238

@@ -293,7 +287,9 @@ Given we're only modifying kube-apiserver, integration tests are sufficient.
293287

294288
#### GA
295289

296-
TODO
290+
- Feature was enabled by default allowing us to collect production data.
291+
- No critical issues reported during the period that would block graduation.
292+
- Any further tuning of the specific request delegation logic is considered an incremental improvement and can be addressed post-GA.
297293

298294
### Upgrade / Downgrade Strategy
299295

@@ -362,7 +358,7 @@ In case of bugs:
362358

363359
###### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?
364360

365-
TODO: The test will be run before promoting the feature to Beta.
361+
No need for tests, this feature doesn't have any persistent side effects.
366362

367363
###### Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.?
368364

@@ -388,10 +384,7 @@ The feature is not workload-specific, it only affects if certain API calls will
388384

389385
###### Are there any missing metrics that would be useful to have to improve observability of this feature?
390386

391-
<!--
392-
Describe the metrics themselves and the reasons why they weren't added (e.g., cost,
393-
implementation difficulties, etc.).
394-
-->
387+
No
395388

396389
### Dependencies
397390

keps/sig-api-machinery/4568-resilient-watchcache-initialization/kep.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,17 @@ see-also:
1616
replaces:
1717

1818
# The target maturity stage in the current dev cycle for this KEP.
19-
stage: beta
19+
stage: stable
2020

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

2626
# The milestone at which this feature was, or is targeted to be, at each stage.
2727
milestone:
2828
beta: "v1.31"
29+
stable: "v1.34"
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)