Remove some helpers associated with ESIPP.

This commit is contained in:
xiangpengzhao 2017-08-09 13:50:00 +08:00
parent ebe21ee4c1
commit ea1a577358
13 changed files with 20 additions and 248 deletions

View File

@ -26,7 +26,6 @@ go_test(
deps = [ deps = [
"//pkg/api:go_default_library", "//pkg/api:go_default_library",
"//pkg/util/net/sets:go_default_library", "//pkg/util/net/sets:go_default_library",
"//vendor/github.com/davecgh/go-spew/spew:go_default_library",
], ],
) )

View File

@ -77,26 +77,10 @@ func RequestsOnlyLocalTraffic(service *api.Service) bool {
return service.Spec.ExternalTrafficPolicy == api.ServiceExternalTrafficPolicyTypeLocal return service.Spec.ExternalTrafficPolicy == api.ServiceExternalTrafficPolicyTypeLocal
} }
// NeedsHealthCheck Check if service needs health check. // NeedsHealthCheck checks if service needs health check.
func NeedsHealthCheck(service *api.Service) bool { func NeedsHealthCheck(service *api.Service) bool {
if service.Spec.Type != api.ServiceTypeLoadBalancer { if service.Spec.Type != api.ServiceTypeLoadBalancer {
return false return false
} }
return RequestsOnlyLocalTraffic(service) return RequestsOnlyLocalTraffic(service)
} }
// GetServiceHealthCheckNodePort Return health check node port for service, if one exists
func GetServiceHealthCheckNodePort(service *api.Service) int32 {
return service.Spec.HealthCheckNodePort
}
// ClearExternalTrafficPolicy resets the ExternalTrafficPolicy field.
func ClearExternalTrafficPolicy(service *api.Service) {
service.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyType("")
}
// SetServiceHealthCheckNodePort sets the given health check node port on service.
// It does not check whether this service needs healthCheckNodePort.
func SetServiceHealthCheckNodePort(service *api.Service, hcNodePort int32) {
service.Spec.HealthCheckNodePort = hcNodePort
}

View File

@ -20,8 +20,6 @@ import (
"strings" "strings"
"testing" "testing"
"github.com/davecgh/go-spew/spew"
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
netsets "k8s.io/kubernetes/pkg/util/net/sets" netsets "k8s.io/kubernetes/pkg/util/net/sets"
) )
@ -216,96 +214,3 @@ func TestNeedsHealthCheck(t *testing.T) {
}, },
}) })
} }
func TestGetServiceHealthCheckNodePort(t *testing.T) {
checkGetServiceHealthCheckNodePort := func(healthCheckNodePort int32, service *api.Service) {
res := GetServiceHealthCheckNodePort(service)
if res != healthCheckNodePort {
t.Errorf("Expected health check node port = %v, got %v",
healthCheckNodePort, res)
}
}
checkGetServiceHealthCheckNodePort(0, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeClusterIP,
},
})
checkGetServiceHealthCheckNodePort(0, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeNodePort,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeCluster,
},
})
checkGetServiceHealthCheckNodePort(0, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeCluster,
},
})
checkGetServiceHealthCheckNodePort(34567, &api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeLocal,
HealthCheckNodePort: int32(34567),
},
})
}
func TestClearExternalTrafficPolicy(t *testing.T) {
testCases := []struct {
inputService *api.Service
}{
// First class fields cases.
{
&api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeClusterIP,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeCluster,
},
},
},
}
for i, tc := range testCases {
ClearExternalTrafficPolicy(tc.inputService)
if tc.inputService.Spec.ExternalTrafficPolicy != "" {
t.Errorf("%v: failed to clear ExternalTrafficPolicy", i)
spew.Dump(tc)
}
}
}
func TestSetServiceHealthCheckNodePort(t *testing.T) {
testCases := []struct {
inputService *api.Service
hcNodePort int32
}{
// First class fields cases.
{
&api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeClusterIP,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeCluster,
},
},
30012,
},
{
&api.Service{
Spec: api.ServiceSpec{
Type: api.ServiceTypeClusterIP,
ExternalTrafficPolicy: api.ServiceExternalTrafficPolicyTypeCluster,
},
},
0,
},
}
for i, tc := range testCases {
SetServiceHealthCheckNodePort(tc.inputService, tc.hcNodePort)
if tc.inputService.Spec.HealthCheckNodePort != tc.hcNodePort {
t.Errorf("%v: got HealthCheckNodePort %v, want %v", i, tc.inputService.Spec.HealthCheckNodePort, tc.hcNodePort)
}
}
}

