Bug 1754908 - v2v: fix --no-copy for -o rhv-upload
Summary: v2v: fix --no-copy for -o rhv-upload
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: libguestfs
Version: 8.1
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 8.1
Assignee: Pino Toscano
QA Contact: liuzi
URL:
Whiteboard: V2V
Depends On:
Blocks: 1650413 1758964
TreeView+ depends on / blocked
 
Reported: 2019-09-24 10:55 UTC by Pino Toscano
Modified: 2020-11-14 06:06 UTC (History)
8 users (show)

Fixed In Version: libguestfs-1.40.2-15.module+el8.1.1+4955+f0b25565
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-02-04 18:28:48 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
uuid.log (1.26 MB, text/plain)
2019-12-06 09:14 UTC, liuzi
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2020:0404 0 None None None 2020-02-04 18:29:50 UTC

Description Pino Toscano 2019-09-24 10:55:46 UTC
Description of problem:
Currently, when using --no-copy with the rhv-upload mode, the actual conversion fails.
This happens because the actual data transfer is skipped, however the finalization of the metadata requires the UUIDs of the disks in RHV, which are written by the nbdkit Python plugin only at the successful end of the transfer.
The synptom is that there will be a 5 minute timeout during the metadata finalization, and then the conversion will fail.

Steps to Reproduce:
1. virt-v2v -o rhv-upload --no-copy [etc]
2. wait for it to complete

Actual results:
It will hit a timeout, and fail during the "Creating output metadata" phase.

Expected results:
It can be used properly.

Additional info:
Important note: since the disks are not copied with --no-copy, then the UUIDs for the disks must be supplied manually in order to perform the conversion in this case.
For this reason, we added a new option for the rhv-upload output mode: -oo rhv-disk-uuid=UUID, to specify as many times as the disks of the guest with made-up UUIDs not already used by any RHV resource.

This was fixed upstream with the following commits:
https://github.com/libguestfs/libguestfs/commit/74ee936505acf56d01f9b819588e7902a9401e81
https://github.com/libguestfs/libguestfs/commit/7b93ad6a32f09043bf870202b59bea83d47e0c3a
https://github.com/libguestfs/libguestfs/commit/537ba8357e44ca3aa8878a2ac98e9476a570d3f4

Comment 2 liuzi 2019-12-04 09:16:42 UTC
Test bug with builds:
virt-v2v-1.40.2-15.module+el8.1.1+4955+f0b25565.x86_64
libguestfs-1.40.2-15.module+el8.1.1+4955+f0b25565.x86_64

Steps:
1.Check the v2v man page about new option: -oo rhv-disk-uuid=UUID 
# man virt-v2v-output-rhv |grep disk-uuid -A6
       -oo rhv-disk-uuid="UUID"
           This option can used to manually specify UUIDs for the disks when creating the
           virtual machine.  If not specified, the oVirt engine will generate random UUIDs
           for the disks.  Please note that:

           ·   you must pass as many -oo rhv-disk-uuid=UUID options as the amount of disks
               in the guest

           ·   the specified UUIDs are used as they are, without checking whether they are
               already used by other disks

           This option is considered advanced, and to be used mostly in combination with
           --no-copy.

scenario 1 Use virt-v2v to convert a guest with one disk from esx6.5 to rhv, and give a random uuid
1.1 #  virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt esx6.5-rhel8.1-x86_64 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy -oo rhv-disk-uuid=12
[   0.8] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 esx6.5-rhel8.1-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   2.7] Creating an overlay to protect the source from being modified
[   6.1] Opening the overlay
[  12.4] Inspecting the overlay
[  18.7] Checking for sufficient free disk space in the guest
[  18.7] Estimating space required on target for each disk
[  18.7] Converting Red Hat Enterprise Linux 8.1 (Ootpa) to run on KVM
virt-v2v: warning: don't know how to install guest tools on rhel-8
virt-v2v: This guest has virtio drivers installed.
[  53.0] Closing the overlay
[  53.0] Assigning disks to buses
[  53.0] Checking if the guest needs BIOS or UEFI to boot
[  53.0] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
[  54.2] Creating output metadata
[  55.6] Finishing off

1.2 After conversion,check related info from RHV GUI,make sure the guest exists but no disk.


