mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-28 09:41:57 +00:00
Refactor: implement kubernetes tagger in separate struct
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user