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

Document the locked state of feature gates #49388

Open
tengqm opened this issue Jan 10, 2025 · 2 comments
Open

Document the locked state of feature gates #49388

tengqm opened this issue Jan 10, 2025 · 2 comments
Labels
area/web-development Issues or PRs related to the kubernetes.io's infrastructure, design, or build processes kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@tengqm
Copy link
Contributor

tengqm commented Jan 10, 2025

This is a Feature Request

What would you like to be added

When a feature gate is about to mature (or deprecate), the Kubernetes core code base will selectively mark it with lockedToDefault: true. This flag means the the gate is still there and you won't risk a "unknown feature gate" error when the gate is explicitly specified, AND more importantly, the gate cannot be set to values other than the default one.

This used to be an implementation details, aka some information only matters to the developers. However, starting from v1.32, feature gates that are marked with lockedToDefault: true is not shown in the --help message from the core components (e.g. kube-apiserver).

We need to faithfully document this details.

  • Update the feature gate data files with "locked-to-default" information
  • Augment the related shortcode to expose this to docs users

Why is this needed

There are always some features that are seemed very important for users.
Users will struggle with the support levels of a feature, not simply about its Alpha-Beta-GA status, but also when it is okay to be specified as a command line argument (or configuration option), and when it is not okay.
They also need to know when a gate is accepted by a component binary, is it really effective.
Silent failures are sometimes the most dangerous rabbit holes for cluster operators.

Comments

This is gonna be a labor-intensive work.
Clearly articulate the effect of locked is another challenge from documentation's perspective.

@tengqm tengqm added the kind/feature Categorizes issue or PR as related to a new feature. label Jan 10, 2025
@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jan 10, 2025
@sftim
Copy link
Contributor

sftim commented Jan 10, 2025

/lifecycle frozen

Before we close this issue, we should check if we implemented it. If we didn't, let's clean up any front matter changes that no longer apply.

/area web-development
/triage accepted

And slightly relevant, but let's capture it:
/sig architecture

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. area/web-development Issues or PRs related to the kubernetes.io's infrastructure, design, or build processes triage/accepted Indicates an issue or PR is ready to be actively worked on. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jan 10, 2025
@sftim
Copy link
Contributor

sftim commented Jan 10, 2025

/priority important-longterm

@k8s-ci-robot k8s-ci-robot added the priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. label Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/web-development Issues or PRs related to the kubernetes.io's infrastructure, design, or build processes kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

3 participants