Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

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:
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.