diff options
author | haircommander <pehunt@redhat.com> | 2018-07-25 17:31:21 -0400 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-07-27 12:39:12 +0000 |
commit | 876a30590b93757ca16ee607dee4f4458983620c (patch) | |
tree | 17d4127eb76af651d061507e7ecc8a3a6e77530f /cmd/podman/pod_kill.go | |
parent | 3dd577e93c200e1af48cb8c08ac67962299c5d1f (diff) | |
download | podman-876a30590b93757ca16ee607dee4f4458983620c.tar.gz podman-876a30590b93757ca16ee607dee4f4458983620c.tar.bz2 podman-876a30590b93757ca16ee607dee4f4458983620c.zip |
Refactored method of getting pods
Now, for commands that have --latest and --all, the context flags are checked, and pods are grabbed in a single function
Signed-off-by: haircommander <pehunt@redhat.com>
Closes: #1161
Approved by: rhatdan
Diffstat (limited to 'cmd/podman/pod_kill.go')
-rw-r--r-- | cmd/podman/pod_kill.go | 33 |
1 files changed, 4 insertions, 29 deletions
diff --git a/cmd/podman/pod_kill.go b/cmd/podman/pod_kill.go index 43924f8a0..48f4eaa7a 100644 --- a/cmd/podman/pod_kill.go +++ b/cmd/podman/pod_kill.go @@ -7,7 +7,6 @@ import ( "github.com/docker/docker/pkg/signal" "github.com/pkg/errors" "github.com/projectatomic/libpod/cmd/podman/libpodruntime" - "github.com/projectatomic/libpod/libpod" "github.com/sirupsen/logrus" "github.com/urfave/cli" ) @@ -49,10 +48,7 @@ func podKillCmd(c *cli.Context) error { } defer runtime.Shutdown(false) - args := c.Args() var killSignal uint = uint(syscall.SIGTERM) - var lastError error - var pods []*libpod.Pod if c.String("signal") != "" { // Check if the signalString provided by the user is valid @@ -64,31 +60,10 @@ func podKillCmd(c *cli.Context) error { killSignal = uint(sysSignal) } - if c.Bool("all") { - pods, err = runtime.Pods() - if err != nil { - return errors.Wrapf(err, "unable to get pods") - } - } - if c.Bool("latest") { - pod, err := runtime.GetLatestPod() - if err != nil { - return errors.Wrapf(err, "unable to get latest pod") - } - pods = append(pods, pod) - } - for _, i := range args { - pod, err := runtime.LookupPod(i) - if err != nil { - logrus.Errorf("%q", lastError) - if lastError != nil { - logrus.Errorf("%q", lastError) - } - lastError = errors.Wrapf(err, "unable to find pods %s", i) - continue - } - pods = append(pods, pod) - } + // getPodsFromContext returns an error when a requested pod + // isn't found. The only fatal error scenerio is when there are no pods + // in which case the following loop will be skipped. + pods, lastError := getPodsFromContext(c, runtime) for _, pod := range pods { ctr_errs, err := pod.Kill(killSignal) |