Merge pull request #909 from rhatdan/lastError

We should not be exiting with exit(1)
This commit is contained in:
Daniel J Walsh 2017-09-18 07:46:53 -04:00 committed by GitHub
commit 5e3c53c172
2 changed files with 21 additions and 16 deletions

View file

@ -105,7 +105,7 @@ func main() {
if debug {
logrus.Errorf(err.Error())
} else {
fmt.Println(err.Error())
fmt.Fprintln(os.Stderr, err.Error())
}
cli.OsExiter(1)
}

View file

@ -2,11 +2,11 @@ package main
import (
"fmt"
"os"
"github.com/kubernetes-incubator/cri-o/libkpod"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
"github.com/urfave/cli"
"os"
)
var (
@ -18,15 +18,21 @@ var (
Value: defaultTimeout,
},
}
stopDescription = "Stop one or more containers"
stopDescription = `
kpod stop
Stops one or more running containers. The container name or ID can be used.
A timeout to forcibly stop the container can also be set but defaults to 10
seconds otherwise.
`
stopCommand = cli.Command{
Name: "stop",
Usage: "Stops one or more running containers. The container name or ID can be used. A timeout to forcibly" +
" stop the container can also be set but defaults to 10 seconds otherwise.",
Usage: "Stop one or more containers",
Description: stopDescription,
Flags: stopFlags,
Action: stopCmd,
ArgsUsage: "CONTAINER-NAME",
ArgsUsage: "CONTAINER-NAME [CONTAINER-NAME ...]",
}
)
@ -50,19 +56,18 @@ func stopCmd(c *cli.Context) error {
if err != nil {
return errors.Wrapf(err, "could not update list of containers")
}
hadError := false
var lastError error
for _, container := range c.Args() {
cid, err := server.ContainerStop(container, stopTimeout)
if err != nil {
hadError = true
logrus.Error(err)
if lastError != nil {
fmt.Fprintln(os.Stderr, lastError)
}
lastError = errors.Wrapf(err, "failed to stop container %v", container)
} else {
fmt.Println(cid)
}
}
if hadError {
os.Exit(1)
}
return nil
return lastError
}