opencontainers / opencontainers/runc
TestPodSkipDevicesUpdate: open cpuset.cpus: ENOENT
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 13.5k
- Forks
- 2.3k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 30
Description
Saw this failure on Cirrus CI, running under centos-stream-8 (from https://github.com/opencontainers/runc/pull/3350/checks?check_run_id=4959472971)
=== RUN TestPodSkipDevicesUpdate
systemd_test.go:104: open /sys/fs/cgroup/cpuset/system.slice/system-runc_test_podTestPodSkipDevicesUpdate.slice/cpuset.cpus: no such file or directory
--- FAIL: TestPodSkipDevicesUpdate (0.07s)
I have not seen it before.
This must be some kernel race -- the code in question creates the directory and then reads its cpuset.cpus.
I am not sure what to do here, other than to retry on ENOENT.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in systemd_test.go at TestPodSkipDevicesUpdate and trace the cgroup directory creation followed by the cpuset.cpus read. Reproduce the CentOS Stream 8 failure and determine how the ENOENT case should be handled; done means the test no longer fails spuriously and the behavior is covered by the relevant test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- centos, go, linux
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100