summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/kpod/create.go4
-rw-r--r--cmd/kpod/start.go5
-rw-r--r--test/kpod_pause.bats4
3 files changed, 7 insertions, 6 deletions
diff --git a/cmd/kpod/create.go b/cmd/kpod/create.go
index 9a4539c14..9e810af6e 100644
--- a/cmd/kpod/create.go
+++ b/cmd/kpod/create.go
@@ -211,10 +211,6 @@ func createCmd(c *cli.Context) error {
}
logrus.Debug("new container created ", ctr.ID())
- if err := ctr.Init(); err != nil {
- return err
- }
- logrus.Debug("container storage created for %q", ctr.ID())
if c.String("cidfile") != "" {
libpod.WriteFile(ctr.ID(), c.String("cidfile"))
diff --git a/cmd/kpod/start.go b/cmd/kpod/start.go
index 7f9918fa2..fcc4c9736 100644
--- a/cmd/kpod/start.go
+++ b/cmd/kpod/start.go
@@ -5,6 +5,7 @@ import (
"sync"
"github.com/pkg/errors"
+ "github.com/projectatomic/libpod/libpod"
"github.com/sirupsen/logrus"
"github.com/urfave/cli"
"os"
@@ -82,6 +83,10 @@ func startCmd(c *cli.Context) error {
continue
}
+ if err := ctr.Init(); err != nil && errors.Cause(err) != libpod.ErrCtrExists {
+ return err
+ }
+
// We can only be interactive if both the config and the command-line say so
if c.Bool("interactive") && !ctr.Config().Stdin {
return errors.Errorf("the container was not created with the interactive option")
diff --git a/test/kpod_pause.bats b/test/kpod_pause.bats
index 3d6ab7b91..d26f0e4e1 100644
--- a/test/kpod_pause.bats
+++ b/test/kpod_pause.bats
@@ -23,7 +23,7 @@ function teardown() {
}
@test "pause a created container by id" {
- run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} create $BB ls"
+ run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run -d $BB sleep 60"
echo "$output"
[ "$status" -eq 0 ]
ctr_id="$output"
@@ -33,7 +33,7 @@ function teardown() {
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} unpause $ctr_id"
echo "$output"
[ "$status" -eq 0 ]
- run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm $ctr_id"
+ run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f $ctr_id"
echo "$output"
[ "$status" -eq 0 ]
}