-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KEP-3136: beta apis off by default #3137
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for opening this David!
As dicussed offline - I'm 100% supportive for it, just added some minor claryifying questions.
29c9c94
to
e55c925
Compare
+1 on the idea, but some concerns about the timing. |
Since this is not proposing a change to any existing beta APIs, I don't think the impact is that considerable. Every new beta API enabled by default represents future pain for users that start depending on it without realizing it has a relatively short lifecycle. I think this should go into effect for 1.24+. |
lgtm |
I'm a little surprised by that KEP. I'm typically ranting that alpha features never receive any testing, interest, adoption, feedback until they become beta because they're disabled, basically making these alpha versions mostly useless (IMO, you seem to have numbers that disagree with my gut feeling). The change you're suggesting means that untested features might become GA instantly for many clusters. Building things on top of Beta APIs is probably the best way to test them and give feedback, see if they're useful. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few thoughts / suggestions.
clarified a few more bits of text for comments. |
we just have a few days to get this in ... @deads2k can you please mark conversations that are resolved, so we can figure out what's left to tackle? |
4d6ff3c
to
f73839c
Compare
I think the remaining concern is #3137 (comment). https://github.com/kubernetes/enhancements/pull/3137/files#diff-0ad9f743dbfdf3932906414acf0a79e074af723ad2ffb8e0dab3429f0b664beeR261 got added to mitigate it. |
If this KEP merges, the website might need some changes (including Go templating) to help people documenting future features explain which APIs are beta-and-on-by-default, compared to other APIs etc that are beta-and-opt-in. Remember to check in with the release docs team for v1.24 about that. |
- https://kubernetes.io/docs/reference/using-api/#api-versioning | ||
- https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#using-a-feature | ||
Even though that is talking about feature gates, it is likely worth calling out there that new beta REST APIs are no | ||
longer enabled by default) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also recommend revising / expanding the feature state shortcode with a parameter to indicate whether or not the feature is enabled by default.
|
||
#### GA | ||
|
||
- Integration and unit tests from above. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIUC, this mostly means "test for per-APi enablement"? Worth making more explicit?
/approve PRR [Initially that sounded strange, but given this actually will trigger some (small but still) changes to PRR, this actually seems more related now :) ] |
/approve /hold for any other reviewers you may need @deads2k |
/approve looks like @johnbelamaric acked at #3137 (comment) ack from @derekwaynecarr outstanding? |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: deads2k, derekwaynecarr, dims, liggitt, wojtek-t The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Cancelling hold with approvals from all SIG Arch leads. |
/hold cancel |
/lgtm |
/assign @liggitt @derekwaynecarr @johnbelamaric @dims
/cc @wojtek-t