diff options
author | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-07-09 09:41:45 +0100 |
---|---|---|
committer | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-07-09 09:41:45 +0100 |
commit | ba302f5c0704927bad93071431752fb647bb578f (patch) | |
tree | 783c1f93c22a78699130990fb14f34368d0cc3c7 /tools | |
parent | fa13c0abe60f1a91fa43fe8e306943247ccd004c (diff) | |
download | xen-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>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/python/xen/xend/XendDomain.py | 6 | ||||
-rw-r--r-- | tools/python/xen/xm/main.py | 8 |
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) |