Bug 1074063 - [vdsm] [Fix] Use correct base class for parsing request
Summary: [vdsm] [Fix] Use correct base class for parsing request
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: oVirt
Classification: Retired
Component: vdsm
Version: 3.4
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 3.4.0
Assignee: Dan Kenigsberg
QA Contact: Gil Klein
URL:
Whiteboard: infra
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-03-07 20:23 UTC by gustavo.pedrosa
Modified: 2014-03-31 12:33 UTC (History)
11 users (show)

Fixed In Version: ovirt-3.4.0-ga
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-03-31 12:33:14 UTC
oVirt Team: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 25524 0 None MERGED xmlrpc: [Fix] Use correct base class for parsing request Never

Description gustavo.pedrosa 2014-03-07 20:23:57 UTC
Description of problem:
Previously we always used SecureXMLRPCServer.parse_request, even when using SimpleXMLRPCServer. That happened to work since both inherit parse_request from BaseHTTPServer.

Version-Release number of selected component (if applicable):
ovirt-3.4

How reproducible:
100%

Steps to Reproduce:
1. Disable SSL (http://www.ovirt.org/OVirt_-_connecting_development_vdsm_to_ovirt_engine#Disable_SSL_in_VDSM)
2. execute: vdsClient localhost getVdsCapabilities
3.

Actual results:
Error when get the vds capabilities

Expected results:
Get the vds capabilities

Additional info:
 Traceback (most recent call last):
   File "/usr/share/vdsm/vdsClient.py", line 2578, in <module>
  code, message = commands[command][0](commandArgs)
   File "/usr/share/vdsm/vdsClient.py", line 426, 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 1294, in single_request
  response = h.getresponse(buffering=True)
   File "/usr/lib64/python2.7/httplib.py", line 1045, in getresponse
  response.begin()
   File "/usr/lib64/python2.7/httplib.py", line 409, in begin
  version, status, reason = self._read_status()
   File "/usr/lib64/python2.7/httplib.py", line 373, in _read_status
  raise BadStatusLine(line)
 BadStatusLine: ''

Comment 1 gustavo.pedrosa 2014-03-07 20:31:08 UTC
Note: Without this fix ssl=false does not work on python 2.7

(In reply to gustavo.pedrosa from comment #0)
> Description of problem:
> Previously we always used SecureXMLRPCServer.parse_request, even when using
> SimpleXMLRPCServer. That happened to work since both inherit parse_request
> from BaseHTTPServer.
> 
> Version-Release number of selected component (if applicable):
> ovirt-3.4
> 
> How reproducible:
> 100%
> 
> Steps to Reproduce:
> 1. Disable SSL
> (http://www.ovirt.org/OVirt_-
> _connecting_development_vdsm_to_ovirt_engine#Disable_SSL_in_VDSM)
> 2. execute: vdsClient localhost getVdsCapabilities
> 3.
> 
> Actual results:
> Error when get the vds capabilities
> 
> Expected results:
> Get the vds capabilities
> 
> Additional info:
>  Traceback (most recent call last):
>    File "/usr/share/vdsm/vdsClient.py", line 2578, in <module>
>   code, message = commands[command][0](commandArgs)
>    File "/usr/share/vdsm/vdsClient.py", line 426, 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 1294, in single_request
>   response = h.getresponse(buffering=True)
>    File "/usr/lib64/python2.7/httplib.py", line 1045, in getresponse
>   response.begin()
>    File "/usr/lib64/python2.7/httplib.py", line 409, in begin
>   version, status, reason = self._read_status()
>    File "/usr/lib64/python2.7/httplib.py", line 373, in _read_status
>   raise BadStatusLine(line)
>  BadStatusLine: ''

Comment 2 Itamar Heim 2014-03-09 08:07:11 UTC
target release?

Comment 3 Sandro Bonazzola 2014-03-31 12:33:14 UTC
this is an automated message: moving to Closed CURRENT RELEASE since oVirt 3.4.0 has been released


Note You need to log in before you can comment on or make changes to this bug.