163148b426
OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=87c8ac43897718b61dbcbca0296d6c2a
91 lines
3.7 KiB
Diff
91 lines
3.7 KiB
Diff
# HG changeset patch
|
|
# User Lutz Dube <lutz.dube@ts.fujitsu.com>
|
|
# Date 1280245980 -3600
|
|
# Node ID e017930af272c888f2a562f842af4e142a973d5f
|
|
# Parent 5078f2c1e3d6a3a06ecf352a068eb496f09a2a98
|
|
xend (XenAPI): 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@ts.fujitsu.com
|
|
Acked-by: Jim Fehlig <jfehlig@novell.com>
|
|
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
|
|
|
|
Index: xen-4.0.1-testing/tools/python/xen/xend/XendAPI.py
|
|
===================================================================
|
|
--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendAPI.py
|
|
+++ xen-4.0.1-testing/tools/python/xen/xend/XendAPI.py
|
|
@@ -1667,7 +1667,8 @@ class XendAPI(object):
|
|
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":
|
|
Index: xen-4.0.1-testing/tools/python/xen/xend/XendAPIConstants.py
|
|
===================================================================
|
|
--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendAPIConstants.py
|
|
+++ xen-4.0.1-testing/tools/python/xen/xend/XendAPIConstants.py
|
|
@@ -63,6 +63,18 @@ XEN_API_ON_CRASH_BEHAVIOUR_FILTER = {
|
|
'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']
|
|
Index: xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py
|
|
===================================================================
|
|
--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendConfig.py
|
|
+++ xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py
|
|
@@ -41,6 +41,7 @@ from xen.util.pci import pci_opts_list_f
|
|
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")
|
|
@@ -62,6 +63,11 @@ def reverse_dict(adict):
|
|
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
|
|
# 2-element list whose first member is 'vncpasswd'. It will
|
|
@@ -211,7 +217,7 @@ XENAPI_CFG_TYPES = {
|
|
'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,
|