runtime-rs: parse block-mounts annotation for volumeDevice passthrough#57
Draft
TheRayquaza wants to merge 33 commits into
Draft
runtime-rs: parse block-mounts annotation for volumeDevice passthrough#57TheRayquaza wants to merge 33 commits into
TheRayquaza wants to merge 33 commits into
Conversation
3 tasks
zaymat
reviewed
Apr 17, 2026
zaymat
left a comment
There was a problem hiding this comment.
Looking at it again, I don't think this patch was ever merged into our main branch.
I think this is the PR but we never merged it: https://github.com/DataDog/kata-containers/pull/40/changes
microVM sandbox resources are computed from pod sandbox annotations. In particular, the number of vCPU is calculated by using CPU quota divided by CPU period. However, on clusters where CFS quotas are disabled, or if the pod doesn't specify any limit, the compute size is 0. When using resource hot pluging, the value value will be the size of the CPU set, which doesn't impact the performance of the microVM pod. But when using static sandbox management, the computed value will be 0 and the microVM will be dramatically undersized. This change takes into account CPU shares while computing the number of vCPU, and default the CPU Shares/1024 in case CPU quota and/or periods are zeros.
Co-authored-by: Maxime VISONNEAU <maxime.visonneau@gmail.com>
- Add scratch-based Dockerfile for kata data volume - Move Dockerfile to docker/ subdir and fix config file handling - Fix Dockerfile to extract only essential kata files - Add containerd runtime dropin configuration files 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
An early call to closing the stdin channel made the stdout & stderr also closed. This waits for stdout & stderr to be properly finished by reading the whole buffer before closing everything. On the other, this also fixes a race condition where it was impossible to run multiple execs until the other one was over. This moves the lock only where it is necessary without locking exec processes. Fixes kata-containers#10387 Signed-off-by: Maxime Bertin <mbertin@luccasoftware.com> Co-authored-by: Maxime Bertin <mbertin@luccasoftware.com>
The WORKFLOW_TOKEN no longer exists, so artefact uploads fail. Use the built-in token instead.
Signed-off-by: Hadrien Patte <hadrien.patte@datadoghq.com>
Add support for [`netkit`](https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/commit/?id=22360fad5889cbefe1eca695b0cc0273ab280b56) network devices similarly to how `veth` devices are currently handled. Signed-off-by: Hadrien Patte <hadrien.patte@datadoghq.com>
Netkit devices in L3 mode have no MAC address and require IP routing instead of L2 bridging. Since L3 routing is not currently implemented, reject these devices early with a clear error message directing users to use netkit L2 mode or veth devices instead. Signed-off-by: Hadrien Patte <hadrien.patte@datadoghq.com>
4ebe9de to
77e6f1b
Compare
Parse io.katacontainers.volume.block-mounts annotation and convert matching volumeDevices into agent Storage objects, enabling block device annotation mounts in the Rust shim, mirroring the Go runtime behavior. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0144e02 to
f99038f
Compare
177fa81 to
af4c8f5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Parse
io.katacontainers.volume.block-mountsannotation and convert matchingvolumeDevicesinto agentStorageobjects, enabling block device passthrough via annotation in the Rust shim, mirroring Go runtime behavior.DO NOT MERGE, blockers:
Test plan
Test C1 - Block annotation mounts
Pass signals:
Test C2 - Invalid annotation JSON
Pass signals: