diff options
author | emellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com> | 2006-03-31 00:15:12 +0100 |
---|---|---|
committer | emellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com> | 2006-03-31 00:15:12 +0100 |
commit | 0464aecf6c9e27388f7942f7ae9ff8a30ec4719e (patch) | |
tree | 08c45f550dace68719e76b48efcb486f22411fe8 | |
parent | 6b914525affdc9225cd8d7521382d04c81344bff (diff) | |
download | xen-0464aecf6c9e27388f7942f7ae9ff8a30ec4719e.tar.gz xen-0464aecf6c9e27388f7942f7ae9ff8a30ec4719e.tar.bz2 xen-0464aecf6c9e27388f7942f7ae9ff8a30ec4719e.zip |
Better formatting of error messages for xmlrpclib.Faults, matching similar code
in main.py.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
-rw-r--r-- | tools/python/xen/xm/create.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/python/xen/xm/create.py b/tools/python/xen/xm/create.py index 045930530d..adfd6f1f42 100644 --- a/tools/python/xen/xm/create.py +++ b/tools/python/xen/xm/create.py @@ -27,9 +27,11 @@ import socket import commands import time import re +import xmlrpclib from xen.xend import sxp from xen.xend import PrettyPrint +import xen.xend.XendClient from xen.xend.XendClient import server from xen.xend.XendBootloader import bootloader from xen.util import blkif @@ -814,6 +816,14 @@ def make_domain(opts, config): try: dominfo = server.xend.domain.create(config) + except xmlrpclib.Fault, ex: + import signal + if vncpid: + os.kill(vncpid, signal.SIGKILL) + if ex.faultCode == xen.xend.XendClient.ERROR_INVALID_DOMAIN: + err("the domain '%s' does not exist." % ex.faultString) + else: + err("%s" % ex.faultString) except Exception, ex: import signal if vncpid: @@ -824,6 +834,9 @@ def make_domain(opts, config): try: server.xend.domain.waitForDevices(dom) + except xmlrpclib.Fault, ex: + server.xend.domain.destroy(dom) + err("%s" % ex.faultString) except: server.xend.domain.destroy(dom) err("Device creation failed for domain %s" % dom) |