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@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