Bug 473121 - Windows PV drivers do not support shutdown through libvirt or XM
Windows PV drivers do not support shutdown through libvirt or XM
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: xenpv-win (Show other bugs)
All Linux
medium Severity medium
: rc
: ---
Assigned To: Xen Maintainance List
Virtualization Bugs
: FutureFeature
: 489845 (view as bug list)
Depends On:
Blocks: 557292 518407
  Show dependency treegraph
Reported: 2008-11-26 11:20 EST by Andrew Cathrow
Modified: 2014-09-07 18:52 EDT (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-11-16 08:45:10 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Andrew Cathrow 2008-11-26 11:20:05 EST
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.
Comment 1 Andrew Cathrow 2008-11-26 11:35:12 EST
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
Comment 3 Daniel Berrange 2008-11-26 12:18:06 EST
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.
Comment 4 ashok 2009-01-21 03:05:20 EST
Scott Noone of OSR Inc. Replied to a mail on osr-devel@redhat.com, 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."
Comment 5 Perry Myers 2009-01-21 07:59:22 EST
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 :)
Comment 6 ashok 2009-02-06 04:07:04 EST
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.
Comment 7 Perry Myers 2009-03-12 08:29:49 EDT
*** Bug 489845 has been marked as a duplicate of this bug. ***
Comment 9 Paolo Bonzini 2009-09-29 10:48:56 EDT
Fixed in latest drop.
Comment 10 Paolo Bonzini 2009-10-09 11:10:59 EDT
Fixed in 1.0.90-1.
Comment 11 Paolo Bonzini 2009-10-12 04:27:58 EDT
RPMs available from http://people.redhat.com/pbonzini/xenpv-win-1.0.91-1
Comment 13 koka xiong 2009-10-29 22:44:14 EDT
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.
Comment 15 errata-xmlrpc 2009-11-16 08:45:10 EST
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.


Note You need to log in before you can comment on or make changes to this bug.