diff -r fe60bf79d96f tools/python/xen/xend/XendAPI.py --- a/tools/python/xen/xend/XendAPI.py Mon Jun 02 16:05:07 2008 +0100 +++ b/tools/python/xen/xend/XendAPI.py Tue Jun 03 09:24:45 2008 +0900 @@ -1707,11 +1707,13 @@ class XendAPI(object): "domain_delete", vm_ref) def VM_hard_reboot(self, session, vm_ref): - return xen_api_error(XEND_ERROR_UNSUPPORTED) + return XendTask.log_progress(0, 100, do_vm_func, + "domain_reset", vm_ref) def VM_hard_shutdown(self, session, vm_ref): return XendTask.log_progress(0, 100, do_vm_func, - "domain_destroy", vm_ref) + "domain_destroy", vm_ref) + def VM_pause(self, session, vm_ref): return XendTask.log_progress(0, 100, do_vm_func, "domain_pause", vm_ref) diff -r fe60bf79d96f tools/python/xen/xm/main.py --- a/tools/python/xen/xm/main.py Mon Jun 02 16:05:07 2008 +0100 +++ b/tools/python/xen/xm/main.py Tue Jun 03 09:22:09 2008 +0900 @@ -1257,8 +1257,10 @@ def xm_reset(args): arg_check(args, "reset", 1) dom = args[0] - # TODO: XenAPI - server.xend.domain.reset(dom) + if serverType == SERVER_XEN_API: + server.xenapi.VM.hard_reboot(get_single_vm(dom)) + else: + server.xend.domain.reset(dom) def xm_pause(args): arg_check(args, "pause", 1)