Signed-off-by: Antonio Murdaca <me@runcom.ninja>
| ... | ... |
@@ -837,12 +837,19 @@ func postContainersRestart(eng *engine.Engine, version version.Version, w http.R |
| 837 | 837 |
if vars == nil {
|
| 838 | 838 |
return fmt.Errorf("Missing parameter")
|
| 839 | 839 |
} |
| 840 |
- job := eng.Job("restart", vars["name"])
|
|
| 841 |
- job.Setenv("t", r.Form.Get("t"))
|
|
| 842 |
- if err := job.Run(); err != nil {
|
|
| 840 |
+ |
|
| 841 |
+ s, err := strconv.Atoi(r.Form.Get("t"))
|
|
| 842 |
+ if err != nil {
|
|
| 843 | 843 |
return err |
| 844 | 844 |
} |
| 845 |
+ |
|
| 846 |
+ d := getDaemon(eng) |
|
| 847 |
+ if err := d.ContainerRestart(vars["name"], s); err != nil {
|
|
| 848 |
+ return err |
|
| 849 |
+ } |
|
| 850 |
+ |
|
| 845 | 851 |
w.WriteHeader(http.StatusNoContent) |
| 852 |
+ |
|
| 846 | 853 |
return nil |
| 847 | 854 |
} |
| 848 | 855 |
|
| ... | ... |
@@ -120,7 +120,6 @@ func (daemon *Daemon) Install(eng *engine.Engine) error {
|
| 120 | 120 |
for name, method := range map[string]engine.Handler{
|
| 121 | 121 |
"container_inspect": daemon.ContainerInspect, |
| 122 | 122 |
"info": daemon.CmdInfo, |
| 123 |
- "restart": daemon.ContainerRestart, |
|
| 124 | 123 |
"execCreate": daemon.ContainerExecCreate, |
| 125 | 124 |
"execStart": daemon.ContainerExecStart, |
| 126 | 125 |
} {
|
| ... | ... |
@@ -1,27 +1,13 @@ |
| 1 | 1 |
package daemon |
| 2 | 2 |
|
| 3 |
-import ( |
|
| 4 |
- "fmt" |
|
| 3 |
+import "fmt" |
|
| 5 | 4 |
|
| 6 |
- "github.com/docker/docker/engine" |
|
| 7 |
-) |
|
| 8 |
- |
|
| 9 |
-func (daemon *Daemon) ContainerRestart(job *engine.Job) error {
|
|
| 10 |
- if len(job.Args) != 1 {
|
|
| 11 |
- return fmt.Errorf("Usage: %s CONTAINER\n", job.Name)
|
|
| 12 |
- } |
|
| 13 |
- var ( |
|
| 14 |
- name = job.Args[0] |
|
| 15 |
- t = 10 |
|
| 16 |
- ) |
|
| 17 |
- if job.EnvExists("t") {
|
|
| 18 |
- t = job.GetenvInt("t")
|
|
| 19 |
- } |
|
| 5 |
+func (daemon *Daemon) ContainerRestart(name string, seconds int) error {
|
|
| 20 | 6 |
container, err := daemon.Get(name) |
| 21 | 7 |
if err != nil {
|
| 22 | 8 |
return err |
| 23 | 9 |
} |
| 24 |
- if err := container.Restart(int(t)); err != nil {
|
|
| 10 |
+ if err := container.Restart(seconds); err != nil {
|
|
| 25 | 11 |
return fmt.Errorf("Cannot restart container %s: %s\n", name, err)
|
| 26 | 12 |
} |
| 27 | 13 |
container.LogEvent("restart")
|