Red Hat Bugzilla – Bug 211911
Paravirt console missing after restoring a previously suspended guest
Last modified: 2007-11-30 17:07:35 EST
Description of problem:
When restoring a guest from a saved image, the paravirt vnc console does not get
activated. Also the VNC feature appears set, the VNC daemon is not started, and
the vnc port is not present in xenstored
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Find a domain 'somedomain' running the VNC paravirt console
2. Run 'virsh save somedomain somedomain.img'
3. Run 'virsh restore somedomain.img'
4. Try to connect to VNC
No VNC server running
VNC server running on an appropriate port (either explicit port, or randomly
allocated depending on guest config)
A similar problem affects VNC console when doing (live) migration across hosts -
tracking in bug 211921
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
The saved VM image does contain most of the correct VNC settings - only the
password setting is missing. The main problem appears to be that the restore
process does not start up the VNC daemon for the guest.
Created attachment 139545 [details]
Start VNC daemon upon restore
This patch addresses two issues:
- The VNC password was being wiped from the config. Stop doing this. Upstream
has a similar fix because it affects HVM reboots in similar way
- The 'image' sub-object in the XenDomainInfo.py was never being re-created
during restoration. Thus the device model daemons were not being started. This
was not previously a problem since restore doesn't work with HVM anyway. Since
we started using device model daemons for paravirt too, though this was causing
the VNC daemon to not be started upon restores.
This sorts out the XenD bits of the problem, but doesn't quite get VNC working
The next problem is in the kernel space, because the driver is not writing
details of its page-ref & event-channel into xenstore upon resume. eg these
vfb = ""
page-ref = "165784"
event-channel = "6"
vkbd = ""
page-ref = "196818"
event-channel = "7"
So, the VNC daemon starts up, but is unable to find the framebuffer details for
This should now be operating correctly, as a result of the PVFB upgrade tracked
by bug 218050.
A package has been built which should help the problem described in
this bug report. This report is therefore being closed with a resolution
of CURRENTRELEASE. You may reopen this bug report if the solution does
not work for you.