From df91e002314960097b2deaf58a59c99bd397f406 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Sat, 14 Jan 2017 10:23:14 -0500 Subject: [PATCH] route53 dnsprovider: add more logging In the aws cloudprovider, we have a custom logger. This adds the same logger to the route53 dnsprovider. We copy the (simple) code in anticipation that the providers are likely to live in separate repos in future. --- .../dnsprovider/providers/aws/route53/BUILD | 2 ++ .../providers/aws/route53/route53.go | 25 +++++++++++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/federation/pkg/dnsprovider/providers/aws/route53/BUILD b/federation/pkg/dnsprovider/providers/aws/route53/BUILD index 054c94995c7..b3cca1e8ec3 100644 --- a/federation/pkg/dnsprovider/providers/aws/route53/BUILD +++ b/federation/pkg/dnsprovider/providers/aws/route53/BUILD @@ -25,8 +25,10 @@ go_library( "//federation/pkg/dnsprovider/providers/aws/route53/stubs:go_default_library", "//federation/pkg/dnsprovider/rrstype:go_default_library", "//vendor:github.com/aws/aws-sdk-go/aws", + "//vendor:github.com/aws/aws-sdk-go/aws/request", "//vendor:github.com/aws/aws-sdk-go/aws/session", "//vendor:github.com/aws/aws-sdk-go/service/route53", + "//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/util/uuid", ], ) diff --git a/federation/pkg/dnsprovider/providers/aws/route53/route53.go b/federation/pkg/dnsprovider/providers/aws/route53/route53.go index 2f5eb4f7993..fff71a01379 100644 --- a/federation/pkg/dnsprovider/providers/aws/route53/route53.go +++ b/federation/pkg/dnsprovider/providers/aws/route53/route53.go @@ -20,10 +20,11 @@ package route53 import ( "io" - "k8s.io/kubernetes/federation/pkg/dnsprovider" - + "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/route53" + "github.com/golang/glog" + "k8s.io/kubernetes/federation/pkg/dnsprovider" ) const ( @@ -36,9 +37,29 @@ func init() { }) } +// route53HandlerLogger is a request handler for aws-sdk-go that logs route53 requests +func route53HandlerLogger(req *request.Request) { + service := req.ClientInfo.ServiceName + + name := "?" + if req.Operation != nil { + name = req.Operation.Name + } + + glog.V(4).Infof("AWS request: %s %s", service, name) +} + // newRoute53 creates a new instance of an AWS Route53 DNS Interface. func newRoute53(config io.Reader) (*Interface, error) { // Connect to AWS Route53 - TODO: Do more sophisticated auth + svc := route53.New(session.New()) + + // Add our handler that will log requests + svc.Handlers.Sign.PushFrontNamed(request.NamedHandler{ + Name: "k8s/logger", + Fn: route53HandlerLogger, + }) + return New(svc), nil }