diff options
author | Matthew Heon <matthew.heon@gmail.com> | 2018-09-23 18:04:29 -0400 |
---|---|---|
committer | Matthew Heon <matthew.heon@gmail.com> | 2018-10-02 12:05:22 -0400 |
commit | 2c7f97d5a782d35efc195baf7a7ca9016ca05409 (patch) | |
tree | 2fe809fca125f2b1f425ba4a23e23a7ed10dbbae /libpod/container.go | |
parent | 89c5804fe0ca3ece7587adb5d5c974dbc494f721 (diff) | |
download | podman-2c7f97d5a782d35efc195baf7a7ca9016ca05409.tar.gz podman-2c7f97d5a782d35efc195baf7a7ca9016ca05409.tar.bz2 podman-2c7f97d5a782d35efc195baf7a7ca9016ca05409.zip |
Add ContainerStateExited and OCI delete() in cleanup()
To work better with Kata containers, we need to delete() from the
OCI runtime as a part of cleanup, to ensure resources aren't
retained longer than they need to be.
To enable this, we need to add a new state to containers,
ContainerStateExited. Containers transition from
ContainerStateStopped to ContainerStateExited via cleanupRuntime
which is invoked as part of cleanup(). A container in the Exited
state is identical to Stopped, except it has been removed from
the OCI runtime and thus will be handled differently when
initializing the container.
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
Diffstat (limited to 'libpod/container.go')
-rw-r--r-- | libpod/container.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libpod/container.go b/libpod/container.go index 0b1879208..55a0f3a2c 100644 --- a/libpod/container.go +++ b/libpod/container.go @@ -36,6 +36,9 @@ const ( ContainerStateStopped ContainerStatus = iota // ContainerStatePaused indicates that the container has been paused ContainerStatePaused ContainerStatus = iota + // ContainerStateExited indicates the the container has stopped and been + // cleaned up + ContainerStateExited ContainerStatus = iota ) // CgroupfsDefaultCgroupParent is the cgroup parent for CGroupFS in libpod @@ -354,9 +357,11 @@ func (t ContainerStatus) String() string { case ContainerStateRunning: return "running" case ContainerStateStopped: - return "exited" + return "stopped" case ContainerStatePaused: return "paused" + case ContainerStateExited: + return "exited" } return "bad state" } |