All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] [xend] Fix on-wire response for RPCs that return void
@ 2006-11-17 23:34 Jim Fehlig
  2006-11-22 14:10 ` Ewan Mellor
  0 siblings, 1 reply; 2+ messages in thread
From: Jim Fehlig @ 2006-11-17 23:34 UTC (permalink / raw)
  To: Xen-devel

[-- Attachment #1: Type: text/plain, Size: 803 bytes --]

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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: xend-success-retval.patch --]
[-- Type: text/x-patch; name="xend-success-retval.patch", Size: 1125 bytes --]

# HG changeset patch
# User jfehlig@jfehlig2.provo.novell.com
# 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@novell.com>

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:

[-- Attachment #3: Type: text/plain, Size: 138 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-11-22 14:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-17 23:34 [PATCH] [xend] Fix on-wire response for RPCs that return void Jim Fehlig
2006-11-22 14:10 ` Ewan Mellor

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.