scenario 2 Use virt-v2v to convert a guest with one disk from esx6.5 to rhv, but provide multiple random uuids
2.1 #  virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt esx6.5-rhel8.1-x86_64 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy -oo rhv-disk-uuid=12 -oo rhv-disk-uuid=22
[   0.8] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 esx6.5-rhel8.1-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   2.5] Creating an overlay to protect the source from being modified
[   5.8] Opening the overlay
[  11.9] Inspecting the overlay
[  18.1] Checking for sufficient free disk space in the guest
[  18.1] Estimating space required on target for each disk
[  18.1] Converting Red Hat Enterprise Linux 8.1 (Ootpa) to run on KVM
virt-v2v: warning: don't know how to install guest tools on rhel-8
virt-v2v: This guest has virtio drivers installed.
[  51.5] Closing the overlay
[  51.6] Assigning disks to buses
[  51.6] Checking if the guest needs BIOS or UEFI to boot
[  51.6] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
virt-v2v: error: the number of ‘-oo rhv-disk-uuid’ parameters passed on 
the command line has to match the number of guest disk images (for this 
guest: 1)

If reporting bugs, run virt-v2v with debugging enabled and include the 
complete output:

  virt-v2v -v -x [...]

Result 2:Virt-v2v will give an expected error info 

scenario 3 Use virt-v2v to convert a guest with one disk from esx6.5 to rhv, but provide a uuid that is already used
2.2 #  virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt esx6.5-rhel8.1-x86_64 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy -oo rhv-disk-uuid=fc236597-1041-4885-bec9-1d71257c137e
[   0.8] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 esx6.5-rhel8.1-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   2.5] Creating an overlay to protect the source from being modified
[   6.0] Opening the overlay
[  12.0] Inspecting the overlay
[  18.7] Checking for sufficient free disk space in the guest
[  18.7] Estimating space required on target for each disk
[  18.7] Converting Red Hat Enterprise Linux 8.1 (Ootpa) to run on KVM
virt-v2v: warning: don't know how to install guest tools on rhel-8
virt-v2v: This guest has virtio drivers installed.
[  52.0] Closing the overlay
[  52.0] Assigning disks to buses
[  52.0] Checking if the guest needs BIOS or UEFI to boot
[  52.0] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
Traceback (most recent call last):
  File "/var/tmp/v2v.9SdNVu/rhv-upload-vmcheck.py", line 72, in <module>
    (params['output_name'], vm.id))
RuntimeError: VM already exists with name ‘esx6.5-rhel8.1-x86_64’, id ‘d354a4cd-1581-4167-b4cc-bb81af4e636a’
virt-v2v: error: failed vmchecks, see earlier errors

If reporting bugs, run virt-v2v with debugging enabled and include the 
complete output:

  virt-v2v -v -x [...]

Result 3:Virt-v2v will give an expected error info 

scenario 4 Use virt-v2v to convert a guest with mutiple disks from esx6.5 to rhv, but just provide one uuid 
#  virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt Auto-esx6.5-rhel7.5-multi-disks -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy -oo rhv-disk-uuid=ts
[   0.9] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 Auto-esx6.5-rhel7.5-multi-disks -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   5.7] Creating an overlay to protect the source from being modified
[  19.2] Opening the overlay
[  35.7] Inspecting the overlay
[  48.9] Checking for sufficient free disk space in the guest
[  48.9] Estimating space required on target for each disk
[  48.9] Converting Red Hat Enterprise Linux Server 7.5 (Maipo) to run on KVM
virt-v2v: warning: guest tools directory ‘linux/el7’ is missing from 
the virtio-win directory or ISO.

Guest tools are only provided in the RHV Guest Tools ISO, so this can 
happen if you are using the version of virtio-win which contains just the 
virtio drivers.  In this case only virtio drivers can be installed in the 
guest, and installation of Guest Tools will be skipped.
virt-v2v: This guest has virtio drivers installed.
[ 153.1] Closing the overlay
[ 153.1] Assigning disks to buses
[ 153.1] Checking if the guest needs BIOS or UEFI to boot
[ 153.1] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
virt-v2v: error: the number of ‘-oo rhv-disk-uuid’ parameters passed on 
the command line has to match the number of guest disk images (for this 
guest: 4)

If reporting bugs, run virt-v2v with debugging enabled and include the 
complete output:

  virt-v2v -v -x [...]

Result 4:Virt-v2v will give an expected error info 

