Bug 746067

Summary: rhel5 xen pvfb vncserver init fails if domU kernel does not have xen-kbdfront driver
Product: Red Hat Enterprise Linux 5 Reporter: Pasi Karkkainen <pasik>
Component: xenAssignee: Xen Maintainance List <xen-maint>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 5.8CC: leiwang, pbonzini, qguan, qwan, xen-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-10-20 06:29:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Pasi Karkkainen 2011-10-13 19:39:36 UTC
Description of problem:

If Xen domU kernel does not have xen-kbdfront driver the whole pvfb virtual framebuffer (qemu-dm vncserver) will fail to initialize, and the console of the VM cannot be viewed using virt-viewer or vncviewer. Also virt-install will stall forever waiting for the VM console to become available.

This behaviour can be reproduced with Fedora 16 beta, which is missing xen-kbdfront driver from the installer kernel initrd image. (Yes this is a bug in F16 and it has already been fixed in upcoming F16 build).

In upstream Xen the qemu-dm vncserver will start for the pvfb even when the domU kernel is missing xen-kbdfront driver. Obviously in this case the user can't type anything on the VNC console, but at least the vncserver starts and you can see the contents of the console window.

The current behaviour of rhel5 xen qemu-dm vncserver is broken, as the pvfb will stay in uninitialized "state 2" forever. See below for more info and xenstore outputs.

Version-Release number of selected component (if applicable):
rhel 5.6 and 5.7 Xen dom0.

How reproducible:
always.

Steps to Reproduce:
1. Install rhel 5.7 Xen dom0.
2. use virt-install to install F16 beta Xen PV domU.
3. virt-install -d -n f16test64 -r 1024 --vcpus=2 -f /dev/VolGroup00/f16test64
--vnc -p -l "http://webserver/fedora/mounted-f16-beta-x64-iso/"

  
Actual results:
virt-install stalls waiting for the VM console to become available.. which never happens.

Expected results:
VNC console window for the VM opens up and the installation continues and finishes in the normal way.

Additional info:

Originally reported as:
"Fedora 16 beta Xen kbdfront hangs on rhel5 dom0":
https://bugzilla.redhat.com/show_bug.cgi?id=740657

xenstore vfb entry for failing F16 beta Xen PV domU (from xenstore-ls):

     4 = ""
      0 = ""
       vncunused = "1"
       domain = "f16test64"
       frontend = "/local/domain/4/device/vfb/0"
       state = "2"
       keymap = "fi"
       online = "1"
       frontend-id = "4"
       type = "vnc"
       hotplug-status = "connected"

xenstore vfb entry for a working F15 Xen PV domU:

     5 = ""
      0 = ""
       vncunused = "1"
       domain = "f15test64"
       frontend = "/local/domain/5/device/vfb/0"
       state = "4"
       keymap = "fi"
       online = "1"
       frontend-id = "5"
       type = "vnc"
       hotplug-status = "connected"
       request-update = "1"

xenstore vfb entry for a working EL5 Xen PV domU:

     2 = ""
      0 = ""
       vncunused = "1"
       domain = "srv1"
       frontend = "/local/domain/2/device/vfb/0"
       xauthority = "/root/.Xauthority"
       state = "4"
       keymap = "fi"
       online = "1"
       frontend-id = "2"
       type = "vnc"
       display = "localhost:10.0"
       hotplug-status = "connected"
       request-update = "1"


The difference seems to be the "state", which is "2" for the non-working F16
domU, and "4" for the working domUs.

Comment 1 Paolo Bonzini 2011-10-20 06:29:37 UTC
I don't think this has any useful usecase; the F16 installation can be started from the console and continued over VNC.