Bug 805417

Summary: RFE: support inspection of installation ISOs of WinVista, Win7, Win2008 & Win2008r2
Product: Red Hat Enterprise Linux 7 Reporter: Yuyu Zhou <yuzhou>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: berrange, leiwang, mbooth, ptoscano, qwan, rjones, wshi, yuliu
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libguestfs-1.22.5-2.el7 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 13:42:42 UTC Type: ---
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: 1129928, 1129931, 1129963    
Bug Blocks:    
Attachments:
Description Flags
virt-inspector -a en_windows_8_1_enterprise_x64_dvd_2971902.iso -x -v
none
isoinfo -d -i en_windows_8_1_enterprise_x64_dvd_2971902.iso none

Description Yuyu Zhou 2012-03-21 09:02:04 UTC
Description of problem:
Fail to inspect-os for iso of WinVista, Win7, Win2008 & Win2008r2

Version-Release number of selected component (if applicable):
libguestfs-1.16.10-1.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1. download a bootable install disk.
2. Inspect the DVD iso as following:
# guestfish
$ add-ro en_windows_7_ultimate_x64_dvd_x15-65922.iso
$ run
$ inspect-os

Actual results:
At step2
$ inspect-os
no output

Expected results:
At Step2
$inspect-os 
list of operating systems should be listed.

Additional info:
Full test result:
+-----------+---------+----------+
|  OS type  |  Arch   |  Result  |
+-----------+---------+----------+
|  RHEL4.8  |  i386   |   PASS   |
+-----------+---------+----------+
|  RHEL4.8  | x86_64  |   PASS   |
+-----------+---------+----------+
|  RHEL5.5  |  i386   |   PASS   |
+-----------+---------+----------+
|  RHEL5.5  | x86_64  |   PASS   |
+-----------+---------+----------+
|  RHEL6.0  |  i386   |   PASS   |
+-----------+---------+----------+
|  RHEL6.0  | x86_64  |   PASS   |
+-----------+---------+----------+
|  WindowXP |  i386   |   PASS   |
+-----------+---------+----------+
|  Win2003  |  i386   |   PASS   |
+-----------+---------+----------+
|  Win2003  | x86_64  |   PASS   |
+-----------+---------+----------+
|  Win2008  |  i386   |   FAIL   |
+-----------+---------+----------+
|  Win2008  | x86_64  |   FAIL   |
+-----------+---------+----------+
| Win2008r2 | x86_64  |   FAIL   |
+-----------+---------+----------+
|    Win7   |  i386   |   FAIL   |
+-----------+---------+----------+
|    Win7   | x86_64  |   FAIL   |
+-----------+---------+----------+
| Win-vista |  i386   |   FAIL   |
+-----------+---------+----------+
| Win-vista | x86_64  |   FAIL   |
+-----------+---------+----------+

Comment 1 Richard W.M. Jones 2012-03-21 09:42:49 UTC
We don't currently support inspection of installer disks
of Windows 2008, Windows 7 and Vista (not even upstream)
but it's something we're going to add.

Comment 2 RHEL Program Management 2012-07-10 06:19:14 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 3 RHEL Program Management 2012-07-11 00:01:59 UTC
This request was erroneously removed from consideration in Red Hat Enterprise Linux 6.4, which is currently under development.  This request will be evaluated for inclusion in Red Hat Enterprise Linux 6.4.

Comment 4 Richard W.M. Jones 2012-08-10 13:06:33 UTC
No upstream fix.  Likely to be fixed in time for RHEL 7
by integrating libosinfo for CD/installer detection.
Setting RHEL 6.5 flags just in case we rebase.

Comment 5 Richard W.M. Jones 2012-11-29 18:26:37 UTC
*** Bug 811398 has been marked as a duplicate of this bug. ***

Comment 6 Richard W.M. Jones 2012-11-29 18:30:22 UTC
The upstream fix is:
https://github.com/libguestfs/libguestfs/commit/90e7981082a2685b235724a6dd9b737cb90fe553

This is RHEL 7 material since it involves libosinfo
integration.

Comment 13 Richard W.M. Jones 2013-07-30 09:50:57 UTC
PLEASE NOTE: Although I am reassigning this bug to libosinfo,
there's not necessarily a libosinfo bug here.  It's just so the
component is correct for QA if they do find problems.  Read on
for more details.

---

libguestfs now uses libosinfo for most ISO inspection
tasks.  Therefore inspection of ISOs of Windows should
Just Work, provided the ISOs are listed in the libosinfo
database.

---

Here is how to determine if libguestfs is using libosinfo:

(1) Pick an ISO.

(2) Run:

  virt-inspector -a Windows8-ConsumerPreview-64bit-English.iso -x -v

(3) In the log messages you should see something like:

libguestfs: osinfo: loading database from /usr/share/libosinfo/db/oses
libguestfs: osinfo: mapped disk to database entry 258

