From 25453708ea20e424d906ef27678b27b9b8357328 Mon Sep 17 00:00:00 2001 From: Lars Ekman Date: Wed, 14 Jul 2021 09:15:39 +0200 Subject: [PATCH] Remove pkg/utils/slice from kube-proxy --- pkg/proxy/userspace/roundrobin.go | 13 ++++++------- pkg/proxy/winuserspace/roundrobin.go | 13 ++++++------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/pkg/proxy/userspace/roundrobin.go b/pkg/proxy/userspace/roundrobin.go index 1a223bdd145..f9a12102d7f 100644 --- a/pkg/proxy/userspace/roundrobin.go +++ b/pkg/proxy/userspace/roundrobin.go @@ -20,7 +20,7 @@ import ( "errors" "fmt" "net" - "reflect" + "sort" "sync" "time" @@ -30,7 +30,7 @@ import ( "k8s.io/klog/v2" "k8s.io/kubernetes/pkg/proxy" "k8s.io/kubernetes/pkg/proxy/util" - "k8s.io/kubernetes/pkg/util/slice" + stringslices "k8s.io/utils/strings/slices" ) var ( @@ -263,7 +263,7 @@ func (lb *LoadBalancerRR) OnEndpointsUpdate(oldEndpoints, endpoints *v1.Endpoint curEndpoints = state.endpoints } - if !exists || state == nil || len(curEndpoints) != len(newEndpoints) || !slicesEquiv(slice.CopyStrings(curEndpoints), newEndpoints) { + if !exists || state == nil || len(curEndpoints) != len(newEndpoints) || !slicesEquiv(stringslices.Clone(curEndpoints), newEndpoints) { klog.V(1).Infof("LoadBalancerRR: Setting endpoints for %s to %+v", svcPort, newEndpoints) lb.removeStaleAffinity(svcPort, newEndpoints) // OnEndpointsUpdate can be called without NewService being called externally. @@ -320,10 +320,9 @@ func slicesEquiv(lhs, rhs []string) bool { if len(lhs) != len(rhs) { return false } - if reflect.DeepEqual(slice.SortStrings(lhs), slice.SortStrings(rhs)) { - return true - } - return false + sort.Strings(lhs) + sort.Strings(rhs) + return stringslices.Equal(lhs, rhs) } func (lb *LoadBalancerRR) CleanupStaleStickySessions(svcPort proxy.ServicePortName) { diff --git a/pkg/proxy/winuserspace/roundrobin.go b/pkg/proxy/winuserspace/roundrobin.go index 69a014fd5ee..f725c05a48c 100644 --- a/pkg/proxy/winuserspace/roundrobin.go +++ b/pkg/proxy/winuserspace/roundrobin.go @@ -20,7 +20,7 @@ import ( "errors" "fmt" "net" - "reflect" + "sort" "sync" "time" @@ -29,7 +29,7 @@ import ( "k8s.io/klog/v2" "k8s.io/kubernetes/pkg/proxy" "k8s.io/kubernetes/pkg/proxy/util" - "k8s.io/kubernetes/pkg/util/slice" + stringslices "k8s.io/utils/strings/slices" ) var ( @@ -256,7 +256,7 @@ func (lb *LoadBalancerRR) OnEndpointsUpdate(oldEndpoints, endpoints *v1.Endpoint curEndpoints = state.endpoints } - if !exists || state == nil || len(curEndpoints) != len(newEndpoints) || !slicesEquiv(slice.CopyStrings(curEndpoints), newEndpoints) { + if !exists || state == nil || len(curEndpoints) != len(newEndpoints) || !slicesEquiv(stringslices.Clone(curEndpoints), newEndpoints) { klog.V(1).Infof("LoadBalancerRR: Setting endpoints for %s to %+v", svcPort, newEndpoints) lb.updateAffinityMap(svcPort, newEndpoints) // OnEndpointsUpdate can be called without NewService being called externally. @@ -311,10 +311,9 @@ func slicesEquiv(lhs, rhs []string) bool { if len(lhs) != len(rhs) { return false } - if reflect.DeepEqual(slice.SortStrings(lhs), slice.SortStrings(rhs)) { - return true - } - return false + sort.Strings(lhs) + sort.Strings(rhs) + return stringslices.Equal(lhs, rhs) } func (lb *LoadBalancerRR) CleanupStaleStickySessions(svcPort proxy.ServicePortName) {