From 9928a47d5029b6b2b70d2d221a5e4ef1d4e998e3 Mon Sep 17 00:00:00 2001 From: Manuel Alejandro de Brito Fontes Date: Sun, 22 Sep 2019 17:20:59 -0300 Subject: [PATCH] Remove retries to ExternalName --- build/cover.sh | 2 +- build/test.sh | 2 +- internal/ingress/controller/endpoints.go | 23 ++----------------- internal/ingress/controller/endpoints_test.go | 10 ++++---- 4 files changed, 9 insertions(+), 28 deletions(-) diff --git a/build/cover.sh b/build/cover.sh index db50d3e520..38985cd118 100755 --- a/build/cover.sh +++ b/build/cover.sh @@ -28,7 +28,7 @@ if [ -z "${PKG}" ]; then fi export CGO_ENABLED=1 -export GODEBUG=netdns=go+2 +export GODEBUG=netdns=cgo+2 # use vendor directory instead of go modules https://github.com/golang/go/wiki/Modules export GO111MODULE=off diff --git a/build/test.sh b/build/test.sh index 83fa48da50..8b2db395b9 100755 --- a/build/test.sh +++ b/build/test.sh @@ -30,7 +30,7 @@ fi # enabled to use host dns resolver export CGO_ENABLED=1 -export GODEBUG=netdns=go+2 +export GODEBUG=netdns=cgo+2 # use vendor directory instead of go modules https://github.com/golang/go/wiki/Modules export GO111MODULE=off diff --git a/internal/ingress/controller/endpoints.go b/internal/ingress/controller/endpoints.go index c796ee7321..a29ca08220 100644 --- a/internal/ingress/controller/endpoints.go +++ b/internal/ingress/controller/endpoints.go @@ -21,9 +21,7 @@ import ( "net" "reflect" "strconv" - "time" - "k8s.io/apimachinery/pkg/util/wait" "k8s.io/klog" corev1 "k8s.io/api/core/v1" @@ -60,26 +58,9 @@ func getEndpoints(s *corev1.Service, port *corev1.ServicePort, proto corev1.Prot // if the externalName is not an IP address we need to validate is a valid FQDN if net.ParseIP(s.Spec.ExternalName) == nil { - defaultRetry := wait.Backoff{ - Steps: 2, - Duration: 1 * time.Second, - Factor: 1.5, - Jitter: 0.2, - } - - var lastErr error - err := wait.ExponentialBackoff(defaultRetry, func() (bool, error) { - _, err := net.LookupHost(s.Spec.ExternalName) - if err == nil { - return true, nil - } - - lastErr = err - return false, nil - }) - + _, err := net.LookupHost(s.Spec.ExternalName) if err != nil { - klog.Errorf("Error resolving host %q: %v", s.Spec.ExternalName, lastErr) + klog.Errorf("Error resolving host %q: %v", s.Spec.ExternalName, err) return upsServers } } diff --git a/internal/ingress/controller/endpoints_test.go b/internal/ingress/controller/endpoints_test.go index 44ed8f21de..53bd0871fd 100644 --- a/internal/ingress/controller/endpoints_test.go +++ b/internal/ingress/controller/endpoints_test.go @@ -83,11 +83,11 @@ func TestGetEndpoints(t *testing.T) { &corev1.Service{ Spec: corev1.ServiceSpec{ Type: corev1.ServiceTypeExternalName, - ExternalName: "www.10.0.0.1.xip.io", + ExternalName: "www.google.com", Ports: []corev1.ServicePort{ { Name: "default", - TargetPort: intstr.FromInt(80), + TargetPort: intstr.FromInt(443), }, }, }, @@ -102,13 +102,13 @@ func TestGetEndpoints(t *testing.T) { }, []ingress.Endpoint{ { - Address: "www.10.0.0.1.xip.io", - Port: "80", + Address: "www.google.com", + Port: "443", }, }, }, { - "a service type ServiceTypeExternalName with an invalid ExternalName value should return one endpoint", + "a service type ServiceTypeExternalName with an invalid ExternalName value should no return endpoints", &corev1.Service{ Spec: corev1.ServiceSpec{ Type: corev1.ServiceTypeExternalName,