[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: xm list problem with python 2.7



On Sat, 7 Aug 2010, M A Young wrote:

If I try xm list (with xen-4.0.0) I get the following traceback

Unexpected error: <type 'exceptions.AttributeError'>

Please report to xen-devel@xxxxxxxxxxxxxxxxxxx
Traceback (most recent call last):
 File "/usr/sbin/xm", line 7, in <module>
   main.main(sys.argv)
File "/usr/lib64/python2.7/site-packages/xen/xm/main.py", line 3616, in main
   _, rc = _run_cmd(cmd, cmd_name, args)
File "/usr/lib64/python2.7/site-packages/xen/xm/main.py", line 3640, in _run_c
md
   return True, cmd(args)
File "/usr/lib64/python2.7/site-packages/xen/xm/main.py", line 969, in xm_list
   doms = getDomains(params, state, use_long)
File "/usr/lib64/python2.7/site-packages/xen/xm/main.py", line 933, in getDoma
ins
   return server.xend.domains_with_state(True, state, full)
 File "/usr/lib64/python2.7/xmlrpclib.py", line 1224, in __call__
   return self.__send(self.__name, args)
File "/usr/lib64/python2.7/site-packages/xen/util/xmlrpcclient.py", line 118,
in __request
   response = xmlrpclib.ServerProxy.__request(self, methodname, params)
 File "/usr/lib64/python2.7/xmlrpclib.py", line 1570, in __request
   verbose=self.__verbose
File "/usr/lib64/python2.7/site-packages/xen/util/xmlrpcclient.py", line 55, i
n request
   request_body, verbose)
 File "/usr/lib64/python2.7/xmlrpclib.py", line 1264, in request
   return self.single_request(host, handler, request_body, verbose)
 File "/usr/lib64/python2.7/xmlrpclib.py", line 1294, in single_request
   response = h.getresponse(buffering=True)
AttributeError: HTTPUnix instance has no attribute 'getresponse'

I eventually tracked this down to xmlrpc changes in python 2.7 . The patch below fixes the xm problem, and a xend problem serving xmlrpc. Note that the first part won't work as written with earlier versions of python, though the second part is probably safe as disable_nagle_algorithm was introduced in python 2.7.

        Michael Young

--- xen-4.0.1/tools/python/xen/util/xmlrpcclient.py.orig        2010-02-02 
20:43:01.000000000 +0000
+++ xen-4.0.1/tools/python/xen/util/xmlrpcclient.py     2010-08-15 
22:52:22.000000000 +0100
@@ -54,7 +54,7 @@
         return xmlrpclib.Transport.request(self, host, '/RPC2',
                                            request_body, verbose)
     def make_connection(self, host):
-        return HTTPUnix(self.__handler)
+        return HTTPUnixConnection(self.__handler)


 # We need our own transport for HTTPS, because xmlrpclib.SafeTransport is
--- xen-4.0.1/tools/python/xen/util/xmlrpclib2.py.orig  2010-02-02 
20:43:01.000000000 +0000
+++ xen-4.0.1/tools/python/xen/util/xmlrpclib2.py       2010-08-17 
23:56:26.000000000 +0100
@@ -61,6 +61,7 @@

     def __init__(self, hosts_allowed, request, client_address, server):
         self.hosts_allowed = hosts_allowed
+        self.disable_nagle_algorithm = False
         SimpleXMLRPCRequestHandler.__init__(self, request, client_address,
                                             server)


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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.