Skip to content

Commit bdfc8f6

Browse files
authored
Merge pull request kubernetes#81949 from yastij/remove-ftg-name-dep
remove dependency to pkg/features on service controller package
2 parents af359c3 + 19fa57b commit bdfc8f6

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

pkg/controller/service/BUILD

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ go_library(
1717
deps = [
1818
"//pkg/apis/core/v1/helper:go_default_library",
1919
"//pkg/controller:go_default_library",
20-
"//pkg/features:go_default_library",
2120
"//pkg/util/metrics:go_default_library",
2221
"//staging/src/k8s.io/api/core/v1:go_default_library",
2322
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
@@ -51,7 +50,6 @@ go_test(
5150
deps = [
5251
"//pkg/api/testapi:go_default_library",
5352
"//pkg/controller:go_default_library",
54-
"//pkg/features:go_default_library",
5553
"//staging/src/k8s.io/api/core/v1:go_default_library",
5654
"//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library",
5755
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",

pkg/controller/service/service_controller.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ import (
4343
"k8s.io/klog"
4444
v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper"
4545
"k8s.io/kubernetes/pkg/controller"
46-
kubefeatures "k8s.io/kubernetes/pkg/features"
4746
"k8s.io/kubernetes/pkg/util/metrics"
4847
)
4948

@@ -66,6 +65,16 @@ const (
6665
// LabelNodeRoleExcludeBalancer specifies that the node should be
6766
// exclude from load balancers created by a cloud provider.
6867
LabelNodeRoleExcludeBalancer = "alpha.service-controller.kubernetes.io/exclude-balancer"
68+
69+
// serviceNodeExclusionFeature is the feature gate name that
70+
// enables nodes to exclude themselves from service load balancers
71+
// originated from: https://github.com/kubernetes/kubernetes/blob/28e800245e/pkg/features/kube_features.go#L178
72+
serviceNodeExclusionFeature = "ServiceNodeExclusion"
73+
74+
// ServiceLoadBalancerFinalizerFeature is the feature gate name that
75+
// enables Finalizer Protection for Service LoadBalancers.
76+
// orginated from: https://github.com/kubernetes/kubernetes/blob/28e800245e/pkg/features/kube_features.go#L433
77+
serviceLoadBalancerFinalizerFeature = "ServiceLoadBalancerFinalizer"
6978
)
7079

7180
type cachedService struct {
@@ -149,7 +158,7 @@ func New(
149158
}
150159
},
151160
DeleteFunc: func(old interface{}) {
152-
if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.ServiceLoadBalancerFinalizer) {
161+
if utilfeature.DefaultFeatureGate.Enabled(serviceLoadBalancerFinalizerFeature) {
153162
// No need to handle deletion event if finalizer feature gate is
154163
// enabled. Because the deletion would be handled by the update
155164
// path when the deletion timestamp is added.
@@ -326,7 +335,7 @@ func (s *ServiceController) syncLoadBalancerIfNeeded(service *v1.Service, key st
326335
op = ensureLoadBalancer
327336
klog.V(2).Infof("Ensuring load balancer for service %s", key)
328337
s.eventRecorder.Event(service, v1.EventTypeNormal, "EnsuringLoadBalancer", "Ensuring load balancer")
329-
if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.ServiceLoadBalancerFinalizer) {
338+
if utilfeature.DefaultFeatureGate.Enabled(serviceLoadBalancerFinalizerFeature) {
330339
// Always try to add finalizer prior to load balancer creation.
331340
// It will be a no-op if finalizer already exists.
332341
// Note this also retrospectively puts on finalizer if the cluster
@@ -622,7 +631,7 @@ func getNodeConditionPredicate() corelisters.NodeConditionPredicate {
622631
return false
623632
}
624633

625-
if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.ServiceNodeExclusion) {
634+
if utilfeature.DefaultFeatureGate.Enabled(serviceNodeExclusionFeature) {
626635
if _, hasExcludeBalancerLabel := node.Labels[LabelNodeRoleExcludeBalancer]; hasExcludeBalancerLabel {
627636
return false
628637
}

pkg/controller/service/service_controller_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
"testing"
2626
"time"
2727

28-
"k8s.io/api/core/v1"
28+
v1 "k8s.io/api/core/v1"
2929
apierrors "k8s.io/apimachinery/pkg/api/errors"
3030
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3131
"k8s.io/apimachinery/pkg/runtime"
@@ -42,7 +42,6 @@ import (
4242
featuregatetesting "k8s.io/component-base/featuregate/testing"
4343
"k8s.io/kubernetes/pkg/api/testapi"
4444
"k8s.io/kubernetes/pkg/controller"
45-
"k8s.io/kubernetes/pkg/features"
4645
)
4746

4847
const region = "us-central"
@@ -308,7 +307,7 @@ func TestSyncLoadBalancerIfNeeded(t *testing.T) {
308307

309308
for _, tc := range testCases {
310309
t.Run(tc.desc, func(t *testing.T) {
311-
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.ServiceLoadBalancerFinalizer, tc.enableFeatureGate)()
310+
defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, serviceLoadBalancerFinalizerFeature, tc.enableFeatureGate)()
312311

313312
controller, cloud, client := newController()
314313
cloud.Exists = tc.lbExists

0 commit comments

Comments
 (0)