| 
    
 [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Error in Xend-API method VM_set_actions_after_crash
 Xend-API defines the method VM_set_actions_after_crash with valid action 
names coredump_and_destroy, coredump_and_restart,... . These values have to 
be converted into internal representation “coredump-destroy”, “coredump-restart”, … 
otherwise start of the domain is rejected. 
Same error occurs, if I try to create a VM using the Xend-API with 
actions_after_crash set to coredump_and_destroy. 
Could you please apply my patch to xen-4-0-testing, too. 
Signed-off-by: Lutz Dube Lutz.Dube@xxxxxxxxxxxxxx 
diff -r 8963f83ba73b -r dcd575d8a83b tools/python/xen/xend/XendAPI.py 
--- a/tools/python/xen/xend/XendAPI.py  Tue Jul 20 17:56:07 2010 +0100 
+++ b/tools/python/xen/xend/XendAPI.py  Wed Jul 21 09:52:10 2010 +0200 
@@ -1701,7 +1701,8 @@ 
     def VM_set_actions_after_crash(self, session, vm_ref, action): 
         if action not in XEN_API_ON_CRASH_BEHAVIOUR: 
             return xen_api_error(['VM_ON_CRASH_BEHAVIOUR_INVALID', vm_ref]) 
-        return self.VM_set('actions_after_crash', session, vm_ref, action) 
+        return self.VM_set('actions_after_crash', session, vm_ref,  
+                XEN_API_ON_CRASH_BEHAVIOUR_LEGACY[action]) 
     def VM_set_HVM_boot_policy(self, session, vm_ref, value): 
         if value != "" and value != "BIOS order": 
diff -r 8963f83ba73b -r dcd575d8a83b tools/python/xen/xend/XendAPIConstants.py 
--- a/tools/python/xen/xend/XendAPIConstants.py Tue Jul 20 17:56:07 2010 +0100 
+++ b/tools/python/xen/xend/XendAPIConstants.py Wed Jul 21 09:52:10 2010 +0200 
@@ -63,6 +63,18 @@ 
     'rename_restart' : 'rename_restart', 
 } 
+XEN_API_ON_CRASH_BEHAVIOUR_LEGACY = { 
+    'destroy' : 'destroy', 
+    'coredump-destroy' : 'coredump-destroy', 
+    'coredump_and_destroy' : 'coredump-destroy', 
+    'restart' : 'restart', 
+    'coredump-restart' : 'coredump-restart', 
+    'coredump_and_restart' : 'coredump-restart', 
+    'preserve' : 'preserve', 
+    'rename-restart' : 'rename-restart', 
+    'rename_restart' : 'rename-restart', 
+} 
+ 
 XEN_API_VBD_MODE = ['RO', 'RW'] 
 XEN_API_VDI_TYPE = ['system', 'user', 'ephemeral'] 
 XEN_API_VBD_TYPE = ['CD', 'Disk'] 
diff -r 8963f83ba73b -r dcd575d8a83b tools/python/xen/xend/XendConfig.py 
--- a/tools/python/xen/xend/XendConfig.py       Tue Jul 20 17:56:07 2010 +0100 
+++ b/tools/python/xen/xend/XendConfig.py       Wed Jul 21 09:52:10 2010 +0200 
@@ -41,6 +41,7 @@ 
 from xen.xend.XendSXPDev import dev_dict_to_sxp 
 from xen.util import xsconstants 
 from xen.util import auxbin 
+from xen.xend.XendAPIConstants import * 
 import xen.util.fileuri 
 log = logging.getLogger("xend.XendConfig") 
@@ -61,6 +62,11 @@ 
 def bool0(v): 
     return v != '0' and v != 'False' and bool(v) 
+ 
+def convert_on_crash(v): 
+    v = str(v) 
+    return XEN_API_ON_CRASH_BEHAVIOUR_LEGACY[v] \ 
+            if v in XEN_API_ON_CRASH_BEHAVIOUR else v 
 # Recursively copy a data struct, scrubbing out VNC passwords. 
 # Will scrub any dict entry with a key of 'vncpasswd' or any 
@@ -212,7 +218,7 @@ 
     'VCPUs_live': int, 
     'actions_after_shutdown': str, 
     'actions_after_reboot': str, 
-    'actions_after_crash': str, 
+    'actions_after_crash': convert_on_crash, 
     'PV_bootloader': str, 
     'PV_kernel': str, 
     'PV_ramdisk': str, 
--- 
Mit freundlichen Grüßen 
Lutz Dube 
Softwareentwickler 
TSP ES&S SWE OS7 
FUJITSU TECHNOLOGY SOLUTIONS GMBH 
Domagkstr. 28 
D-80807 München 
Telefon:        +49 (0)89 3222 2688 
Telefax:        +49 (0)89 3222 329 2688 
Email:          Lutz Dube@xxxxxxxxxxxxxx 
Internet:        http://ts.fujitsu.com 
Firmenangaben: http://de.ts.fujitsu.com/imprint.html 
Attachment:
patch.coredump _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel 
 
  | 
  
![]()  | 
            
         Lists.xenproject.org is hosted with RackSpace, monitoring our  |