scenario 5: Use virt-v2v to convert a guest with mutiple disks from esx6.5 to rhv, but provide four same uuids
#  virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt Auto-esx6.5-rhel7.5-multi-disks -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy -oo rhv-disk-uuid=ts -oo rhv-disk-uuid=ts -oo rhv-disk-uuid=ts -oo rhv-disk-uuid=ts
[   0.4] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 Auto-esx6.5-rhel7.5-multi-disks -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   5.0] Creating an overlay to protect the source from being modified
[  17.5] Opening the overlay
[  32.4] Inspecting the overlay
[  44.5] Checking for sufficient free disk space in the guest
[  44.5] Estimating space required on target for each disk
[  44.5] Converting Red Hat Enterprise Linux Server 7.5 (Maipo) to run on KVM
virt-v2v: warning: guest tools directory ‘linux/el7’ is missing from 
the virtio-win directory or ISO.

Guest tools are only provided in the RHV Guest Tools ISO, so this can 
happen if you are using the version of virtio-win which contains just the 
virtio drivers.  In this case only virtio drivers can be installed in the 
guest, and installation of Guest Tools will be skipped.
virt-v2v: This guest has virtio drivers installed.
[ 121.0] Closing the overlay
[ 121.1] Assigning disks to buses
[ 121.1] Checking if the guest needs BIOS or UEFI to boot
[ 121.1] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
[ 125.6] Creating output metadata
[ 127.0] Finishing off

Result 5:Virt-v2v can finish the conversion successfully and pass the regular check points.


Hi Pino
Based on the above tests,I have two small questions:
1. I want to know if there are any restrictions on manually specified disk-uuid? Because during the testing,I find if I set rhv-disk-uuid=1+1 or rhv-disk-uuid=*,
the conversion also can be finished without warning or error info.
2. In scenario 5,I provided 4 same disk-uuids and the conversion finished without warning or error info,Is it expected?

Comment 3 Pino Toscano 2019-12-04 09:38:27 UTC
(In reply to liuzi from comment #2)
> scenario 3 Use virt-v2v to convert a guest with one disk from esx6.5 to rhv,
> but provide a uuid that is already used
> 2.2 #  virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1
> -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt
> esx6.5-rhel8.1-x86_64 -it vddk -io
> vddk-libdir=/home/vmware-vix-disklib-distrib -io
> vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
> -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op
> /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy
> -oo rhv-disk-uuid=fc236597-1041-4885-bec9-1d71257c137e
> [...]
> Traceback (most recent call last):
>   File "/var/tmp/v2v.9SdNVu/rhv-upload-vmcheck.py", line 72, in <module>
>     (params['output_name'], vm.id))
> RuntimeError: VM already exists with name ‘esx6.5-rhel8.1-x86_64’, id
> ‘d354a4cd-1581-4167-b4cc-bb81af4e636a’
> virt-v2v: error: failed vmchecks, see earlier errors
> 
> If reporting bugs, run virt-v2v with debugging enabled and include the 
> complete output:
> 
>   virt-v2v -v -x [...]
> 
> Result 3:Virt-v2v will give an expected error info

Note that the error in this case is because the VM already exists in RHV.
Use -on to change the name of the VM while converting it.

> Based on the above tests,I have two small questions:
> 1. I want to know if there are any restrictions on manually specified
> disk-uuid? Because during the testing,I find if I set rhv-disk-uuid=1+1 or
> rhv-disk-uuid=*,
> the conversion also can be finished without warning or error info.
> 2. In scenario 5,I provided 4 same disk-uuids and the conversion finished
> without warning or error info,Is it expected?

At the moment there is no validation on the UUIDs:
- invalid UUIDs ought to be rejected, and I'd have expected RHV to do that somehow...
- duplicate UUIDs are not checked, so theoretically you can use the same UUID for more than one disk; weird use case though, not sure whether actually do anything about it...

