NUTANIX EXIT

Out of Nutanix
in minutes.

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
THE RUN

Measured, not promised.

Every number here comes from one unattended run, saved as results.json.

7 / 7

stages passed, none skipped

747 s

download to two running guests (Ubuntu 24.04)

2 / 2

landing targets booted (KVM, KubeVirt)

1

command, nothing to click

Serve as VM
13 s
Export
16 s
Convert
277 s
Boot on KVM
79 s
Boot on KubeVirt
335 s

Orange is the h2kvm conversion of an Ubuntu 24.04 cloud image. The KubeVirt figure includes building and importing the container disk.

DESTINATIONS

Land it where you want.

Each destination shows exactly what has been run.

Linux KVM

Verified

Ubuntu 24.04 booted under libvirt (UEFI) and answered ping in 79 s.

KubeVirt

Verified

Ready and answering ping in 335 s, including the container-disk build. Scripted.

Zorvia

Verified

Listed a migrated VM as Running through its API in an earlier KubeVirt run (checked by hand, not in the script).

Kairon

Not run yet

h2kvm has a Kairon hand-off. It was not part of this test.

Machina

Not run yet

Planned. Nothing is claimed until it is run.

STRAIGHT TALK

What this does and doesn't prove.

Proven

  • The Prism v4 export path, end to end, in code
  • qcow2 and manifest produced, valid, converted
  • Boots on KVM and on KubeVirt, unattended
  • A cloud image with no network config comes up: h2kvm installs a DHCP fallback
  • One script, no manual steps

Not yet

  • A real Nutanix cluster (Prism here is a simulator)
  • Windows, multi-disk and large VMs (h2kvm's scope)
  • Boot repair on a guest that needs it (the Ubuntu image needed only the network fallback)
  • Anything deeper than ping inside the guest

Run it yourself.

$ 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.