Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-71694

virt-v2v cannot convert a guest from VMware via vddk if the guest contains a disk with a non-integer size [rhel9.6]

Linking RHIVOS CVEs to...Migration: Automation ...Sync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done-Errata
    • Icon: Undefined Undefined
    • rhel-9.6
    • rhel-9.6
    • nbdkit
    • None
    • nbdkit-1.38.5-2.el9
    • No
    • Moderate
    • ZStream
    • rhel-virt-tools
    • ssg_virtualization
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • Approved Blocker
    • x86_64
    • None

      Description of problem:
      virt-v2v cannot convert a guest from VMware via vddk if the guest contains a disk with a non-integer size

      Version-Release number of selected component (if applicable):
      virt-v2v-2.7.1-2.el9.x86_64
      libguestfs-1.54.0-3.el9.x86_64
      guestfs-tools-1.52.2-2.el9.x86_64
      nbdkit-server-1.38.5-1.el9.x86_64
      libnbd-1.20.3-1.el9.x86_64
      virtio-win-1.9.44-0.el9_5.noarch
      libvirt-libs-10.10.0-2.el9.x86_64
      qemu-img-9.1.0-7.el9.x86_64

      How reproducible:
      100%

      Steps:
      1.Prepare a guest with two disks on VMware and the size of one of the disks is not an integer, pls refer to screenshot 'disk-size-102.4MB.png'
      2. Convert the guest from VMware by virt-v2v with vddk

      #   virt-v2v -ic vpx://administrator%40vsphere.local@10.73.213.102/data/10.73.212.38/?no_verify=1 -it vddk -io vddk-libdir=/home/vddk8.0.3 -io  vddk-thumbprint=86:25:2F:5E:74:5C:43:D9:28:62:31:E0:1F:BB:1F:FD:AC:18:A5:93  -ip /home/passwd Auto-esx7.0-rhel8.7-x86_64-rhv -o null
      [   0.0] Setting up the source: -i libvirt -ic vpx://administrator%40vsphere.local@10.73.213.102/data/10.73.212.38/?no_verify=1 -it vddk Auto-esx7.0-rhel8.7-x86_64-rhv
      [   2.6] Opening the source
      [  10.4] Inspecting the source
      [  52.8] Checking for sufficient free disk space in the guest
      [  52.8] Converting Red Hat Enterprise Linux 8.7 Beta (Ootpa) (rhel8.7) to run on KVM
      virt-v2v: This guest has virtio drivers installed.
      [ 178.0] Setting a random seed
      [ 178.0] SELinux relabelling
      [ 270.3] Mapping filesystem data to avoid copying unused and blank areas
      [ 270.8] Closing the overlay
      [ 271.1] Assigning disks to buses
      [ 271.1] Checking if the guest needs BIOS or UEFI to boot
      [ 271.1] Setting up the destination: -o null
      [ 273.0] Copying disk 1/2
      █ 100% [****************************************]
      [ 957.2] Copying disk 2/2
      nbdkit: error: VixDiskLib_QueryAllocatedBlocks: One of the parameters was invalid
      nbdkit: error: VixDiskLib_QueryAllocatedBlocks: One of the parameters was invalid
      nbdkit: error: VixDiskLib_QueryAllocatedBlocks: One of the parameters was invalid
      nbdkit: error: VixDiskLib_QueryAllocatedBlocks: One of the parameters was invalid
      nbdkit: error: VixDiskLib_QueryAllocatedBlocks: One of the parameters was invalid
      nbdkit: error: VixDiskLib_QueryAllocatedBlocks: One of the parameters was invalid
      nbd+unix:///?socket=/tmp/v2v.LIfDUv/in1: nbd_block_status_64: block-status: command failed: Input/output error
      virt-v2v: error: nbdcopy exited with non-zero error code 1
      
      If reporting bugs, run virt-v2v with debugging enabled and include the 
      complete output:
      
        virt-v2v -v -x [...]
      
      

      Actual Result:
      As above description

      Excepted Result:
      Fix the bug

      Additional info:
      1. virt-v2v can convert guests from VMware via vddk if the guest contains a disk with integer size, pls refer to screenshot 'disk-size-104MB.png'

      # virt-v2v -ic vpx://administrator%40vsphere.local@10.73.213.102/data/10.73.212.38/?no_verify=1 -it vddk -io vddk-libdir=/home/vddk8.0.3 -io  vddk-thumbprint=86:25:2F:5E:74:5C:43:D9:28:62:31:E0:1F:BB:1F:FD:AC:18:A5:93  -ip /home/passwd Auto-esx7.0-rhel8.7-x86_64-rhv -o null
      [   0.0] Setting up the source: -i libvirt -ic vpx://administrator%40vsphere.local@10.73.213.102/data/10.73.212.38/?no_verify=1 -it vddk Auto-esx7.0-rhel8.7-x86_64-rhv
      [   2.6] Opening the source
      [   7.2] Inspecting the source
      [  16.1] Checking for sufficient free disk space in the guest
      [  16.1] Converting Red Hat Enterprise Linux 8.7 Beta (Ootpa) (rhel8.7) to run on KVM
      virt-v2v: This guest has virtio drivers installed.
      [  57.1] Setting a random seed
      [  57.2] SELinux relabelling
      [  84.4] Mapping filesystem data to avoid copying unused and blank areas
      [  84.9] Closing the overlay
      [  85.2] Assigning disks to buses
      [  85.2] Checking if the guest needs BIOS or UEFI to boot
      [  85.2] Setting up the destination: -o null
      [  87.0] Copying disk 1/2
      █ 100% [****************************************]
      [ 280.1] Copying disk 2/2
      █ 100% [****************************************]
      [ 282.6] Creating output metadata
      [ 282.6] Finishing off
      
      

        1. disk-size-104MB.png
          57 kB
          Ming Xie
        2. disk-size-102.4MB.png
          57 kB
          Ming Xie
        3. virt-v2v-convert-guest-with-disk-size-not-integer.log
          3.42 MB
          Ming Xie

              rhn-eng-rjones Richard Jones
              mxie@redhat.com Ming Xie
              virt-maint virt-maint
              Hongzhou Liu Hongzhou Liu
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

                Created:
                Updated:
                Resolved: