From 73fdde069bac14dd6772d7c77f74b17f22797b77 Mon Sep 17 00:00:00 2001 From: David Schneider Date: Fri, 23 Nov 2018 13:48:26 +0100 Subject: [PATCH 1/2] Improve errors in Records() of infoblox provider --- provider/infoblox.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/provider/infoblox.go b/provider/infoblox.go index 0d93a8342..3136d3557 100644 --- a/provider/infoblox.go +++ b/provider/infoblox.go @@ -17,6 +17,7 @@ limitations under the License. package provider import ( + "fmt" "os" "strconv" "strings" @@ -25,6 +26,7 @@ import ( "github.com/kubernetes-incubator/external-dns/endpoint" "github.com/kubernetes-incubator/external-dns/plan" "github.com/sirupsen/logrus" + log "github.com/sirupsen/logrus" ) // InfobloxConfig clarifies the method signature @@ -95,10 +97,11 @@ func NewInfobloxProvider(infobloxConfig InfobloxConfig) (*InfobloxProvider, erro func (p *InfobloxProvider) Records() (endpoints []*endpoint.Endpoint, err error) { zones, err := p.zones() if err != nil { - return nil, err + return nil, fmt.Errorf("could not fetch zones: %s", err) } for _, zone := range zones { + log.Debugf("fetch records from zone '%s'", zone.Fqdn) var resA []ibclient.RecordA objA := ibclient.NewRecordA( ibclient.RecordA{ @@ -107,7 +110,7 @@ func (p *InfobloxProvider) Records() (endpoints []*endpoint.Endpoint, err error) ) err = p.client.GetObject(objA, "", &resA) if err != nil { - return nil, err + return nil, fmt.Errorf("could not fetch A records from zone '%s': %s", zone.Fqdn, err) } for _, res := range resA { endpoints = append(endpoints, endpoint.NewEndpoint(res.Name, endpoint.RecordTypeA, res.Ipv4Addr)) @@ -122,7 +125,7 @@ func (p *InfobloxProvider) Records() (endpoints []*endpoint.Endpoint, err error) ) err = p.client.GetObject(objH, "", &resH) if err != nil { - return nil, err + return nil, fmt.Errorf("could not fetch host records from zone '%s': %s", zone.Fqdn, err) } for _, res := range resH { for _, ip := range res.Ipv4Addrs { @@ -138,7 +141,7 @@ func (p *InfobloxProvider) Records() (endpoints []*endpoint.Endpoint, err error) ) err = p.client.GetObject(objC, "", &resC) if err != nil { - return nil, err + return nil, fmt.Errorf("could not fetch CNAME records from zone '%s': %s", zone.Fqdn, err) } for _, res := range resC { endpoints = append(endpoints, endpoint.NewEndpoint(res.Name, endpoint.RecordTypeCNAME, res.Canonical)) @@ -152,7 +155,7 @@ func (p *InfobloxProvider) Records() (endpoints []*endpoint.Endpoint, err error) ) err = p.client.GetObject(objT, "", &resT) if err != nil { - return nil, err + return nil, fmt.Errorf("could not fetch TXT records from zone '%s': %s", zone.Fqdn, err) } for _, res := range resT { // The Infoblox API strips enclosing double quotes from TXT records lacking whitespace. @@ -163,6 +166,7 @@ func (p *InfobloxProvider) Records() (endpoints []*endpoint.Endpoint, err error) endpoints = append(endpoints, endpoint.NewEndpoint(res.Name, endpoint.RecordTypeTXT, res.Text)) } } + log.Debugf("fetched %d records from infoblox", len(endpoints)) return endpoints, nil } From 84497bfad7a489e71b26d5992da0367add66f8b3 Mon Sep 17 00:00:00 2001 From: Martin Linkhorst Date: Wed, 28 Nov 2018 11:18:48 +0100 Subject: [PATCH 2/2] fix(infoblox): don't import logrus twice --- provider/infoblox.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/provider/infoblox.go b/provider/infoblox.go index 3136d3557..71c89eefe 100644 --- a/provider/infoblox.go +++ b/provider/infoblox.go @@ -26,7 +26,6 @@ import ( "github.com/kubernetes-incubator/external-dns/endpoint" "github.com/kubernetes-incubator/external-dns/plan" "github.com/sirupsen/logrus" - log "github.com/sirupsen/logrus" ) // InfobloxConfig clarifies the method signature @@ -101,7 +100,7 @@ func (p *InfobloxProvider) Records() (endpoints []*endpoint.Endpoint, err error) } for _, zone := range zones { - log.Debugf("fetch records from zone '%s'", zone.Fqdn) + logrus.Debugf("fetch records from zone '%s'", zone.Fqdn) var resA []ibclient.RecordA objA := ibclient.NewRecordA( ibclient.RecordA{ @@ -166,7 +165,7 @@ func (p *InfobloxProvider) Records() (endpoints []*endpoint.Endpoint, err error) endpoints = append(endpoints, endpoint.NewEndpoint(res.Name, endpoint.RecordTypeTXT, res.Text)) } } - log.Debugf("fetched %d records from infoblox", len(endpoints)) + logrus.Debugf("fetched %d records from infoblox", len(endpoints)) return endpoints, nil }