You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(contract)!: hypervisor-agnostic wire — GuestChannel, opaque ready payload, mechanism-only disk roles, no is_instance
Review feedback: the contract must stay generic regardless of the
hypervisor; Firecracker-vs-QEMU is the only distinction the supervisor
should see.
- CreateVmRequest.program_mode (program/instance vocabulary on the wire)
becomes `optional GuestChannel guest_channel { ready_port }`: a pure
mechanism request — expose a host⇄guest channel and treat the guest's
ready signal on ready_port as part of boot. Firecracker instances are
naturally 'FC without a channel'.
- VmInfo.control_socket_path → guest_channel_path (empty when the VM has no
channel, which covers QEMU). VmInfo.runtime_version → guest_ready_payload:
the raw bytes the guest sent, passed through opaquely — the supervisor no
longer parses the Aleph runtime's msgpack handshake; the agent does
(runtime_config_from_ready_payload). MicroVM keeps the raw payload and
takes the ready port as a parameter.
- DiskRole collapses to ROOTFS/EXTRA: which disk is the root device is
mechanism; code/runtime/data are workload roles the client maps onto
guest devices via disk order (which it already did).
- VmInfo.is_instance removed (field 18 reserved): agent vocabulary, derived
from the registry; the guest channel's presence is the registry-miss
fallback for the /about list labels.
- The Aleph runtime's channel conventions (control port 52, guest API 53)
move to aleph.vm.utils.runtime_channel, agent-side, and replace the
hardcoded CONNECT 52 strings.
- packaging: deb package ships grpcio (matches pyproject).
Re-validated live through the split: CreateVm over gRPC reports
ready_payload=b'\x81\xa7version\xa52.0.0' (raw guest msgpack), agent
parses it, config push + run_code('/') → HTTP 200, DeleteVm clean.
Suite: 742 passed, same 9 environment-only failures as base.
0 commit comments