Skip to content

Commit 28c442e

Browse files
authored
Merge pull request kubernetes#90126 from smarterclayton/features_default
Promote service exclusion and legacy node role to beta
2 parents 3b00d7d + d70b31e commit 28c442e

File tree

3 files changed

+6
-14
lines changed

3 files changed

+6
-14
lines changed

pkg/controller/service/controller.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,6 @@ const (
7070
// in 1.16 when the ServiceNodeExclusion gate is on.
7171
labelNodeRoleExcludeBalancer = "node.kubernetes.io/exclude-from-external-load-balancers"
7272

73-
// labelAlphaNodeRoleExcludeBalancer specifies that the node should be
74-
// exclude from load balancers created by a cloud provider. This label is deprecated and will
75-
// be removed in 1.18.
76-
labelAlphaNodeRoleExcludeBalancer = "alpha.service-controller.kubernetes.io/exclude-balancer"
77-
7873
// serviceNodeExclusionFeature is the feature gate name that
7974
// enables nodes to exclude themselves from service load balancers
8075
// originated from: https://github.com/kubernetes/kubernetes/blob/28e800245e/pkg/features/kube_features.go#L178
@@ -618,10 +613,6 @@ func getNodeConditionPredicate() NodeConditionPredicate {
618613
}
619614
}
620615
if utilfeature.DefaultFeatureGate.Enabled(serviceNodeExclusionFeature) {
621-
// Will be removed in 1.18
622-
if _, hasExcludeBalancerLabel := node.Labels[labelAlphaNodeRoleExcludeBalancer]; hasExcludeBalancerLabel {
623-
return false
624-
}
625616
if _, hasExcludeBalancerLabel := node.Labels[labelNodeRoleExcludeBalancer]; hasExcludeBalancerLabel {
626617
return false
627618
}

pkg/controller/service/controller_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1404,13 +1404,11 @@ func Test_getNodeConditionPredicate(t *testing.T) {
14041404
{want: true, input: &v1.Node{Status: validNodeStatus, ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{}}}},
14051405
{want: true, input: &v1.Node{Status: validNodeStatus, ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{labelNodeRoleMaster: ""}}}},
14061406
{want: true, input: &v1.Node{Status: validNodeStatus, ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{labelNodeRoleExcludeBalancer: ""}}}},
1407-
{want: true, input: &v1.Node{Status: validNodeStatus, ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{labelAlphaNodeRoleExcludeBalancer: ""}}}},
14081407

14091408
{want: true, enableExclusion: true, input: &v1.Node{Status: validNodeStatus, ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{labelNodeRoleMaster: ""}}}},
14101409
{want: true, enableLegacy: true, input: &v1.Node{Status: validNodeStatus, ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{labelNodeRoleExcludeBalancer: ""}}}},
14111410

14121411
{want: false, enableLegacy: true, input: &v1.Node{Status: validNodeStatus, ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{labelNodeRoleMaster: ""}}}},
1413-
{want: false, enableExclusion: true, input: &v1.Node{Status: validNodeStatus, ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{labelAlphaNodeRoleExcludeBalancer: ""}}}},
14141412
{want: false, enableExclusion: true, input: &v1.Node{Status: validNodeStatus, ObjectMeta: metav1.ObjectMeta{Labels: map[string]string{labelNodeRoleExcludeBalancer: ""}}}},
14151413
}
14161414
for _, tt := range tests {

pkg/features/kube_features.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,18 +146,21 @@ const (
146146

147147
// owner @smarterclayton
148148
// alpha: v1.16
149+
// beta: v1.19
149150
//
150151
// 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.
151152
LegacyNodeRoleBehavior featuregate.Feature = "LegacyNodeRoleBehavior"
152153

153154
// owner @brendandburns
154155
// alpha: v1.9
156+
// beta: v1.19
155157
//
156158
// Enable nodes to exclude themselves from service load balancers
157159
ServiceNodeExclusion featuregate.Feature = "ServiceNodeExclusion"
158160

159161
// owner @smarterclayton
160162
// alpha: v1.16
163+
// beta: v1.19
161164
//
162165
// Enable nodes to exclude themselves from network disruption checks
163166
NodeDisruptionExclusion featuregate.Feature = "NodeDisruptionExclusion"
@@ -598,8 +601,8 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
598601
CPUManager: {Default: true, PreRelease: featuregate.Beta},
599602
CPUCFSQuotaPeriod: {Default: false, PreRelease: featuregate.Alpha},
600603
TopologyManager: {Default: true, PreRelease: featuregate.Beta},
601-
ServiceNodeExclusion: {Default: false, PreRelease: featuregate.Alpha},
602-
NodeDisruptionExclusion: {Default: false, PreRelease: featuregate.Alpha},
604+
ServiceNodeExclusion: {Default: true, PreRelease: featuregate.Beta},
605+
NodeDisruptionExclusion: {Default: true, PreRelease: featuregate.Beta},
603606
CSIDriverRegistry: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.20
604607
CSINodeInfo: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.19
605608
BlockVolume: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.20
@@ -675,5 +678,5 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS
675678
// features that enable backwards compatibility but are scheduled to be removed
676679
// ...
677680
HPAScaleToZero: {Default: false, PreRelease: featuregate.Alpha},
678-
LegacyNodeRoleBehavior: {Default: true, PreRelease: featuregate.Alpha},
681+
LegacyNodeRoleBehavior: {Default: true, PreRelease: featuregate.Beta},
679682
}

0 commit comments

Comments
 (0)