From 601f07305c368fe0f5aeb6e4438142162da89646 Mon Sep 17 00:00:00 2001 From: Michael Hudson-Doyle Date: Mon, 19 Sep 2016 14:27:10 +1200 Subject: [PATCH] Ignore failure to set oom_score_adj, as happens in an unprivileged container. Signed-off-by: Michael Hudson-Doyle Upstream-commit: 32f24bc3c59af530196d3613dcb55ffced964de4 Component: engine --- components/engine/daemon/daemon_unix.go | 5 +++++ components/engine/libcontainerd/remote_linux.go | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/components/engine/daemon/daemon_unix.go b/components/engine/daemon/daemon_unix.go index 4ed0594c6a..3402f77790 100644 --- a/components/engine/daemon/daemon_unix.go +++ b/components/engine/daemon/daemon_unix.go @@ -1148,6 +1148,11 @@ func setupOOMScoreAdj(score int) error { return err } _, err = f.WriteString(strconv.Itoa(score)) + if os.IsPermission(err) { + // Setting oom_score_adj does not work in an + // unprivileged container. Ignore the error. + return nil + } f.Close() return err } diff --git a/components/engine/libcontainerd/remote_linux.go b/components/engine/libcontainerd/remote_linux.go index e7fcb257b6..1689f90cc0 100644 --- a/components/engine/libcontainerd/remote_linux.go +++ b/components/engine/libcontainerd/remote_linux.go @@ -435,6 +435,11 @@ func setOOMScore(pid, score int) error { } _, err = f.WriteString(strconv.Itoa(score)) f.Close() + if os.IsPermission(err) { + // Setting oom_score_adj does not work in an + // unprivileged container. Ignore the error. + return nil + } return err }