diff options
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'] |