diff options
author | Tom Wilkie <tom.wilkie@gmail.com> | 2007-03-29 17:09:49 +0100 |
---|---|---|
committer | Tom Wilkie <tom.wilkie@gmail.com> | 2007-03-29 17:09:49 +0100 |
commit | 5e7badb94112bdaed853eed349b40a3f1fbfeb0d (patch) | |
tree | 4b1b24b373c4e6898f080bc4ad06cafb49044e5c /tools | |
parent | 90bc7dea0e4996f8bfe2952d53943182ee75eef3 (diff) | |
download | xen-5e7badb94112bdaed853eed349b40a3f1fbfeb0d.tar.gz xen-5e7badb94112bdaed853eed349b40a3f1fbfeb0d.tar.bz2 xen-5e7badb94112bdaed853eed349b40a3f1fbfeb0d.zip |
Let xm commands use domids with XenAPI
signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/python/xen/xm/main.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index 35d6305b36..34a3a5d516 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -560,11 +560,21 @@ def err(msg): def get_single_vm(dom): if serverType == SERVER_XEN_API: uuids = server.xenapi.VM.get_by_name_label(dom) - n = len(uuids) - if n > 0: + if len(uuids) > 0: return uuids[0] - else: - raise OptionError("Domain '%s' not found." % dom) + + try: + domid = int(dom) + uuids = [server.xenapi.VM.get_domid(vm_ref) + for vm_ref in server.xenapi.VM.get_all() + if int(server.xenapi.VM.get_domid(vm_ref)) == domid] + except: + pass + + if len(uuids) > 0: + return uuids[0] + + raise OptionError("Domain '%s' not found." % dom) else: dominfo = server.xend.domain(dom, False) return dominfo['uuid'] |