Description of problem:
If creating a domain using libvirt (eg, virsh create foo.xml), and the config
file is set to use pygrub for boot, the VNC paravirt console does not get
activated. If creating the same domain with an explicitly specified kernel &
initrd instead of pygrub, VNC works as expected
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Identify a domain 'somedomain' running with pygrub & VNC
2. Run 'virsh dumpxml somedomain > somedomain.xml'
3. Run 'virsh destroy somedomain'
4. Edit 'somdomain.xml' and remove the <os>...</os> block from the XML
5. Run 'virsh create somedomain.xml'
No VNC console is setup
Paravirt VNC console is setup
The problem is actually partly in xend. The XenD sexpr for VNC has the '(vnc 1)'
within the '(image (linux ...))' SEXPR block. When using PyGrub though, there is
no '(image (liunux...))' block, so there is nowhere for libvirt to put the "(vnc
1)' bit required to activate the paravirt framebuffer.
XenD needs to be fixed to always check for a (image (linux (vnc 1))) block,
even if using pygrub, and then libvirt can be fixed to pass along VNC info all
Created attachment 139265 [details]
Pass along VNC settings, even when using bootloader
The attached patch makes libvirt pass in VNC settings in a (image) block, even
when using a bootloader. Needs a corresponding patch to XenD to work correctly.
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release. Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release. This request is not yet committed for
QE ack for RHEL5.
The new generation paravirt framebuffer patches included in recent RHEL-5 xen
packages completely changed the config file format. As such the problem
described in this bug no longer exists.