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