summaryrefslogtreecommitdiff
path: root/cmd/podman
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/podman')
-rw-r--r--cmd/podman/common.go1
-rw-r--r--cmd/podman/create.go4
-rw-r--r--cmd/podman/spec.go2
-rw-r--r--cmd/podman/stop.go17
4 files changed, 13 insertions, 11 deletions
diff --git a/cmd/podman/common.go b/cmd/podman/common.go
index 57e2ff717..e6c2645c9 100644
--- a/cmd/podman/common.go
+++ b/cmd/podman/common.go
@@ -393,6 +393,7 @@ var createFlags = []cli.Flag{
cli.IntFlag{
Name: "stop-timeout",
Usage: "Timeout (in seconds) to stop a container. Default is 10",
+ Value: libpod.CtrRemoveTimeout,
},
cli.StringSliceFlag{
Name: "storage-opt",
diff --git a/cmd/podman/create.go b/cmd/podman/create.go
index d3e14742b..8b64a1cb0 100644
--- a/cmd/podman/create.go
+++ b/cmd/podman/create.go
@@ -110,7 +110,7 @@ type createConfig struct {
ShmDir string
SigProxy bool //sig-proxy
StopSignal syscall.Signal // stop-signal
- StopTimeout int64 // stop-timeout
+ StopTimeout uint // stop-timeout
StorageOpts []string //storage-opt
Sysctl map[string]string //sysctl
Tmpfs []string // tmpfs
@@ -494,7 +494,7 @@ func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime) (*createConfig, er
ShmDir: shmDir,
SigProxy: c.Bool("sig-proxy"),
StopSignal: stopSignal,
- StopTimeout: c.Int64("stop-timeout"),
+ StopTimeout: c.Uint("stop-timeout"),
StorageOpts: c.StringSlice("storage-opt"),
Sysctl: sysctl,
Tmpfs: c.StringSlice("tmpfs"),
diff --git a/cmd/podman/spec.go b/cmd/podman/spec.go
index dc6e24c24..037b18950 100644
--- a/cmd/podman/spec.go
+++ b/cmd/podman/spec.go
@@ -559,7 +559,7 @@ func (c *createConfig) GetContainerCreateOptions() ([]libpod.CtrCreateOption, er
// TODO should not happen if --net=host
options = append(options, libpod.WithNetNS([]ocicni.PortMapping{}))
options = append(options, libpod.WithStopSignal(c.StopSignal))
-
+ options = append(options, libpod.WithStopTimeout(c.StopTimeout))
return options, nil
}
diff --git a/cmd/podman/stop.go b/cmd/podman/stop.go
index 3b1ffbba5..f85512d47 100644
--- a/cmd/podman/stop.go
+++ b/cmd/podman/stop.go
@@ -6,17 +6,15 @@ import (
"github.com/pkg/errors"
"github.com/projectatomic/libpod/libpod"
- "github.com/sirupsen/logrus"
"github.com/urfave/cli"
)
var (
- defaultTimeout int64 = 10
- stopFlags = []cli.Flag{
- cli.Int64Flag{
+ stopFlags = []cli.Flag{
+ cli.UintFlag{
Name: "timeout, t",
Usage: "Seconds to wait for stop before killing the container",
- Value: defaultTimeout,
+ Value: libpod.CtrRemoveTimeout,
},
cli.BoolFlag{
Name: "all, a",
@@ -43,7 +41,6 @@ var (
func stopCmd(c *cli.Context) error {
args := c.Args()
- stopTimeout := c.Int64("timeout")
if c.Bool("all") && len(args) > 0 {
return errors.Errorf("no arguments are needed with -a")
}
@@ -60,8 +57,6 @@ func stopCmd(c *cli.Context) error {
}
defer runtime.Shutdown(false)
- logrus.Debugf("Stopping containers with timeout %d", stopTimeout)
-
var filterFuncs []libpod.ContainerFilter
var containers []*libpod.Container
var lastError error
@@ -91,6 +86,12 @@ func stopCmd(c *cli.Context) error {
}
for _, ctr := range containers {
+ var stopTimeout uint
+ if c.IsSet("timeout") {
+ stopTimeout = c.Uint("timeout")
+ } else {
+ stopTimeout = ctr.StopTimeout()
+ }
if err := ctr.Stop(stopTimeout); err != nil {
if lastError != nil {
fmt.Fprintln(os.Stderr, lastError)