Skip to content
This repository was archived by the owner on Feb 8, 2021. It is now read-only.

Commit 5fd9a8f

Browse files
committed
Merge pull request #18616 from calavera/move_client_version_to_docker_cli
Move client version to the docker cli.
2 parents ec1002d + 229d3ba commit 5fd9a8f

File tree

3 files changed

+27
-24
lines changed

3 files changed

+27
-24
lines changed

api/client/client.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ type apiClient interface {
6868
NetworkList() ([]types.NetworkResource, error)
6969
NetworkRemove(networkID string) error
7070
RegistryLogin(auth cliconfig.AuthConfig) (types.AuthResponse, error)
71-
SystemVersion() (types.VersionResponse, error)
71+
ServerVersion() (types.Version, error)
7272
VolumeCreate(options types.VolumeCreateRequest) (types.Volume, error)
7373
VolumeInspect(volumeID string) (types.Volume, error)
7474
VolumeList(filter filters.Args) (types.VolumesListResponse, error)

api/client/lib/version.go

+4-22
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,19 @@ package lib
22

33
import (
44
"encoding/json"
5-
"runtime"
65

7-
"github.com/docker/docker/api"
86
"github.com/docker/docker/api/types"
9-
"github.com/docker/docker/dockerversion"
10-
"github.com/docker/docker/utils"
117
)
128

13-
// SystemVersion returns information of the docker client and server host.
14-
func (cli *Client) SystemVersion() (types.VersionResponse, error) {
15-
client := &types.Version{
16-
Version: dockerversion.Version,
17-
APIVersion: api.Version,
18-
GoVersion: runtime.Version(),
19-
GitCommit: dockerversion.GitCommit,
20-
BuildTime: dockerversion.BuildTime,
21-
Os: runtime.GOOS,
22-
Arch: runtime.GOARCH,
23-
Experimental: utils.ExperimentalBuild(),
24-
}
25-
9+
// ServerVersion returns information of the docker client and server host.
10+
func (cli *Client) ServerVersion() (types.Version, error) {
2611
resp, err := cli.get("/version", nil, nil)
2712
if err != nil {
28-
return types.VersionResponse{Client: client}, err
13+
return types.Version{}, err
2914
}
3015
defer ensureReaderClosed(resp)
3116

3217
var server types.Version
3318
err = json.NewDecoder(resp.body).Decode(&server)
34-
if err != nil {
35-
return types.VersionResponse{Client: client}, err
36-
}
37-
return types.VersionResponse{Client: client, Server: &server}, nil
19+
return server, err
3820
}

api/client/version.go

+22-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
package client
22

33
import (
4+
"runtime"
45
"text/template"
56
"time"
67

8+
"github.com/docker/docker/api"
9+
"github.com/docker/docker/api/types"
710
Cli "github.com/docker/docker/cli"
11+
"github.com/docker/docker/dockerversion"
812
flag "github.com/docker/docker/pkg/mflag"
13+
"github.com/docker/docker/utils"
914
)
1015

1116
var versionTemplate = `Client:
@@ -49,7 +54,23 @@ func (cli *DockerCli) CmdVersion(args ...string) (err error) {
4954
Status: "Template parsing error: " + err.Error()}
5055
}
5156

52-
vd, err := cli.client.SystemVersion()
57+
vd := types.VersionResponse{
58+
Client: &types.Version{
59+
Version: dockerversion.Version,
60+
APIVersion: api.Version,
61+
GoVersion: runtime.Version(),
62+
GitCommit: dockerversion.GitCommit,
63+
BuildTime: dockerversion.BuildTime,
64+
Os: runtime.GOOS,
65+
Arch: runtime.GOARCH,
66+
Experimental: utils.ExperimentalBuild(),
67+
},
68+
}
69+
70+
serverVersion, err := cli.client.ServerVersion()
71+
if err == nil {
72+
vd.Server = &serverVersion
73+
}
5374

5475
// first we need to make BuildTime more human friendly
5576
t, errTime := time.Parse(time.RFC3339Nano, vd.Client.BuildTime)

0 commit comments

Comments
 (0)