Description of problem:
ESXi provider was created by skipping VDDK SDK. Doing a cold migration from this provider is failing with error below:
Preparing virt-v2v exec: /usr/bin/virt-v2v -v -x --root first -i libvirt -ic esx://root@dell-r530-40?no_verify=1 -o local -os /var/tmp/v2v -ip /etc/secret/secretKey -- rhel9 virt-v2v monitoring: Setting up prometheus endpoint :2112/metrics virt-v2v monitoring: Prometheus progress counter registered. virt-v2v: virt-v2v 2.4.0rhel=9,release=2.el9 (x86_64) libvirt version: 10.0.0 check_host_free_space: large_tmpdir=/var/tmp free_space=56651870208 [ 0.0] Setting up the source: -i libvirt -ic esx://root@dell-r530-40.?no_verify=1 rhel9 .... .... 'curl' -q --max-redirs '5' --globoff --head --silent --user <hidden> --insecure 'https://dell-r530-40./folder/rhel9/rhel9-flat.vmdk?dcPath=ha-datacenter&dsName=Datastore' HTTP/2 200 date: Wed, 14 Aug 2024 13:42:20 GMT set-cookie: vmware_soap_session="2b2bb656c0a128e89b613e28ddc790a5045a4c56"; Path=/; HttpOnly; Secure; content-security-policy: upgrade-insecure-requests content-type: application/octet-stream strict-transport-security: max-age=31536000 x-content-type-options: nosniff x-frame-options: DENY x-xss-protection: 1 content-length: 17179869184 x-envoy-upstream-service-time: 17 ..... ..... LANG=C 'nbdkit' '--exit-with-parent' '--foreground' '--pidfile' '/tmp/v2vnbdkit.VYRJBW/nbdkit1.pid' '--unix' '/tmp/v2v.4MvWPI/in0' '--threads' '16' '-D' 'nbdkit.backend.datapath=0' '--verbose' '--filter' 'cow' '--filter' 'cacheextents' '--filter' 'retry' 'curl' 'url=https://dell-r530-40./folder/rhel9/rhel9-flat.vmdk?dcPath=ha-datacenter&dsName=Datastore' 'timeout=2000' 'cookie-script=/tmp/v2vcs3afa56.sh' 'cookie-script-renew=1500' 'sslverify=false' 'cow-on-read=/tmp/v2v.4MvWPI/convert' ..... ..... nbdkit: curl[1]: error: server does not support 'range' (byte range) requests ..... ..... qemu-kvm: -drive file=nbd:unix:/tmp/v2v.4MvWPI/in0,cache=unsafe,format=raw,discard=unmap,id=hd0,if=none: Requested export not available libguestfs: child_cleanup: 0x55f734774d40: child process died libguestfs: sending SIGTERM to process 194 libguestfs: trace: v2v: launch = -1 (error) virt-v2v: error: libguestfs error: guestfs_launch failed, see earlier error messages rm -rf -- '/tmp/v2vnbdkit.VYRJBW'
From the curl output above, ESXi server is not advertising "accept-ranges". IIUC, ESXi http server doesn’t support range requests.
Version-Release number of selected component (if applicable):
Migration Toolkit for Virtualization Operator 2.6.3 OpenShift Virtualization 4.15.3 ESXi 8.0.2
How reproducible:
100%
Steps to Reproduce:
1. Create a ESXi provider without vddk. 2. Migrate a VM from the ESXi and watch the virt-v2v logs
Actual results:
Migration from ESXi without vddk is failing with error "server does not support 'range' (byte range) requests".