Skip to content

Integration

Every migration source and target in Condensa is a provider. You register providers once (credentials are stored encrypted), then pick a source and a target in the migration wizard.

Sources

VendorCredentials
VMware vSphere / ESXiUsername + password
OVA / VHD file upload— (file-based)

Targets

TargetWhen to choose itGuide
Awanio CockpitYou run a fleet of KVM hosts managed by the Cockpit control plane; you want host/pool/network placement per migrationIntegrate with Cockpit
Awanio Vapor (standalone)A single Vapor host with no control plane — small sites, proof-of-conceptsIntegrate with Vapor
Awanio CEP (KubeVirt)Migrating into Kubernetes/KubeVirt via CDI(covered in the User Guide)

Multiple providers of the same vendor can be registered side by side and are distinguished by their label — for example a production Cockpit and a DR Cockpit.

About VDDK (applies to Cockpit and Vapor targets)

For the fastest transfers — and for warm migration at all — the target host pulls disk data directly from ESXi using VMware's VDDK library with Changed Block Tracking. VDDK is proprietary and cannot be bundled, so it is installed once per target host:

The direct pull needs two pieces on the target host, and only one of them can be shipped with Vapor:

PieceLicenceHow it gets there
nbdkit (≥ 1.38) with its VDDK plugin, plus qemu-nbd and nbdfuseFree / open sourceInstalled on the host — see below
VMware VDDK libraryProprietary (Broadcom EULA)Downloaded by you, uploaded through the Vapor UI

1. Install nbdkit and friends on the target host.

Distribution packages are often too old

nbdkit's VDDK plugin only loads library versions it knows about. Ubuntu 20.04 ships nbdkit 1.16, which recognises libvixDiskLib.so.5 and .so.6 only — it cannot load VDDK 7, 8 or 9 at all. Use 1.38 or newer; on older distributions, build it from source as shown below.

bash
# Debian 12+/Ubuntu 22.04+ — try the packages first
sudo apt-get install -y nbdkit nbdkit-plugin-vddk qemu-utils libnbd-bin
#   Ubuntu 20.04: the nbdfuse package is called "nbdfuse", not "libnbd-bin"
nbdkit --version        # want >= 1.38

If the packages are missing or too old (Ubuntu 20.04 and similar), build nbdkit from source — this is the exact sequence used on our reference host:

bash
sudo apt-get install -y build-essential pkg-config libtool autoconf qemu-utils curl
# nbdfuse: package name differs by release — try both, one will exist
sudo apt-get install -y nbdfuse || sudo apt-get install -y libnbd-bin

curl -L -o nbdkit-1.38.5.tar.gz https://download.libguestfs.org/nbdkit/1.38-stable/nbdkit-1.38.5.tar.gz
tar xf nbdkit-1.38.5.tar.gz && cd nbdkit-1.38.5
./configure --prefix=/usr/local --disable-perl --disable-python \
            --disable-ruby --disable-rust --disable-ocaml --disable-golang
make -j"$(nproc)"
sudo make install

nbdkit --version                    # 1.38.5
nbdkit vddk --dump-plugin | head    # confirms the VDDK plugin is present

2. Upload the VDDK library.

  1. Download the VDDK tarball (Linux, x86_64) from the Broadcom developer portal — a free account is enough.
  2. On the target host's Vapor UI open System → Third-party Libraries, upload the tarball, and confirm the status turns Installed.

VDDK 9 on older distributions

VDDK 9 bundles its own OpenSSL 3 in lib64/. On a host whose system OpenSSL is older, point the loader at the bundled copy — Vapor's systemd drop-in already does this when it is configured with the VDDK library directory.

Condensa probes VDDK availability per migration:

  • VDDK present → direct pull; warm migration available.
  • VDDK absent → Cockpit targets fall back to a staged transfer (cold only); standalone Vapor targets require VDDK and fail fast with a clear message.