The legacy apis return a value of None on success, which was being
converted to an illegal (as per Xen API spec) value of 'nil' in the
xmlrpc response. An example of the invalid on-wire response:
<methodResponse>
<params>
<param>
<value>
<struct>
<member>
<name>Status</name>
<value><string>Success</string></value>
</member>
<member>
<name>Value</name>
<value><nil/></value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse>
The Xen IPI spec states that destroy, hard_shutdown, pause, resume,
start, suspend, and unpause return void. This patch makes it so and
permits proper parsing of the response by clients (libxen) that follow
the spec.
Jim
# HG changeset patch
# User jfehlig@xxxxxxxxxxxxxxxxxxxxxxxxx
# Date 1163805674 25200
# Node ID 5d168b8e743a432ba719dbb990e77164c58b080d
# Parent f0ba459065d32b61c9d04ccde5787e48e23be782
The legacy apis return a value of None on success, which was being converted to
a value of 'nil' in the xmlrpc response.
The Xen IPI spec states that destroy, hard_shutdown, pause, resume, start,
suspend, and unpause return void. This patch makes it so and permits proper
parsing of the response by clients (libxen) that follow the spec.
Signed-off-by: Jim Fehlig <jfehlig@xxxxxxxxxx>
diff -r f0ba459065d3 -r 5d168b8e743a tools/python/xen/xend/XendAPI.py
--- a/tools/python/xen/xend/XendAPI.py Thu Nov 16 18:47:28 2006 -0800
+++ b/tools/python/xen/xend/XendAPI.py Fri Nov 17 16:21:14 2006 -0700
@@ -257,8 +257,8 @@ def do_vm_func(fn_name, vm_ref, *args):
"""
xendom = XendDomain.instance()
fn = getattr(xendom, fn_name)
- return xen_api_success(xendom.do_legacy_api_with_uuid(
- fn, vm_ref, *args))
+ xendom.do_legacy_api_with_uuid(fn, vm_ref, *args)
+ return xen_api_success_void()
class XendAPI:
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|