@@ -45,7 +45,6 @@ import (
45
45
"k8s.io/kubernetes/pkg/controller"
46
46
kubefeatures "k8s.io/kubernetes/pkg/features"
47
47
"k8s.io/kubernetes/pkg/util/metrics"
48
- "k8s.io/kubernetes/pkg/util/slice"
49
48
)
50
49
51
50
const (
@@ -818,13 +817,25 @@ func (s *ServiceController) removeFinalizer(service *v1.Service) error {
818
817
819
818
// Make a copy so we don't mutate the shared informer cache.
820
819
updated := service .DeepCopy ()
821
- updated .ObjectMeta .Finalizers = slice . RemoveString (updated .ObjectMeta .Finalizers , servicehelper .LoadBalancerCleanupFinalizer , nil )
820
+ updated .ObjectMeta .Finalizers = removeString (updated .ObjectMeta .Finalizers , servicehelper .LoadBalancerCleanupFinalizer )
822
821
823
822
klog .V (2 ).Infof ("Removing finalizer from service %s/%s" , updated .Namespace , updated .Name )
824
823
_ , err := patch (s .kubeClient .CoreV1 (), service , updated )
825
824
return err
826
825
}
827
826
827
+ // removeString returns a newly created []string that contains all items from slice that
828
+ // are not equal to s.
829
+ func removeString (slice []string , s string ) []string {
830
+ var newSlice []string
831
+ for _ , item := range slice {
832
+ if item != s {
833
+ newSlice = append (newSlice , item )
834
+ }
835
+ }
836
+ return newSlice
837
+ }
838
+
828
839
// patchStatus patches the service with the given LoadBalancerStatus.
829
840
func (s * ServiceController ) patchStatus (service * v1.Service , previousStatus , newStatus * v1.LoadBalancerStatus ) error {
830
841
if v1helper .LoadBalancerStatusEqual (previousStatus , newStatus ) {
0 commit comments