Re: [vdsm] vdsm event loop issue

2012-06-06 Thread Anthony Liguori

On 06/07/2012 10:53 AM, Royce Lv wrote:

 Thread eventloop:
   poll.poll(timeout)
  vdsm mainThread:
   os.setgroups/os.setuid/os.setgid,etc
  eventloop will receive EINTR and stops, events callback can't be
reacted from then on.Libvirt/vdsm connection's keepalive message also count
on this event loop, setuid/setgroups/etc will cause libvirt will close
connection to vdsm because of loosing keepalive message.
  This make libvirt/vdsm connection vulnerable to some system calls
like(setgroups,setuids,etc)
  While Libvirt's default eventloop API handled EINTR without causing
this problem.
  retry:
 ret = poll(fds, nfds, timeout);
 if (ret  0) {
 EVENT_DEBUG(Poll got error event %d, errno);
 if (errno == EINTR) {
 goto retry;
 }
 Based on this please see change:http://gerrit.ovirt.org/#/c/5113/


I don't think your change is correct.  You catch the exception around run_once() 
but run once sets self.runningPoll = true at the beginning and self.runningPoll 
= false at the end.  If self.poll.poll() throws an exception, you'll leave 
self.runningPoll = true when you probably need to clear it to false.


I'd suggest moving the exception handling to the run_once() function so you can 
explicitly clean up the state before returning.


Regards,

Anthony Liguori






___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] About xmlrpc an rest api

2012-06-06 Thread Alex Jia
The following is a simple example to tell you how to
use xmlrpc to connect vdsm daemon:

http://gerrit.ovirt.org/gitweb?p=vdsm.git;a=blob;f=vdsm_cli/vdscli.py.in

For document, you may git clone git://gerrit.ovirt.org/vdsm 
then compile  get relevant docs, but I haven't try it. 

Good Luck!
Alex


- Original Message -
From: Rodrigo Trujillo rodrigo.truji...@linux.vnet.ibm.com
To: vdsm-devel@lists.fedorahosted.org
Sent: Thursday, June 7, 2012 3:11:48 AM
Subject: [vdsm] About xmlrpc an rest api

Hi,

I  have researched about the VDSM APIs, but was not clear to me how to 
use them.
Where can I find documentation about them and how to use with python ?

Thank you

Rodrigo Trujillo

___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel
___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


[vdsm] SSLError with vdsm

2012-06-06 Thread Wenyi Gao


Hi guys,

When I ran the cmmand vdsClient -s 0 getVdsCaps, I got the following 
error:



$ vdsClient -s 0 getVdsCaps
Traceback (most recent call last):
  File /usr/share/vdsm/vdsClient.py, line 2275, in module
code, message = commands[command][0](commandArgs)
  File /usr/share/vdsm/vdsClient.py, line 403, in do_getCap
return self.ExecAndExit(self.s.getVdsCapabilities())
  File /usr/lib64/python2.7/xmlrpclib.py, line 1224, in __call__
return self.__send(self.__name, args)
  File /usr/lib64/python2.7/xmlrpclib.py, line 1578, in __request
verbose=self.__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 1292, in single_request
self.send_content(h, request_body)
  File /usr/lib64/python2.7/xmlrpclib.py, line 1439, in send_content
connection.endheaders(request_body)
  File /usr/lib64/python2.7/httplib.py, line 954, in endheaders
self._send_output(message_body)
  File /usr/lib64/python2.7/httplib.py, line 814, in _send_output
self.send(msg)
  File /usr/lib64/python2.7/httplib.py, line 776, in send
self.connect()
  File /usr/lib/python2.7/site-packages/vdsm/SecureXMLRPCServer.py, 
line 98, in connect

cert_reqs=self.cert_reqs)
  File /usr/lib64/python2.7/ssl.py, line 381, in wrap_socket
ciphers=ciphers)
  File /usr/lib64/python2.7/ssl.py, line 141, in __init__
ciphers)
SSLError: [Errno 185090050] _ssl.c:340: error:0B084002:x509 certificate 
routines:X509_load_cert_crl_file:system lib




But if I set ssl = false in /etc/vdsm/vdsm.conf, then run vdsClient 0 
getVdsCaps, the problem goes away.


Does anyone know what causes the problem above? Thanks.


Wenyi Gao



___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


Re: [vdsm] SSLError with vdsm

2012-06-06 Thread Zhou Zheng Sheng

Hi,
It is because normal user do not have the privilege to access the keys 
in /etc/pki/vdsm/keys/ and certificates in /etc/pki/vdsm/certs/. You can 
su to root or sudo vdsClient to use SSL connection.


于 2012年06月07日 13:03, Wenyi Gao 写道:


Hi guys,

When I ran the cmmand vdsClient -s 0 getVdsCaps, I got the following 
error:



$ vdsClient -s 0 getVdsCaps
Traceback (most recent call last):
  File /usr/share/vdsm/vdsClient.py, line 2275, in module
code, message = commands[command][0](commandArgs)
  File /usr/share/vdsm/vdsClient.py, line 403, in do_getCap
return self.ExecAndExit(self.s.getVdsCapabilities())
  File /usr/lib64/python2.7/xmlrpclib.py, line 1224, in __call__
return self.__send(self.__name, args)
  File /usr/lib64/python2.7/xmlrpclib.py, line 1578, in __request
verbose=self.__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 1292, in single_request
self.send_content(h, request_body)
  File /usr/lib64/python2.7/xmlrpclib.py, line 1439, in send_content
connection.endheaders(request_body)
  File /usr/lib64/python2.7/httplib.py, line 954, in endheaders
self._send_output(message_body)
  File /usr/lib64/python2.7/httplib.py, line 814, in _send_output
self.send(msg)
  File /usr/lib64/python2.7/httplib.py, line 776, in send
self.connect()
  File /usr/lib/python2.7/site-packages/vdsm/SecureXMLRPCServer.py, 
line 98, in connect

cert_reqs=self.cert_reqs)
  File /usr/lib64/python2.7/ssl.py, line 381, in wrap_socket
ciphers=ciphers)
  File /usr/lib64/python2.7/ssl.py, line 141, in __init__
ciphers)
SSLError: [Errno 185090050] _ssl.c:340: error:0B084002:x509 
certificate routines:X509_load_cert_crl_file:system lib




But if I set ssl = false in /etc/vdsm/vdsm.conf, then run vdsClient 
0 getVdsCaps, the problem goes away.


Does anyone know what causes the problem above? Thanks.


Wenyi Gao



___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel


--
Thanks and best regards!

Zhou Zheng Sheng / 周征晟
E-mail: zhshz...@linux.vnet.ibm.com
Telephone: 86-10-82454397

___
vdsm-devel mailing list
vdsm-devel@lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/vdsm-devel