View File

@ -25,7 +25,6 @@ go_test(
tags = ["automanaged"], tags = ["automanaged"],
deps = [ deps = [
"//pkg/util/net/sets:go_default_library", "//pkg/util/net/sets:go_default_library",
"//vendor/github.com/davecgh/go-spew/spew:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library",
], ],
) )

View File

@ -76,7 +76,7 @@ func RequestsOnlyLocalTraffic(service *v1.Service) bool {
return service.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyTypeLocal return service.Spec.ExternalTrafficPolicy == v1.ServiceExternalTrafficPolicyTypeLocal
} }
// NeedsHealthCheck Check if service needs health check. // NeedsHealthCheck checks if service needs health check.
func NeedsHealthCheck(service *v1.Service) bool { func NeedsHealthCheck(service *v1.Service) bool {
if service.Spec.Type != v1.ServiceTypeLoadBalancer { if service.Spec.Type != v1.ServiceTypeLoadBalancer {
return false return false
@ -84,28 +84,12 @@ func NeedsHealthCheck(service *v1.Service) bool {
return RequestsOnlyLocalTraffic(service) return RequestsOnlyLocalTraffic(service)
} }
// GetServiceHealthCheckNodePort Return health check node port for service, if one exists // GetServiceHealthCheckPathPort returns the path and nodePort programmed into the Cloud LB Health Check
func GetServiceHealthCheckNodePort(service *v1.Service) int32 {
return service.Spec.HealthCheckNodePort
}
// ClearExternalTrafficPolicy resets the ExternalTrafficPolicy field.
func ClearExternalTrafficPolicy(service *v1.Service) {
service.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyType("")
}
// SetServiceHealthCheckNodePort sets the given health check node port on service.
// It does not check whether this service needs healthCheckNodePort.
func SetServiceHealthCheckNodePort(service *v1.Service, hcNodePort int32) {
service.Spec.HealthCheckNodePort = hcNodePort
}
// GetServiceHealthCheckPathPort Return the path and nodePort programmed into the Cloud LB Health Check
func GetServiceHealthCheckPathPort(service *v1.Service) (string, int32) { func GetServiceHealthCheckPathPort(service *v1.Service) (string, int32) {
if !NeedsHealthCheck(service) { if !NeedsHealthCheck(service) {
return "", 0 return "", 0
} }
port := GetServiceHealthCheckNodePort(service) port := service.Spec.HealthCheckNodePort
if port == 0 { if port == 0 {
return "", 0 return "", 0
} }

View File

@ -20,8 +20,6 @@ import (
"strings" "strings"
"testing" "testing"
"github.com/davecgh/go-spew/spew"
"k8s.io/api/core/v1" "k8s.io/api/core/v1"
netsets "k8s.io/kubernetes/pkg/util/net/sets" netsets "k8s.io/kubernetes/pkg/util/net/sets"
) )
@ -216,96 +214,3 @@ func TestNeedsHealthCheck(t *testing.T) {
}, },
}) })
} }
func TestGetServiceHealthCheckNodePort(t *testing.T) {
checkGetServiceHealthCheckNodePort := func(healthCheckNodePort int32, service *v1.Service) {
res := GetServiceHealthCheckNodePort(service)
if res != healthCheckNodePort {
t.Errorf("Expected health check node port = %v, got %v",
healthCheckNodePort, res)
}
}
checkGetServiceHealthCheckNodePort(0, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeClusterIP,
},
})
checkGetServiceHealthCheckNodePort(0, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeNodePort,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
},
})
checkGetServiceHealthCheckNodePort(0, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
},
})
checkGetServiceHealthCheckNodePort(34567, &v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeLoadBalancer,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeLocal,
HealthCheckNodePort: int32(34567),
},
})
}
func TestClearExternalTrafficPolicy(t *testing.T) {
testCases := []struct {
inputService *v1.Service
}{
// First class fields cases.
{
&v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeClusterIP,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
},
},
},
}
for i, tc := range testCases {
ClearExternalTrafficPolicy(tc.inputService)
if tc.inputService.Spec.ExternalTrafficPolicy != "" {
t.Errorf("%v: failed to clear ExternalTrafficPolicy", i)
spew.Dump(tc)
}
}
}
func TestSetServiceHealthCheckNodePort(t *testing.T) {
testCases := []struct {
inputService *v1.Service
hcNodePort int32
}{
// First class fields cases.
{
&v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeClusterIP,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
},
},
30012,
},
{
&v1.Service{
Spec: v1.ServiceSpec{
Type: v1.ServiceTypeClusterIP,
ExternalTrafficPolicy: v1.ServiceExternalTrafficPolicyTypeCluster,
},
},
0,
},
}
for i, tc := range testCases {
SetServiceHealthCheckNodePort(tc.inputService, tc.hcNodePort)
if tc.inputService.Spec.HealthCheckNodePort != tc.hcNodePort {
t.Errorf("%v: got HealthCheckNodePort %v, want %v", i, tc.inputService.Spec.HealthCheckNodePort, tc.hcNodePort)
}
}
}

