One script. A real Linux disk leaves Prism, gets converted, and boots on plain KVM and on KubeVirt. Nothing proprietary on the other side.
See the runHow the projects fit togetherDownload the deckRead the case study$ ./scripts/e2e-nutanix-exit.sh ops@kvm-host == export with hyperexport (Prism v4 + NFS pickup) PASS export (16s) == convert with h2kvm PASS convert (277s) == boot on libvirt/KVM PASS boot on KVM (79s) == boot on KubeVirt PASS boot on KubeVirt (335s) == 7 passed, 0 failed, 747s total
Every number here comes from one unattended run, saved as results.json.
stages passed, none skipped
download to two running guests (Ubuntu 24.04)
landing targets booted (KVM, KubeVirt)
command, nothing to click
Orange is the h2kvm conversion of an Ubuntu 24.04 cloud image. The KubeVirt figure includes building and importing the container disk.
Each destination shows exactly what has been run.
Ubuntu 24.04 booted under libvirt (UEFI) and answered ping in 79 s.
Ready and answering ping in 335 s, including the container-disk build. Scripted.
Listed a migrated VM as Running through its API in an earlier KubeVirt run (checked by hand, not in the script).
h2kvm has a Kairon hand-off. It was not part of this test.
Planned. Nothing is claimed until it is run.
$ git clone https://github.com/zyvorai/zyvor-transiva
$ ./scripts/e2e-nutanix-exit.sh user@your-kvm-host
Needs a Linux host with libvirt, hyperexport, h2kvmctl and the Chimera Nutanix service. KubeVirt is detected and used when present.