From b3bf6afbcce7fa3eab64b5128e23f1e990aed2f3 Mon Sep 17 00:00:00 2001 From: dattatrayakumbhar04 Date: Tue, 22 Nov 2016 20:02:46 +0000 Subject: [PATCH] 28722: List of containers with networkID filter is not working Signed-off-by: dattatrayakumbhar04 Upstream-commit: 59b70cdabe3b5f3592e40d241377c6a9f2127dfc Component: engine --- components/engine/daemon/list.go | 2 +- .../integration-cli/docker_cli_ps_test.go | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/components/engine/daemon/list.go b/components/engine/daemon/list.go index 30b0a278c5..4d831460f2 100644 --- a/components/engine/daemon/list.go +++ b/components/engine/daemon/list.go @@ -504,7 +504,7 @@ func includeContainerInList(container *container.Container, ctx *listContext) it if nw.EndpointSettings == nil { continue } - if nw.NetworkID == value { + if strings.HasPrefix(nw.NetworkID, value) { return networkExist } } diff --git a/components/engine/integration-cli/docker_cli_ps_test.go b/components/engine/integration-cli/docker_cli_ps_test.go index 0934c2daa9..510fce78bd 100644 --- a/components/engine/integration-cli/docker_cli_ps_test.go +++ b/components/engine/integration-cli/docker_cli_ps_test.go @@ -877,6 +877,23 @@ func (s *DockerSuite) TestPsListContainersFilterNetwork(c *check.C) { containerOut = strings.TrimSpace(string(out)) c.Assert(containerOut, checker.Contains, "onbridgenetwork") + + // Filter by partial network ID + partialnwID := string(nwID[0:4]) + + out, _ = dockerCmd(c, "ps", "--filter", "network="+partialnwID) + containerOut = strings.TrimSpace(string(out)) + + lines = strings.Split(containerOut, "\n") + // skip header + lines = lines[1:] + + // ps output should have only one container + c.Assert(lines, checker.HasLen, 1) + + // Making sure onbridgenetwork is on the output + c.Assert(containerOut, checker.Contains, "onbridgenetwork", check.Commentf("Missing the container on network\n")) + } func (s *DockerSuite) TestPsByOrder(c *check.C) {