mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
When a domain is in the process of shutting down there is a small window when the domain is known to XenD, but it will be unable to form an SXPR for it due it being in the middle of device hot-unplug. This causes the 'xm list' command to totally fail with an error like # xm list Error: Device 0 not connected Usage: xm list [options] [Domain, ...] The 'xm list' command calls into the 'domains' method of XMLRPCServer.py in XenD. This method just iterates over the list of domains, fetching the sxpr for each in turn, but with no exception handling. So if a single domain fails to generate an sxpr, no data is returned even for other domains which are still functional. This patch simply makes XenD ignore and skip over domains which throw an exception, logging the problematic domain. NB, this problem only hits 'xm list' if it is configured to use the legay XMLRPC server instead of XenAPI. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
The file test.py here is from the Zope project, and is Copyright (c) 2001, 2002 Zope Corporation and Contributors. This file is released under the Zope Public License, version 2.0, a copy of which is in the file ZPL-2.0.