Comment 4 liuzi 2019-12-04 10:16:44 UTC
(In reply to Pino Toscano from comment #3)
> (In reply to liuzi from comment #2)
> > scenario 3 Use virt-v2v to convert a guest with one disk from esx6.5 to rhv,
> > but provide a uuid that is already used
> > 2.2 #  virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1
> > -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt
> > esx6.5-rhel8.1-x86_64 -it vddk -io
> > vddk-libdir=/home/vmware-vix-disklib-distrib -io
> > vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
> > -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op
> > /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy
> > -oo rhv-disk-uuid=fc236597-1041-4885-bec9-1d71257c137e
> > [...]
> > Traceback (most recent call last):
> >   File "/var/tmp/v2v.9SdNVu/rhv-upload-vmcheck.py", line 72, in <module>
> >     (params['output_name'], vm.id))
> > RuntimeError: VM already exists with name ‘esx6.5-rhel8.1-x86_64’, id
> > ‘d354a4cd-1581-4167-b4cc-bb81af4e636a’
> > virt-v2v: error: failed vmchecks, see earlier errors
> > 
> > If reporting bugs, run virt-v2v with debugging enabled and include the 
> > complete output:
> > 
> >   virt-v2v -v -x [...]
> > 
> > Result 3:Virt-v2v will give an expected error info
> 
> Note that the error in this case is because the VM already exists in RHV.
> Use -on to change the name of the VM while converting it.

Retest scenario 3:
Use virt-v2v to convert a guest with one disk from esx6.5 to rhv,but provide a uuid that is already used by other guest on rhv.
# virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt esx6.5-rhel8.1-x86_64 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy -oo rhv-disk-uuid=fc236597-1041-4885-bec9-1d71257c137e
[   1.1] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 esx6.5-rhel8.1-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA

[   3.0] Creating an overlay to protect the source from being modified
[   6.4] Opening the overlay
[  13.1] Inspecting the overlay
[  19.6] Checking for sufficient free disk space in the guest
[  19.6] Estimating space required on target for each disk
[  19.6] Converting Red Hat Enterprise Linux 8.1 (Ootpa) to run on KVM
virt-v2v: warning: don't know how to install guest tools on rhel-8
virt-v2v: This guest has virtio drivers installed.
[  53.0] Closing the overlay
[  53.0] Assigning disks to buses
[  53.0] Checking if the guest needs BIOS or UEFI to boot
[  53.0] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
[  54.2] Creating output metadata
[  55.6] Finishing off

Result:Virt-v2v can finish the conversion successfully
But I think the result is not expected,because the uuid already used by other guests.

> > Based on the above tests,I have two small questions:
> > 1. I want to know if there are any restrictions on manually specified
> > disk-uuid? Because during the testing,I find if I set rhv-disk-uuid=1+1 or
> > rhv-disk-uuid=*,
> > the conversion also can be finished without warning or error info.
> > 2. In scenario 5,I provided 4 same disk-uuids and the conversion finished
> > without warning or error info,Is it expected?
> 
> At the moment there is no validation on the UUIDs:
> - invalid UUIDs ought to be rejected, and I'd have expected RHV to do that
> somehow...
> - duplicate UUIDs are not checked, so theoretically you can use the same
> UUID for more than one disk; weird use case though, not sure whether
> actually do anything about it...

Should I file a bug to rhv to reject invalid uuid?

Comment 5 liuzi 2019-12-06 07:39:39 UTC
Add an additional test scenario:

scenario 6:Use virt-v2v to convert a guest with one disk from esx6.5 to rhv, and give a random uuid (make sure the uuid is valid and not be used)but without parameter "--no-copy"
# virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt esx6.5-rhel8.1-x86_64 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=Default -oo rhv-direct -ip /tmp/passwd  -oo rhv-disk-uuid=fc236597-1041-4885-bec9-1d71257c256u
[   0.4] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 esx6.5-rhel8.1-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   2.1] Creating an overlay to protect the source from being modified
[   5.2] Opening the overlay
[  11.9] Inspecting the overlay
[  18.2] Checking for sufficient free disk space in the guest
[  18.2] Estimating space required on target for each disk
[  18.2] Converting Red Hat Enterprise Linux 8.1 (Ootpa) to run on KVM
virt-v2v: warning: don't know how to install guest tools on rhel-8
virt-v2v: This guest has virtio drivers installed.
[  50.9] Mapping filesystem data to avoid copying unused and blank areas
[  51.2] Closing the overlay
[  51.5] Assigning disks to buses
[  51.5] Checking if the guest needs BIOS or UEFI to boot
[  51.5] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
[  52.7] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.zkwBoJ/nbdkit0.sock", "file.export": "/" } (raw)
nbdkit: python[1]: error: /var/tmp/v2v.dMmCIF/rhv-upload-plugin.py: open: error: ['Traceback (most recent call last):\n', '  File "/var/tmp/v2v.dMmCIF/rhv-upload-plugin.py", line 150, in open\n    name = params[\'output_storage\'],\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/services.py", line 6794, in add\n    return self._internal_add(disk, headers, query, wait)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 232, in _internal_add\n    return future.wait() if wait else future\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 55, in wait\n    return self._code(response)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 229, in callback\n    self._check_fault(response)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 132, in _check_fault\n    self._raise_error(response, body)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 118, in _raise_error\n    raise error\n', 'ovirtsdk4.Error: Fault reason is "Operation failed". Fault detail is "For input string: "1d71257c256u"". HTTP response code is 400.\n']
qemu-img: Could not open 'json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.zkwBoJ/nbdkit0.sock", "file.export": "/" }': Failed to read option reply: Unexpected end-of-file before all bytes were read

virt-v2v: error: qemu-img command failed, see earlier errors

If reporting bugs, run virt-v2v with debugging enabled and include the 
complete output:

  virt-v2v -v -x [...]

Result 6:The conversion failed and virt-v2v gave an unclear error info.

scenario 7:Use virt-v2v to convert a guest with one disk from esx6.5 to rhv, and give a random invalid uuid but without parameter "--no-copy"
# virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt esx6.5-rhel8.1-x86_64 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=Default -oo rhv-direct -ip /tmp/passwd  -oo rhv-disk-uuid=fc
[   0.4] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 esx6.5-rhel8.1-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   2.1] Creating an overlay to protect the source from being modified
[   5.4] Opening the overlay
[  12.1] Inspecting the overlay
[  19.1] Checking for sufficient free disk space in the guest
[  19.1] Estimating space required on target for each disk
[  19.1] Converting Red Hat Enterprise Linux 8.1 (Ootpa) to run on KVM
virt-v2v: warning: don't know how to install guest tools on rhel-8
virt-v2v: This guest has virtio drivers installed.
[  52.6] Mapping filesystem data to avoid copying unused and blank areas
[  53.0] Closing the overlay
[  53.2] Assigning disks to buses
[  53.2] Checking if the guest needs BIOS or UEFI to boot
[  53.2] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
[  54.4] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.aiOqc6/nbdkit0.sock", "file.export": "/" } (raw)
nbdkit: python[1]: error: /var/tmp/v2v.k1d5vN/rhv-upload-plugin.py: open: error: ['Traceback (most recent call last):\n', '  File "/var/tmp/v2v.k1d5vN/rhv-upload-plugin.py", line 150, in open\n    name = params[\'output_storage\'],\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/services.py", line 6794, in add\n    return self._internal_add(disk, headers, query, wait)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 232, in _internal_add\n    return future.wait() if wait else future\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 55, in wait\n    return self._code(response)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 229, in callback\n    self._check_fault(response)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 132, in _check_fault\n    self._raise_error(response, body)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 118, in _raise_error\n    raise error\n', 'ovirtsdk4.Error: Fault reason is "Operation failed". Fault detail is "Invalid UUID string: fc". HTTP response code is 400.\n']
qemu-img: Could not open 'json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.aiOqc6/nbdkit0.sock", "file.export": "/" }': Failed to read option reply: Unexpected end-of-file before all bytes were read

virt-v2v: error: qemu-img command failed, see earlier errors

If reporting bugs, run virt-v2v with debugging enabled and include the 
complete output:

  virt-v2v -v -x [...]

Result 7:The conversion failed and virt-v2v gave an unclear error info.


Hi Pino,
I find that without parameter "--no-copy", no matter what the disk-uuid is,v2v conversion will fail and show an unclear error info.
I think we need to do something for this problem,such as fixing the problem to make conversion successfully or updating the man page to restrict the use of rhv-disk-uuid.

