فهرست منبع

Merge pull request #5751 from vieux/move_version

move version out of server
Guillaume J. Charmes 11 سال پیش
والد
کامیت
0d78799db7
2فایلهای تغییر یافته به همراه28 افزوده شده و 21 حذف شده
  1. 28 2
      builtins/builtins.go
  2. 0 19
      server/server.go

+ 28 - 2
builtins/builtins.go

@@ -1,11 +1,16 @@
 package builtins
 
 import (
-	api "github.com/dotcloud/docker/api/server"
+	"runtime"
+
+	"github.com/dotcloud/docker/api"
+	apiserver "github.com/dotcloud/docker/api/server"
 	"github.com/dotcloud/docker/daemon/networkdriver/bridge"
+	"github.com/dotcloud/docker/dockerversion"
 	"github.com/dotcloud/docker/engine"
 	"github.com/dotcloud/docker/registry"
 	"github.com/dotcloud/docker/server"
+	"github.com/dotcloud/docker/utils"
 )
 
 func Register(eng *engine.Engine) error {
@@ -15,12 +20,15 @@ func Register(eng *engine.Engine) error {
 	if err := remote(eng); err != nil {
 		return err
 	}
+	if err := eng.Register("version", dockerVersion); err != nil {
+		return err
+	}
 	return registry.NewService().Install(eng)
 }
 
 // remote: a RESTful api for cross-docker communication
 func remote(eng *engine.Engine) error {
-	return eng.Register("serveapi", api.ServeApi)
+	return eng.Register("serveapi", apiserver.ServeApi)
 }
 
 // daemon: a default execution and storage backend for Docker on Linux,
@@ -44,3 +52,21 @@ func daemon(eng *engine.Engine) error {
 	}
 	return eng.Register("init_networkdriver", bridge.InitDriver)
 }
+
+// builtins jobs independent of any subsystem
+func dockerVersion(job *engine.Job) engine.Status {
+	v := &engine.Env{}
+	v.Set("Version", dockerversion.VERSION)
+	v.SetJson("ApiVersion", api.APIVERSION)
+	v.Set("GitCommit", dockerversion.GITCOMMIT)
+	v.Set("GoVersion", runtime.Version())
+	v.Set("Os", runtime.GOOS)
+	v.Set("Arch", runtime.GOARCH)
+	if kernelVersion, err := utils.GetKernelVersion(); err == nil {
+		v.Set("KernelVersion", kernelVersion.String())
+	}
+	if _, err := v.WriteTo(job.Stdout); err != nil {
+		return job.Error(err)
+	}
+	return engine.StatusOK
+}

+ 0 - 19
server/server.go

@@ -41,7 +41,6 @@ import (
 	"syscall"
 	"time"
 
-	"github.com/dotcloud/docker/api"
 	"github.com/dotcloud/docker/archive"
 	"github.com/dotcloud/docker/daemon"
 	"github.com/dotcloud/docker/daemonconfig"
@@ -128,7 +127,6 @@ func InitServer(job *engine.Job) engine.Status {
 		"logs":             srv.ContainerLogs,
 		"changes":          srv.ContainerChanges,
 		"top":              srv.ContainerTop,
-		"version":          srv.DockerVersion,
 		"load":             srv.ImageLoad,
 		"build":            srv.Build,
 		"pull":             srv.ImagePull,
@@ -807,23 +805,6 @@ func (srv *Server) DockerInfo(job *engine.Job) engine.Status {
 	return engine.StatusOK
 }
 
-func (srv *Server) DockerVersion(job *engine.Job) engine.Status {
-	v := &engine.Env{}
-	v.Set("Version", dockerversion.VERSION)
-	v.SetJson("ApiVersion", api.APIVERSION)
-	v.Set("GitCommit", dockerversion.GITCOMMIT)
-	v.Set("GoVersion", runtime.Version())
-	v.Set("Os", runtime.GOOS)
-	v.Set("Arch", runtime.GOARCH)
-	if kernelVersion, err := utils.GetKernelVersion(); err == nil {
-		v.Set("KernelVersion", kernelVersion.String())
-	}
-	if _, err := v.WriteTo(job.Stdout); err != nil {
-		return job.Error(err)
-	}
-	return engine.StatusOK
-}
-
 func (srv *Server) ImageHistory(job *engine.Job) engine.Status {
 	if n := len(job.Args); n != 1 {
 		return job.Errorf("Usage: %s IMAGE", job.Name)