summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2017-12-02 06:00:53 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2017-12-04 17:35:14 +0000
commit95cb7a11f124b5d095e95a8928d752f38d6b375d (patch)
tree58effbc3756def52bdc1d1dd5fdeb78c29f9a43c
parent55c8b69d8f80b31c5748c1bd50c812aaa0e6c1c7 (diff)
downloadpodman-95cb7a11f124b5d095e95a8928d752f38d6b375d.tar.gz
podman-95cb7a11f124b5d095e95a8928d752f38d6b375d.tar.bz2
podman-95cb7a11f124b5d095e95a8928d752f38d6b375d.zip
kpod create should not do an OCI Init
We need to differentiate between a kpod create and a kpod start kpod create should create all of the data for libpod, but kpod start should generate content for OCI Runtime (runc) in order to run. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com> Closes: #96 Approved by: mheon
-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 ]
}