The first message ("loading database") indicates that libosinfo is
being used.

The second message ("mapped disk to database entry") indicates that
a match for your ISO was found in the libosinfo database.

(4) Check that virt-inspector correctly identified the ISO:

    <name>windows</name>
    <arch>x86_64</arch>
    <distro>windows</distro>
    <product_name>Microsoft Windows 8</product_name>
    <major_version>6</major_version>
    <minor_version>2</minor_version>
    <format>installer</format>

Is that what you expected for this ISO?

---

If libguestfs is using libosinfo, but is not identifying an ISO
correctly, that is a bug *in libosinfo*.  You'll have to get the
disk information from the ISO and submit it upstream:

  $ isoinfo -d -i Windows8-ConsumerPreview-64bit-English.iso >& info.txt

---

If libguestfs is *not* using libosinfo at all and is not identifying
an ISO correctly, that is a bug *in libguestfs*.

Comment 14 bfan 2014-08-13 09:07:00 UTC
Test "inspect-get-format" with libguestfs-1.27.22-1.3.el7.x86_64 


+-----------+---------+----------+
|  OS type  |  Arch   |  Result  |
+-----------+---------+----------+
|  RHEL4.9  |  i386   |   PASS   |
+-----------+---------+----------+
|  RHEL4.9  | x86_64  |   PASS   |
+-----------+---------+----------+
|  RHEL5.11 |  i386   |   PASS   |
+-----------+---------+----------+
|  RHEL5.11 | x86_64  |   PASS   |
+-----------+---------+----------+
|  RHEL6.6  |  i386   |   PASS   |
+-----------+---------+----------+
|  RHEL6.6  | x86_64  |   PASS   |
+-----------+---------+----------+
|  RHEL7.0  | x86_64  |   PASS   |
+-----------+---------+----------+
|  WindowXP |  i386   |   PASS   |
+-----------+---------+----------+
|  WindowXP |  x86_64 |   PASS   |     
+-----------+---------+----------+
|  Win2003  |  i386   |   PASS   | 
+-----------+---------+----------+
|  Win2003  | x86_64  |   PASS   |
+-----------+---------+----------+
|  Win2003r2| x86_64  |   PASS   |
+-----------+---------+----------+
|  Win2008  |  i386   |   PASS   |
+-----------+---------+----------+
|  Win2008  | x86_64  |   PASS   |
+-----------+---------+----------+
|  Win2012  | x86_64  |   FAIL   |
+-----------+---------+----------+
| Win2012r2 | x86_64  |   FAIL   |
+-----------+---------+----------+
|    Win7   |  i386   |   PASS   |
+-----------+---------+----------+
|    Win7   | x86_64  |   FAIL   |  
+-----------+---------+----------+
| Win-vista |  i386   |   PASS   |
+-----------+---------+----------+
| Win-vista | x86_64  |   PASS   |
+-----------+---------+----------+
|    Win8   |  i386   |   FAIL   |
+-----------+---------+----------+
|    Win8   | x86_64  |   FAIL   |
+-----------+---------+----------+


For the failed test, using virt-inspector to check, the result indicates that libosinfo is being used.

Full log is attached.

Comment 15 bfan 2014-08-13 09:09:06 UTC
Created attachment 926329 [details]
virt-inspector -a en_windows_8_1_enterprise_x64_dvd_2971902.iso -x -v

Comment 16 bfan 2014-08-13 09:09:59 UTC
Created attachment 926330 [details]
isoinfo -d -i en_windows_8_1_enterprise_x64_dvd_2971902.iso

Comment 17 Richard W.M. Jones 2014-08-13 09:18:22 UTC
Bo: Can you open new bugs *against libosinfo* for each failing guest.

For each one, include the isoinfo information.

Comment 18 bfan 2014-08-14 06:19:46 UTC
(In reply to Richard W.M. Jones from comment #17)
> Bo: Can you open new bugs *against libosinfo* for each failing guest.
> 
> For each one, include the isoinfo information.

Sure, bugs submitted.

Comment 20 yuliu 2014-11-10 08:09:56 UTC
Version: libguestfs-1.28.1-1.9.el7.x86_64

# guestfish -a en_windows_server_2012_r2_x64_dvd_2707946.iso run : inspect-os : inspect-get-format /dev/sda
/dev/sda
installer
# guestfish -a en_windows_7_ultimate_with_sp1_x64_dvd_u_677332.iso run : inspect-os : inspect-get-format /dev/sda
/dev/sda
installer
# guestfish -a en_windows_8_enterprise_x64_dvd_917522.iso  run : inspect-os : inspect-get-format /dev/sda
/dev/sda
installer
# guestfish -a en_windows_8_enterprise_x86_dvd_917587.iso  run : inspect-os : inspect-get-format /dev/sda
/dev/sda
installer
# 

Verified as above.

Comment 22 errata-xmlrpc 2015-03-05 13:42:42 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/RHBA-2015-0303.html