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): xen-3.0.3-2.el5 How reproducible: Always 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 Actual results: No VNC server running Expected results: VNC server running on an appropriate port (either explicit port, or randomly allocated depending on guest config) Additional info:
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 inclusion.
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 again. 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 settings: 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 the guest.
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.