summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorUrvashi Mohnani <umohnani@redhat.com>2017-11-21 15:31:20 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2017-11-21 22:03:13 +0000
commit768fb6fe0f59467442a1aaaa4ca863d179255020 (patch)
tree0fa500b5edfb9768e52bd935dad9bba967fadb3a /cmd
parent4ff251d9118dfebde744fce8a2e2069144f259a4 (diff)
downloadpodman-768fb6fe0f59467442a1aaaa4ca863d179255020.tar.gz
podman-768fb6fe0f59467442a1aaaa4ca863d179255020.tar.bz2
podman-768fb6fe0f59467442a1aaaa4ca863d179255020.zip
Update kpod rm to use new container state
kpod rm now uses the new container state and runtime Signed-off-by: Urvashi Mohnani <umohnani@redhat.com> Closes: #58 Approved by: mheon
Diffstat (limited to 'cmd')
-rw-r--r--cmd/kpod/rm.go45
1 files changed, 17 insertions, 28 deletions
diff --git a/cmd/kpod/rm.go b/cmd/kpod/rm.go
index 0d3027abd..c7f5f72b2 100644
--- a/cmd/kpod/rm.go
+++ b/cmd/kpod/rm.go
@@ -4,9 +4,7 @@ import (
"fmt"
"github.com/pkg/errors"
- "github.com/projectatomic/libpod/libkpod"
"github.com/urfave/cli"
- "golang.org/x/net/context"
)
var (
@@ -30,40 +28,31 @@ var (
// saveCmd saves the image to either docker-archive or oci
func rmCmd(c *cli.Context) error {
- args := c.Args()
- if len(args) == 0 {
- return errors.Errorf("specify one or more containers to remove")
- }
if err := validateFlags(c, rmFlags); err != nil {
return err
}
- config, err := getConfig(c)
- if err != nil {
- return errors.Wrapf(err, "could not get config")
- }
- server, err := libkpod.New(config)
+ runtime, err := getRuntime(c)
if err != nil {
- return errors.Wrapf(err, "could not get container server")
+ return errors.Wrapf(err, "Could not get runtime")
}
- defer server.Shutdown()
- err = server.Update()
- if err != nil {
- return errors.Wrapf(err, "could not update list of containers")
+ defer runtime.Shutdown(false)
+
+ args := c.Args()
+ if len(args) == 0 {
+ return errors.Errorf("specify one or more containers to remove")
}
- force := c.Bool("force")
- for _, container := range c.Args() {
- id, err2 := server.Remove(context.Background(), container, force)
- if err2 != nil {
- if err == nil {
- err = err2
- } else {
- err = errors.Wrapf(err, "%v. Stop the container before attempting removal or use -f\n", err2)
- }
- } else {
- fmt.Println(id)
+ for _, container := range args {
+ ctr, err := runtime.LookupContainer(container)
+ if err != nil {
+ return errors.Wrapf(err, "error looking up container", container)
+ }
+ err = runtime.RemoveContainer(ctr, c.Bool("force"))
+ if err != nil {
+ return errors.Wrapf(err, "error removing container %q", ctr.ID())
}
+ fmt.Println(ctr.ID())
}
- return err
+ return nil
}