We configured the VDDK import method, and it works for some VMs, but
it still has this "could not detect the source guest" error.
It is convenient that the VDDK method is one step. Although a downside is
that it doesn't really report the estimated completion time / progress. We
needed to use VDDK6 since 7 wasn't working (this issue is fixed in
RHEL8.x from my understanding).
virt-v2v \
-v -x \
-ic
"vpx://vsphere.local%5cadministrator@<vcenter>/Datacenter/<esxi>" \
-it vddk \
-io vddk-libdir=<path to vmware-vix-disklib-distrib> \
-io vddk-thumbprint=<thumbprint> \
"<VM name>" \
-o rhv-upload \
-oc <ovirt fqdn>/ovirt-engine/api \
-os <storage domain> \
-op <path to ovirt pw> \
-of raw \
-oo rhv-cafile=<path to ca.pem> \
-oo rhv-cluster=<cluster>
I'll try comparing the VMX files for the passing/failing VMs and looking
inside the guest OS. I'll also try this guestfish investigation. If you
have any other suggestions though, please let me know.
Thanks!
- Alan
On Thu, Jun 10, 2021 at 12:55 PM Richard W.M. Jones <rjones(a)redhat.com>
wrote:
 On Thu, Jun 10, 2021 at 12:32:14PM -0400, Alan Daniels wrote:
 > Unfortunately this issue (or something similar) has resurfaced with
 another VM.
 > Several VMs have worked.
 >
 > This Windows VM is failing to import, either via the oVirt GUI or running
 > virt-v2v directly. Attached the log and here is the snippet that seems
 relevant
 > to me.
 The log again indicates that C:\Windows\System32\cmd.exe is missing.
 As before I've no idea why this is.  Could be something about the
 filesystem, ovftool, ntfs-3g, qemu's vmdk driver, etc.  If you wanted
 to debug this you could try mounting the second partition of the disk
 with guestfish and seeing if the file exists.
 Anyway you will likely find the VDDK method is better.  It's faster,
 doesn't involve doing multiple steps and it's the method that most
 customers prefer.
 
https://libguestfs.org/virt-v2v-input-vmware.1.html#input-from-vddk
 Rich.
 --
 Richard Jones, Virtualization Group, Red Hat
 
http://people.redhat.com/~rjones
 Read my programming and virtualization blog: 
http://rwmj.wordpress.com
 libguestfs lets you edit virtual machines.  Supports shell scripting,
 bindings from many languages.  
http://libguestfs.org