Skip to content

feat(firecracker): enable OCI and Nydus roots with virtio-fs - #57

Merged
tianyuzhou95 merged 2 commits into
mainfrom
codex/update-sandboxd-firecracker
Sep 9, 2026
Merged

feat(firecracker): enable OCI and Nydus roots with virtio-fs#57
tianyuzhou95 merged 2 commits into
mainfrom
codex/update-sandboxd-firecracker

Conversation

@tianyuzhou95

@tianyuzhou95 tianyuzhou95 commented Sep 9, 2026

Copy link
Copy Markdown
Collaborator

Firecracker currently rejects OCI/Nydus directory roots in AKernel's bundled configuration. This change enables Sandbox(runtime="firecracker", image="ubuntu:24.04") by packaging pinned virtiofsd 1.14.0 and enabling read-only virtio-fs in standalone and Helm. Roots come directly from the existing image manager; sandbox writes remain on a private ext4 disk, and the default runtime root remains EROFS.

Update sandboxd to b8f4656c57432bce1b50111e766bcd21510ee482, which selects Firecracker v1.16.1-akernel.3 through its runtime manifest. The build packages the matching VMM, kernel, guest-agent initrd, virtiofsd libraries, and licenses. Set the writable disk policy to AsyncDirect with Writeback, and document the required host capabilities and checkpoint compatibility. Hosts must provide usable io_uring and STATX_DIOALIGN; drain sandboxes before replacing the runtime stack.

Integration tests accept AKERNEL_TEST_IMAGE, verify independent writes for sandboxes sharing an image, and install CA certificates for HTTPS probes. Documentation covers OCI/Nydus roots, RAFS v5 preparation, and supported mounts.

Validation:

  • Standard make build completed both the RRT rootfs and all-in-one image on a Linux 6.8 KVM node, with control plane, RRT, and test client fixed to 0.10.2rc2.
  • Firecracker EROFS, OCI, and Nydus RAFS v5 basic integration and checkpoint/reload suites passed: 20 tests passed, with one image-only check skipped for EROFS.
  • Verified commands, files, PTYs, private writes, checkpoint file rollback, logical sandbox identity, reverse-tunnel recovery, and HTTPS access after reload.
  • 266 SDK unit tests, Ruff, mypy, deployment script syntax checks, and git diff --check passed.

Update sandboxd to b8f4656 and use its pinned Firecracker
v1.16.1-akernel.3 artifacts. Build virtiofsd 1.14.0 from a pinned source
revision with its release lockfile, and package the binary, runtime
libraries, and licenses with the Firecracker payload.

Enable read-only virtio-fs in standalone and Helm so Firecracker consumes
OCI and Nydus roots directly from the image manager. Keep private ext4
writes and configure AsyncDirect with Writeback, documenting the host
capabilities and checkpoint compatibility required by the updated stack.

Allow the custom-image example and integration suite to select image
roots, verify private writes across sandboxes, and install CA certificates
for HTTPS checks. Document RAFS v5 preparation and the supported image
and mount contracts.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
Restore the custom image example to its original fixed configuration so
it remains a short illustration of the Sandbox API. Remove documentation
for the extra command-line arguments while retaining Firecracker image
support documentation and integration coverage.

Signed-off-by: Tianyu Zhou <albert.zty@antgroup.com>
@tianyuzhou95
tianyuzhou95 merged commit 03a1a98 into main Sep 9, 2026
8 checks passed
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