From 0fa9b97f4ed10526a151f6a134142c584e0907a2 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Mon, 2 Nov 2015 16:20:24 -0800 Subject: [PATCH 1/5] refresh images after a rmi Signed-off-by: Victor Vieux --- cluster/engine.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cluster/engine.go b/cluster/engine.go index aba9f061aa..9379da95e8 100644 --- a/cluster/engine.go +++ b/cluster/engine.go @@ -218,7 +218,10 @@ func (e *Engine) updateSpecs() error { // RemoveImage deletes an image from the engine. func (e *Engine) RemoveImage(image *Image, name string, force bool) ([]*dockerclient.ImageDelete, error) { - return e.client.RemoveImage(name, force) + array, err := e.client.RemoveImage(name, force) + e.RefreshImages() + return array, err + } // RemoveNetwork deletes a network from the engine. From 3f29299afdeb364b552da8f13508650499fd2cf4 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Mon, 2 Nov 2015 16:31:57 -0800 Subject: [PATCH 2/5] refresh volumes after creating a container Signed-off-by: Victor Vieux --- cluster/engine.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cluster/engine.go b/cluster/engine.go index 9379da95e8..e57bbbbc27 100644 --- a/cluster/engine.go +++ b/cluster/engine.go @@ -524,6 +524,7 @@ func (e *Engine) Create(config *ContainerConfig, name string, pullImage bool) (* // Register the container immediately while waiting for a state refresh. // Force a state refresh to pick up the newly created container. e.refreshContainer(id, true) + e.RefreshVolumes() e.RefreshNetworks() e.RLock() From 3c397e5b963c68c72dc9defdf28e7a82250d16b9 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Mon, 2 Nov 2015 16:32:43 -0800 Subject: [PATCH 3/5] update test name Signed-off-by: Victor Vieux --- test/integration/api/run.bats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/api/run.bats b/test/integration/api/run.bats index b6f5823764..037abb7be6 100644 --- a/test/integration/api/run.bats +++ b/test/integration/api/run.bats @@ -107,7 +107,7 @@ function teardown() { [[ "${output}" == *"node-0/test_container"* ]] } -@test "docker run - reschedule with soft-image-affinity(have node constraint))" { +@test "docker run - reschedule with soft-image-affinity and node constraint" { start_docker_with_busybox 1 start_docker 1 From 3b6d9b68209e95da777290877d9e18c60442ae89 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Mon, 2 Nov 2015 17:04:01 -0800 Subject: [PATCH 4/5] monitor events just after the info Signed-off-by: Victor Vieux --- cluster/engine.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cluster/engine.go b/cluster/engine.go index e57bbbbc27..7049b3a573 100644 --- a/cluster/engine.go +++ b/cluster/engine.go @@ -128,6 +128,9 @@ func (e *Engine) ConnectWithClient(client dockerclient.Client) error { return err } + // Start monitoring events from the engine. + e.client.StartMonitorEvents(e.handler, nil) + // Force a state update before returning. if err := e.RefreshContainers(true); err != nil { return err @@ -144,8 +147,6 @@ func (e *Engine) ConnectWithClient(client dockerclient.Client) error { // Start the update loop. go e.refreshLoop() - // Start monitoring events from the engine. - e.client.StartMonitorEvents(e.handler, nil) e.emitEvent("engine_connect") return nil From c286a183b37a0f032a96a9f1120708d0be602d14 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Mon, 2 Nov 2015 18:03:29 -0800 Subject: [PATCH 5/5] fix diff test Signed-off-by: Victor Vieux --- test/integration/api/network.bats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/api/network.bats b/test/integration/api/network.bats index 9ad9e32c52..60825eb7bd 100644 --- a/test/integration/api/network.bats +++ b/test/integration/api/network.bats @@ -28,7 +28,7 @@ function teardown() { run docker_swarm network inspect node-0/bridge [[ "${output}" != *"\"Containers\": {}"* ]] - diff <(docker_swarm network inspect node-0/bridge) <(docker_host -H ${HOSTS[0]} network inspect bridge) + diff <(docker_swarm network inspect node-0/bridge) <(docker -H ${HOSTS[0]} network inspect bridge) } @test "docker network create" {