Change:
What is missing? Based on SIG call it's probably "tests" but I am not sure. Could use some investigation and followup - how do we get it to GA? /sig network /kind cleanup
/triage unresolved Comment when the issue is assessed and confirmed. I am a bot run by vllry. ‍
/assign
This one seems not a good first one, I'll take this to myself and start bothering people in Slack to check what's missing, mostly as I've seen this is also related to cloud providers :)
I think this one originally. According to the KEP in This should have went GA in v.19 and be removed in v1.20. Given it's still marked beta, at the very least we should mark it GA in v1.20 and remove it in v1.21. anything I'm missing here?
yeap. Honest question, changing a Feature Gate to GA process is only changing the related line in and also putting a comment that this goes to GA? If so, probably this one can also be a good first issue and we can open a future issue for the removal in v1.21 once v1.20 ships. I think this will also need to be changed in the in v1.21 right? If is ok with that, I would like then to mark this as a good first issue to turn the feature GA in v1.20 :)
Well, taking a look into how secure is to move to GA: In the KEP there are some considerations about removing the IsMasterNode function, which seems to be already dealt in commit E2E tests needs to be also checked about usage of IsMasterNode(), which I could not find anymore and also seems to be removed from the same commit above. About the same Kep, it's directly related to other Feature Gate: ` So what I think that needs to be done: Promote LegacyNodeRoleBehavior to GA and Default it to false as proposed in the Kep -I'll open another issue just for this According to the LegacyNodeRoleBehavior should be removed in v1.19 but according to the Kep in v1.21, so let's stick with v1.21? ServiceNodeExclusion - Should be moved to GA, already defaulted to true. This issue is going to deal ONLY with this. NodeDisruptionExclusion - Should be moved to GA, already defaulted to true. I'll open another issue for this I'm afraid of this having some sort of direct impact in cloud providers, do you want me to take this to the sig-cloudproviders meet? Otherwise can we move the above Feature Gates to GA, and schedule their removal for v1.21, wdyt?
Per deprecation lifecycle it seems that a feature needs 6 months or 2 releases (the longer one) in Beta before going to GA. So this actually seems to be the missing part before moving to GA. As the 3 FeatureGates are directed related, probably this issue should be: Move all of them to GA in v1.21 Default LegacyNodeRoleBehavior to false Sounds a good approach? I can keep this opened until we reach v1.21
If this issue has been triaged, please comment . If you aren't able to handle this issue, consider unassigning yourself and/or adding the label. I am a bot run by vllry. ‍
/remove-triage unresolved
/retitle Move Feature gate ServiceNodeExclusion to GA and LockToDefault
/triage accepted as this FG is scheduled to be moved to GA in v1.21, do you want to tackle on this?
fixed in /close
Closing this issue. <detailsIn response to : fixed in /close </details

Discussion:
// Enable pods to set sysctls on a pod Sysctls featuregate.Feature = "Sysctls" <del> // owner @smarterclayton // alpha: v1.16 // beta:  v1.19 // ga:  v1.21 // // Enable legacy behavior to vary cluster functionality on the node-role.kubernetes.io labels. On by default (legacy), will be turned off in 1.18. // Lock to false in v1.21 and remove in v1.22. LegacyNodeRoleBehavior featuregate.Feature = "LegacyNodeRoleBehavior" // owner @brendandburns // kep: http://kep.k8s.io/1143 // alpha: v1.9 // beta:  v1.19 // ga:  v1.21 // // Enable nodes to exclude themselves from service load balancers ServiceNodeExclusion featuregate.Feature = "ServiceNodeExclusion" // owner @smarterclayton // alpha: v1.16 // beta:  v1.19 // ga:  v1.21 // // Enable nodes to exclude themselves from network disruption checks NodeDisruptionExclusion featuregate.Feature = "NodeDisruptionExclusion" </del> // owner: @pospispa // GA: v1.11 //

MemoryManager:                                  {Default: false, PreRelease: featuregate.Alpha}, CPUCFSQuotaPeriod:                              {Default: false, PreRelease: featuregate.Alpha}, TopologyManager:                                {Default: true, PreRelease: featuregate.Beta}, <del> ServiceNodeExclusion:                           {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.23 NodeDisruptionExclusion:                        {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.22 </del> StorageObjectInUseProtection:                   {Default: true, PreRelease: featuregate.GA}, SupportPodPidsLimit:                            {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.23 SupportNodePidsLimit:                           {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.23

// features that enable backwards compatibility but are scheduled to be removed // ... <del> HPAScaleToZero:         {Default: false, PreRelease: featuregate.Alpha}, LegacyNodeRoleBehavior: {Default: false, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.22 </del> <ins> HPAScaleToZero: {Default: false, PreRelease: featuregate.Alpha}, </ins> }

// // alpha: v1.4 // MyFeature() bool <del> // owner @smarterclayton // alpha: v1.16 // beta:  v1.19 // // Enable legacy behavior to vary cluster functionality on the node-role.kubernetes.io labels. On by default (legacy), will be turned off in 1.18. // Original copy from k8s.io/kubernetes/pkg/features/kube_features.go LegacyNodeRoleBehavior featuregate.Feature = "LegacyNodeRoleBehavior" // owner @brendandburns // alpha: v1.9 // beta:  v1.19 // ga:  v1.21 // // Enable nodes to exclude themselves from service load balancers // Original copy from k8s.io/kubernetes/pkg/features/kube_features.go ServiceNodeExclusion featuregate.Feature = "ServiceNodeExclusion" </del> // owner: @khenidak // alpha: v1.15 //

// cloudPublicFeatureGates consists of cloud-specific feature keys. // To add a new feature, define a key for it at k8s.io/api/pkg/features and add it here. var cloudPublicFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{ <del> LegacyNodeRoleBehavior:           {Default: false, PreRelease: featuregate.GA, LockToDefault: true}, ServiceNodeExclusion:             {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, </del> IPv6DualStack:                    {Default: true, PreRelease: featuregate.Beta}, ControllerManagerLeaderMigration: {Default: false, PreRelease: featuregate.Alpha}, }