From ad6d3e7a11c64355fb4ca48f461f98f816a7f7d7 Mon Sep 17 00:00:00 2001 From: Stephen J Day Date: Tue, 25 Oct 2016 14:17:57 -0700 Subject: [PATCH] cluster/container: correctly name swarm tasks Even after a slew of PRs, this still wasn't quite right. Now, we ensure the task name is calculared in one place in the executor, as least. We'll have to follow this up once the `api/naming` package from SwarmKit lands. Signed-off-by: Stephen J Day Upstream-commit: 3b1af1751897680d32f4685e86d5dd1d9f3720b1 Component: engine --- .../cluster/executor/container/container.go | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/components/engine/daemon/cluster/executor/container/container.go b/components/engine/daemon/cluster/executor/container/container.go index 16b8e9eb7c..fffa7fab62 100644 --- a/components/engine/daemon/cluster/executor/container/container.go +++ b/components/engine/daemon/cluster/executor/container/container.go @@ -104,8 +104,13 @@ func (c *containerConfig) name() string { return c.task.Annotations.Name } + slot := fmt.Sprint(c.task.Slot) + if slot == "" || c.task.Slot == 0 { + slot = c.task.NodeID + } + // fallback to service.slot.id. - return strings.Join([]string{c.task.ServiceAnnotations.Name, fmt.Sprint(c.task.Slot), c.task.ID}, ".") + return fmt.Sprintf("%s.%s.%s", c.task.ServiceAnnotations.Name, slot, c.task.ID) } func (c *containerConfig) image() string { @@ -143,19 +148,11 @@ func (c *containerConfig) config() *enginecontainer.Config { } func (c *containerConfig) labels() map[string]string { - taskName := c.task.Annotations.Name - if taskName == "" { - if c.task.Slot != 0 { - taskName = fmt.Sprintf("%v.%v.%v", c.task.ServiceAnnotations.Name, c.task.Slot, c.task.ID) - } else { - taskName = fmt.Sprintf("%v.%v.%v", c.task.ServiceAnnotations.Name, c.task.NodeID, c.task.ID) - } - } var ( system = map[string]string{ "task": "", // mark as cluster task "task.id": c.task.ID, - "task.name": taskName, + "task.name": c.name(), "node.id": c.task.NodeID, "service.id": c.task.ServiceID, "service.name": c.task.ServiceAnnotations.Name,