Bug 1365411

Summary: [RFE] virt-v2v from RHEL Xen: Listing VMs failed if there are Xen VMs with block device.
Product: [oVirt] ovirt-engine Reporter: Nisim Simsolo <nsimsolo>
Component: BLL.VirtAssignee: Shahar Havivi <shavivi>
Status: CLOSED CURRENTRELEASE QA Contact: Nisim Simsolo <nsimsolo>
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.0.2.4CC: bugs, gklein, mgoldboi, michal.skrivanek, nsimsolo, tjelinek
Target Milestone: ovirt-4.0.4Keywords: FutureFeature
Target Release: 4.0.4Flags: rule-engine: ovirt-4.0.z+
mgoldboi: planning_ack+
michal.skrivanek: devel_ack+
mavital: testing_ack+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Importing Xen on Rhel VMs that have block disk is failing. The imported VM shows no block domain disk in the import details dialog.
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-26 12:37:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
vdsm.log none

Description Nisim Simsolo 2016-08-09 08:19:16 UTC
Description of problem:
- Currently, when trying to list available VMs to import from Xen using RHEV webadmin, if there is a block device disk configured on Xen, the list failed to load with the next vdsm.log error:
jsonrpc.Executor/5::ERROR::2016-08-08 15:59:30,265::v2v::918::root::(_add_disk_info) Error getting disk size
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/vdsm/v2v.py", line 915, in _add_disk_info
    vol = conn.storageVolLookupByPath(disk['alias'])
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 4596, in storageVolLookupByPath
    if ret is None:raise libvirtError('virStorageVolLookupByPath() failed', conn=self)
libvirtError: cannot read dir '/dev/sdb': Not a directory

- According to virt-v2v wiki, If the guest disks are located on a host block device, then the conversion will fail. 
see http://libguestfs.org/virt-v2v.1.html#xen-or-ssh-conversions-from-block-devices for a workaround.

- It would be nice to have an ability to import VM with block device from Xen using virt-v2v workaround.

Version-Release number of selected component (if applicable):
rhevm-4.0.2.4-0.1.el7ev

How reproducible:
100%

Steps to Reproduce:
1. Add Block device to Xen
2. Using webadmin import dialog, enter Xen details and click "load" button.
3.

Actual results:
list failed to load.

Expected results:
using virt-v2v workaround, it should be possible to list source VMs and import them.

Additional info:
vdsm.log attached (issue occured at: 2016-08-08 15:59:30,265)

Comment 1 Nisim Simsolo 2016-08-09 08:32:18 UTC
Created attachment 1189132 [details]
vdsm.log

Comment 2 Michal Skrivanek 2016-08-10 04:39:33 UTC
For a start, we need to make suren the list is returned correctly without the problematic VM, or flagged accordingly

Comment 3 Michal Skrivanek 2016-08-10 07:30:42 UTC
Workaround is to use virt-v2v-copy-to-local from libguestfs 1.32 and virt-v2v on a command line

Comment 4 Michal Skrivanek 2016-08-12 09:44:15 UTC
note - the ack for 4.0.4 is for fixing the VM listing, not the actual workaround. That one is no feasible and we will look at that later eventually

Comment 5 Nisim Simsolo 2016-09-13 12:07:52 UTC
Verified: 
ovirt-engine-4.0.4.2-0.1.el7ev
vdsm-4.18.13-1.el7ev.x86_64
qemu-kvm-rhev-2.6.0-23.el7.x86_64
libvirt-client-2.0.0-8.el7.x86_64
sanlock-3.4.0-1.el7.x86_64

Listing VMs issue fixed, in case there are VMs in Xen with block device.

Comment 6 Nisim Simsolo 2016-09-13 12:17:27 UTC
See RFE https://bugzilla.redhat.com/show_bug.cgi?id=1375563 - [RFE] virt-v2v from RHEL Xen: Implement virt-v2v workaround for converting VM with block device.