@@ -29,7 +29,6 @@ import (
29
29
compute "google.golang.org/api/compute/v1"
30
30
31
31
v1 "k8s.io/api/core/v1"
32
- apierrors "k8s.io/apimachinery/pkg/api/errors"
33
32
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
34
33
"k8s.io/apimachinery/pkg/labels"
35
34
"k8s.io/apimachinery/pkg/util/intstr"
@@ -1916,39 +1915,13 @@ var _ = SIGDescribe("Services", func() {
1916
1915
}
1917
1916
})
1918
1917
1919
- // This test verifies if service load balancer cleanup finalizer can be removed
1920
- // when feature gate isn't enabled on the cluster.
1921
- // This ensures downgrading from higher version cluster will not break LoadBalancer
1922
- // type service.
1923
- ginkgo .It ("should remove load balancer cleanup finalizer when service is deleted [Slow]" , func () {
1924
- jig := e2eservice .NewTestJig (cs , "lb-remove-finalizer" )
1925
-
1926
- ginkgo .By ("Create load balancer service" )
1927
- svc := jig .CreateTCPServiceOrFail (f .Namespace .Name , func (svc * v1.Service ) {
1928
- svc .Spec .Type = v1 .ServiceTypeLoadBalancer
1929
- })
1930
-
1931
- defer func () {
1932
- waitForServiceDeletedWithFinalizer (cs , svc .Namespace , svc .Name )
1933
- }()
1934
-
1935
- ginkgo .By ("Wait for load balancer to serve traffic" )
1936
- svc = jig .WaitForLoadBalancerOrFail (svc .Namespace , svc .Name , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ))
1937
-
1938
- ginkgo .By ("Manually add load balancer cleanup finalizer to service" )
1939
- svc .Finalizers = append (svc .Finalizers , "service.kubernetes.io/load-balancer-cleanup" )
1940
- if _ , err := cs .CoreV1 ().Services (svc .Namespace ).Update (svc ); err != nil {
1941
- e2elog .Failf ("Failed to add finalizer to service %s/%s: %v" , svc .Namespace , svc .Name , err )
1942
- }
1943
- })
1944
-
1945
1918
// This test verifies if service load balancer cleanup finalizer is properly
1946
1919
// handled during service lifecycle.
1947
1920
// 1. Create service with type=LoadBalancer. Finalizer should be added.
1948
1921
// 2. Update service to type=ClusterIP. Finalizer should be removed.
1949
1922
// 3. Update service to type=LoadBalancer. Finalizer should be added.
1950
1923
// 4. Delete service with type=LoadBalancer. Finalizer should be removed.
1951
- ginkgo .It ("should handle load balancer cleanup finalizer for service [Slow] [Feature:ServiceFinalizer] " , func () {
1924
+ ginkgo .It ("should handle load balancer cleanup finalizer for service [Slow]" , func () {
1952
1925
jig := e2eservice .NewTestJig (cs , "lb-finalizer" )
1953
1926
1954
1927
ginkgo .By ("Create load balancer service" )
@@ -1957,71 +1930,26 @@ var _ = SIGDescribe("Services", func() {
1957
1930
})
1958
1931
1959
1932
defer func () {
1960
- waitForServiceDeletedWithFinalizer (cs , svc .Namespace , svc .Name )
1933
+ ginkgo .By ("Check that service can be deleted with finalizer" )
1934
+ e2eservice .WaitForServiceDeletedWithFinalizer (cs , svc .Namespace , svc .Name )
1961
1935
}()
1962
1936
1963
1937
ginkgo .By ("Wait for load balancer to serve traffic" )
1964
1938
svc = jig .WaitForLoadBalancerOrFail (svc .Namespace , svc .Name , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ))
1965
1939
1966
1940
ginkgo .By ("Check if finalizer presents on service with type=LoadBalancer" )
1967
- waitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , true )
1941
+ e2eservice . WaitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , true )
1968
1942
1969
1943
ginkgo .By ("Check if finalizer is removed on service after changed to type=ClusterIP" )
1970
1944
jig .ChangeServiceType (svc .Namespace , svc .Name , v1 .ServiceTypeClusterIP , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ))
1971
- waitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , false )
1945
+ e2eservice . WaitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , false )
1972
1946
1973
1947
ginkgo .By ("Check if finalizer is added back to service after changed to type=LoadBalancer" )
1974
1948
jig .ChangeServiceType (svc .Namespace , svc .Name , v1 .ServiceTypeLoadBalancer , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ))
1975
- waitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , true )
1949
+ e2eservice . WaitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , true )
1976
1950
})
1977
1951
})
1978
1952
1979
- func waitForServiceDeletedWithFinalizer (cs clientset.Interface , namespace , name string ) {
1980
- ginkgo .By ("Delete service with finalizer" )
1981
- if err := cs .CoreV1 ().Services (namespace ).Delete (name , nil ); err != nil {
1982
- e2elog .Failf ("Failed to delete service %s/%s" , namespace , name )
1983
- }
1984
-
1985
- ginkgo .By ("Wait for service to disappear" )
1986
- if pollErr := wait .PollImmediate (e2eservice .LoadBalancerPollInterval , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ), func () (bool , error ) {
1987
- svc , err := cs .CoreV1 ().Services (namespace ).Get (name , metav1.GetOptions {})
1988
- if err != nil {
1989
- if apierrors .IsNotFound (err ) {
1990
- e2elog .Logf ("Service %s/%s is gone." , namespace , name )
1991
- return true , nil
1992
- }
1993
- return false , err
1994
- }
1995
- e2elog .Logf ("Service %s/%s still exists with finalizers: %v" , namespace , name , svc .Finalizers )
1996
- return false , nil
1997
- }); pollErr != nil {
1998
- e2elog .Failf ("Failed to wait for service to disappear: %v" , pollErr )
1999
- }
2000
- }
2001
-
2002
- func waitForServiceUpdatedWithFinalizer (cs clientset.Interface , namespace , name string , hasFinalizer bool ) {
2003
- ginkgo .By (fmt .Sprintf ("Wait for service to hasFinalizer=%t" , hasFinalizer ))
2004
- if pollErr := wait .PollImmediate (e2eservice .LoadBalancerPollInterval , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ), func () (bool , error ) {
2005
- svc , err := cs .CoreV1 ().Services (namespace ).Get (name , metav1.GetOptions {})
2006
- if err != nil {
2007
- return false , err
2008
- }
2009
- foundFinalizer := false
2010
- for _ , finalizer := range svc .Finalizers {
2011
- if finalizer == "service.kubernetes.io/load-balancer-cleanup" {
2012
- foundFinalizer = true
2013
- }
2014
- }
2015
- if foundFinalizer != hasFinalizer {
2016
- e2elog .Logf ("Service %s/%s hasFinalizer=%t, want %t" , namespace , name , foundFinalizer , hasFinalizer )
2017
- return false , nil
2018
- }
2019
- return true , nil
2020
- }); pollErr != nil {
2021
- e2elog .Failf ("Failed to wait for service to hasFinalizer=%t: %v" , hasFinalizer , pollErr )
2022
- }
2023
- }
2024
-
2025
1953
// TODO: Get rid of [DisabledForLargeClusters] tag when issue #56138 is fixed.
2026
1954
var _ = SIGDescribe ("ESIPP [Slow] [DisabledForLargeClusters]" , func () {
2027
1955
f := framework .NewDefaultFramework ("esipp" )
0 commit comments