Bug 855058

Summary: RFE: virt-p2v: display more information about storage devices
Product: Red Hat Enterprise Linux 7 Reporter: joherr
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: medium    
Version: 7.0CC: cwei, jeckersb, juzhou, mxie, mzhan, ptoscano, rbalakri, rjones, tzheng, xiaodwan
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: P2V
Fixed In Version: libguestfs-1.32.5-7.el7 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 17:46:18 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:
Embargoed:
Bug Depends On:    
Bug Blocks: 1288337    
Attachments:
Description Flags
virt-p2v.png none

Description joherr 2012-09-06 15:19:41 UTC
Is it possible to display more information about the storage devices when selecting them for conversion?

A system with multipath devices can show several disks for the same device. In the current display output, the user cannot determine which devices are the same storage device.

Displaying the multipath storage in a fashion similar to the output of "multipath -ll" would be useful. That way a user could easily select a single device under each multipath.

Something similar for md devices would beuseful as well since a RAID1 md device would not necessarily need all the devices converted.

Comment 2 RHEL Program Management 2012-12-14 08:18:55 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 4 Richard W.M. Jones 2015-09-23 14:14:04 UTC
For 7.2 I've done this for network devices.  For block devices
there is more work to do.  Moving to 7.3.

Comment 6 Richard W.M. Jones 2016-06-17 13:26:17 UTC
I suspect this isn't solvable with the way that virt-p2v works.

Installing multipath tools in the p2v ISO doesn't work, since the
tools don't work without being configured first.  They just print
something like:

# multipath -ll
Jun 17 14:05:32 | DM multipath kernel driver not loaded
Jun 17 14:05:32 | /etc/multipath.conf does not exist, blacklisting all devices.
Jun 17 14:05:32 | A default multipath.conf file is located at
Jun 17 14:05:32 | /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf
Jun 17 14:05:32 | You can run /sbin/mpathconf to create or modify /etc/multipath.conf
Jun 17 14:05:32 | DM multipath kernel driver not loaded

This is because virt-p2v ignores the host configuration, so
multipath cannot be set up by virt-p2v.  It's not possible for
virt-p2v to read the host configuration, since it may come from
a completely different version of Linux, or even from a radically
different operating system (ie. Windows).

I have added a few extra utilities to the ISO which can be run from
the XTerm window (there is now a button to launch an xterm on the
first dialog):

https://github.com/libguestfs/libguestfs/commit/02f648f656567f3c5d56d8d12b565501fbfb2109

This is not a fix as such, but it's about as much as we can do here.

Comment 7 mxie@redhat.com 2016-06-24 11:21:38 UTC
According to patch in comment6

Try to verify the bug with build 
virt-p2v-1.32.5-6.el7

Steps:
1. Launch virt-p2v boot GUI via iso and open XTerm

2. Check pciutils function
2.1 #rpm -q pciutils
pciutils-3.2.1-4.el7.x86_64
2.2 #lspci
10:00.0 Fibre Channel:Emulex Corporation Zephyr-X LightPulse Fibre Channel Host Adapter

Result: could use lspci command on p2v client 


3.Check hdparm function
3.1 #rpm -q haparm
haparm-9.43-5.el7.x86_64
3.2 #hdparm --help

hdparm- get/set hard disk parameters
.....

3.3 #hdparm -a /dev/sda1
/dev/sda1:
readahead =256(on)

Result:could use hdparm command on p2v client 

4.Check smartmontools function
4.1 #rpm -q smartmontool
smartmontools-6.2-4.el7.x86_64
4.2 #smartctl --help
result:show helo info normally
4.3 $smartctl -a /dev/sda1
==START OF INFORMATION SECTION==
.....

Result:could use smartctl command on p2v client 

Hi rjones

Could help to check above verify steps? Is there any missing or mistake or whether above steps are enough to verify this bug? Thanks

Comment 8 Richard W.M. Jones 2016-06-24 12:27:40 UTC
What the original bug was requesting was some way to display
the layout of host devices, especially where they use multipath.
It might either be through the 'multipath' command, or in the
GUI.

Unfortunately this is really difficult to do.  It would involve
parsing the physical machine's configuration, which (a) virt-p2v
doesn't do at the moment and (b) may not even be possible (eg.
if the physical machine is Windows, or some ancient RHEL).

What I actually implemented instead was adding pciutils (lspci),
hdparm, smartmontools (smartctl) and util-linux (lsblk) to the
ISO, which you can run from the command line.  As you demonstrated
in comment 7.

So the bug is fixed in the sense that those tools are present.
The larger RFC is likely unfixable.

Comment 9 Richard W.M. Jones 2016-06-24 14:48:31 UTC
I actually pushed a few more commits here.  These add the
serial number to the GUI display.

https://github.com/libguestfs/libguestfs/commit/68ff3ffd1de7b72255ee5098c0bfef90e6236cb5
https://github.com/libguestfs/libguestfs/commit/6aba5a49448d8ed9776164005080620d37bb97e0
https://github.com/libguestfs/libguestfs/commit/9270a27650abaf586070c51cb90b6a77ec13e0cf

I'll pick these up for the next version of virt-p2v.

Comment 10 Richard W.M. Jones 2016-06-24 21:25:50 UTC
Created attachment 1172117 [details]
virt-p2v.png

This is what virt-p2v looks like with all the patches (not
currently the one in RHEL 7.3).

Notice the device serial number is shown in the top right pane.

Comment 11 tingting zheng 2016-06-27 02:56:05 UTC
Hi,Richard

The bug need ad new build,right? Would you pls add the bug to erratum when you build the new package then QE can test it and change bug status once verified,thanks.

Comment 12 mxie@redhat.com 2016-06-27 06:10:34 UTC
Due to util-linux (lsblk) already added in virt-p2v-livecd-1.28.1-1.49.1.el7.iso , so newly added ones are ciutils (lspci),
hdparm, smartmontools (smartctl) in build virt-p2v-1.32.5-4.el7.iso

Comment 13 Richard W.M. Jones 2016-06-27 07:44:45 UTC
Yes, it needs a new build.

Comment 15 mxie@redhat.com 2016-07-11 10:09:44 UTC
Verify the bug as comment7 steps and comment10 again with build
virt-p2v-1.32.5-10.el7

Result now:
1.lspci(pciutils),hdparm, smartctl(smartmontools) and lsblk(util-linux) command could work normally in p2v client
2. At the inputting conversion info interface,there is device serial number shown in hard disks option

According above verify result, the bug has been fixed

So move the bug from ON_QA to VERIFIED

Comment 17 errata-xmlrpc 2016-11-03 17:46:18 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://rhn.redhat.com/errata/RHSA-2016-2576.html