Description of problem:
Virt-v2v can't convert the guest from VMware if guest's second disk is in sub-folder
Version-Release number of selected component (if applicable):
virt-v2v-2.9.9-1.el10.x86_64
libguestfs-1.57.5-1.el10.x86_64
guestfs-tools-1.54.0-6.el10.x86_64
nbdkit-1.45.7-1.el10.x86_64
libnbd-1.23.7-1.el10.x86_64
libvirt-11.8.0-1.el10.x86_64
qemu-kvm-10.1.0-2.el10.x86_64
How reproducible:
100%
Steps:
1. Prepare a guest with two disks, the second disk is in sub-folder on VMware,
# ls esx8.0-win11-with-second-disk-in-subfolder
esx8.0-win11-with-second-disk-in-subfolder-1b240d0d.hlog esx8.0-win11-x86_64-latest-1.scoreboard
esx8.0-win11-with-second-disk-in-subfolder-flat.vmdk esx8.0-win11-x86_64-latest.scoreboard
esx8.0-win11-with-second-disk-in-subfolder.nvram subfolder
esx8.0-win11-with-second-disk-in-subfolder.vmdk vmware-1.log
esx8.0-win11-with-second-disk-in-subfolder.vmsd vmware.log
esx8.0-win11-with-second-disk-in-subfolder.vmx
# ls esx8.0-win11-with-second-disk-in-subfolder/subfolder/
esx8.0-win11-with-second-disk-in-subfolder_1-flat.vmdk esx8.0-win11-with-second-disk-in-subfolder_1.vmdk
#cat esx8.0-win11-with-second-disk-in-subfolder.vmx |grep subfolder_1.vmdk
scsi0:1.fileName = "subfolder/esx8.0-win11-with-second-disk-in-subfolder_1.vmdk"
2. Use virt-v2v to convert the guest from VMware
# virt-v2v -ic vpx://non-admin%40vsphere.local@10.73.213.134/data/cluster/10.73.212.36/?no_verify=1 -it vddk -io vddk-libdir=/home/vddk8.0.3 -io vddk-thumbprint=C3:83:1D:C0:6D:4C:47:83:5A:B9:6E:0E:FA:5A:15:22:B4:75:D5:7E -ip /home/passwd esx8.0-win11-with-second-disk-in-subfolder -o local -os /home [ 0.0] Setting up the source: -i libvirt -ic vpx://non-admin%40vsphere.local@10.73.213.134/data/cluster/10.73.212.36/?no_verify=1 -it vddk esx8.0-win11-with-second-disk-in-subfolder virt-v2v: error: exception: libvirt: VIR_ERR_INTERNAL_ERROR: VIR_FROM_ESX: internal error: Could not handle file name 'subfolder/esx8.0-win11-with-second-disk-in-subfolder_1.vmdk' If reporting bugs, run virt-v2v with debugging enabled and include the complete output: virt-v2v -v -x [...]
Actual result:
As above description
Expect result:
Fix the bug
Additional info
Virt-v2v can convert the guest via vmx+ssh
# virt-v2v -i vmx -it ssh ssh://root@10.73.212.36/vmfs/volumes/124778e2-48604a5f/esx8.0-win11-with-second-disk-in-subfolder/esx8.0-win11-with-second-disk-in-subfolder.vmx -ip /home/esxpwd -o local -os /home [ 0.0] Setting up the source: -i vmx ssh://root@10.73.212.36/vmfs/volumes/124778e2-48604a5f/esx8.0-win11-with-second-disk-in-subfolder/esx8.0-win11-with-second-disk-in-subfolder.vmx [ 6.1] Opening the source [ 31.5] Checking filesystem integrity before conversion [ 31.7] Detecting if this guest uses BIOS or UEFI to boot [ 31.8] Inspecting the source [ 45.1] Detecting the boot device [ 45.1] Checking for sufficient free disk space in the guest [ 45.1] Converting Windows 10 Enterprise (win11) to run on KVM ** (process:507942): WARNING **: 00:36:07.324: Entity http://pcisig.com/pci/1af4/1012 referenced but not defined virt-v2v: This guest has virtio drivers installed. [ 68.9] Setting a random seed virt-v2v: warning: random seed could not be set for this type of guest [ 68.9] SELinux relabelling [ 71.5] Fixing NTFS permissions [ 71.6] Mapping filesystem data to avoid copying unused and blank areas [ 91.3] Checking filesystem integrity after conversion [ 91.5] Closing the overlay [ 91.8] Assigning disks to buses [ 91.8] Checking if the guest needs BIOS or UEFI to boot [ 91.8] Setting up the destination: -o disk -os /home [ 93.1] Copying disk 1/2 █ 100% [****************************************] [ 720.0] Copying disk 2/2 █ 100% [****************************************] [ 753.2] Creating output metadata [ 753.2] Finishing off
- depends on
-
RHEL-111241 Rebase virt-v2v in RHEL 10.2
-
- Integration
-
- is blocked by
-
RHEL-122751 Virsh can't guest xml from VMware if guest's second disk is in sub-folder
-
- In Progress
-
-
RHEL-122755 nbdkit vddk plugin export parameter should allow loose wildcards without FNM_PATHNAME
-
- In Progress
-
- is cloned by
-
RHEL-122755 nbdkit vddk plugin export parameter should allow loose wildcards without FNM_PATHNAME
-
- In Progress
-