From 0423604572e54d24f6717be59ec8971cc72e4ef5 Mon Sep 17 00:00:00 2001 From: "Guillaume J. Charmes" Date: Tue, 1 Apr 2014 17:30:02 -0700 Subject: [PATCH 1/2] Add API version to `docker version` Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes (github: creack) Upstream-commit: b246fc33ae4f05b5084fed8fc9f1034e36d87d78 Component: engine --- components/engine/api/client/commands.go | 4 ++++ .../integration-cli/docker_cli_version_test.go | 12 +++++++++++- components/engine/server/server.go | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/components/engine/api/client/commands.go b/components/engine/api/client/commands.go index eddfad5c30..53b8822d69 100644 --- a/components/engine/api/client/commands.go +++ b/components/engine/api/client/commands.go @@ -357,6 +357,7 @@ func (cli *DockerCli) CmdVersion(args ...string) error { if dockerversion.VERSION != "" { fmt.Fprintf(cli.out, "Client version: %s\n", dockerversion.VERSION) } + fmt.Fprintf(cli.out, "Client API version: %s\n", api.APIVERSION) fmt.Fprintf(cli.out, "Go version (client): %s\n", goruntime.Version()) if dockerversion.GITCOMMIT != "" { fmt.Fprintf(cli.out, "Git commit (client): %s\n", dockerversion.GITCOMMIT) @@ -379,6 +380,9 @@ func (cli *DockerCli) CmdVersion(args ...string) error { } out.Close() fmt.Fprintf(cli.out, "Server version: %s\n", remoteVersion.Get("Version")) + if apiVersion := remoteVersion.Get("ApiVersion"); apiVersion != "" { + fmt.Fprintf(cli.out, "Server API version: %s\n", apiVersion) + } fmt.Fprintf(cli.out, "Git commit (server): %s\n", remoteVersion.Get("GitCommit")) fmt.Fprintf(cli.out, "Go version (server): %s\n", remoteVersion.Get("GoVersion")) release := utils.GetReleaseVersion() diff --git a/components/engine/integration-cli/docker_cli_version_test.go b/components/engine/integration-cli/docker_cli_version_test.go index 8adedd540b..f18d5bede6 100644 --- a/components/engine/integration-cli/docker_cli_version_test.go +++ b/components/engine/integration-cli/docker_cli_version_test.go @@ -17,7 +17,17 @@ func TestVersionEnsureSucceeds(t *testing.T) { t.Fatal("failed to execute docker version") } - stringsToCheck := []string{"Client version:", "Go version (client):", "Git commit (client):", "Server version:", "Git commit (server):", "Go version (server):", "Last stable version:"} + stringsToCheck := []string{ + "Client version:", + "Client API version:", + "Go version (client):", + "Git commit (client):", + "Server version:", + "Server API version:", + "Git commit (server):", + "Go version (server):", + "Last stable version:", + } for _, linePrefix := range stringsToCheck { if !strings.Contains(out, linePrefix) { diff --git a/components/engine/server/server.go b/components/engine/server/server.go index 65dbcca47b..a47434f73f 100644 --- a/components/engine/server/server.go +++ b/components/engine/server/server.go @@ -3,6 +3,7 @@ package server import ( "encoding/json" "fmt" + "github.com/dotcloud/docker/api" "github.com/dotcloud/docker/archive" "github.com/dotcloud/docker/daemonconfig" "github.com/dotcloud/docker/dockerversion" @@ -823,6 +824,7 @@ func (srv *Server) DockerInfo(job *engine.Job) engine.Status { func (srv *Server) DockerVersion(job *engine.Job) engine.Status { v := &engine.Env{} v.Set("Version", dockerversion.VERSION) + v.Set("ApiVersion", api.APIVERSION) v.Set("GitCommit", dockerversion.GITCOMMIT) v.Set("GoVersion", goruntime.Version()) v.Set("Os", goruntime.GOOS) From b3b5319e85b11137e94f444179a4e5d379227bea Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Wed, 2 Apr 2014 01:19:26 +0000 Subject: [PATCH 2/2] <3 Docker-DCO-1.1-Signed-off-by: Victor Vieux (github: vieux) Upstream-commit: d7ec39a4cfbee7b68e0c7973fb629da6f54d873c Component: engine --- components/engine/server/server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/engine/server/server.go b/components/engine/server/server.go index a47434f73f..1c6c561375 100644 --- a/components/engine/server/server.go +++ b/components/engine/server/server.go @@ -824,7 +824,7 @@ func (srv *Server) DockerInfo(job *engine.Job) engine.Status { func (srv *Server) DockerVersion(job *engine.Job) engine.Status { v := &engine.Env{} v.Set("Version", dockerversion.VERSION) - v.Set("ApiVersion", api.APIVERSION) + v.SetJson("ApiVersion", api.APIVERSION) v.Set("GitCommit", dockerversion.GITCOMMIT) v.Set("GoVersion", goruntime.Version()) v.Set("Os", goruntime.GOOS)