aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hunt <pehunt@redhat.com>2020-05-12 14:32:00 -0400
committerPeter Hunt <pehunt@redhat.com>2020-05-12 14:32:01 -0400
commit0c81e2256c76179e18f7bcfb6fd597579fbee2bb (patch)
tree1fdb0490889eb64b18559b7ce96aad79b87dc630
parent1b3dc66e73f97c9f10b3bf203c82556b27a3539c (diff)
downloadpodman-0c81e2256c76179e18f7bcfb6fd597579fbee2bb.tar.gz
podman-0c81e2256c76179e18f7bcfb6fd597579fbee2bb.tar.bz2
podman-0c81e2256c76179e18f7bcfb6fd597579fbee2bb.zip
cgroup: skip unified if we are using v1
There exists a chance for a node to be booted in v1, but have reminents of v2. An example is this CRI-O ci run: https://deck-ci.apps.ci.l2s4.p1.openshiftapps.com/view/gcs/origin-federated-results/pr-logs/pull/cri-o_cri-o/3565/test_pull_request_crio_critest_fedora/11243/ We fail because we are incorrectly writing to the unified path, because we are v1. We should not write to the unified path if we are v1 Signed-off-by: Peter Hunt <pehunt@redhat.com>
-rw-r--r--pkg/cgroups/cgroups.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/pkg/cgroups/cgroups.go b/pkg/cgroups/cgroups.go
index d51905f4b..3b56f944f 100644
--- a/pkg/cgroups/cgroups.go
+++ b/pkg/cgroups/cgroups.go
@@ -517,6 +517,10 @@ func (c *CgroupControl) AddPid(pid int) error {
}
for _, n := range names {
+ // If we aren't using cgroup2, we won't write correctly to unified hierarchy
+ if !c.cgroup2 && n == "unified" {
+ continue
+ }
p := filepath.Join(c.getCgroupv1Path(n), "tasks")
if err := ioutil.WriteFile(p, pidString, 0644); err != nil {
return errors.Wrapf(err, "write %s", p)