From b9e600d38db9eb33bad339fb4de4282a8aa25249 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Tue, 17 Mar 2015 16:02:31 -0700 Subject: [PATCH] pull only latest if no tag Signed-off-by: Victor Vieux --- cluster/swarm/node.go | 3 +++ cluster/swarm/node_test.go | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/cluster/swarm/node.go b/cluster/swarm/node.go index 455df00114..310769b74e 100644 --- a/cluster/swarm/node.go +++ b/cluster/swarm/node.go @@ -403,6 +403,9 @@ func (n *node) destroy(container *cluster.Container, force bool) error { } func (n *node) pull(image string) error { + if !strings.Contains(image, ":") { + image = image + ":latest" + } if err := n.client.PullImage(image, nil); err != nil { return err } diff --git a/cluster/swarm/node_test.go b/cluster/swarm/node_test.go index 42626b1910..dd9c32588e 100644 --- a/cluster/swarm/node_test.go +++ b/cluster/swarm/node_test.go @@ -213,7 +213,7 @@ func TestCreateContainer(t *testing.T) { name = "test3" id = "id3" mockConfig.CpuShares = config.CpuShares * mockInfo.NCPU - client.On("PullImage", config.Image, mock.Anything).Return(nil).Once() + client.On("PullImage", config.Image+":latest", mock.Anything).Return(nil).Once() client.On("CreateContainer", &mockConfig, name).Return("", dockerclient.ErrNotFound).Once() client.On("CreateContainer", &mockConfig, name).Return(id, nil).Once() client.On("ListContainers", true, false, fmt.Sprintf(`{"id":[%q]}`, id)).Return([]dockerclient.Container{{Id: id}}, nil).Once()