Bug 809401 - inspection doesn't recognize Fedora 17+ (because of grub2 and UsrMove)
Summary: inspection doesn't recognize Fedora 17+ (because of grub2 and UsrMove)
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: libguestfs
Version: 6.3
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Richard W.M. Jones
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On: 809361
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-04-03 09:27 UTC by Richard W.M. Jones
Modified: 2012-06-20 07:01 UTC (History)
7 users (show)

Fixed In Version: libguestfs-1.16.15-1.el6
Doc Type: Bug Fix
Doc Text:
Cause: In Fedora 17, /bin is a symbolic link, not a directory. Consequence: libguestfs could not inspect Fedora 17+ guests. Fix: libguestfs inspection has been changed so that it can recognize Fedora 17+ guests. Result: virt-inspector, and other virt tools, and guestfish, can now work on Fedora 17+ guests.
Clone Of: 809361
Environment:
Last Closed: 2012-06-20 07:01:31 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2012:0774 normal SHIPPED_LIVE Low: libguestfs security, bug fix, and enhancement update 2012-06-19 19:29:50 UTC

Description Richard W.M. Jones 2012-04-03 09:27:35 UTC
It would be good to fix this for RHEL 6.3, and I think
essential to fix it for RHEL 6.4 since it is bound to
affect virt-v2v in the near future.

+++ This bug was initially created as a clone of Bug #809361 +++

Inspection doesn't recognize Fedora 18 guests,
because of grub2 and UsrMove.

><fs> run
><fs> list-filesystems 
/dev/vda1: unknown
/dev/vda2: ext4
/dev/vg_f18rawhidex64/lv_root: ext4
/dev/vg_f18rawhidex64/lv_swap: swap
><fs> file /dev/vda1 
\0 "RV\276\033\201\3509\001^\277\364\201f\213-\203}\010"
><fs> file /dev/vda2 
Linux rev 1.0 ext4 filesystem data, UUID=9fcd9921-b5c0-4b67-83e4-cb18c3dba140 (extents) (huge files)
><fs> inspect-os 
><fs> set-trace 1
><fs> inspect-os 
libguestfs: trace: inspect_os
libguestfs: trace: umount_all
libguestfs: trace: umount_all = 0
libguestfs: trace: list_devices
libguestfs: trace: list_devices = ["/dev/vda"]
libguestfs: trace: vfs_type "/dev/vda"
libguestfs: trace: vfs_type = ""
libguestfs: trace: mount_ro "/dev/vda" "/"
libguestfs: trace: mount_ro = -1 (error)
libguestfs: trace: list_partitions
libguestfs: trace: list_partitions = ["/dev/vda1", "/dev/vda2", "/dev/vda3"]
libguestfs: trace: vfs_type "/dev/vda1"
libguestfs: trace: vfs_type = ""
libguestfs: trace: mount_ro "/dev/vda1" "/"
libguestfs: trace: mount_ro = -1 (error)
libguestfs: trace: vfs_type "/dev/vda2"
libguestfs: trace: vfs_type = "ext4"
libguestfs: trace: mount_ro "/dev/vda2" "/"
libguestfs: trace: mount_ro = 0
libguestfs: trace: is_dir "/etc"
libguestfs: trace: is_dir = 0
libguestfs: trace: is_dir "/bin"
libguestfs: trace: is_dir = 0
libguestfs: trace: is_dir "/share"
libguestfs: trace: is_dir = 0
libguestfs: trace: is_file "/grub/menu.lst"
libguestfs: trace: is_file = 0
libguestfs: trace: is_file "/grub/grub.conf"
libguestfs: trace: is_file = 0
libguestfs: trace: is_file "/hurd/console"
libguestfs: trace: is_file = 0
libguestfs: trace: is_dir "/log"
libguestfs: trace: is_dir = 0
libguestfs: trace: case_sensitive_path "/windows"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/winnt"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/win32"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/win"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/System Volume Information"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/System Volume Information"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/FDOS"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: umount_all
libguestfs: trace: umount_all = 0
libguestfs: trace: vfs_type "/dev/vda3"
libguestfs: trace: vfs_type = "LVM2_member"
libguestfs: trace: mount_ro "/dev/vda3" "/"
libguestfs: trace: mount_ro = -1 (error)
libguestfs: trace: list_md_devices
libguestfs: trace: list_md_devices = []
libguestfs: trace: available "lvm2"
libguestfs: trace: available = 0
libguestfs: trace: lvs
libguestfs: trace: lvs = ["/dev/vg_f18rawhidex64/lv_root", "/dev/vg_f18rawhidex64/lv_swap"]
libguestfs: trace: vfs_type "/dev/vg_f18rawhidex64/lv_root"
libguestfs: trace: vfs_type = "ext4"
libguestfs: trace: mount_ro "/dev/vg_f18rawhidex64/lv_root" "/"
libguestfs: trace: mount_ro = 0
libguestfs: trace: is_dir "/etc"
libguestfs: trace: is_dir = 1
libguestfs: trace: is_dir "/bin"
libguestfs: trace: is_dir = 0
libguestfs: trace: is_dir "/share"
libguestfs: trace: is_dir = 0
libguestfs: trace: is_file "/grub/menu.lst"
libguestfs: trace: is_file = 0
libguestfs: trace: is_file "/grub/grub.conf"
libguestfs: trace: is_file = 0
libguestfs: trace: is_file "/hurd/console"
libguestfs: trace: is_file = 0
libguestfs: trace: is_dir "/log"
libguestfs: trace: is_dir = 0
libguestfs: trace: case_sensitive_path "/windows"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/winnt"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/win32"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/win"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/System Volume Information"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/System Volume Information"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: case_sensitive_path "/FDOS"
libguestfs: trace: case_sensitive_path = NULL (error)
libguestfs: trace: umount_all
libguestfs: trace: umount_all = 0
libguestfs: trace: vfs_type "/dev/vg_f18rawhidex64/lv_swap"
libguestfs: trace: vfs_type = "swap"
libguestfs: trace: inspect_os = []

Version-Release number of selected component (if applicable):

1.17.24

--- Additional comment from rjones@redhat.com on 2012-04-03 05:25:27 EDT ---

Fixed upstream in commit 5c8a241e5cd119f436a050ddbbf7ea73f83ff8e4.

Comment 1 Richard W.M. Jones 2012-04-03 14:01:24 UTC
Unofficially fixed in libguestfs 1.16.15-1.el6
(without qa-ack I cannot add this bug to the erratum).

Comment 6 Richard W.M. Jones 2012-04-26 14:00:29 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause:
In Fedora 17, /bin is a symbolic link, not a directory.

Consequence:
libguestfs could not inspect Fedora 17+ guests.

Fix:
libguestfs inspection has been changed so that it can recognize Fedora 17+ guests.

Result:
virt-inspector, and other virt tools, and guestfish, can now work on Fedora 17+ guests.

Comment 8 errata-xmlrpc 2012-06-20 07:01:31 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.

http://rhn.redhat.com/errata/RHSA-2012-0774.html


Note You need to log in before you can comment on or make changes to this bug.