-
Notifications
You must be signed in to change notification settings - Fork 1.5k
KEP-5241: Beta Feature Gate Promotion Requirements #5242
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
base: master
Are you sure you want to change the base?
Conversation
deads2k
commented
Apr 14, 2025
- One-line PR description: Features gates must include all functional, security, and testing requirements along with resolving all issues and gaps identified prior to being enabled by default.
- Issue link: Beta Feature Gate Promotion Requirements #5241
- Other comments:
d15bc9d
to
3b33ffc
Compare
keps/sig-architecture/5241-beta-featuregate-promotion-requirements/README.md
Outdated
Show resolved
Hide resolved
keps/sig-architecture/5241-beta-featuregate-promotion-requirements/README.md
Outdated
Show resolved
Hide resolved
keps/sig-architecture/5241-beta-featuregate-promotion-requirements/README.md
Outdated
Show resolved
Hide resolved
in v1.Y broke under the same feature gate. | ||
|
||
#### Who will make sure that new KEPs follow the promotion rules? | ||
We'll adjust the KEP template to indicate the allowed criteria, so authors should notice. |
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.
Only for new features. Authors of some existing KEP only notice if they actively sync with the KEP template (rarely done) or we announce this KEP here widely.
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.
There's another topic about that in SIG Arch today. bit.ly/kep-versioning_phase1
keps/sig-architecture/5241-beta-featuregate-promotion-requirements/README.md
Outdated
Show resolved
Hide resolved
keps/sig-architecture/5241-beta-featuregate-promotion-requirements/README.md
Show resolved
Hide resolved
keps/sig-architecture/5241-beta-featuregate-promotion-requirements/README.md
Show resolved
Hide resolved
3. Beta means that a feature gate is usually enabled in all production Kubernetes clusters by default | ||
and that feature can be disabled. | ||
Exceptions exist for entirely new APIs and some node features, but this broadly the case. | ||
4Alpha means that a feature gate is disabled in all production Kubernetes clusters by default and |
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.
4Alpha means that a feature gate is disabled in all production Kubernetes clusters by default and | |
4. Alpha means that a feature gate is disabled in all production Kubernetes clusters by default and |
5c76f39
to
43e3c6a
Compare
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.
/approve
/approve thanks for writing this up @deads2k |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: deads2k, dims, johnbelamaric 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 |
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 think this may need a tweak on the template readme to call out monitoring/instrumentation.
|
||
## Summary | ||
|
||
Features gates must include all functional, security, monitoring, and testing requirements along with |
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.
unless i am mistaken, the summary adds 'monitoring' requirements, but its not highlighted earlier. i do not see it called out in beta or GA explicitly unless i missed it. relevant instrumentation is important, but i am not sure if addition of a metric observed during a beta phase extends the beta phase, blocks promotion to GA phase, or what. wdyt?
To balance these concerns, we are changing how we evaluate Beta and GA stability criteria. | ||
The only valid GA criteria are “all issues and gaps identified as feedback during beta are resolved”. | ||
Promotion from Beta to GA must be zero-diff for the release. | ||
This means that Beta criteria must include all functional, security, monitoring, and testing requirements along |
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.
if this is the intent, recommend calling out instrumentation in the kep template under beta, and note that any new instrumentation would extend the beta another release. i am not sure if this introduces a negative incentive in some cases, but we would have to see how that plays out. in some cases, correlating a metric to a single feature may not always be clear if it had cross-cutting value.
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 don't think adding a new metric should "automatically" require a second beta, for these reasons:
- Metrics themselves have independent alpha/beta/stable guarantees which are not generally in sync with the feature they monitor.
- There is space between metrics that are "necessary to support the feature in production" and those that are "useful to have".
The evaluation of whether the metrics that are necessary to support a feature in production are all there is a GA criteria. This KEP update is saying that "we should require those to be available in beta", which I think is a good thing.
Even if we screw that up, and miss something that is critical in beta, adding it before GA should be sufficient. I don't think we want to say "all bugs/missing metrics must be fixed and then we must do another beta before GA".
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've updated "zero-diff" to "no significant change" to try to better reflect our intent.
…cant' vs 'zero-diff'