runtime: unpause the container before killing it

the new version of runc has the same check in place and it
automatically resume the container if it is paused.  So when Podman
tries to resume it again, it fails since the container is not in the
paused state.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2100740

[NO NEW TESTS NEEDED] the CI doesn't use a new runc on cgroup v1 systems.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
Giuseppe Scrivano
2022-06-28 22:42:53 +02:00
parent 653e87dd4c
commit 1affceb29f

View File

@ -664,9 +664,6 @@ func (r *Runtime) removeContainer(ctx context.Context, c *Container, force, remo
} }
if c.state.State == define.ContainerStatePaused { if c.state.State == define.ContainerStatePaused {
if err := c.ociRuntime.KillContainer(c, 9, false); err != nil {
return err
}
isV2, err := cgroups.IsCgroup2UnifiedMode() isV2, err := cgroups.IsCgroup2UnifiedMode()
if err != nil { if err != nil {
return err return err
@ -677,6 +674,9 @@ func (r *Runtime) removeContainer(ctx context.Context, c *Container, force, remo
return err return err
} }
} }
if err := c.ociRuntime.KillContainer(c, 9, false); err != nil {
return err
}
// Need to update container state to make sure we know it's stopped // Need to update container state to make sure we know it's stopped
if err := c.waitForExitFileAndSync(); err != nil { if err := c.waitForExitFileAndSync(); err != nil {
return err return err