Change:
sig-node-containerd#cos-cgroupv2-containerd-node-e2e-serial 11/30, maybe earlier No response No response /sig node /priority important-soon
The failure is caused by the execution error.
In cgroup v1, memory.force_empty can trigger forced page reclaim I am not sure which is the suggested way to force reclaim page in group v2. I open a PR to skip this logic once cgroup v2 is detected. BTW, set smaller may be a way to trigger.
/reopen The test is still failing. can I assign it to you to take a look (feel free to un-assign). /assign
Reopened this issue. <detailsIn response to : /reopen Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
/triage accepted
OK. Let me take a look. At my first glance, I find cadvisor logged an error: cgroup v2 is not detected successfully. I will check if there are other errors. some other errors in log
do you want to keep working on this? Can I assign the bug to you?
/cc
I believe this is due to the test running a cAdvisor pod which does not support cgroupv2. I think aims to address it
So I will wait for the merging and see if this is fixed.
/assign
merged but the density tests are still failing. Example: The error is different now: It appears the test is for some reason unable to collect resource data for runtime (containerd) container -
The issue might be that , but the test installs a custom version of containerd which runs under , so is unable to find it which appears to be scanning /proc/{allpids}/cmdline and matching against regex:
/assign /unassign
why not use instead. The default value of --container-runtime-process-name is dockerd.
Should we replace it across all tests to use just a ? Is there any reason to keep longer path at all?
/reopen still failing even after the last PR fixing the containerd name
Reopened this issue. <detailsIn response to : /reopen Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
It's green now. Yay!
Awesome, thank you!

Discussion:
ginkgo.Context("", func() { ginkgo.BeforeEach(func() { // reduce memory usage in the allocatable cgroup to ensure we do not have MemoryPressure <del> reduceAllocatableMemoryUsage() </del> <ins> reduceAllocatableMemoryUsageIfCgroupv1() </ins> // Nodes do not immediately report local storage capacity // Sleep so that pods requesting local storage do not fail to schedule time.Sleep(30 * time.Second)

return nil }, pressureDisappearTimeout, evictionPollInterval).Should(gomega.BeNil()) <del> reduceAllocatableMemoryUsage() </del> <ins> reduceAllocatableMemoryUsageIfCgroupv1() </ins> ginkgo.By("making sure we have all the required images for testing") prePullImagesIfNeccecary()

return cgroupName.ToCgroupfs() } <del> // reduceAllocatableMemoryUsage uses memory.force_empty (https://lwn.net/Articles/432224/) </del> <ins> // reduceAllocatableMemoryUsageIfCgroupv1 uses memory.force_empty (https://lwn.net/Articles/432224/) </ins> // to make the kernel reclaim memory in the allocatable cgroup <del> // the time to reduce pressure may be unbounded, but usually finishes within a second func reduceAllocatableMemoryUsage() { cmd := fmt.Sprintf("echo 0 > /sys/fs/cgroup/memory/%s/memory.force_empty", toCgroupFsName(cm.NewCgroupName(cm.RootCgroupName, defaultNodeAllocatableCgroup))) _, err := exec.Command("sudo", "sh", "-c", cmd).CombinedOutput() framework.ExpectNoError(err) </del> <ins> // the time to reduce pressure may be unbounded, but usually finishes within a second. // memory.force_empty is no supported in cgroupv2. func reduceAllocatableMemoryUsageIfCgroupv1() { if !IsCgroup2UnifiedMode() { cmd := fmt.Sprintf("echo 0 > /sys/fs/cgroup/memory/%s/memory.force_empty", toCgroupFsName(cm.NewCgroupName(cm.RootCgroupName, defaultNodeAllocatableCgroup))) _, err := exec.Command("sudo", "sh", "-c", cmd).CombinedOutput() framework.ExpectNoError(err) } </ins> } // Equivalent of featuregatetesting.SetFeatureGateDuringTest