OpenVMM: support sandbox blocks, networking, and supplied RAM in the microVM management RPC
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- grpc, linux, python
- Ambito
- api, backend, networking
Direzione di ricerca
Read the control frontends design linked in the issue, then inspect the management RPC protocol and server handling for DevicesConfig, MicrovmSnapshotConfig, MemoryConfig, and VirtioFs. Compare those settings and validation rules with the command-line options for sandbox blocks, networking, RAM backing files, and aggregate filesystems. Done means the acceptance tests cover capture and restore in both directions and the gRPC reference documents the new fields.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The management RPC, OpenVMM's TTRPC and gRPC vmservice endpoint, has created, captured, and restored microVMs since 7ec02fec6, but only for part of the machine that the command line supports. A microVM with sandbox blocks or a network device, one with a caller-supplied RAM backing file, or one that shares an aggregate host filesystem can only be launched, captured, and restored from the command line. The design describes both frontends as equivalent; see 5.2.1 Control Frontends. Except for the control console, these limits come from missing protocol fields and server handling, not from a design constraint.
Missing in the management RPC
- Sandbox blocks.
DevicesConfighas no field for the fixed-role microVM blocks, and its formervirtio_blkfield is reserved.MicrovmSnapshotConfighas no snapshot tier, block identity mode, storage generation, or scratch restore mode. Restore rejects these snapshots with "TTRPC restore does not support microVM sandbox-block snapshots". - Network device. Creation accepts only the fixed virtio-fs and virtio-console devices, so a request cannot configure the microVM NIC or its network profile, egress and ingress policy, host-loopback access, proxy, or forwards. Restore rejects network attachments with "ttrpc restore does not yet expose microVM network attachments".
- Supplied RAM backing file.
MemoryConfighas no backing-file field, so the server always creates the RAM file itself. The command line also accepts--memory file=PATH, which capture publishes by copying. - Host filesystem policy.
VirtioFscarries one directory with one access mode. Aggregate shares, file children, allowed, denied, and writable paths, and caller ownership are command-line only, and restore rejects an aggregate with "ttrpc restore does not expose an aggregate microVM filesystem".
Out of scope
- Control console.
7ec02fec6rejects it deliberately, because the management endpoint cannot provide an authenticated broker attachment. Supporting it needs a separate design for delivering the control capability.
Acceptance
- The protocol carries every launch, capture, and restore setting that the command line accepts for these devices, and the server validates them with the command line's rules instead of a second copy.
- VMM tests capture and restore over TTRPC with sandbox blocks for each snapshot tier, with a network device, with a supplied RAM backing file, and with an aggregate host filesystem.
- A snapshot captured over the RPC restores from the command line, and the reverse.
- The gRPC reference describes the new fields.
- Lingua principale
- Python
- Stelle
- 408
- Fork
- 28
- Merge medio
- 16h 18m
- PR unite (30g)
- 332
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/nvx
-
Track guest managed agent bugs: output limit forwards later output after a dropped chunkForse già presa @akhil9tiet l’ha presa 1 giorno fa. Apertabug-hunt confirmed good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
microsoft/nvx#737 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Track nvx-rs host VMM supervisor bugs: a non-UTF-8 process name at a reused PID blocks reconcile, reattach, and stopForse già presa @56steve l’ha presa 1 giorno fa. Apertabug-hunt confirmed good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
microsoft/nvx#720 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
ci: track azure-mshv-1's intermittent H4 failures after a live migration to a host with an unstable clockForse già presa @ppenna l’ha presa oggi. Apertaconfirmed
microsoft/nvx#768 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microsoft/nvx
Issue simili
-
style: article/section 📝 system: cloud.rc ☁️ system: security 🔐
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
uabrc/uabrc.github.io#1262 ·
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
NCAR/miles-credit#526 ·
-
documentation
Difficoltà 1/5 1-3 ore Idoneità per principianti 76/100
conda/conda-lock#957 ·
I maintainer di solito rispondono entro 1 giorno
-
Type: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
aws-samples/sample-per-model-bedrock#464 ·
I maintainer di solito rispondono entro 1 giorno