-
Notifications
You must be signed in to change notification settings - Fork 39.4k
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
chore: port all non deprecated, non apiserver/controller-manager referenced features to versioned #126791
Conversation
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
0f4f842
to
e9d5a8b
Compare
/retest |
e9d5a8b
to
d9c16b6
Compare
d9c16b6
to
b05956d
Compare
/retest |
but I believe you ported over other features with this comment and it doesn't fit into the groups to omit IIUC. Just wanted to raise this, not sure if it should be ported over atm |
RuntimeClassInImageCriAPI: { | ||
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha}, | ||
}, | ||
ElasticIndexedJob: { |
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.
This has the following comment in kube_feautures.go
// owner: @danielvegamyhre
// kep: https://kep.k8s.io/2413
// beta: v1.27
//
// Allows mutating spec.completions for Indexed job when done in tandem with
// spec.parallelism. Specifically, spec.completions is mutable iff spec.completions
// equals to spec.parallelism before and after the update.
ElasticIndexedJob featuregate.Feature = "ElasticIndexedJob"
This says it is in beta but perhaps the comment is incorrect, just wanted to raise this in case
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.
be410c0#diff-71e3b98f9a6bbf5b8421e26a7ba0c079f397cd8d49abacdad943c66a4f44f03d
Graduation is here, thanks for catching this will update the comment
{Version: version.MustParse("1.29"), Default: false, PreRelease: featuregate.Alpha}, | ||
{Version: version.MustParse("1.30"), Default: true, PreRelease: featuregate.Beta}, | ||
}, | ||
ServiceAccountTokenNodeBinding: { |
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.
The code here says beta: v1.30 but the comment from kube_features.go says beta: 1.31. I think this may need to be changed.
// owner: @munnerz
// kep: http://kep.k8s.io/4193
// alpha: v1.29
// beta: v1.31
//
// Controls whether the apiserver supports binding service account tokens to Node objects.
ServiceAccountTokenNodeBinding featuregate.Feature = "ServiceAccountTokenNodeBinding"
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.
ServiceAccountTokenNodeBinding looks to be correct at 1.31 https://github.com/kubernetes/kubernetes/blob/master/pkg/features/kube_features.go#L719. You're looking at ServiceAccountTokenJTI which is beta at 1.30 and that seems to match the comments https://github.com/kubernetes/kubernetes/blob/master/pkg/features/kube_features.go#L710
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.
Ah sorry, +1 it is correct as is
#126839 removes the feature gate. IMO features that transitioned to GA in or before 1.31 should be safe to remove because they cannot be turned off both in 1.31 and future versions. |
7e5bc8d
to
70b43e9
Compare
pkg/features/kube_features.go
Outdated
@@ -677,6 +677,7 @@ const ( | |||
// owner: @danielvegamyhre | |||
// kep: https://kep.k8s.io/2413 | |||
// beta: v1.27 | |||
// stable: v1.31 |
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.
Generally, we use GA: v1.31
.
A quick search shows that we have five stable: v1.x
in this file.
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.
Renamed all to GA
70b43e9
to
e7bfd4b
Compare
I believe this PR has addressed most of the deltas discovered in the below gist in a go through of kube_features.go vs kubernetes/website vs actual k8s releases from discussion w/ @Jefftree offline. My findings from my going through of all of the features in kube_features.go and comparing to the values in kubernets/website (and direct k8s releases) are here: Going to create an issue + PR against kubernetes/website to fix the deltas I discovered there. I believe the only outstanding item from this for this PR is changing StatefulSetAutoDeletePVC from alpha: 1.22 -> alpha: 1.23 (feature was added and then removed in 1.22 - fb5b966) |
/lgtm |
@aaron-prindle: changing LGTM is restricted to collaborators In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/lgtm |
LGTM label has been added. Git tree hash: e922dc3d82bd568734258808484640835f2a8a37
|
/sig architecture |
/retest |
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Continuation of #126878 and #125031. Migrate all features that are not deprecated and not redefined in other places like apiserver and controller manager (they have their own feature gates).
As of 8/29/2024, there are 150 unversioned features and 2 versioned features. After this PR, there will be 45 unversioned features and 107 versioned features. The cardinality is the same so we can guarantee that all features that existed before still exist after the PR.
Obviously this doesn't 100% guarantee that version information is correct, I've taken the version information in the comments from https://github.com/kubernetes/kubernetes/blob/master/pkg/features/kube_features.go#L28 and constructed it in
versioned_feature_gates.go
, preserving the current comments like// remove after 1.33
as much as possible. These were manually cross referenced by both me and aaron-prindle.Before
After:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Follow ups:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: