Bug 1634248

Summary: virt-v2v cannot convert opensuse15 guest
Product: Red Hat Enterprise Linux 7 Reporter: liuzi <zili>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.6CC: juzhou, mxie, mzhan, ptoscano, tzheng, xiaodwan
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: V2V
Fixed In Version: libguestfs-1.40.1-1.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1655946 (view as bug list) Environment:
Last Closed: 2019-08-06 12:44:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1621895    
Bug Blocks: 1463620, 1655946, 1679960    
Attachments:
Description Flags
virt-v2v-opensuse15-debug.log none

Description liuzi 2018-09-29 09:35:12 UTC
Created attachment 1488332 [details]
virt-v2v-opensuse15-debug.log

Description of problem:
virt-v2v cannot convert opensuse15 guest

Version-Release number of selected component(if applicable):
virt-v2v-1.38.2-12.el7.x86_64
libguestfs-1.38.2-12.el7.x86_64
libvirt-4.5.0-10.el7.x86_64
qemu-kvm-rhev-2.12.0-18.el7.x86_64
kernel-3.10.0-954.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Prepare a opensuse15 guest on vmware and set disk partition is xfs during installing os.
# more /etc/SuSE-brand
openSUSE
VERSION = 15
# cat /etc/fstab
UUID=cc11afe7-fe4c-4bf1-b9df-dcdbbbac8258  /  xfs  defaults  0  0

2.Use virt-v2v to convert the guest from vmware to libvirt, but the conversion is failed
#  virt-v2v -ic vpx://root@10.73.73.141/data/10.73.75.219/?no_verify=1 esx6.7-opensuse-leap15-x86_64 --password-file /tmp/passwd
[   0.0] Opening the source -i libvirt -ic vpx://root@10.73.73.141/data/10.73.75.219/?no_verify=1 esx6.7-opensuse-leap15-x86_64
[   2.0] Creating an overlay to protect the source from being modified
[   2.6] Initializing the target -o libvirt -os default
[   2.6] Opening the overlay
[  14.7] Inspecting the overlay
virt-v2v: error: inspection could not detect the source guest (or physical
machine).

Assuming that you are running virt-v2v/virt-p2v on a source which is
supported (and not, for example, a blank disk), then this should not
happen.

Inspection field ‘i_distro’ was ‘unknown’.

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

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


Actual results:
Can't convert opensuse15 guest by virt-v2v

Expected results:
Can convert opensuse15 guest by virt-v2v

Additional info:
1.Virt-v2v can convert opensuse13.2 successfully,pls refer to bug 1472288(https://bugzilla.redhat.com/show_bug.cgi?id=1472288)
2.Virt-v2v can convert opensuse42.3 successfully,pls refer to bug 1496767(https://bugzilla.redhat.com/show_bug.cgi?id=1496767#c11)

Comment 2 Richard W.M. Jones 2018-10-01 08:15:38 UTC
The distro is detected as "unknown":

i_root = /dev/sda2
i_type = linux
i_distro = unknown
i_arch = x86_64
i_major_version = 15
i_minor_version = 0
i_package_format = unknown
i_package_management = unknown
i_product_name = openSUSE Leap 15.0
i_product_variant = unknown
i_firmware = BIOS
i_windows_systemroot = 
i_windows_software_hive = 
i_windows_system_hive = 
i_windows_current_control_set = 

virt-v2v: error: inspection could not detect the source guest (or physical 
machine).

Assuming that you are running virt-v2v/virt-p2v on a source which is 
supported (and not, for example, a blank disk), then this should not 
happen.

Inspection field ‘i_distro’ was ‘unknown’.

Comment 3 Richard W.M. Jones 2018-10-01 08:54:50 UTC
Untested patch posted:
https://www.redhat.com/archives/libguestfs/2018-October/msg00000.html

Comment 5 Pino Toscano 2018-12-05 14:30:43 UTC
28bd06227b1633fa08c073fe8dbe65d013d7dc9e
is a followup commit to handle also Thumbleweed, and Factory.

Comment 6 Pino Toscano 2019-01-17 11:48:36 UTC
This bug will be fixed by the rebase scheduled for RHEL 7.7, see bug 1621895.

Comment 8 zhoujunqin 2019-03-04 06:06:48 UTC
Verify the bug with builds:
virt-v2v-1.40.2-1.el7.x86_64
libguestfs-1.40.2-1.el7.x86_64
libvirt-4.5.0-10.el7.x86_64
qemu-kvm-rhev-2.12.0-24.el7.x86_64
kernel-3.10.0-957.el7.x86_64

Steps:
1.Convert a opensuse15 guest from VMware to rhv by virt-v2v
# virt-v2v -ic vpx://root@10.73.73.141/data/10.73.75.219/?no_verify=1 esx6.7-opensuse15-x86_64-xfs  --password-file /tmp/passwd -o rhv -os 10.66.144.40:/home/nfs_export  -on esx6.7-opensuse15-x86_64-xfs-juzhou-verify-bug1634248
[   0.0] Opening the source -i libvirt -ic vpx://root@10.73.73.141/data/10.73.75.219/?no_verify=1 esx6.7-opensuse15-x86_64-xfs
[   2.0] Creating an overlay to protect the source from being modified
[   2.6] Opening the overlay
[  17.6] Inspecting the overlay
[ 191.8] Checking for sufficient free disk space in the guest
[ 191.8] Estimating space required on target for each disk
[ 191.8] Converting openSUSE Leap 15.0 to run on KVM
virt-v2v: warning: guest tools directory ‘linux/lp151’ 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.
[1232.0] Mapping filesystem data to avoid copying unused and blank areas
[1235.0] Closing the overlay
[1235.2] Assigning disks to buses
[1235.2] Checking if the guest needs BIOS or UEFI to boot
[1235.2] Initializing the target -o rhv -os 10.66.144.40:/home/nfs_export
[1236.3] Copying disk 1/1 to /tmp/v2v.H2nm2K/c980b640-cb59-47f7-a0fe-90312d33deae/images/18607a91-496f-483e-b333-bd8e582ed567/558346f8-112d-49c9-bd56-1d5dbde1baad (raw)
    (100.00/100%)
[1772.7] Creating output metadata
[1773.0] Finishing off

2.Power on the guest on rhv4.3 and checkpoints of guest are passed

Result:
   Virt-v2v can convert opensuse15 now.

Comment 9 zhoujunqin 2019-04-19 03:32:02 UTC
Verify this bug with packages:
libvirt-4.5.0-12.el7.x86_64
libguestfs-1.40.2-3.el7.x86_64
virt-v2v-1.40.2-3.el7.x86_64
qemu-kvm-rhev-2.12.0-26.el7.x86_64
python-ovirt-engine-sdk4-4.3.1-1.el7ev.x86_64
rhv-guest-tools-iso-4.3-6.el7ev.noarch
kernel: 3.10.0-1018.el7.x86_64

rhv:4.3.0.1-0.1.el7

Steps:

1.Convert a opensuse15 guest from VMware to rhv by virt-v2v

# virt-v2v -ic vpx://root@10.73.73.141/data/10.73.75.219/?no_verify=1 -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 esx6.7-opensuse15-x86_64-xfs  --password-file /tmp/passwd -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -os nfs_data -op /tmp/rhvpasswd -oo rhv-cafile=/home/ca.pem  -oo rhv-direct=true -oo rhv-cluster=nfs -of raw  -b ovirtmgmt
Exception AttributeError: "'module' object has no attribute 'dump_plugin'" in <module 'threading' from '/usr/lib64/python2.7/threading.pyc'> ignored
[   5.5] Opening the source -i libvirt -ic vpx://root@10.73.73.141/data/10.73.75.219/?no_verify=1 esx6.7-opensuse15-x86_64-xfs -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
[  10.9] Creating an overlay to protect the source from being modified
[  17.0] Opening the overlay
[  42.6] Inspecting the overlay
[  78.2] Checking for sufficient free disk space in the guest
[  78.2] Estimating space required on target for each disk
[  78.2] Converting openSUSE Leap 15.0 to run on KVM
virt-v2v: This guest has virtio drivers installed.
[ 188.2] Mapping filesystem data to avoid copying unused and blank areas
[ 192.0] Closing the overlay
[ 192.4] Assigning disks to buses
[ 192.4] Checking if the guest needs BIOS or UEFI to boot
[ 192.4] 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
[ 199.5] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.NtvNhF/nbdkit0.sock", "file.export": "/" } (raw)
    (100.00/100%)
[1092.3] Creating output metadata
[1118.0] Finishing off

2. Power on the guest on rhv4.3 after v2v finishing conversion.

Result:
   Virt-v2v can convert opensuse15 now and vm boots up successfully.

3. I also test converting opensuse42.3 and opensuse-thumleweed vms from VMware to RHV.

# virt-v2v -ic vpx://root@10.73.73.141/data/10.73.75.219/?no_verify=1 -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 esx6.7-opensuse42.3-x86_64  --password-file /tmp/passwd -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -os nfs_data -op /tmp/rhvpasswd -oo rhv-cafile=/home/ca.pem  -oo rhv-direct=true -oo rhv-cluster=nfs -of raw  -b ovirtmgmt
Exception AttributeError: "'module' object has no attribute 'dump_plugin'" in <module 'threading' from '/usr/lib64/python2.7/threading.pyc'> ignored
[   1.1] Opening the source -i libvirt -ic vpx://root@10.73.73.141/data/10.73.75.219/?no_verify=1 esx6.7-opensuse42.3-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.8] Creating an overlay to protect the source from being modified
[   7.4] Opening the overlay
[  19.7] Inspecting the overlay
[  50.6] Checking for sufficient free disk space in the guest
[  50.6] Estimating space required on target for each disk
[  50.6] Converting openSUSE Leap 42.3 to run on KVM
virt-v2v: This guest has virtio drivers installed.
[ 152.3] Mapping filesystem data to avoid copying unused and blank areas
[ 153.1] Closing the overlay
[ 154.0] Assigning disks to buses
[ 154.0] Checking if the guest needs BIOS or UEFI to boot
[ 154.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
[ 157.1] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.NEfAJf/nbdkit0.sock", "file.export": "/" } (raw)
    (100.00/100%)
[1075.9] Creating output metadata
[1096.6] Finishing off

# virt-v2v -ic vpx://root@10.73.73.141/data/10.73.75.219/?no_verify=1 -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 esx6.7-opensuse-thumleweed-x86_64  --password-file /tmp/passwd -o rhv-upload -oc https://ibm-x3250m5-03.rhts.eng.pek2.redhat.com/ovirt-engine/api -os nfs_data -op /tmp/rhvpasswd -oo rhv-cafile=/home/ca.pem  -oo rhv-direct=true -oo rhv-cluster=nfs -of raw  -b ovirtmgmt
Exception AttributeError: "'module' object has no attribute 'dump_plugin'" in <module 'threading' from '/usr/lib64/python2.7/threading.pyc'> ignored
[   0.2] Opening the source -i libvirt -ic vpx://root@10.73.73.141/data/10.73.75.219/?no_verify=1 esx6.7-opensuse-thumleweed-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.0] Creating an overlay to protect the source from being modified
[   5.7] Opening the overlay
[  12.2] Inspecting the overlay
[  27.0] Checking for sufficient free disk space in the guest
[  27.0] Estimating space required on target for each disk
[  27.0] Converting openSUSE Tumbleweed to run on KVM
virt-v2v: QEMU Guest Agent installed for this guest.
virt-v2v: This guest has virtio drivers installed.
[  87.6] Mapping filesystem data to avoid copying unused and blank areas
[  87.9] Closing the overlay
[  88.1] Assigning disks to buses
[  88.1] Checking if the guest needs BIOS or UEFI to boot
[  88.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
[  89.9] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/var/tmp/rhvupload.dKwj8a/nbdkit0.sock", "file.export": "/" } (raw)
    (100.00/100%)
[ 968.4] Creating output metadata
[ 983.9] Finishing off

Results: Conversion finished successfully and vms boot up on rhv with no error.

As a summary, virt-v2v can support convert opensuse vms now, I move this bug from ON_QA to VERIFIED status.

Comment 11 errata-xmlrpc 2019-08-06 12:44:27 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/RHEA-2019:2096