From c60731b0431e8ba3a00155a58131f090b87f9c5b Mon Sep 17 00:00:00 2001 From: Mike Lang Date: Thu, 27 Apr 2017 15:45:29 -0700 Subject: [PATCH] Add report topology for daemonsets --- render/detailed/parents.go | 1 + render/detailed/summary.go | 1 + render/selectors.go | 1 + report/id.go | 6 ++++++ report/report.go | 12 ++++++++++++ 5 files changed, 21 insertions(+) diff --git a/render/detailed/parents.go b/render/detailed/parents.go index 5fce99de5..d51a67ca5 100644 --- a/render/detailed/parents.go +++ b/render/detailed/parents.go @@ -25,6 +25,7 @@ var ( report.Pod: kubernetesParentLabel, report.ReplicaSet: kubernetesParentLabel, report.Deployment: kubernetesParentLabel, + report.DaemonSet: kubernetesParentLabel, report.Service: kubernetesParentLabel, report.ECSTask: latestLookup(awsecs.TaskFamily), report.ECSService: ecsServiceParentLabel, diff --git a/render/detailed/summary.go b/render/detailed/summary.go index 63d4620da..aa8c4e3da 100644 --- a/render/detailed/summary.go +++ b/render/detailed/summary.go @@ -68,6 +68,7 @@ var renderers = map[string]func(NodeSummary, report.Node) (NodeSummary, bool){ report.Pod: podNodeSummary, report.Service: podGroupNodeSummary, report.Deployment: podGroupNodeSummary, + report.DaemonSet: podGroupNodeSummary, report.ReplicaSet: podGroupNodeSummary, report.ECSTask: ecsTaskNodeSummary, report.ECSService: ecsServiceNodeSummary, diff --git a/render/selectors.go b/render/selectors.go index eb369f932..483838c54 100644 --- a/render/selectors.go +++ b/render/selectors.go @@ -30,6 +30,7 @@ var ( SelectPod = TopologySelector(report.Pod) SelectService = TopologySelector(report.Service) SelectDeployment = TopologySelector(report.Deployment) + SelectDaemonSet = TopologySelector(report.DaemonSet) SelectReplicaSet = TopologySelector(report.ReplicaSet) SelectECSTask = TopologySelector(report.ECSTask) SelectECSService = TopologySelector(report.ECSService) diff --git a/report/id.go b/report/id.go index 6e22a23b8..108d95143 100644 --- a/report/id.go +++ b/report/id.go @@ -125,6 +125,12 @@ var ( // ParseReplicaSetNodeID parses a replica set node ID ParseReplicaSetNodeID = parseSingleComponentID("replica_set") + // MakeDaemonSetNodeID produces a replica set node ID from its composite parts. + MakeDaemonSetNodeID = makeSingleComponentID("daemonset") + + // ParseDaemonSetNodeID parses a daemon set node ID + ParseDaemonSetNodeID = parseSingleComponentID("daemonset") + // MakeECSTaskNodeID produces a replica set node ID from its composite parts. MakeECSTaskNodeID = makeSingleComponentID("ecs_task") diff --git a/report/report.go b/report/report.go index aac6b7620..f1f790a42 100644 --- a/report/report.go +++ b/report/report.go @@ -19,6 +19,7 @@ const ( Service = "service" Deployment = "deployment" ReplicaSet = "replica_set" + DaemonSet = "daemon_set" ContainerImage = "container_image" Host = "host" Overlay = "overlay" @@ -74,6 +75,11 @@ type Report struct { // present. ReplicaSet Topology + // DaemonSet nodes represent all Kubernetes DaemonSets running on hosts running probes. + // Metadata includes things like DaemonSet id, name etc. Edges are not + // present. + DaemonSet Topology + // ContainerImages nodes represent all Docker containers images on // hosts running probes. Metadata includes things like image id, name etc. // Edges are not present. @@ -164,6 +170,10 @@ func MakeReport() Report { WithShape(Heptagon). WithLabel("replica set", "replica sets"), + DaemonSet: MakeTopology(). + WithShape(Heptagon). + WithLabel("daemonset", "daemonsets"), + Overlay: MakeTopology(). WithShape(Circle). WithLabel("peer", "peers"), @@ -198,6 +208,7 @@ func (r *Report) TopologyMap() map[string]*Topology { Service: &r.Service, Deployment: &r.Deployment, ReplicaSet: &r.ReplicaSet, + DaemonSet: &r.DaemonSet, Host: &r.Host, Overlay: &r.Overlay, ECSTask: &r.ECSTask, @@ -260,6 +271,7 @@ func (r *Report) WalkPairedTopologies(o *Report, f func(*Topology, *Topology)) { f(&r.Service, &o.Service) f(&r.Deployment, &o.Deployment) f(&r.ReplicaSet, &o.ReplicaSet) + f(&r.DaemonSet, &o.DaemonSet) f(&r.Host, &o.Host) f(&r.Overlay, &o.Overlay) f(&r.ECSTask, &o.ECSTask)