diff options
author | Matthew Heon <matthew.heon@gmail.com> | 2017-11-28 11:26:06 -0500 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2017-11-29 12:15:15 +0000 |
commit | 4f8fe2b810f5ed25308bc9be0edc6ace3fac0f64 (patch) | |
tree | 2f0bbffe3a9d61de6cf896216e2621d46b0c78b5 /libpod/runtime.go | |
parent | 0e3dd5f6877db7eed33319176f5e9a63fbefc4db (diff) | |
download | podman-4f8fe2b810f5ed25308bc9be0edc6ace3fac0f64.tar.gz podman-4f8fe2b810f5ed25308bc9be0edc6ace3fac0f64.tar.bz2 podman-4f8fe2b810f5ed25308bc9be0edc6ace3fac0f64.zip |
Shut down containers when force stopping the runtime
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
Closes: #68
Approved by: rhatdan
Diffstat (limited to 'libpod/runtime.go')
-rw-r--r-- | libpod/runtime.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libpod/runtime.go b/libpod/runtime.go index 956cc7275..74328bed7 100644 --- a/libpod/runtime.go +++ b/libpod/runtime.go @@ -211,6 +211,20 @@ func (r *Runtime) Shutdown(force bool) error { r.valid = false + // Shutdown all containers if --force is given + if force { + ctrs, err := r.state.AllContainers() + if err !=nil { + logrus.Errorf("Error retrieving containers from database: %v", err) + } else { + for _, ctr := range ctrs { + if err := ctr.Stop(ctrRemoveTimeout); err != nil { + logrus.Errorf("Error stopping container %s: %v", ctr.ID(), err) + } + } + } + } + _, err := r.store.Shutdown(force) if err != nil { return err |