From 96e6c9cef257020518d70eb190a861ef3a51d28a Mon Sep 17 00:00:00 2001 From: Regner Blok-Andersen Date: Tue, 14 Feb 2017 11:53:35 -0800 Subject: [PATCH] Split the if/or statement when requesting endpoints from the k8s service so that it now provides two unique log statements. --- provider/kubernetes.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/provider/kubernetes.go b/provider/kubernetes.go index 7b3cc0176..b8e37fdb2 100644 --- a/provider/kubernetes.go +++ b/provider/kubernetes.go @@ -215,10 +215,14 @@ func (provider *Kubernetes) loadIngresses(k8sClient k8s.Client) (*types.Configur } } else { endpoints, exists, err := k8sClient.GetEndpoints(service.ObjectMeta.Namespace, service.ObjectMeta.Name) - if err != nil || !exists { - log.Errorf("Error retrieving endpoints %s/%s: %v", service.ObjectMeta.Namespace, service.ObjectMeta.Name, err) + if err != nil { + log.Errorf("Error while retrieving endpoints from k8s API %s/%s: %v", service.ObjectMeta.Namespace, service.ObjectMeta.Name, err) + continue + } else if !exists { + log.Errorf("Service not found for %s/%s", service.ObjectMeta.Namespace, service.ObjectMeta.Name) continue } + if len(endpoints.Subsets) == 0 { log.Warnf("Endpoints not found for %s/%s, falling back to Service ClusterIP", service.ObjectMeta.Namespace, service.ObjectMeta.Name) templateObjects.Backends[r.Host+pa.Path].Servers[string(service.UID)] = types.Server{