Comment 6 Pino Toscano 2019-12-06 08:51:13 UTC
(In reply to liuzi from comment #4)
> Should I file a bug to rhv to reject invalid uuid?

Yes, please.

(In reply to liuzi from comment #5)
> scenario 6:Use virt-v2v to convert a guest with one disk from esx6.5 to rhv,
> and give a random uuid (make sure the uuid is valid and not be used)but
> without parameter "--no-copy"
> # virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o
> rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt
> esx6.5-rhel8.1-x86_64 -it vddk -io
> vddk-libdir=/home/vmware-vix-disklib-distrib -io
> vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
> -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op
> /tmp/rhvpasswd -oo rhv-cluster=Default -oo rhv-direct -ip /tmp/passwd  -oo
> rhv-disk-uuid=fc236597-1041-4885-bec9-1d71257c256u

Can you please try writing the UUID without dashes, i.e.
  virt-v2v ... -oo rhv-disk-uuid=fc23659710414885bec91d71257c256u

Comment 7 liuzi 2019-12-06 09:10:08 UTC
Test to give a valid uuid without dashes
# virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt esx6.5-rhel8.1-x86_64 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=Default -oo rhv-direct -ip /tmp/passwd  -oo rhv-disk-uuid=fc23659710414885bec91d71257c256u
[   0.8] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 esx6.5-rhel8.1-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   2.7] Creating an overlay to protect the source from being modified
[   6.0] Opening the overlay
[  12.5] Inspecting the overlay
[  19.1] Checking for sufficient free disk space in the guest
[  19.1] Estimating space required on target for each disk
[  19.1] Converting Red Hat Enterprise Linux 8.1 (Ootpa) to run on KVM
virt-v2v: warning: don't know how to install guest tools on rhel-8
virt-v2v: This guest has virtio drivers installed.
[  52.2] Mapping filesystem data to avoid copying unused and blank areas
[  52.5] Closing the overlay
[  52.7] Assigning disks to buses
[  52.7] Checking if the guest needs BIOS or UEFI to boot
[  52.7] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
[  53.9] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.3O32Hz/nbdkit0.sock", "file.export": "/" } (raw)
nbdkit: python[1]: error: /var/tmp/v2v.Rl8Pux/rhv-upload-plugin.py: open: error: ['Traceback (most recent call last):\n', '  File "/var/tmp/v2v.Rl8Pux/rhv-upload-plugin.py", line 150, in open\n    name = params[\'output_storage\'],\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/services.py", line 6794, in add\n    return self._internal_add(disk, headers, query, wait)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 232, in _internal_add\n    return future.wait() if wait else future\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 55, in wait\n    return self._code(response)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 229, in callback\n    self._check_fault(response)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 132, in _check_fault\n    self._raise_error(response, body)\n', '  File "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 118, in _raise_error\n    raise error\n', 'ovirtsdk4.Error: Fault reason is "Operation failed". Fault detail is "Invalid UUID string: fc23659710414885bec91d71257c256u". HTTP response code is 400.\n']
qemu-img: Could not open 'json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.3O32Hz/nbdkit0.sock", "file.export": "/" }': Failed to read option reply: Unexpected end-of-file before all bytes were read

virt-v2v: error: qemu-img command failed, see earlier errors

If reporting bugs, run virt-v2v with debugging enabled and include the 
complete output:

  virt-v2v -v -x [...]

Result:The conversion failed and virt-v2v gave an unclear error info,pls refer to log named uuid.log.

Comment 8 liuzi 2019-12-06 09:14:08 UTC
Created attachment 1642587 [details]
uuid.log

Comment 9 Pino Toscano 2020-01-08 11:33:21 UTC
(In reply to liuzi from comment #7)
> Test to give a valid uuid without dashes
> [...]
> nbdkit: python[1]: error: /var/tmp/v2v.Rl8Pux/rhv-upload-plugin.py: open:
> error: ['Traceback (most recent call last):\n', '  File
> "/var/tmp/v2v.Rl8Pux/rhv-upload-plugin.py", line 150, in open\n    name =
> params[\'output_storage\'],\n', '  File
> "/usr/lib64/python3.6/site-packages/ovirtsdk4/services.py", line 6794, in
> add\n    return self._internal_add(disk, headers, query, wait)\n', '  File
> "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 232, in
> _internal_add\n    return future.wait() if wait else future\n', '  File
> "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 55, in
> wait\n    return self._code(response)\n', '  File
> "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 229, in
> callback\n    self._check_fault(response)\n', '  File
> "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 132, in
> _check_fault\n    self._raise_error(response, body)\n', '  File
> "/usr/lib64/python3.6/site-packages/ovirtsdk4/service.py", line 118, in
> _raise_error\n    raise error\n', 'ovirtsdk4.Error: Fault reason is
> "Operation failed". Fault detail is "Invalid UUID string:
> fc23659710414885bec91d71257c256u". HTTP response code is 400.\n']

It seems like RHV does not support UUIDs without dashes, but only with dashes.

Comment 10 liuzi 2020-01-09 08:33:19 UTC
Verify bug with builds:
virt-v2v-1.40.2-16.module+el8.1.1+5309+6d656f05.x86_64
libguestfs-1.40.2-16.module+el8.1.1+5309+6d656f05.x86_64

Steps:
1.Check the v2v man page about options: -oo rhv-disk-uuid=UUID and --no-copy
# man virt-v2v-output-rhv |grep disk-uuid -A6
       -oo rhv-disk-uuid="UUID"
           This option can used to manually specify UUIDs for the disks when creating the virtual machine.  If not specified, the oVirt engine will generate random UUIDs for the disks.
           Please note that:

           ·   you must pass as many -oo rhv-disk-uuid=UUID options as the amount of disks in the guest

           ·   the specified UUIDs are used as they are, without checking whether they are already used by other disks

           This option is considered advanced, and to be used mostly in combination with --no-copy.

# man virt-v2v |grep "\--no-copy" -A6
       --no-copy
           Don’t copy the disks.  Instead, conversion is performed (and thrown away), and metadata is written, but no disks are created.  See also discussion of -o null below.

           This is useful in two cases: Either you want to test if conversion is likely to succeed, without the long copying process.  Or you are only interested in looking at the
           metadata.

           This option is not compatible with -o libvirt since it would create a faulty guest (one with no disks).
--
           The guest is converted and copied (unless you also specify --no-copy), but the results are thrown away and no metadata is written.

scenario 1 Use virt-v2v to convert a guest with one disk from esx6.5 to rhv with parameter --no-copy,but without rhv-disk-uuid 
1.1 # virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt esx6.5-rhel8.1-x86_64 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /home/rhvpasswd -oo rhv-cluster=Default -oo rhv-direct -ip /home/passwd --no-copy
[   1.0] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 esx6.5-rhel8.1-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   2.7] Creating an overlay to protect the source from being modified
[   5.6] Opening the overlay
[  33.3] Inspecting the overlay
[  41.1] Checking for sufficient free disk space in the guest
[  41.1] Estimating space required on target for each disk
[  41.1] Converting Red Hat Enterprise Linux 8.1 (Ootpa) to run on KVM
virt-v2v: warning: don't know how to install guest tools on rhel-8
virt-v2v: This guest has virtio drivers installed.
[  87.3] Closing the overlay
[  87.5] Assigning disks to buses
[  87.5] Checking if the guest needs BIOS or UEFI to boot
[  87.5] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /home/rhvpasswd -os nfs_data
[  88.7] Creating output metadata
virt-v2v: error: there must be ‘-oo rhv-disk-uuid’ parameters passed on 
the command line to specify the UUIDs of guest disk images (for this guest: 
1)

If reporting bugs, run virt-v2v with debugging enabled and include the 
complete output:

  virt-v2v -v -x [...]

Result 1:Virt-v2v will give an expected error info 

scenario2 Use virt-v2v to convert a guest with one disk from esx6.5 to rhv, and give a random uuid
2.1 #  virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt esx6.5-rhel8.1-x86_64 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy -oo rhv-disk-uuid=12
[   0.8] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 esx6.5-rhel8.1-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   2.7] Creating an overlay to protect the source from being modified
[   6.1] Opening the overlay
[  12.4] Inspecting the overlay
[  18.7] Checking for sufficient free disk space in the guest
[  18.7] Estimating space required on target for each disk
[  18.7] Converting Red Hat Enterprise Linux 8.1 (Ootpa) to run on KVM
virt-v2v: warning: don't know how to install guest tools on rhel-8
virt-v2v: This guest has virtio drivers installed.
[  53.0] Closing the overlay
[  53.0] Assigning disks to buses
[  53.0] Checking if the guest needs BIOS or UEFI to boot
[  53.0] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
[  54.2] Creating output metadata
[  55.6] Finishing off

2.2 After conversion,check related info from RHV GUI

Result 2:The guest exists but no disk.

scenario 3 Use virt-v2v to convert a guest with one disk from esx6.5 to rhv, but provide multiple random uuids
3.1 #  virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt esx6.5-rhel8.1-x86_64 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy -oo rhv-disk-uuid=12 -oo rhv-disk-uuid=22
[   0.8] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 esx6.5-rhel8.1-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   2.5] Creating an overlay to protect the source from being modified
[   5.8] Opening the overlay
[  11.9] Inspecting the overlay
[  18.1] Checking for sufficient free disk space in the guest
[  18.1] Estimating space required on target for each disk
[  18.1] Converting Red Hat Enterprise Linux 8.1 (Ootpa) to run on KVM
virt-v2v: warning: don't know how to install guest tools on rhel-8
virt-v2v: This guest has virtio drivers installed.
[  51.5] Closing the overlay
[  51.6] Assigning disks to buses
[  51.6] Checking if the guest needs BIOS or UEFI to boot
[  51.6] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
virt-v2v: error: the number of ‘-oo rhv-disk-uuid’ parameters passed on 
the command line has to match the number of guest disk images (for this 
guest: 1)
If reporting bugs, run virt-v2v with debugging enabled and include the 
complete output:

  virt-v2v -v -x [...]


Result 3:Virt-v2v will give an expected error info 

scenario 4 Use virt-v2v to convert a guest with mutiple disks from esx6.5 to rhv, but just provide one uuid 
#  virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt Auto-esx6.5-rhel7.5-multi-disks -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy -oo rhv-disk-uuid=ts
[   0.9] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 Auto-esx6.5-rhel7.5-multi-disks -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   5.7] Creating an overlay to protect the source from being modified
[  19.2] Opening the overlay
[  35.7] Inspecting the overlay
[  48.9] Checking for sufficient free disk space in the guest
[  48.9] Estimating space required on target for each disk
[  48.9] Converting Red Hat Enterprise Linux Server 7.5 (Maipo) to run on KVM
virt-v2v: warning: guest tools directory ‘linux/el7’ is missing from 
the virtio-win directory or ISO.

