Bug 670942

Summary: libguestfs does not work with kernel-rt (MRG)
Product: Red Hat Enterprise Linux 5 Reporter: Luigi Toscano <ltoscano>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.7CC: jzheng, leiwang, mbooth, rjones
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 671082 699984 (view as bug list) Environment:
Last Closed: 2011-07-13 09:46:19 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: 671082, 699984    
Bug Blocks:    
Attachments:
Description Flags
Output from libguestfs-test-tool none

Description Luigi Toscano 2011-01-19 17:53:44 UTC
Description of problem:
Currently kernel-rt (from MRG packages) does not work with libguestfs (i.e. libguestfs-test-tool fails (or most probably kernel-rt breaks libguestfs). libguestfs always chooses the latest available kernel, maybe it should not use any kernel-rt.

Version-Release number of selected component (if applicable):
kernel-rt-2.6.33.7-rt29.45
python-libguestfs-1.2.7-1.el5.8
libguestfs-1.2.7-1.el5.8

Comment 1 Luigi Toscano 2011-01-19 17:54:44 UTC
Created attachment 474330 [details]
Output from libguestfs-test-tool

Comment 2 Luigi Toscano 2011-01-19 18:00:41 UTC
See also bz670943.

Comment 3 Richard W.M. Jones 2011-01-19 18:03:27 UTC
Can you do:

ls -l /boot

Comment 4 Luigi Toscano 2011-01-19 18:08:47 UTC
# ls -l /boot/
total 21928
-rw-r--r-- 1 root root   67214 Jan  4 13:47 config-2.6.18-238.1.1.el5
-rw-r--r-- 1 root root   67210 Dec 19 14:36 config-2.6.18-238.el5
-rw-r--r-- 1 root root   91391 Oct 12 15:46 config-2.6.33.7-rt29.45.el5rt
drwxr-xr-x 2 root root    1024 Jan 19 12:22 grub
-rw------- 1 root root 3485972 Jan 19 11:04 initrd-2.6.18-238.1.1.el5.img
-rw------- 1 root root 3486015 Jan 19 10:10 initrd-2.6.18-238.el5.img
-rw------- 1 root root 3483384 Jan 19 12:22 initrd-2.6.33.7-rt29.45.el5rt.img
drwx------ 2 root root   12288 Jan 19 05:06 lost+found
-rw-r--r-- 1 root root  113923 Jan  4 13:47 symvers-2.6.18-238.1.1.el5.gz
-rw-r--r-- 1 root root  113923 Dec 19 14:36 symvers-2.6.18-238.el5.gz
-rw-r--r-- 1 root root 1260254 Jan  4 13:47 System.map-2.6.18-238.1.1.el5
-rw-r--r-- 1 root root 1260254 Dec 19 14:36 System.map-2.6.18-238.el5
-rw-r--r-- 1 root root 1802210 Oct 12 15:46 System.map-2.6.33.7-rt29.45.el5rt
-rw-r--r-- 1 root root 2094844 Jan  4 13:47 vmlinuz-2.6.18-238.1.1.el5
-rw-r--r-- 1 root root 2094684 Dec 19 14:36 vmlinuz-2.6.18-238.el5
-rw-r--r-- 1 root root 2895200 Oct 12 15:46 vmlinuz-2.6.33.7-rt29.45.el5rt

Comment 5 Richard W.M. Jones 2011-01-19 19:05:29 UTC
Thanks.

The problem is the -rt kernel is compiled without support
for any virtio (in particular virtio-net and virtio-blk).
This is not particularly surprising given the target of
-rt kernels is not virt.

*Luigi*, can you confirm that virtio is not enabled by doing:

grep VIRTIO /boot/config-2.6.33.7-rt29.45.el5rt

Assuming I am correct about virtio, it looks like there are
three possible ways to solve this:

(1) Ignore -rt kernels (as we currently ignore xen kernels).

(2) Try to persuade the developers to enable virtio in these
    kernels.

(3) Change libguestfs in RHEL 5.6 to use non-virtio devices.
    A similar change would be needed in RHEL 6.

I favour (2) at the moment.

Comment 6 Luigi Toscano 2011-01-20 09:28:46 UTC
# grep VIRTIO /boot/config-2.6.33.7-rt29.45.el5rt
# CONFIG_VIRTIO_PCI is not set
# CONFIG_VIRTIO_BALLOON is not set

Comment 7 RHEL Program Management 2011-06-20 22:29:10 UTC
This request was evaluated by Red Hat Product Management for inclusion in Red Hat Enterprise Linux 5.7 and Red Hat does not plan to fix this issue the currently developed update.

Contact your manager or support representative in case you need to escalate this bug.

Comment 9 Richard W.M. Jones 2011-07-13 09:46:19 UTC
(In reply to comment #5)
> Thanks.
> 
> The problem is the -rt kernel is compiled without support
> for any virtio (in particular virtio-net and virtio-blk).
> This is not particularly surprising given the target of
> -rt kernels is not virt.
> 
> *Luigi*, can you confirm that virtio is not enabled by doing:
> 
> grep VIRTIO /boot/config-2.6.33.7-rt29.45.el5rt
> 
> Assuming I am correct about virtio, it looks like there are
> three possible ways to solve this:
> 
> (1) Ignore -rt kernels (as we currently ignore xen kernels).
> 
> (2) Try to persuade the developers to enable virtio in these
>     kernels.
> 
> (3) Change libguestfs in RHEL 5.6 to use non-virtio devices.
>     A similar change would be needed in RHEL 6.
> 
> I favour (2) at the moment.

As you can see from bug 699984, the -rt kernel developers
have refused to add virtio drivers.  So that's the easy fix (2)
discounted.

The code upstream vs RHEL 5 for selecting the kernel is
completely different, which means to do (1) we'd have to
write a separate implementation for RHEL 5.  I don't think
this is worth doing for RHEL 5 specially, since customers
haven't requested this, although it *is* worth fixing this
upstream (bug 671082).

There I'm going to fix this upstream but not in RHEL 5.
Please reopen the bug if you feel strongly about this.