Skip to content

Commit

Permalink
Remove retries to ExternalName (#4584)
Browse files Browse the repository at this point in the history
  • Loading branch information
aledbf authored Sep 22, 2019
1 parent 189e742 commit 624ce08
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 28 deletions.
2 changes: 1 addition & 1 deletion build/cover.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion build/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
23 changes: 2 additions & 21 deletions internal/ingress/controller/endpoints.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,7 @@ import (
"net"
"reflect"
"strconv"
"time"

"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/klog"

corev1 "k8s.io/api/core/v1"
Expand Down Expand Up @@ -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
}
}
Expand Down
10 changes: 5 additions & 5 deletions internal/ingress/controller/endpoints_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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),
},
},
},
Expand All @@ -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,
Expand Down

0 comments on commit 624ce08

Please sign in to comment.