xend: implement VM_hard_reboot of XenAPI.
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 3 Jun 2008 08:33:41 +0000 (09:33 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 3 Jun 2008 08:33:41 +0000 (09:33 +0100)
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
tools/python/xen/xend/XendAPI.py
tools/python/xen/xm/main.py

index b357b07d095191e952295c0e8b092b87944749cd..c765c016d403f0dbf9626f4a29e34741b9fb2383 100644 (file)
@@ -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)
index 01660ca297b3574f02b822132400070d57738e2d..1d621254e96905e50d23e52bdf3ec15bfc53bf81 100644 (file)
@@ -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)