From 42f3865d248c29b6a9accf7f0c07d766c3b54d4a Mon Sep 17 00:00:00 2001 From: Christopher Jones Date: Tue, 6 Sep 2016 18:08:14 -0400 Subject: [PATCH] Integration-cli: change daemon id generation Fixes #24805 Changes test daemon id generation from using time.Now().UnixNano() to using stringid. This is because of a go bug (fixed upstream for 1.8) on ppc64le and s390x where time.Now().UnixNano() would not return nanosecond precision, so initializing consecutive daemons sometimes would result in them having the same id. Signed-off-by: Christopher Jones --- integration-cli/daemon.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integration-cli/daemon.go b/integration-cli/daemon.go index a7fed4447c..a16798c0ee 100644 --- a/integration-cli/daemon.go +++ b/integration-cli/daemon.go @@ -17,6 +17,7 @@ import ( "github.com/docker/docker/opts" "github.com/docker/docker/pkg/integration/checker" "github.com/docker/docker/pkg/ioutils" + "github.com/docker/docker/pkg/stringid" "github.com/docker/engine-api/types/events" "github.com/docker/go-connections/sockets" "github.com/docker/go-connections/tlsconfig" @@ -61,7 +62,7 @@ func NewDaemon(c *check.C) *Daemon { err := os.MkdirAll(daemonSockRoot, 0700) c.Assert(err, checker.IsNil, check.Commentf("could not create daemon socket root")) - id := fmt.Sprintf("d%d", time.Now().UnixNano()%100000000) + id := fmt.Sprintf("d%s", stringid.TruncateID(stringid.GenerateRandomID())) dir := filepath.Join(dest, id) daemonFolder, err := filepath.Abs(dir) c.Assert(err, check.IsNil, check.Commentf("Could not make %q an absolute path", dir))