summaryrefslogtreecommitdiff
path: root/pkg/cgroups/cgroups.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-01-28 16:37:19 -0500
committerGitHub <noreply@github.com>2021-01-28 16:37:19 -0500
commit0c6a889a7ec93964a12a10870920727e13e438c3 (patch)
tree200f719cbda73f16209ab400442a33b2d4a1b634 /pkg/cgroups/cgroups.go
parent2ee034c1e6ddd9918b97ddea2fd3e6388ec8f60b (diff)
parent89bb8a9b368b1f42fb5ff8ca612aa3d4981cff3a (diff)
downloadpodman-0c6a889a7ec93964a12a10870920727e13e438c3.tar.gz
podman-0c6a889a7ec93964a12a10870920727e13e438c3.tar.bz2
podman-0c6a889a7ec93964a12a10870920727e13e438c3.zip
Merge pull request #9110 from rhatdan/cgroups
Don't fail if one of the cgroups is not setup
Diffstat (limited to 'pkg/cgroups/cgroups.go')
-rw-r--r--pkg/cgroups/cgroups.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/pkg/cgroups/cgroups.go b/pkg/cgroups/cgroups.go
index c200dd01a..285fd093a 100644
--- a/pkg/cgroups/cgroups.go
+++ b/pkg/cgroups/cgroups.go
@@ -24,6 +24,7 @@ var (
ErrCgroupDeleted = errors.New("cgroup deleted")
// ErrCgroupV1Rootless means the cgroup v1 were attempted to be used in rootless environment
ErrCgroupV1Rootless = errors.New("no support for CGroups V1 in rootless environments")
+ ErrStatCgroup = errors.New("no cgroup available for gathering user statistics")
)
// CgroupControl controls a cgroup hierarchy
@@ -525,10 +526,19 @@ func (c *CgroupControl) AddPid(pid int) error {
// Stat returns usage statistics for the cgroup
func (c *CgroupControl) Stat() (*Metrics, error) {
m := Metrics{}
+ found := false
for _, h := range handlers {
if err := h.Stat(c, &m); err != nil {
- return nil, err
+ if !os.IsNotExist(errors.Cause(err)) {
+ return nil, err
+ }
+ logrus.Warningf("Failed to retrieve cgroup stats: %v", err)
+ continue
}
+ found = true
+ }
+ if !found {
+ return nil, ErrStatCgroup
}
return &m, nil
}