From 3b1af1751897680d32f4685e86d5dd1d9f3720b1 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 --- daemon/cluster/executor/container/container.go | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/daemon/cluster/executor/container/container.go b/daemon/cluster/executor/container/container.go index 16b8e9eb7c..fffa7fab62 100644 --- a/daemon/cluster/executor/container/container.go +++ b/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,