@@ -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"
@@ -1958,39 +1957,13 @@ var _ = SIGDescribe("Services", func() {
1958
1957
}
1959
1958
})
1960
1959
1961
- // This test verifies if service load balancer cleanup finalizer can be removed
1962
- // when feature gate isn't enabled on the cluster.
1963
- // This ensures downgrading from higher version cluster will not break LoadBalancer
1964
- // type service.
1965
- ginkgo .It ("should remove load balancer cleanup finalizer when service is deleted [Slow]" , func () {
1966
- jig := e2eservice .NewTestJig (cs , "lb-remove-finalizer" )
1967
-
1968
- ginkgo .By ("Create load balancer service" )
1969
- svc := jig .CreateTCPServiceOrFail (f .Namespace .Name , func (svc * v1.Service ) {
1970
- svc .Spec .Type = v1 .ServiceTypeLoadBalancer
1971
- })
1972
-
1973
- defer func () {
1974
- waitForServiceDeletedWithFinalizer (cs , svc .Namespace , svc .Name )
1975
- }()
1976
-
1977
- ginkgo .By ("Wait for load balancer to serve traffic" )
1978
- svc = jig .WaitForLoadBalancerOrFail (svc .Namespace , svc .Name , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ))
1979
-
1980
- ginkgo .By ("Manually add load balancer cleanup finalizer to service" )
1981
- svc .Finalizers = append (svc .Finalizers , "service.kubernetes.io/load-balancer-cleanup" )
1982
- if _ , err := cs .CoreV1 ().Services (svc .Namespace ).Update (svc ); err != nil {
1983
- e2elog .Failf ("Failed to add finalizer to service %s/%s: %v" , svc .Namespace , svc .Name , err )
1984
- }
1985
- })
1986
-
1987
1960
// This test verifies if service load balancer cleanup finalizer is properly
1988
1961
// handled during service lifecycle.
1989
1962
// 1. Create service with type=LoadBalancer. Finalizer should be added.
1990
1963
// 2. Update service to type=ClusterIP. Finalizer should be removed.
1991
1964
// 3. Update service to type=LoadBalancer. Finalizer should be added.
1992
1965
// 4. Delete service with type=LoadBalancer. Finalizer should be removed.
1993
- ginkgo .It ("should handle load balancer cleanup finalizer for service [Slow] [Feature:ServiceFinalizer] " , func () {
1966
+ ginkgo .It ("should handle load balancer cleanup finalizer for service [Slow]" , func () {
1994
1967
jig := e2eservice .NewTestJig (cs , "lb-finalizer" )
1995
1968
1996
1969
ginkgo .By ("Create load balancer service" )
@@ -1999,71 +1972,26 @@ var _ = SIGDescribe("Services", func() {
1999
1972
})
2000
1973
2001
1974
defer func () {
2002
- waitForServiceDeletedWithFinalizer (cs , svc .Namespace , svc .Name )
1975
+ ginkgo .By ("Check that service can be deleted with finalizer" )
1976
+ e2eservice .WaitForServiceDeletedWithFinalizer (cs , svc .Namespace , svc .Name )
2003
1977
}()
2004
1978
2005
1979
ginkgo .By ("Wait for load balancer to serve traffic" )
2006
1980
svc = jig .WaitForLoadBalancerOrFail (svc .Namespace , svc .Name , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ))
2007
1981
2008
1982
ginkgo .By ("Check if finalizer presents on service with type=LoadBalancer" )
2009
- waitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , true )
1983
+ e2eservice . WaitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , true )
2010
1984
2011
1985
ginkgo .By ("Check if finalizer is removed on service after changed to type=ClusterIP" )
2012
1986
jig .ChangeServiceType (svc .Namespace , svc .Name , v1 .ServiceTypeClusterIP , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ))
2013
- waitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , false )
1987
+ e2eservice . WaitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , false )
2014
1988
2015
1989
ginkgo .By ("Check if finalizer is added back to service after changed to type=LoadBalancer" )
2016
1990
jig .ChangeServiceType (svc .Namespace , svc .Name , v1 .ServiceTypeLoadBalancer , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ))
2017
- waitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , true )
1991
+ e2eservice . WaitForServiceUpdatedWithFinalizer (cs , svc .Namespace , svc .Name , true )
2018
1992
})
2019
1993
})
2020
1994
2021
- func waitForServiceDeletedWithFinalizer (cs clientset.Interface , namespace , name string ) {
2022
- ginkgo .By ("Delete service with finalizer" )
2023
- if err := cs .CoreV1 ().Services (namespace ).Delete (name , nil ); err != nil {
2024
- e2elog .Failf ("Failed to delete service %s/%s" , namespace , name )
2025
- }
2026
-
2027
- ginkgo .By ("Wait for service to disappear" )
2028
- if pollErr := wait .PollImmediate (e2eservice .LoadBalancerPollInterval , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ), func () (bool , error ) {
2029
- svc , err := cs .CoreV1 ().Services (namespace ).Get (name , metav1.GetOptions {})
2030
- if err != nil {
2031
- if apierrors .IsNotFound (err ) {
2032
- e2elog .Logf ("Service %s/%s is gone." , namespace , name )
2033
- return true , nil
2034
- }
2035
- return false , err
2036
- }
2037
- e2elog .Logf ("Service %s/%s still exists with finalizers: %v" , namespace , name , svc .Finalizers )
2038
- return false , nil
2039
- }); pollErr != nil {
2040
- e2elog .Failf ("Failed to wait for service to disappear: %v" , pollErr )
2041
- }
2042
- }
2043
-
2044
- func waitForServiceUpdatedWithFinalizer (cs clientset.Interface , namespace , name string , hasFinalizer bool ) {
2045
- ginkgo .By (fmt .Sprintf ("Wait for service to hasFinalizer=%t" , hasFinalizer ))
2046
- if pollErr := wait .PollImmediate (e2eservice .LoadBalancerPollInterval , e2eservice .GetServiceLoadBalancerCreationTimeout (cs ), func () (bool , error ) {
2047
- svc , err := cs .CoreV1 ().Services (namespace ).Get (name , metav1.GetOptions {})
2048
- if err != nil {
2049
- return false , err
2050
- }
2051
- foundFinalizer := false
2052
- for _ , finalizer := range svc .Finalizers {
2053
- if finalizer == "service.kubernetes.io/load-balancer-cleanup" {
2054
- foundFinalizer = true
2055
- }
2056
- }
2057
- if foundFinalizer != hasFinalizer {
2058
- e2elog .Logf ("Service %s/%s hasFinalizer=%t, want %t" , namespace , name , foundFinalizer , hasFinalizer )
2059
- return false , nil
2060
- }
2061
- return true , nil
2062
- }); pollErr != nil {
2063
- e2elog .Failf ("Failed to wait for service to hasFinalizer=%t: %v" , hasFinalizer , pollErr )
2064
- }
2065
- }
2066
-
2067
1995
// TODO: Get rid of [DisabledForLargeClusters] tag when issue #56138 is fixed.
2068
1996
var _ = SIGDescribe ("ESIPP [Slow] [DisabledForLargeClusters]" , func () {
2069
1997
f := framework .NewDefaultFramework ("esipp" )
0 commit comments