From 5860a921ea267b29a722d77eb34ad27c87a173cf Mon Sep 17 00:00:00 2001 From: Solomon Hykes Date: Thu, 31 Jul 2014 21:17:50 +0000 Subject: [PATCH] Move "changes" to daemon/changes.go This is part of an effort to break apart the deprecated server/ package Docker-DCO-1.1-Signed-off-by: Solomon Hykes (github: shykes) Fix issues with renaming changes to container_changes Docker-DCO-1.1-Signed-off-by: Tibor Vass (github: tiborvass) Upstream-commit: 49e61f62ced4e111071cf9439e3264f06b008c6c Component: engine --- components/engine/api/server/server.go | 2 +- components/engine/daemon/changes.go | 32 ++++++++++++++++++++++++++ components/engine/daemon/daemon.go | 3 +++ components/engine/server/container.go | 27 ---------------------- components/engine/server/init.go | 1 - 5 files changed, 36 insertions(+), 29 deletions(-) create mode 100644 components/engine/daemon/changes.go diff --git a/components/engine/api/server/server.go b/components/engine/api/server/server.go index 2f7066e87b..4d8d74f38c 100644 --- a/components/engine/api/server/server.go +++ b/components/engine/api/server/server.go @@ -302,7 +302,7 @@ func getContainersChanges(eng *engine.Engine, version version.Version, w http.Re if vars == nil { return fmt.Errorf("Missing parameter") } - var job = eng.Job("changes", vars["name"]) + var job = eng.Job("container_changes", vars["name"]) streamJSON(job, w, false) return job.Run() diff --git a/components/engine/daemon/changes.go b/components/engine/daemon/changes.go new file mode 100644 index 0000000000..1e5726eda8 --- /dev/null +++ b/components/engine/daemon/changes.go @@ -0,0 +1,32 @@ +package daemon + +import ( + "github.com/docker/docker/engine" +) + +func (daemon *Daemon) ContainerChanges(job *engine.Job) engine.Status { + if n := len(job.Args); n != 1 { + return job.Errorf("Usage: %s CONTAINER", job.Name) + } + name := job.Args[0] + if container := daemon.Get(name); container != nil { + outs := engine.NewTable("", 0) + changes, err := container.Changes() + if err != nil { + return job.Error(err) + } + for _, change := range changes { + out := &engine.Env{} + if err := out.Import(change); err != nil { + return job.Error(err) + } + outs.Add(out) + } + if _, err := outs.WriteListTo(job.Stdout); err != nil { + return job.Error(err) + } + } else { + return job.Errorf("No such container: %s", name) + } + return engine.StatusOK +} diff --git a/components/engine/daemon/daemon.go b/components/engine/daemon/daemon.go index b6ee5e7afd..6ff82253ab 100644 --- a/components/engine/daemon/daemon.go +++ b/components/engine/daemon/daemon.go @@ -155,6 +155,9 @@ func (daemon *Daemon) Install(eng *engine.Engine) error { if err := eng.Register("container_copy", daemon.ContainerCopy); err != nil { return err } + if err := eng.Register("container_changes", daemon.ContainerChanges); err != nil { + return err + } return nil } diff --git a/components/engine/server/container.go b/components/engine/server/container.go index 441d21624e..2c8958e8f9 100644 --- a/components/engine/server/container.go +++ b/components/engine/server/container.go @@ -86,33 +86,6 @@ func (srv *Server) ContainerTop(job *engine.Job) engine.Status { return job.Errorf("No such container: %s", name) } -func (srv *Server) ContainerChanges(job *engine.Job) engine.Status { - if n := len(job.Args); n != 1 { - return job.Errorf("Usage: %s CONTAINER", job.Name) - } - name := job.Args[0] - if container := srv.daemon.Get(name); container != nil { - outs := engine.NewTable("", 0) - changes, err := container.Changes() - if err != nil { - return job.Error(err) - } - for _, change := range changes { - out := &engine.Env{} - if err := out.Import(change); err != nil { - return job.Error(err) - } - outs.Add(out) - } - if _, err := outs.WriteListTo(job.Stdout); err != nil { - return job.Error(err) - } - } else { - return job.Errorf("No such container: %s", name) - } - return engine.StatusOK -} - func (srv *Server) Containers(job *engine.Job) engine.Status { var ( foundBefore bool diff --git a/components/engine/server/init.go b/components/engine/server/init.go index fb011ff4ad..77a52317ce 100644 --- a/components/engine/server/init.go +++ b/components/engine/server/init.go @@ -93,7 +93,6 @@ func InitServer(job *engine.Job) engine.Status { "history": srv.ImageHistory, "viz": srv.ImagesViz, "log": srv.Log, - "changes": srv.ContainerChanges, "top": srv.ContainerTop, "load": srv.ImageLoad, "build": srv.Build,