migrate

The full pipeline: inventory → resolve → translate → evaluate conditionals → emit an Ansible role plus a JSON attestation.

vrtmv migrate --image centos7.vmdk --target rocky9 -o out/
vrtmv migrate --root /mnt/vm --target rhel9 --preflight
FlagPurpose
--root / --image / --sshThe source (see Sources).
--ssh-port, --ssh-key, --jump, --sudoSSH collection options.
--target <spec>Target OS (default rocky9). See Supported targets.
-o, --out <dir>Output directory (default vrtmv-out).
--preflightReport counts and blocking steps only; write no files and consume no usage credit.
--engagement <id>, --vm-id <id>, --migration-type <t>Tag the run as a VM migration record — see Tagging VM migrations.

Output

A non-preflight run writes:

  • roles/vrtmv_migration/tasks/main.yml — the Ansible role that rebuilds the workload on the target;
  • vrtmv-attestation.json — the host-specific parity report.

Preflight vs full run

--preflight is the feasibility check: it runs the same analysis, prints the translatable/unresolved/untranslated counts and the number of blocking manual steps, and stops. It writes nothing and is not billable. A full run records one depersonalized migration usage event; whether that event is billable depends on your plan and target (see Accounts, quota & billing).