mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +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>