Guest tools are only provided in the RHV Guest Tools ISO, so this can 
happen if you are using the version of virtio-win which contains just the 
virtio drivers.  In this case only virtio drivers can be installed in the 
guest, and installation of Guest Tools will be skipped.
virt-v2v: This guest has virtio drivers installed.
[ 153.1] Closing the overlay
[ 153.1] Assigning disks to buses
[ 153.1] Checking if the guest needs BIOS or UEFI to boot
[ 153.1] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
virt-v2v: error: the number of ‘-oo rhv-disk-uuid’ parameters passed on 
the command line has to match the number of guest disk images (for this 
guest: 4)

If reporting bugs, run virt-v2v with debugging enabled and include the 
complete output:

  virt-v2v -v -x [...]

Result 4:Virt-v2v will give an expected error info 

scenario 5: Use virt-v2v to convert a guest with mutiple disks from esx6.5 to rhv, but provide four same uuids
#  virt-v2v  -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 -o rhv-upload -os nfs_data -of raw -b ovirtmgmt -n ovirtmgmt Auto-esx6.5-rhel7.5-multi-disks -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -oo rhv-cluster=DC1 -oo rhv-direct -ip /tmp/passwd --no-copy -oo rhv-disk-uuid=ts -oo rhv-disk-uuid=ts -oo rhv-disk-uuid=ts -oo rhv-disk-uuid=ts
[   0.4] Opening the source -i libvirt -ic vpx://root.73.141/data/10.73.196.89/?no_verify=1 Auto-esx6.5-rhel7.5-multi-disks -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib -io vddk-thumbprint=1F:97:34:5F:B6:C2:BA:66:46:CB:1A:71:76:7D:6B:50:1E:03:00:EA
[   5.0] Creating an overlay to protect the source from being modified
[  17.5] Opening the overlay
[  32.4] Inspecting the overlay
[  44.5] Checking for sufficient free disk space in the guest
[  44.5] Estimating space required on target for each disk
[  44.5] Converting Red Hat Enterprise Linux Server 7.5 (Maipo) to run on KVM
virt-v2v: warning: guest tools directory ‘linux/el7’ is missing from 
the virtio-win directory or ISO.

Guest tools are only provided in the RHV Guest Tools ISO, so this can 
happen if you are using the version of virtio-win which contains just the 
virtio drivers.  In this case only virtio drivers can be installed in the 
guest, and installation of Guest Tools will be skipped.
virt-v2v: This guest has virtio drivers installed.
[ 121.0] Closing the overlay
[ 121.1] Assigning disks to buses
[ 121.1] Checking if the guest needs BIOS or UEFI to boot
[ 121.1] Initializing the target -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -op /tmp/rhvpasswd -os nfs_data
[ 125.6] Creating output metadata
[ 127.0] Finishing off

5.2 After conversion,check related info from RHV GUI,make sure the guest exists but no disk.

Result 5:The guest exists but no disk.

Result:As above testing,now change the bug from ON_QA to VERIFIED.

Comment 12 errata-xmlrpc 2020-02-04 18:28:48 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:0404


Note You need to log in before you can comment on or make changes to this bug.