Skip to content

nvx-rs: acceptance for platform clones in both adapters #855

Open

Description

Parent: #837 (#833). Needs: #854; every stage 3 item (#848, #849, #850 and #857); and #624's harness, in the NVX library wiring workstream (#816).

Goal. Prove that both adapters, NVX's and the in-repo test adapter, run platform clones end to end through the shared code, on KVM, MSHV and WHP, with the released runtime. The tests stay owned by the PRs that added them; this issue consolidates them, and carries #545's restore conformance.

Scope:

  • Coverage manifest: every requirement of stages 1, 3 and 5, and nvx-rs: prove shared host and guest mechanics through two independent adapters #545's restore conformance. Each vector records where it applies.
  • Captures: for each adapter and backend, a template without a NIC and one with: 12 capture classes. Two adapters never share a template.
  • Positive cells: both adapters × KVM, MSHV and WHP × EROFS and GPT × tmpfs and scratch × with and without a NIC: 48 cells, served by reusing the 12 templates. A capture made for one cell doesn't count as reuse.
  • Reuse and storage:
    • exact, shorter and longer images; both formats under one key;
    • tmpfs clones without a scratch file;
    • scratch length and geometry mismatches, and a scratch that isn't fresh;
    • stale caches and the partition-table reread;
    • memory and CPU targets;
    • each network policy element, from one template;
    • an aggregate export of directories and a file, with read-only and read-write children, from one template.
  • Lifecycle:
    • an orchestrator restart, with reattach;
    • an interrupted launch, torn down and never replayed;
    • eligibility within one boot and across a reboot;
    • a host reboot;
    • a bundle change, through retirement, verified stops, reclamation and a new capture.
  • Store under concurrency: capture, refresh, acquisition, tombstones, eviction and bundle retirement against live leases; isolated concurrent clones.
  • Windows: NTFS in CI, with no ReFS claim.
  • Released runtime: acceptance built from source, plus a lane that selects bundled explicitly, against the release that includes this work. bundled is re-pinned to it.
  • Evidence: coverage manifests, raw results and the release's provenance, kept durably.

Done when: every cell and scenario passes with exact provenance, the evidence is published, and bundled serves the release that includes this workstream.

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions