From dd21a55a1e6c6f59a6dd61dc36a5559b77399ee6 Mon Sep 17 00:00:00 2001 From: Bryan Boreham Date: Fri, 20 Jul 2018 21:57:05 +0000 Subject: [PATCH] Refactor: implement kubernetes tagger in separate struct --- probe/kubernetes/reporter.go | 9 ++++++++- probe/kubernetes/reporter_test.go | 3 +-- prog/probe.go | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/probe/kubernetes/reporter.go b/probe/kubernetes/reporter.go index 3dfa8c793..f7e20acf0 100644 --- a/probe/kubernetes/reporter.go +++ b/probe/kubernetes/reporter.go @@ -238,8 +238,15 @@ func isPauseContainer(n report.Node, rpt report.Report) bool { return false } +// Tagger adds pod parents to container nodes. +type Tagger struct { +} + +// Name of this tagger, for metrics gathering +func (Tagger) Name() string { return "K8s" } + // Tag adds pod parents to container nodes. -func (r *Reporter) Tag(rpt report.Report) (report.Report, error) { +func (r *Tagger) Tag(rpt report.Report) (report.Report, error) { for id, n := range rpt.Container.Nodes { uid, ok := n.Latest.Lookup(docker.LabelPrefix + "io.kubernetes.pod.uid") if !ok { diff --git a/probe/kubernetes/reporter_test.go b/probe/kubernetes/reporter_test.go index 70e083b3a..bce58cd3a 100644 --- a/probe/kubernetes/reporter_test.go +++ b/probe/kubernetes/reporter_test.go @@ -328,8 +328,7 @@ func TestTagger(t *testing.T) { docker.LabelPrefix + "io.kubernetes.pod.uid": "123456", })) - hr := controls.NewDefaultHandlerRegistry() - rpt, err := kubernetes.NewReporter(newMockClient(), nil, "", "", nil, hr, "", 0).Tag(rpt) + rpt, err := (&kubernetes.Tagger{}).Tag(rpt) if err != nil { t.Errorf("Unexpected error: %v", err) } diff --git a/prog/probe.go b/prog/probe.go index 756a5d00b..abba70502 100644 --- a/prog/probe.go +++ b/prog/probe.go @@ -273,7 +273,7 @@ func probeMain(flags probeFlags, targets []appclient.Target) { reporter := kubernetes.NewReporter(client, clients, probeID, hostID, p, handlerRegistry, flags.kubernetesNodeName, flags.kubernetesKubeletPort) defer reporter.Stop() p.AddReporter(reporter) - p.AddTagger(reporter) + p.AddTagger(&kubernetes.Tagger{}) } else { log.Errorf("Kubernetes: failed to start client: %v", err) log.Errorf("Kubernetes: make sure to run Scope inside a POD with a service account or provide valid probe.kubernetes.* flags")