Skip to content

test-stress(disk): box rootfs is a bounded, isolated disk that survives a fill#623

Draft
G4614 wants to merge 3 commits into
boxlite-ai:mainfrom
G4614:test/box-rootfs-disk-bounded
Draft

test-stress(disk): box rootfs is a bounded, isolated disk that survives a fill#623
G4614 wants to merge 3 commits into
boxlite-ai:mainfrom
G4614:test/box-rootfs-disk-bounded

Conversation

@G4614
Copy link
Copy Markdown
Contributor

@G4614 G4614 commented May 29, 2026

add tests to confirm the stability of box volume(guest)

  1. each box has an independent volume with boundary,
  2. when volume fill, the micro-VM is still running

Test plan

  • make test:integration:rust FILTER=box_rootfs_is_bounded_isolated_and_survives_fill → passes.
  • Starts an alpine box and checks its / is its own small ext4, fills it to ENOSPC, and confirms the VM stays up.
observed a correctly isolated box
box / total (1K-blocks) its own image-sized ext4 (~224 MiB for alpine), not the host's tens of millions (a box seeing the host fs would report ~130M blocks for a 124 GiB host)
filling / with dd hits ENOSPC on the bounded disk — does not wander onto the host disk
VM after the rootfs fills still Running, fresh exec still works

A box must not see or exhaust the host filesystem. This integration test starts
an alpine box and checks that its `/` is its own small ext4 (a few hundred MB,
sized from the image — not the host's tens of millions of 1K-blocks), then fills
it with dd and asserts the write hits ENOSPC rather than wandering onto the host
disk, and that the VM stays Running and serving exec afterward. Covers the
box-internal disk quadrant (the per-box blast radius), complementing the
host-disk admission guard.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@G4614 G4614 changed the title test(disk): box rootfs is a bounded, isolated disk that survives a fill test-stress(disk): box rootfs is a bounded, isolated disk that survives a fill May 29, 2026
Ubuntu and others added 2 commits May 29, 2026 14:03
…lf-bounded

The existing test proved one box's rootfs is bounded and survives a fill, but
not that boxes don't share a disk pool. Add a two-box test: fill the victim's
rootfs to ENOSPC and assert the bystander keeps its free space, still accepts
writes, and both VMs stay alive — the per-box disk boundary the title claims.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Spawn 6 dd writers racing to fill the same rootfs and assert every one sees
"No space left on device" (no hangs, no silent partial success, RC!=0 for
all), and the guest agent still accepts exec afterward. Closes the gap that
the single-writer fill test leaves open: a regression where one ENOSPC could
wedge the rootfs for the others (stuck journal commit, EXT4 lock pile-up,
agent dying on the I/O storm) would have passed the single-writer test
silently.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant