aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>2006-03-31 00:15:12 +0100
committeremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>2006-03-31 00:15:12 +0100
commit0464aecf6c9e27388f7942f7ae9ff8a30ec4719e (patch)
tree08c45f550dace68719e76b48efcb486f22411fe8
parent6b914525affdc9225cd8d7521382d04c81344bff (diff)
downloadxen-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.py13
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)