Browse code

move version out of server

Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)

Victor Vieux authored on 2014/05/13 06:38:20
Showing 2 changed files
... ...
@@ -1,11 +1,16 @@
1 1
 package builtins
2 2
 
3 3
 import (
4
-	api "github.com/dotcloud/docker/api/server"
4
+	"runtime"
5
+
6
+	"github.com/dotcloud/docker/api"
7
+	apiserver "github.com/dotcloud/docker/api/server"
5 8
 	"github.com/dotcloud/docker/daemon/networkdriver/bridge"
9
+	"github.com/dotcloud/docker/dockerversion"
6 10
 	"github.com/dotcloud/docker/engine"
7 11
 	"github.com/dotcloud/docker/registry"
8 12
 	"github.com/dotcloud/docker/server"
13
+	"github.com/dotcloud/docker/utils"
9 14
 )
10 15
 
11 16
 func Register(eng *engine.Engine) error {
... ...
@@ -15,12 +20,15 @@ func Register(eng *engine.Engine) error {
15 15
 	if err := remote(eng); err != nil {
16 16
 		return err
17 17
 	}
18
+	if err := eng.Register("version", dockerVersion); err != nil {
19
+		return err
20
+	}
18 21
 	return registry.NewService().Install(eng)
19 22
 }
20 23
 
21 24
 // remote: a RESTful api for cross-docker communication
22 25
 func remote(eng *engine.Engine) error {
23
-	return eng.Register("serveapi", api.ServeApi)
26
+	return eng.Register("serveapi", apiserver.ServeApi)
24 27
 }
25 28
 
26 29
 // daemon: a default execution and storage backend for Docker on Linux,
... ...
@@ -44,3 +52,21 @@ func daemon(eng *engine.Engine) error {
44 44
 	}
45 45
 	return eng.Register("init_networkdriver", bridge.InitDriver)
46 46
 }
47
+
48
+// builtins jobs independent of any subsystem
49
+func dockerVersion(job *engine.Job) engine.Status {
50
+	v := &engine.Env{}
51
+	v.Set("Version", dockerversion.VERSION)
52
+	v.SetJson("ApiVersion", api.APIVERSION)
53
+	v.Set("GitCommit", dockerversion.GITCOMMIT)
54
+	v.Set("GoVersion", runtime.Version())
55
+	v.Set("Os", runtime.GOOS)
56
+	v.Set("Arch", runtime.GOARCH)
57
+	if kernelVersion, err := utils.GetKernelVersion(); err == nil {
58
+		v.Set("KernelVersion", kernelVersion.String())
59
+	}
60
+	if _, err := v.WriteTo(job.Stdout); err != nil {
61
+		return job.Error(err)
62
+	}
63
+	return engine.StatusOK
64
+}
... ...
@@ -41,7 +41,6 @@ import (
41 41
 	"syscall"
42 42
 	"time"
43 43
 
44
-	"github.com/dotcloud/docker/api"
45 44
 	"github.com/dotcloud/docker/archive"
46 45
 	"github.com/dotcloud/docker/daemon"
47 46
 	"github.com/dotcloud/docker/daemonconfig"
... ...
@@ -128,7 +127,6 @@ func InitServer(job *engine.Job) engine.Status {
128 128
 		"logs":             srv.ContainerLogs,
129 129
 		"changes":          srv.ContainerChanges,
130 130
 		"top":              srv.ContainerTop,
131
-		"version":          srv.DockerVersion,
132 131
 		"load":             srv.ImageLoad,
133 132
 		"build":            srv.Build,
134 133
 		"pull":             srv.ImagePull,
... ...
@@ -807,23 +805,6 @@ func (srv *Server) DockerInfo(job *engine.Job) engine.Status {
807 807
 	return engine.StatusOK
808 808
 }
809 809
 
810
-func (srv *Server) DockerVersion(job *engine.Job) engine.Status {
811
-	v := &engine.Env{}
812
-	v.Set("Version", dockerversion.VERSION)
813
-	v.SetJson("ApiVersion", api.APIVERSION)
814
-	v.Set("GitCommit", dockerversion.GITCOMMIT)
815
-	v.Set("GoVersion", runtime.Version())
816
-	v.Set("Os", runtime.GOOS)
817
-	v.Set("Arch", runtime.GOARCH)
818
-	if kernelVersion, err := utils.GetKernelVersion(); err == nil {
819
-		v.Set("KernelVersion", kernelVersion.String())
820
-	}
821
-	if _, err := v.WriteTo(job.Stdout); err != nil {
822
-		return job.Error(err)
823
-	}
824
-	return engine.StatusOK
825
-}
826
-
827 810
 func (srv *Server) ImageHistory(job *engine.Job) engine.Status {
828 811
 	if n := len(job.Args); n != 1 {
829 812
 		return job.Errorf("Usage: %s IMAGE", job.Name)