View File

@ -211,7 +211,7 @@ func newServiceInfo(svcPortName proxy.ServicePortName, port *api.ServicePort, se
copy(info.externalIPs, service.Spec.ExternalIPs) copy(info.externalIPs, service.Spec.ExternalIPs)
if apiservice.NeedsHealthCheck(service) { if apiservice.NeedsHealthCheck(service) {
p := apiservice.GetServiceHealthCheckNodePort(service) p := service.Spec.HealthCheckNodePort
if p == 0 { if p == 0 {
glog.Errorf("Service %q has no healthcheck nodeport", svcPortName.NamespacedName.String()) glog.Errorf("Service %q has no healthcheck nodeport", svcPortName.NamespacedName.String())
} else { } else {

View File

@ -183,7 +183,7 @@ func (rs *REST) Delete(ctx genericapirequest.Context, id string) (runtime.Object
if utilfeature.DefaultFeatureGate.Enabled(features.ExternalTrafficLocalOnly) && if utilfeature.DefaultFeatureGate.Enabled(features.ExternalTrafficLocalOnly) &&
apiservice.NeedsHealthCheck(service) { apiservice.NeedsHealthCheck(service) {
nodePort := apiservice.GetServiceHealthCheckNodePort(service) nodePort := service.Spec.HealthCheckNodePort
if nodePort > 0 { if nodePort > 0 {
err := rs.serviceNodePorts.Release(int(nodePort)) err := rs.serviceNodePorts.Release(int(nodePort))
if err != nil { if err != nil {
@ -238,7 +238,7 @@ func externalTrafficPolicyUpdate(oldService, service *api.Service) {
} }
if neededExternalTraffic && !needsExternalTraffic { if neededExternalTraffic && !needsExternalTraffic {
// Clear ExternalTrafficPolicy to prevent confusion from ineffective field. // Clear ExternalTrafficPolicy to prevent confusion from ineffective field.
apiservice.ClearExternalTrafficPolicy(service) service.Spec.ExternalTrafficPolicy = api.ServiceExternalTrafficPolicyType("")
} }
} }
@ -246,10 +246,10 @@ func externalTrafficPolicyUpdate(oldService, service *api.Service) {
// and adjusts HealthCheckNodePort during service update if needed. // and adjusts HealthCheckNodePort during service update if needed.
func (rs *REST) healthCheckNodePortUpdate(oldService, service *api.Service) (bool, error) { func (rs *REST) healthCheckNodePortUpdate(oldService, service *api.Service) (bool, error) {
neededHealthCheckNodePort := apiservice.NeedsHealthCheck(oldService) neededHealthCheckNodePort := apiservice.NeedsHealthCheck(oldService)
oldHealthCheckNodePort := apiservice.GetServiceHealthCheckNodePort(oldService) oldHealthCheckNodePort := oldService.Spec.HealthCheckNodePort
needsHealthCheckNodePort := apiservice.NeedsHealthCheck(service) needsHealthCheckNodePort := apiservice.NeedsHealthCheck(service)
newHealthCheckNodePort := apiservice.GetServiceHealthCheckNodePort(service) newHealthCheckNodePort := service.Spec.HealthCheckNodePort
switch { switch {
// Case 1: Transition from don't need HealthCheckNodePort to needs HealthCheckNodePort. // Case 1: Transition from don't need HealthCheckNodePort to needs HealthCheckNodePort.
@ -272,7 +272,7 @@ func (rs *REST) healthCheckNodePortUpdate(oldService, service *api.Service) (boo
} }
glog.Infof("Freed health check nodePort: %d", oldHealthCheckNodePort) glog.Infof("Freed health check nodePort: %d", oldHealthCheckNodePort)
// Clear the HealthCheckNodePort field. // Clear the HealthCheckNodePort field.
apiservice.SetServiceHealthCheckNodePort(service, 0) service.Spec.HealthCheckNodePort = 0
// Case 3: Remain in needs HealthCheckNodePort. // Case 3: Remain in needs HealthCheckNodePort.
// Reject changing the value of the HealthCheckNodePort field. // Reject changing the value of the HealthCheckNodePort field.
@ -475,7 +475,7 @@ func findRequestedNodePort(port int, servicePorts []api.ServicePort) int {
// allocateHealthCheckNodePort allocates health check node port to service. // allocateHealthCheckNodePort allocates health check node port to service.
func (rs *REST) allocateHealthCheckNodePort(service *api.Service) error { func (rs *REST) allocateHealthCheckNodePort(service *api.Service) error {
healthCheckNodePort := apiservice.GetServiceHealthCheckNodePort(service) healthCheckNodePort := service.Spec.HealthCheckNodePort
if healthCheckNodePort != 0 { if healthCheckNodePort != 0 {
// If the request has a health check nodePort in mind, attempt to reserve it. // If the request has a health check nodePort in mind, attempt to reserve it.
err := rs.serviceNodePorts.Allocate(int(healthCheckNodePort)) err := rs.serviceNodePorts.Allocate(int(healthCheckNodePort))
@ -490,7 +490,7 @@ func (rs *REST) allocateHealthCheckNodePort(service *api.Service) error {
if err != nil { if err != nil {
return fmt.Errorf("failed to allocate a HealthCheck NodePort %v: %v", healthCheckNodePort, err) return fmt.Errorf("failed to allocate a HealthCheck NodePort %v: %v", healthCheckNodePort, err)
} }
apiservice.SetServiceHealthCheckNodePort(service, int32(healthCheckNodePort)) service.Spec.HealthCheckNodePort = int32(healthCheckNodePort)
glog.Infof("Reserved allocated nodePort: %d", healthCheckNodePort) glog.Infof("Reserved allocated nodePort: %d", healthCheckNodePort)
} }
return nil return nil

View File

@ -993,7 +993,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortAllocation(t *testing.
if !service.NeedsHealthCheck(created_service) { if !service.NeedsHealthCheck(created_service) {
t.Errorf("Expecting health check needed, returned health check not needed instead") t.Errorf("Expecting health check needed, returned health check not needed instead")
} }
port := service.GetServiceHealthCheckNodePort(created_service) port := created_service.Spec.HealthCheckNodePort
if port == 0 { if port == 0 {
t.Errorf("Failed to allocate health check node port and set the HealthCheckNodePort") t.Errorf("Failed to allocate health check node port and set the HealthCheckNodePort")
} else { } else {
@ -1031,7 +1031,7 @@ func TestServiceRegistryExternalTrafficHealthCheckNodePortUserAllocation(t *test
if !service.NeedsHealthCheck(created_service) { if !service.NeedsHealthCheck(created_service) {
t.Errorf("Expecting health check needed, returned health check not needed instead") t.Errorf("Expecting health check needed, returned health check not needed instead")
} }
port := service.GetServiceHealthCheckNodePort(created_service) port := created_service.Spec.HealthCheckNodePort
if port == 0 { if port == 0 {
t.Errorf("Failed to allocate health check node port and set the HealthCheckNodePort") t.Errorf("Failed to allocate health check node port and set the HealthCheckNodePort")
} }
@ -1098,7 +1098,7 @@ func TestServiceRegistryExternalTrafficGlobal(t *testing.T) {
t.Errorf("Expecting health check not needed, returned health check needed instead") t.Errorf("Expecting health check not needed, returned health check needed instead")
} }
// Make sure the service does not have the health check node port allocated // Make sure the service does not have the health check node port allocated
port := service.GetServiceHealthCheckNodePort(created_service) port := created_service.Spec.HealthCheckNodePort
if port != 0 { if port != 0 {
// Release the node port at the end of the test case. // Release the node port at the end of the test case.
storage.serviceNodePorts.Release(int(port)) storage.serviceNodePorts.Release(int(port))

View File

@ -48,7 +48,6 @@ go_library(
"//pkg/api/v1/helper:go_default_library", "//pkg/api/v1/helper:go_default_library",
"//pkg/api/v1/node:go_default_library", "//pkg/api/v1/node:go_default_library",
"//pkg/api/v1/pod:go_default_library", "//pkg/api/v1/pod:go_default_library",
"//pkg/api/v1/service:go_default_library",
"//pkg/apis/batch:go_default_library", "//pkg/apis/batch:go_default_library",
"//pkg/apis/componentconfig:go_default_library", "//pkg/apis/componentconfig:go_default_library",
"//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions:go_default_library",

View File

@ -28,7 +28,6 @@ import (
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
apiservice "k8s.io/kubernetes/pkg/api/v1/service"
"k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/cloudprovider"
gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce" gcecloud "k8s.io/kubernetes/pkg/cloudprovider/providers/gce"
@ -87,7 +86,7 @@ func ConstructHealthCheckFirewallForLBService(clusterID string, svc *v1.Service,
fw.SourceRanges = gcecloud.LoadBalancerSrcRanges() fw.SourceRanges = gcecloud.LoadBalancerSrcRanges()
healthCheckPort := gcecloud.GetNodesHealthCheckPort() healthCheckPort := gcecloud.GetNodesHealthCheckPort()
if !isNodesHealthCheck { if !isNodesHealthCheck {
healthCheckPort = apiservice.GetServiceHealthCheckNodePort(svc) healthCheckPort = svc.Spec.HealthCheckNodePort
} }
fw.Allowed = []*compute.FirewallAllowed{ fw.Allowed = []*compute.FirewallAllowed{
{ {

View File

@ -31,7 +31,6 @@ go_library(
deps = [ deps = [
"//pkg/api:go_default_library", "//pkg/api:go_default_library",
"//pkg/api/testapi:go_default_library", "//pkg/api/testapi:go_default_library",
"//pkg/api/v1/service:go_default_library",
"//pkg/apis/networking:go_default_library", "//pkg/apis/networking:go_default_library",
"//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library",
"//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider:go_default_library",

View File

@ -29,7 +29,6 @@ import (
"k8s.io/apimachinery/pkg/util/intstr" "k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
"k8s.io/kubernetes/pkg/api/v1/service"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
"k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/cloudprovider"
"k8s.io/kubernetes/pkg/controller/endpoint" "k8s.io/kubernetes/pkg/controller/endpoint"
@ -1454,7 +1453,7 @@ var _ = SIGDescribe("ESIPP [Slow]", func() {
svc := jig.CreateOnlyLocalLoadBalancerService(namespace, serviceName, loadBalancerCreateTimeout, true, nil) svc := jig.CreateOnlyLocalLoadBalancerService(namespace, serviceName, loadBalancerCreateTimeout, true, nil)
serviceLBNames = append(serviceLBNames, cloudprovider.GetLoadBalancerName(svc)) serviceLBNames = append(serviceLBNames, cloudprovider.GetLoadBalancerName(svc))
healthCheckNodePort := int(service.GetServiceHealthCheckNodePort(svc)) healthCheckNodePort := int(svc.Spec.HealthCheckNodePort)
if healthCheckNodePort == 0 { if healthCheckNodePort == 0 {
framework.Failf("Service HealthCheck NodePort was not allocated") framework.Failf("Service HealthCheck NodePort was not allocated")
} }
@ -1531,7 +1530,7 @@ var _ = SIGDescribe("ESIPP [Slow]", func() {
Expect(cs.Core().Services(svc.Namespace).Delete(svc.Name, nil)).NotTo(HaveOccurred()) Expect(cs.Core().Services(svc.Namespace).Delete(svc.Name, nil)).NotTo(HaveOccurred())
}() }()
healthCheckNodePort := int(service.GetServiceHealthCheckNodePort(svc)) healthCheckNodePort := int(svc.Spec.HealthCheckNodePort)
if healthCheckNodePort == 0 { if healthCheckNodePort == 0 {
framework.Failf("Service HealthCheck NodePort was not allocated") framework.Failf("Service HealthCheck NodePort was not allocated")
} }
@ -1636,13 +1635,13 @@ var _ = SIGDescribe("ESIPP [Slow]", func() {
}() }()
// save the health check node port because it disappears when ESIPP is turned off. // save the health check node port because it disappears when ESIPP is turned off.
healthCheckNodePort := int(service.GetServiceHealthCheckNodePort(svc)) healthCheckNodePort := int(svc.Spec.HealthCheckNodePort)
By("turning ESIPP off") By("turning ESIPP off")
svc = jig.UpdateServiceOrFail(svc.Namespace, svc.Name, func(svc *v1.Service) { svc = jig.UpdateServiceOrFail(svc.Namespace, svc.Name, func(svc *v1.Service) {
svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeCluster svc.Spec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyTypeCluster
}) })
if service.GetServiceHealthCheckNodePort(svc) > 0 { if svc.Spec.HealthCheckNodePort > 0 {
framework.Failf("Service HealthCheck NodePort still present") framework.Failf("Service HealthCheck NodePort still present")
} }