From 06d85855039d52f83c7fe4ff0f4031f853e2a56b Mon Sep 17 00:00:00 2001 From: Alessandro Boch Date: Wed, 9 Sep 2015 17:35:07 -0700 Subject: [PATCH] Make lookupSandboxID() reliable - it is supposed to be called after lookupContainerID() but the latter is not guaranteed to succeed and in case of connection error will return what was passed to it. So in order to be able to operate with both long and short container ids in case of lookupContainerID() failure, always search by `partial-container-id` Signed-off-by: Alessandro Boch --- libnetwork/client/client_test.go | 2 ++ libnetwork/client/service.go | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libnetwork/client/client_test.go b/libnetwork/client/client_test.go index 3e22b6cb56..d7ad8a69f4 100644 --- a/libnetwork/client/client_test.go +++ b/libnetwork/client/client_test.go @@ -87,6 +87,8 @@ func setupMockHTTPCallback() { return nopCloser{bytes.NewBufferString("")}, dummyHTTPHdr, 400, fmt.Errorf("Bad Request") } else if strings.Contains(path, fmt.Sprintf("sandboxes?container-id=%s", mockContainerID)) { rsp = string(mockSbListJSON) + } else if strings.Contains(path, fmt.Sprintf("sandboxes?partial-container-id=%s", mockContainerID)) { + rsp = string(mockSbListJSON) } case "POST": var data []byte diff --git a/libnetwork/client/service.go b/libnetwork/client/service.go index 7fe82f6612..36564977fb 100644 --- a/libnetwork/client/service.go +++ b/libnetwork/client/service.go @@ -115,7 +115,7 @@ func lookupContainerID(cli *NetworkCli, cnNameID string) (string, error) { } func lookupSandboxID(cli *NetworkCli, containerID string) (string, error) { - obj, _, err := readBody(cli.call("GET", fmt.Sprintf("/sandboxes?container-id=%s", containerID), nil, nil)) + obj, _, err := readBody(cli.call("GET", fmt.Sprintf("/sandboxes?partial-container-id=%s", containerID), nil, nil)) if err != nil { return "", err }