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
| Flag | Purpose |
|---|---|
--root / --image / --ssh | The source (see Sources). |
--ssh-port, --ssh-key, --jump, --sudo | SSH collection options. |
--target <spec> | Target OS (default rocky9). See Supported targets. |
-o, --out <dir> | Output directory (default vrtmv-out). |
--preflight | Report 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).