coreos / coreos/coreos-assembler
Support disk reuse in kola tests
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 393
- Forks
- 193
- Avg merge
- 17h 6m
- Merged PRs (30d)
- 5
Description
kola doesn't currently have a way to test Ignition reuse of partitions/filesystems/LUKS devices. This reuse can take two forms: reusing a partition on the boot disk by using coreos-installer to overwrite the initial part of the disk with a new OS image, and reuse of secondary disks by booting a new OS image with the secondary disks attached.
Consider supporting either or both reuse mechanisms in kola. This might be invoked from tests via an autopkgtest-reboot argument that causes the boot disk snapshot to be reverted or the OS to be reinstalled.
Implementation would be tricky. kola attaches qemu disks by file descriptor and then deletes the underlying file, to avoid leaking disks if a process is killed, and it doesn't retain the file descriptors itself. kola would need to retain access to the fd and then pass it to a successor qemu process. We can't handle the disk-reuse case by telling qemu to revert its snapshot of the pristine disk image, because there's no qemu command for that.
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 by reading the kola disk-attachment and reboot flow, especially how qemu disks are passed by file descriptor and how the underlying files are deleted. Compare the proposed autopkgtest-reboot behavior for boot-disk reinstallation or secondary-disk reuse, including coreos-installer. Done means kola can exercise partition, filesystem, and LUKS reuse across successor qemu processes without leaking disks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- testing-qa, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100