runtime adapter: run cold sandboxes end to end on KVM, MSHV and WHP
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
- 25/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- linux, rust
- Ambito
- infrastructure, testing
Direzione di ricerca
Start with the adapter plan in #813, tests/runtime-adapter/src/layered.rs, and the existing VM scenarios in tests/vm_layered.rs and tests/vm_restart.rs; read #805 for the execution work needed inside a VM. Trace how the host currently launches and how the guest attaches shares, then map the scoped launch, transport, network, and consumer-contract scenarios to their tests. Done means the listed acceptance scenarios pass on KVM, MSHV, and WHP in CI.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Parent: #816. Builds on #813's adapter plan. Sub-issue: #805.
Goal. The in-repo test adapter runs real cold sandboxes on KVM, MSHV and WHP, through public APIs and its own transport: a checked launch, mappings, network policy, executions, stop and teardown. #624 then counts it as the second adapter.
Today (dev c5a0dd7):
runtime-adapter-hostlaunches throughsupervisor::launchwith a plan fromSandboxPlan::new(tests/runtime-adapter/src/layered.rs). It doesn't bind its images or hand OpenVMM checked files (PreparedLaunch).- Its VMs assemble all four format and upper combinations outside PID 1 and probe them (
tests/vm_layered.rs), and reattach after a restart (tests/vm_restart.rs), in CI on every backend. - It plans with
SandboxPlan::new, not the adapter plan that #813 added. - It runs executions only in-process (#784). #805 lists what keeps them out of a VM: no execution cgroup, not in the assembled root, and no host command.
- It attaches no network.
Scope:
- Plan and handoff: the host plans with
SandboxPlan::adapter(#813), binds its images with aDistroBinding, and launches throughPreparedLaunch. Its guest chooses the workload identities and attaches its shares. - Executions in a VM: #805.
- Launch order through its transport: policy installed, boot, authenticated Ready, mapping tables in order, then Start. A failed start is torn down.
- Network: the typed policy, installed before boot. On one representative configuration it enforces deny, allow, proxy-only and host loopback.
- Scenarios: its share of #535's consumer-contract suite: C2's concurrency and pooled frame credit, C3's root and non-root profiles, C4's mappings and network, C5's replacement between the check and OpenVMM's open, and C6 and C7 on real VMs.
Not in scope: NVX's adapter; changes to the libraries. As #535 sets out, most faults run on one representative configuration rather than the full matrix.
Acceptance:
- On KVM, MSHV and WHP, in CI: launch, several executions at once, output beyond 1 MiB, mapping tables, stop and teardown, in all four format and upper combinations.
- Network deny, allow, proxy-only and host loopback on one representative configuration.
- It uses documented public APIs only, with default features off and its own lockfile.
- The scenarios above pass, and #805 is done.
Carries over: #622's scope 8 (A4 PR 8).
- Lingua principale
- Python
- Stelle
- 408
- Fork
- 28
- Merge medio
- 16h 20m
- PR unite (30g)
- 355
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 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 24/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
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
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di microsoft/nvx
Issue simili
-
good first issue infrastructure
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
kuznia-rdzeni/coreblocks#1135 ·
-
good first issue server
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
documentation priority: high
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
a-lex-s/mealie-telegram-bot#54 ·
I maintainer di solito rispondono entro 1 giorno
-
type/test
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
SaltedTan/virgil-language-server#218 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
btclib-org/btclib-wallet#541 ·
I maintainer di solito rispondono entro 1 giorno