Don't evacuate the root cgroup when rootless

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
pull/4133/head
Brad Davidson 3 years ago committed by Brad Davidson
parent cd5002ea37
commit 12e675e2cc

@ -7,6 +7,7 @@ import (
"os/signal" "os/signal"
"syscall" "syscall"
"github.com/containerd/containerd/pkg/userns"
"github.com/erikdubbelboer/gspt" "github.com/erikdubbelboer/gspt"
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/rancher/k3s/pkg/version" "github.com/rancher/k3s/pkg/version"
@ -20,11 +21,13 @@ func HandleInit() error {
return nil return nil
} }
if !userns.RunningInUserNS() {
// The root cgroup has to be empty to enable subtree_control, so evacuate it by placing // The root cgroup has to be empty to enable subtree_control, so evacuate it by placing
// ourselves in the init cgroup. // ourselves in the init cgroup.
if err := cgrouputil.EvacuateCgroup2("init"); err != nil { if err := cgrouputil.EvacuateCgroup2("init"); err != nil {
return errors.Wrap(err, "failed to evacuate root cgroup") return errors.Wrap(err, "failed to evacuate root cgroup")
} }
}
pwd, err := os.Getwd() pwd, err := os.Getwd()
if err != nil { if err != nil {

Loading…
Cancel
Save