aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-07-09 09:41:45 +0100
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-07-09 09:41:45 +0100
commitba302f5c0704927bad93071431752fb647bb578f (patch)
tree783c1f93c22a78699130990fb14f34368d0cc3c7
parentfa13c0abe60f1a91fa43fe8e306943247ccd004c (diff)
downloadxen-ba302f5c0704927bad93071431752fb647bb578f.tar.gz
xen-ba302f5c0704927bad93071431752fb647bb578f.tar.bz2
xen-ba302f5c0704927bad93071431752fb647bb578f.zip
Fix xm save command for a inactive managed domain.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
-rw-r--r--tools/python/xen/xend/XendDomain.py6
-rw-r--r--tools/python/xen/xm/main.py8
2 files changed, 6 insertions, 8 deletions
diff --git a/tools/python/xen/xend/XendDomain.py b/tools/python/xen/xend/XendDomain.py
index 5820bc566c..502199114b 100644
--- a/tools/python/xen/xend/XendDomain.py
+++ b/tools/python/xen/xend/XendDomain.py
@@ -1253,7 +1253,11 @@ class XendDomain:
raise XendInvalidDomain(str(domid))
if dominfo.getDomid() == DOM0_ID:
- raise XendError("Cannot save privileged domain %i" % domid)
+ raise XendError("Cannot save privileged domain %s" % str(domid))
+ if dominfo._stateGet() != DOM_STATE_RUNNING:
+ raise VMBadState("Domain is not running",
+ POWER_STATE_NAMES[DOM_STATE_RUNNING],
+ POWER_STATE_NAMES[dominfo._stateGet()])
oflags = os.O_WRONLY | os.O_CREAT | os.O_TRUNC
if hasattr(os, "O_LARGEFILE"):
diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py
index 7f93373bd7..646f796633 100644
--- a/tools/python/xen/xm/main.py
+++ b/tools/python/xen/xm/main.py
@@ -700,13 +700,7 @@ def xm_save(args):
if serverType == SERVER_XEN_API:
server.xenapi.VM.save(get_single_vm(dom), savefile, checkpoint)
else:
- try:
- dominfo = parse_doms_info(server.xend.domain(dom))
- except xmlrpclib.Fault, ex:
- raise ex
-
- domid = dominfo['domid']
- server.xend.domain.save(domid, savefile, checkpoint)
+ server.xend.domain.save(dom, savefile, checkpoint)
def xm_restore(args):
arg_check(args, "restore", 1, 2)