Bug 1375563

Summary: [RFE] virt-v2v from RHEL Xen: Implement virt-v2v workaround for converting VM 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: medium Docs Contact:
Priority: unspecified    
Version: 4.0.4CC: bugs, gklein, mavital, nsimsolo, shavivi, tjelinek, trichard
Target Milestone: ovirt-4.1.0-betaKeywords: FutureFeature
Target Release: ---Flags: tjelinek: ovirt-4.1?
mavital: testing_plan_complete+
rule-engine: planning_ack?
rule-engine: devel_ack+
rule-engine: testing_ack+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Release Note
Doc Text:
Currently, virtual machines with block devices cannot be imported from Xen to Red Hat Virtualization using the Administration Portal. This release adds a workaround to manually import Xen virtual machines with block devices: 1. Create an export domain. 2. Run the following command to copy the files locally: $ virt-v2v-copy-to-local -ic xen+ssh://root@xenserver.com vmname 3. Run the following command to convert the virtual machine to libvirt XML: $ virt-v2v -i libvirtxml vmname.xml -o rhev -of raw -os servername:/path/to/export/domain 4. The virtual machine should now appear in your export domain, and can be imported to a data domain.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-15 14:58:40 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:
Bug Depends On: 1416112    
Bug Blocks: 1415582    
Attachments:
Description Flags
vdsm.log none

Description Nisim Simsolo 2016-09-13 12:13:23 UTC
this RFE is for completing the next RFE https://bugzilla.redhat.com/show_bug.cgi?id=1365411 which fixing the listing VMs issue in a case of Xen VMs with block device.

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-09-13 12:16:17 UTC
Created attachment 1200479 [details]
vdsm.log

Comment 2 Red Hat Bugzilla Rules Engine 2016-09-15 07:21:37 UTC
This request has been proposed for two releases. This is invalid flag usage. The ovirt-future release flag has been cleared. If you wish to change the release flag, you must clear one release flag and then set the other release flag to ?.

Comment 4 Nisim Simsolo 2017-02-14 10:02:26 UTC
Verification builds:
ovirt-engine-4.1.1-0.1.el7
vdsm-4.19.5-1.el7ev.x86_64
libvirt-client-2.0.0-10.el7_3.4.x86_64
qemu-kvm-rhev-2.6.0-28.el7_3.5.x86_64
sanlock-3.4.0-1.el7.x86_64
virt-v2v-1.32.7-3.el7_3.2.x86_64

Verification test case added to external trackers.