5a249b
From b0c2bb996276a706585d1a3eebcaa0b687715b5a Mon Sep 17 00:00:00 2001
5a249b
From: Giuseppe Scrivano <gscrivan@redhat.com>
5a249b
Date: Tue, 9 Jul 2019 18:42:35 +0200
5a249b
Subject: [PATCH] cgroups: skip not existing cpuacct files
5a249b
5a249b
if the cpuacct file doesn't exist, ignore it instead of erroring out.
5a249b
5a249b
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1728242
5a249b
5a249b
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
5a249b
---
5a249b
 pkg/cgroups/cpu.go | 15 ++++++++++++---
5a249b
 1 file changed, 12 insertions(+), 3 deletions(-)
5a249b
5a249b
diff --git a/pkg/cgroups/cpu.go b/pkg/cgroups/cpu.go
5a249b
index c9325946b4..1c8610cc45 100644
5a249b
--- a/pkg/cgroups/cpu.go
5a249b
+++ b/pkg/cgroups/cpu.go
5a249b
@@ -98,15 +98,24 @@ func (c *cpuHandler) Stat(ctr *CgroupControl, m *Metrics) error {
5a249b
 	} else {
5a249b
 		usage.Total, err = readAcct(ctr, "cpuacct.usage")
5a249b
 		if err != nil {
5a249b
-			return err
5a249b
+			if !os.IsNotExist(errors.Cause(err)) {
5a249b
+				return err
5a249b
+			}
5a249b
+			usage.Total = 0
5a249b
 		}
5a249b
 		usage.Kernel, err = readAcct(ctr, "cpuacct.usage_sys")
5a249b
 		if err != nil {
5a249b
-			return err
5a249b
+			if !os.IsNotExist(errors.Cause(err)) {
5a249b
+				return err
5a249b
+			}
5a249b
+			usage.Kernel = 0
5a249b
 		}
5a249b
 		usage.PerCPU, err = readAcctList(ctr, "cpuacct.usage_percpu")
5a249b
 		if err != nil {
5a249b
-			return err
5a249b
+			if !os.IsNotExist(errors.Cause(err)) {
5a249b
+				return err
5a249b
+			}
5a249b
+			usage.PerCPU = nil
5a249b
 		}
5a249b
 	}
5a249b
 	m.CPU = CPUMetrics{Usage: usage}