Skip to content
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

Merged
merged 6 commits into from
Feb 3, 2022

Conversation

deads2k
Copy link
Contributor

@deads2k deads2k commented Jan 13, 2022

  • One-line PR description: New beta APIs will not be enabled in clusters by default. Existing beta APIs and new versions of existing beta APIs, will continue to be enabled by default.
  • Other comments:

/assign @liggitt @derekwaynecarr @johnbelamaric @dims
/cc @wojtek-t

@k8s-ci-robot k8s-ci-robot requested a review from wojtek-t January 13, 2022 18:36
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. labels Jan 13, 2022
Copy link
Member

@wojtek-t wojtek-t left a 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.

keps/sig-architecture/3136-beta-off-by-default/README.md Outdated Show resolved Hide resolved
keps/sig-architecture/3136-beta-off-by-default/README.md Outdated Show resolved Hide resolved
keps/sig-architecture/3136-beta-off-by-default/README.md Outdated Show resolved Hide resolved
@wojtek-t wojtek-t self-assigned this Jan 13, 2022
@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jan 14, 2022
@deads2k deads2k force-pushed the beta-off-by-default branch from 29c9c94 to e55c925 Compare January 14, 2022 16:21
@aojea
Copy link
Member

aojea commented Jan 18, 2022

+1 on the idea, but some concerns about the timing.
A change like this has a considerable impact and at least one release in advance to start announcing and communicating it will be better
#3137 (comment)

@liggitt
Copy link
Member

liggitt commented Jan 18, 2022

A change like this has a considerable impact and at least one release in advance to start announcing and communicating it will be better

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+.

@liggitt liggitt modified the milestone: v1.24 Jan 18, 2022
@liggitt liggitt mentioned this pull request Jan 19, 2022
5 tasks
@liggitt
Copy link
Member

liggitt commented Jan 20, 2022

lgtm

@apelisse
Copy link
Member

apelisse commented Jan 20, 2022

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.

Copy link
Contributor

@sftim sftim left a 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.

@deads2k
Copy link
Contributor Author

deads2k commented Jan 28, 2022

clarified a few more bits of text for comments.

@dims
Copy link
Member

dims commented Jan 31, 2022

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?

@deads2k deads2k force-pushed the beta-off-by-default branch from 4d6ff3c to f73839c Compare February 1, 2022 14:28
@deads2k
Copy link
Contributor Author

deads2k commented Feb 1, 2022

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?

I think the remaining concern is #3137 (comment). https://github.com/kubernetes/enhancements/pull/3137/files#diff-0ad9f743dbfdf3932906414acf0a79e074af723ad2ffb8e0dab3429f0b664beeR261 got added to mitigate it.

@sftim
Copy link
Contributor

sftim commented Feb 1, 2022

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.

Comment on lines +254 to +257
- 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)
Copy link
Contributor

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.
Copy link
Member

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?

@wojtek-t
Copy link
Member

wojtek-t commented Feb 1, 2022

/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 :) ]

@dims
Copy link
Member

dims commented Feb 2, 2022

/approve

/hold for any other reviewers you may need @deads2k

@k8s-ci-robot k8s-ci-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Feb 2, 2022
@liggitt
Copy link
Member

liggitt commented Feb 2, 2022

/approve
for me as well

looks like @johnbelamaric acked at #3137 (comment)

ack from @derekwaynecarr outstanding?

@derekwaynecarr
Copy link
Member

/approve

@k8s-ci-robot
Copy link
Contributor

[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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kikisdeliveryservice kikisdeliveryservice changed the title 3136: beta apis off by default KEP-3136: beta apis off by default Feb 3, 2022
@wojtek-t
Copy link
Member

wojtek-t commented Feb 3, 2022

Cancelling hold with approvals from all SIG Arch leads.

@wojtek-t
Copy link
Member

wojtek-t commented Feb 3, 2022

/hold cancel

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Feb 3, 2022
@wojtek-t
Copy link
Member

wojtek-t commented Feb 3, 2022

/lgtm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/kep Categorizes KEP tracking issues and PRs modifying the KEP directory lgtm "Looks good to me", indicates that a PR is ready to be merged. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.