Browse code

Move "restart" to daemon/restart.go

This is part of an effort to break apart the deprecated server/ package

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)

Solomon Hykes authored on 2014/08/01 05:48:23
Showing 4 changed files
... ...
@@ -132,6 +132,9 @@ func (daemon *Daemon) Install(eng *engine.Engine) error {
132 132
 	if err := eng.Register("start", daemon.ContainerStart); err != nil {
133 133
 		return err
134 134
 	}
135
+	if err := eng.Register("restart", daemon.ContainerRestart); err != nil {
136
+		return err
137
+	}
135 138
 	return nil
136 139
 }
137 140
 
138 141
new file mode 100644
... ...
@@ -0,0 +1,27 @@
0
+package daemon
1
+
2
+import (
3
+	"github.com/docker/docker/engine"
4
+)
5
+
6
+func (daemon *Daemon) ContainerRestart(job *engine.Job) engine.Status {
7
+	if len(job.Args) != 1 {
8
+		return job.Errorf("Usage: %s CONTAINER\n", job.Name)
9
+	}
10
+	var (
11
+		name = job.Args[0]
12
+		t    = 10
13
+	)
14
+	if job.EnvExists("t") {
15
+		t = job.GetenvInt("t")
16
+	}
17
+	if container := daemon.Get(name); container != nil {
18
+		if err := container.Restart(int(t)); err != nil {
19
+			return job.Errorf("Cannot restart container %s: %s\n", name, err)
20
+		}
21
+		job.Eng.Job("log", "restart", container.ID, daemon.Repositories().ImageName(container.Image)).Run()
22
+	} else {
23
+		return job.Errorf("No such container: %s\n", name)
24
+	}
25
+	return engine.StatusOK
26
+}
... ...
@@ -261,28 +261,6 @@ func (srv *Server) ContainerCommit(job *engine.Job) engine.Status {
261 261
 	return engine.StatusOK
262 262
 }
263 263
 
264
-func (srv *Server) ContainerRestart(job *engine.Job) engine.Status {
265
-	if len(job.Args) != 1 {
266
-		return job.Errorf("Usage: %s CONTAINER\n", job.Name)
267
-	}
268
-	var (
269
-		name = job.Args[0]
270
-		t    = 10
271
-	)
272
-	if job.EnvExists("t") {
273
-		t = job.GetenvInt("t")
274
-	}
275
-	if container := srv.daemon.Get(name); container != nil {
276
-		if err := container.Restart(int(t)); err != nil {
277
-			return job.Errorf("Cannot restart container %s: %s\n", name, err)
278
-		}
279
-		srv.LogEvent("restart", container.ID, srv.daemon.Repositories().ImageName(container.Image))
280
-	} else {
281
-		return job.Errorf("No such container: %s\n", name)
282
-	}
283
-	return engine.StatusOK
284
-}
285
-
286 264
 func (srv *Server) ContainerDestroy(job *engine.Job) engine.Status {
287 265
 	if len(job.Args) != 1 {
288 266
 		return job.Errorf("Not enough arguments. Usage: %s CONTAINER\n", job.Name)
... ...
@@ -86,7 +86,6 @@ func InitServer(job *engine.Job) engine.Status {
86 86
 	job.Eng.Hack_SetGlobalVar("httpapi.daemon", srv.daemon)
87 87
 
88 88
 	for name, handler := range map[string]engine.Handler{
89
-		"restart":          srv.ContainerRestart,
90 89
 		"wait":             srv.ContainerWait,
91 90
 		"tag":              srv.ImageTag, // FIXME merge with "image_tag"
92 91
 		"resize":           srv.ContainerResize,