mirror of
https://github.com/containers/podman.git
synced 2025-08-06 11:32:07 +08:00
Report errors when trying to pause rootless containers
If you are running a rootless container on cgroupV1 you can not pause the container. We need to report the proper error if this happens. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
@ -14,6 +14,7 @@ import (
|
||||
|
||||
"github.com/containers/libpod/libpod/define"
|
||||
"github.com/containers/libpod/libpod/events"
|
||||
"github.com/containers/libpod/pkg/cgroups"
|
||||
"github.com/containers/libpod/pkg/ctime"
|
||||
"github.com/containers/libpod/pkg/hooks"
|
||||
"github.com/containers/libpod/pkg/hooks/exec"
|
||||
@ -1132,6 +1133,16 @@ func (c *Container) pause() error {
|
||||
return errors.Wrapf(define.ErrNoCgroups, "cannot pause without using CGroups")
|
||||
}
|
||||
|
||||
if rootless.IsRootless() {
|
||||
cgroupv2, err := cgroups.IsCgroup2UnifiedMode()
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "failed to determine cgroupversion")
|
||||
}
|
||||
if !cgroupv2 {
|
||||
return errors.Wrap(define.ErrNoCgroups, "can not pause containers on rootless containers with cgroup V1")
|
||||
}
|
||||
}
|
||||
|
||||
if err := c.ociRuntime.pauseContainer(c); err != nil {
|
||||
return err
|
||||
}
|
||||
|
Reference in New Issue
Block a user