Merge pull request #35773 from arm64b/aarch64-multi-arch-imgs-replacement
Legacy images replacement with multi-arch ones on AArch64
diff --git a/docs/contributing/set-up-dev-env.md b/docs/contributing/set-up-dev-env.md
index c2c8389..b4cacf5 100644
--- a/docs/contributing/set-up-dev-env.md
+++ b/docs/contributing/set-up-dev-env.md
@@ -186,13 +186,65 @@
hack/make.sh binary install-binary run
```
-9. Inside your container, check your Docker version.
+9. Inside your container, check your Docker versions:
```none
- root@5f8630b873fe:/go/src/github.com/docker/docker# docker --version
- Docker version 1.12.0-dev, build 6e728fb
+ # docker version
+ Client:
+ Version: 17.06.0-ce
+ API version: 1.30
+ Go version: go1.8.3
+ Git commit: 02c1d87
+ Built: Fri Jun 23 21:15:15 2017
+ OS/Arch: linux/amd64
+
+ Server:
+ Version: dev
+ API version: 1.35 (minimum version 1.12)
+ Go version: go1.9.2
+ Git commit: 4aa6362da
+ Built: Sat Dec 2 05:22:42 2017
+ OS/Arch: linux/amd64
+ Experimental: false
```
+ Notice the split versions between client and server, which might be
+ unexpected. In more recent times the Docker CLI component (which provides the
+ `docker` command) has split out from the Moby project and is now maintained in:
+
+ * [docker/cli](https://github.com/docker/cli) - The Docker CLI source-code;
+ * [docker/docker-ce](https://github.com/docker/docker-ce) - The Docker CE
+ edition project, which assembles engine, CLI and other components.
+
+ The Moby project now defaults to a [fixed
+ version](https://github.com/docker/docker-ce/commits/v17.06.0-ce) of the
+ `docker` CLI for integration tests.
+
+ You may have noticed the following message when starting the container with the `shell` command:
+
+ ```none
+ Makefile:123: The docker client CLI has moved to github.com/docker/cli. For a dev-test cycle involving the CLI, run:
+ DOCKER_CLI_PATH=/host/path/to/cli/binary make shell
+ then change the cli and compile into a binary at the same location.
+ ```
+
+ By setting `DOCKER_CLI_PATH` you can supply a newer `docker` CLI to the
+ server development container for testing and for `integration-cli`
+ test-execution:
+
+ ```none
+ make DOCKER_CLI_PATH=/home/ubuntu/git/docker-ce/components/packaging/static/build/linux/docker/docker BIND_DIR=. shell
+ ...
+ # which docker
+ /usr/local/cli/docker
+ # docker --version
+ Docker version 17.09.0-dev, build
+ ```
+
+ This Docker CLI should be built from the [docker-ce
+ project](https://github.com/docker/docker-ce) and needs to be a Linux
+ binary.
+
Inside the container you are running a development version. This is the version
on the current branch. It reflects the value of the `VERSION` file at the
root of your `docker-fork` repository.
diff --git a/hack/dockerfile/binaries-commits b/hack/dockerfile/binaries-commits
index abe8bfe..3b52082 100644
--- a/hack/dockerfile/binaries-commits
+++ b/hack/dockerfile/binaries-commits
@@ -4,7 +4,7 @@
# When updating RUNC_COMMIT, also update runc in vendor.conf accordingly
RUNC_COMMIT=b2567b37d7b75eb4cf325b77297b140ea686ce8f
-CONTAINERD_COMMIT=v1.0.0
+CONTAINERD_COMMIT=89623f28b87a6004d4b785663257362d1658a729 # v1.0.0
TINI_COMMIT=949e6facb77383876aeff8a6944dde66b3089574
LIBNETWORK_COMMIT=7b2b1feb1de4817d522cc372af149ff48d25028e
VNDR_COMMIT=a6e196d8b4b0cbbdc29aebdb20c59ac6926bb384
diff --git a/integration-cli/docker_api_info_test.go b/integration-cli/docker_api_info_test.go
index 60ca4b9..e7d77f0 100644
--- a/integration-cli/docker_api_info_test.go
+++ b/integration-cli/docker_api_info_test.go
@@ -1,13 +1,10 @@
package main
import (
- "encoding/json"
"net/http"
"fmt"
- "github.com/docker/docker/api/types"
-
"github.com/docker/docker/client"
"github.com/docker/docker/integration-cli/checker"
"github.com/docker/docker/integration-cli/request"
@@ -48,25 +45,6 @@
}
}
-// TestInfoAPIRuncCommit tests that dockerd is able to obtain RunC version
-// information, and that the version matches the expected version
-func (s *DockerSuite) TestInfoAPIRuncCommit(c *check.C) {
- testRequires(c, DaemonIsLinux) // Windows does not have RunC version information
-
- res, body, err := request.Get("/v1.30/info")
- c.Assert(res.StatusCode, checker.Equals, http.StatusOK)
- c.Assert(err, checker.IsNil)
-
- b, err := request.ReadBody(body)
- c.Assert(err, checker.IsNil)
-
- var i types.Info
-
- c.Assert(json.Unmarshal(b, &i), checker.IsNil)
- c.Assert(i.RuncCommit.ID, checker.Not(checker.Equals), "N/A")
- c.Assert(i.RuncCommit.ID, checker.Equals, i.RuncCommit.Expected)
-}
-
func (s *DockerSuite) TestInfoAPIVersioned(c *check.C) {
testRequires(c, DaemonIsLinux) // Windows only supports 1.25 or later
diff --git a/integration-cli/docker_api_logs_test.go b/integration-cli/docker_api_logs_test.go
index 41164df..ef1e77d 100644
--- a/integration-cli/docker_api_logs_test.go
+++ b/integration-cli/docker_api_logs_test.go
@@ -151,7 +151,7 @@
func (s *DockerSuite) TestLogsAPIUntil(c *check.C) {
name := "logsuntil"
- dockerCmd(c, "run", "--name", name, "busybox", "/bin/sh", "-c", "for i in $(seq 1 3); do echo log$i; done")
+ dockerCmd(c, "run", "--name", name, "busybox", "/bin/sh", "-c", "for i in $(seq 1 3); do echo log$i; sleep 1; done")
client, err := request.NewClient()
if err != nil {
diff --git a/integration/system/info_linux_test.go b/integration/system/info_linux_test.go
new file mode 100644
index 0000000..bea14ea
--- /dev/null
+++ b/integration/system/info_linux_test.go
@@ -0,0 +1,34 @@
+// +build !windows
+
+package system
+
+import (
+ "testing"
+
+ "github.com/docker/docker/integration/util/request"
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "golang.org/x/net/context"
+)
+
+func TestInfo_BinaryCommits(t *testing.T) {
+ client := request.NewAPIClient(t)
+
+ info, err := client.Info(context.Background())
+ require.NoError(t, err)
+
+ assert.NotNil(t, info.ContainerdCommit)
+ assert.NotEqual(t, "N/A", info.ContainerdCommit.ID)
+ assert.Equal(t, testEnv.DaemonInfo.ContainerdCommit.Expected, info.ContainerdCommit.Expected)
+ assert.Equal(t, info.ContainerdCommit.Expected, info.ContainerdCommit.ID)
+
+ assert.NotNil(t, info.InitCommit)
+ assert.NotEqual(t, "N/A", info.InitCommit.ID)
+ assert.Equal(t, testEnv.DaemonInfo.InitCommit.Expected, info.InitCommit.Expected)
+ assert.Equal(t, info.InitCommit.Expected, info.InitCommit.ID)
+
+ assert.NotNil(t, info.RuncCommit)
+ assert.NotEqual(t, "N/A", info.RuncCommit.ID)
+ assert.Equal(t, testEnv.DaemonInfo.RuncCommit.Expected, info.RuncCommit.Expected)
+ assert.Equal(t, info.RuncCommit.Expected, info.RuncCommit.ID)
+}
diff --git a/vendor.conf b/vendor.conf
index 87f7930..93a5038 100644
--- a/vendor.conf
+++ b/vendor.conf
@@ -103,7 +103,7 @@
google.golang.org/genproto d80a6e20e776b0b17a324d0ba1ab50a39c8e8944
# containerd
-github.com/containerd/containerd v1.0.0
+github.com/containerd/containerd 89623f28b87a6004d4b785663257362d1658a729 # v1.0.0
github.com/containerd/fifo fbfb6a11ec671efbe94ad1c12c2e98773f19e1e6
github.com/containerd/continuity 35d55c5e8dd23b32037d56cf97174aff3efdfa83
github.com/containerd/cgroups 29da22c6171a4316169f9205ab6c49f59b5b852f