test: move container process to a sub-cgroup

move the container to a sub-cgroup before creating a sibling
hierarchy.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
Giuseppe Scrivano 2021-07-28 16:52:22 +02:00
parent f9395ddc5a
commit 8ccf2539ed
No known key found for this signature in database
GPG Key ID: E4730F97F60286ED
1 changed files with 16 additions and 1 deletions

View File

@ -2,6 +2,7 @@ package integration
import (
"fmt"
"io/ioutil"
"os"
"path/filepath"
"strings"
@ -80,7 +81,21 @@ var _ = Describe("Podman run with --cgroup-parent", func() {
exec.WaitWithDefaultTimeout()
Expect(exec).Should(Exit(0))
cgroup := filepath.Dir(strings.TrimRight(strings.Replace(exec.OutputToString(), "0::", "", -1), "\n"))
containerCgroup := strings.TrimRight(strings.Replace(exec.OutputToString(), "0::", "", -1), "\n")
content, err := ioutil.ReadFile(filepath.Join("/sys/fs/cgroup", containerCgroup, "cgroup.procs"))
Expect(err).To(BeNil())
// Move the container process to a sub cgroup
subCgroupPath := filepath.Join(filepath.Join("/sys/fs/cgroup", containerCgroup, "old-container"))
err = os.MkdirAll(subCgroupPath, 0755)
Expect(err).To(BeNil())
err = ioutil.WriteFile(filepath.Join(subCgroupPath, "cgroup.procs"), content, 0644)
Expect(err).To(BeNil())
cgroup := filepath.Dir(containerCgroup)
run = podmanTest.Podman([]string{"--cgroup-manager=cgroupfs", "run", "-d", fmt.Sprintf("--cgroup-parent=%s", cgroup), fedoraMinimal, "sleep", "100"})
run.WaitWithDefaultTimeout()