mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-03 18:20:27 +00:00
Merge pull request #2450 from weaveworks/mike/docker-swarm/stack-ns
swarm service: Capture stack namespace and strip it from name
This commit is contained in:
@@ -22,6 +22,7 @@ const (
|
||||
IsInHostNetwork = "docker_is_in_host_network"
|
||||
ImageTableID = "image_table"
|
||||
ServiceName = "service_name"
|
||||
StackNamespace = "stack_namespace"
|
||||
)
|
||||
|
||||
// Exposed for testing
|
||||
@@ -135,7 +136,8 @@ var (
|
||||
}
|
||||
|
||||
SwarmServiceMetadataTemplates = report.MetadataTemplates{
|
||||
ServiceName: {ID: ServiceName, Label: "Service Name", From: report.FromLatest, Priority: 0},
|
||||
ServiceName: {ID: ServiceName, Label: "Service Name", From: report.FromLatest, Priority: 0},
|
||||
StackNamespace: {ID: StackNamespace, Label: "Stack Namespace", From: report.FromLatest, Priority: 1},
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -57,14 +57,20 @@ func (t *Tagger) Tag(r report.Report) (report.Report, error) {
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
stackNamespace, ok := container.Latest.Lookup(LabelPrefix + "com.docker.stack.namespace")
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
|
||||
if strings.HasPrefix(serviceName, "dockerswarm_") {
|
||||
serviceName = serviceName[len("dockerswarm_"):]
|
||||
prefix := stackNamespace + "_"
|
||||
if strings.HasPrefix(serviceName, prefix) {
|
||||
serviceName = serviceName[len(prefix):]
|
||||
}
|
||||
|
||||
nodeID := report.MakeSwarmServiceNodeID(serviceID)
|
||||
node := report.MakeNodeWith(nodeID, map[string]string{
|
||||
ServiceName: serviceName,
|
||||
ServiceName: serviceName,
|
||||
StackNamespace: stackNamespace,
|
||||
})
|
||||
r.SwarmService = r.SwarmService.AddNode(node)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user