diff options
author | W. Trevor King <wking@tremily.us> | 2018-05-31 11:47:17 -0700 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-06-04 18:36:40 +0000 |
commit | c9f763456cd8263c3f2d84c6b2b6e17ad81cf3ba (patch) | |
tree | b1cffd82978145f372893f62754432d75003b31d /pkg | |
parent | 28d1cec9f64cca11d42410c6e33c43b01b1d7678 (diff) | |
download | podman-c9f763456cd8263c3f2d84c6b2b6e17ad81cf3ba.tar.gz podman-c9f763456cd8263c3f2d84c6b2b6e17ad81cf3ba.tar.bz2 podman-c9f763456cd8263c3f2d84c6b2b6e17ad81cf3ba.zip |
libpod: Execute poststop hooks locally
Instead of delegating to the runtime, since some runtimes do not seem
to handle these reliably [1].
[1]: https://github.com/projectatomic/libpod/issues/730#issuecomment-392959938
Signed-off-by: W. Trevor King <wking@tremily.us>
Closes: #864
Approved by: rhatdan
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/varlinkapi/containers.go | 6 | ||||
-rw-r--r-- | pkg/varlinkapi/images.go | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/pkg/varlinkapi/containers.go b/pkg/varlinkapi/containers.go index 2b84151a9..71e5c31d0 100644 --- a/pkg/varlinkapi/containers.go +++ b/pkg/varlinkapi/containers.go @@ -409,6 +409,7 @@ func (i *LibpodAPI) WaitContainer(call ioprojectatomicpodman.VarlinkCall, name s // RemoveContainer ... func (i *LibpodAPI) RemoveContainer(call ioprojectatomicpodman.VarlinkCall, name string, force bool) error { + ctx := getContext() runtime, err := libpodruntime.GetRuntime(i.Cli) if err != nil { return call.ReplyRuntimeError(err.Error()) @@ -417,7 +418,7 @@ func (i *LibpodAPI) RemoveContainer(call ioprojectatomicpodman.VarlinkCall, name if err != nil { return call.ReplyContainerNotFound(name) } - if err := runtime.RemoveContainer(ctr, force); err != nil { + if err := runtime.RemoveContainer(ctx, ctr, force); err != nil { return call.ReplyErrorOccurred(err.Error()) } return call.ReplyRemoveContainer(ctr.ID()) @@ -426,6 +427,7 @@ func (i *LibpodAPI) RemoveContainer(call ioprojectatomicpodman.VarlinkCall, name // DeleteStoppedContainers ... func (i *LibpodAPI) DeleteStoppedContainers(call ioprojectatomicpodman.VarlinkCall) error { + ctx := getContext() var deletedContainers []string runtime, err := libpodruntime.GetRuntime(i.Cli) if err != nil { @@ -441,7 +443,7 @@ func (i *LibpodAPI) DeleteStoppedContainers(call ioprojectatomicpodman.VarlinkCa return call.ReplyErrorOccurred(err.Error()) } if state != libpod.ContainerStateRunning { - if err := runtime.RemoveContainer(ctr, false); err != nil { + if err := runtime.RemoveContainer(ctx, ctr, false); err != nil { return call.ReplyErrorOccurred(err.Error()) } deletedContainers = append(deletedContainers, ctr.ID()) diff --git a/pkg/varlinkapi/images.go b/pkg/varlinkapi/images.go index 551eb781c..d80c7043a 100644 --- a/pkg/varlinkapi/images.go +++ b/pkg/varlinkapi/images.go @@ -360,6 +360,7 @@ func (i *LibpodAPI) TagImage(call ioprojectatomicpodman.VarlinkCall, name, tag s // RemoveImage accepts a image name or ID as a string and force bool to determine if it should // remove the image even if being used by stopped containers func (i *LibpodAPI) RemoveImage(call ioprojectatomicpodman.VarlinkCall, name string, force bool) error { + ctx := getContext() runtime, err := libpodruntime.GetRuntime(i.Cli) if err != nil { return call.ReplyRuntimeError(err.Error()) @@ -368,7 +369,7 @@ func (i *LibpodAPI) RemoveImage(call ioprojectatomicpodman.VarlinkCall, name str if err != nil { return call.ReplyImageNotFound(name) } - imageID, err := runtime.RemoveImage(newImage, force) + imageID, err := runtime.RemoveImage(ctx, newImage, force) if err != nil { return call.ReplyErrorOccurred(err.Error()) } |