Red Hat Bugzilla – Bug 473121
Windows PV drivers do not support shutdown through libvirt or XM
Last modified: 2014-09-07 18:52:42 EDT
Once the PV drivers are installed a windows guest the guest can no longer be shutdown by virt manager, virsh shutdown or xm shutdown.
The guest can still be shutdown from within the guest operating system or from a virsh destroy.
A customer using virt-manager would see no reaction when the shutdown button is pressed.
When the shutdown command is issues to xend (via virsh/xm/etc), if the guest is paravirtualized then the shutdown command is sent to guest.
For a fully virtualized guest, then if no PV drivers are present the guest is destroyed immediately (literally pulls the plug)
If PV drivers are installed then a shutdown command is sent to the PV drivers.
The current PV drivers do not respond to the shutdown request.
The workaround is to shutdown the virtual machine from within the windows guest (Start -> Shutdwon) or issue the "Destroy" command to XM, virsh or virt-manager
That is not an acceptable workaround. The Windows PV drivers should properly implement controlled shutdown, since that is the whole point of PV support in the guest.
Scott Noone of OSR Inc. Replied to a mail on firstname.lastname@example.org, dated 20=01-2009 as follows.
"The problem is that the shutdown can't be initiated by the driver, it
needs to come from user mode. So, a user mode service and a notification
mechanism need to be created."
Right, so the solution is to create a service in Windows that can be triggered via an event from the driver to shut down the box.
If you take a look at the (supposedly) open sourced GPL Xen Windows PV drivers (I think this is the right link: http://wiki.xensource.com/xenwiki/XenWindowsGplPv) they do this using a Windows service. We basically need the same thing in our version of the drivers. Since their code is GPL'd feel free to take it :)
The suggestion which scott gave in a mail at OSR-devel list, dated 5th - feb 2009
and 2nd - feb -2009, Using WMI event to create an event, capture it in userland application and do shutdown.
I am working on that now.
*** Bug 489845 has been marked as a duplicate of this bug. ***
Fixed in latest drop.
Fixed in 1.0.90-1.
RPMs available from http://people.redhat.com/pbonzini/xenpv-win-1.0.91-1
1.Install win guest as domu and install xenpv-win
2.Restart the windows guest
3.Run virsh shutdown,xm shutdown,or press shutdown button
The win guest can be shutdown successfully.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.