From c49a4958eabbef0c36b922cb320ee76cda32f934 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Wed, 11 Dec 2013 15:36:50 -0800 Subject: [PATCH] move t from arg to env Upstream-commit: 6ba456ff87cfe2687db7df896e2983636ca9fe1e Component: engine --- components/engine/api.go | 4 +--- components/engine/integration/server_test.go | 8 ++++++-- components/engine/server.go | 15 ++++----------- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/components/engine/api.go b/components/engine/api.go index 1555923018..f72e1f5afd 100644 --- a/components/engine/api.go +++ b/components/engine/api.go @@ -687,9 +687,7 @@ func postContainersStop(srv *Server, version float64, w http.ResponseWriter, r * return fmt.Errorf("Missing parameter") } job := srv.Eng.Job("stop", vars["name"]) - if t := r.Form.Get("t"); t != "" { - job.Args = append(job.Args, t) - } + job.Setenv("t", r.Form.Get("t")) if err := job.Run(); err != nil { return err } diff --git a/components/engine/integration/server_test.go b/components/engine/integration/server_test.go index 9eab174b99..e469abb610 100644 --- a/components/engine/integration/server_test.go +++ b/components/engine/integration/server_test.go @@ -128,7 +128,9 @@ func TestCreateRmVolumes(t *testing.T) { t.Fatal(err) } - if err := eng.Job("stop", id, "1").Run(); err != nil { + job = eng.Job("stop", id) + job.SetenvInt("t", 1) + if err := job.Run(); err != nil { t.Fatal(err) } @@ -186,7 +188,9 @@ func TestCreateStartRestartStopStartKillRm(t *testing.T) { t.Fatal(err) } - if err := eng.Job("stop", id, "15").Run(); err != nil { + job = eng.Job("stop", id) + job.SetenvInt("t", 15) + if err := job.Run(); err != nil { t.Fatal(err) } diff --git a/components/engine/server.go b/components/engine/server.go index 01cdee0473..ed0c4ac1fa 100644 --- a/components/engine/server.go +++ b/components/engine/server.go @@ -1718,20 +1718,13 @@ func (srv *Server) ContainerStart(job *engine.Job) engine.Status { } func (srv *Server) ContainerStop(job *engine.Job) engine.Status { - if len(job.Args) < 1 { - job.Errorf("Not enough arguments. Usage: %s CONTAINER TIMEOUT\n", job.Name) + if len(job.Args) != 1 { + job.Errorf("Usage: %s CONTAINER\n", job.Name) return engine.StatusErr } name := job.Args[0] - var t uint64 - if len(job.Args) == 2 { - var err error - t, err = strconv.ParseUint(job.Args[1], 10, 32) - if err != nil { - job.Errorf("Invalid delay format: %s. Please provide an integer number of seconds.\n", job.Args[1]) - return engine.StatusErr - } - } else { + t := job.GetenvInt("t") + if t == -1 { t = 10 } if container := srv.runtime.Get(name); container != nil {