diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2017-12-02 06:00:53 -0500 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2017-12-04 17:35:14 +0000 |
commit | 95cb7a11f124b5d095e95a8928d752f38d6b375d (patch) | |
tree | 58effbc3756def52bdc1d1dd5fdeb78c29f9a43c | |
parent | 55c8b69d8f80b31c5748c1bd50c812aaa0e6c1c7 (diff) | |
download | podman-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.go | 4 | ||||
-rw-r--r-- | cmd/kpod/start.go | 5 | ||||
-rw-r--r-- | test/kpod_pause.bats | 4 |
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 ] } |