Project

Profile

Help

Story #1866

Updated by jcline@redhat.com over 8 years ago

The following traceback was observed by a Katello user to happen intermittently: 
 <pre> 
 message: (None, 'wrong version number', None) 
 Traceback (most recent call last): 
 File \"/usr/lib/python2.7/site-packages/pulp/agent/lib/dispatcher.py\", line 108, in update 
     report = handler.update(conduit, units, dict(options)) 

 File \"/usr/lib/python2.7/site-packages/pulp_node/handlers/handler.py\", line 161, in update 
     bindings = RepositoryBinding.fetch(pulp_bindings, conduit.consumer_id, repo_ids) 

 File \"/usr/lib/python2.7/site-packages/pulp_node/handlers/model.py\", 
     line 534, in fetch\n      binds.extend(RepositoryBinding.filtered(http.response_body)) 

 File \"/usr/lib/python2.7/site-packages/pulp/bindings/consumer.py\", line 158, in find_by_id 
     return self.server.GET(path) 

 File \"/usr/lib/python2.7/site-packages/pulp/bindings/server.py\", line 92, in GET 
     return self._request('GET', path, queries) 

 File \"/usr/lib/python2.7/site-packages/pulp/bindings/server.py\", line 142, in _request 
     response_code, response_body = self.server_wrapper.request(method, url, body) 

 File \"/usr/lib/python2.7/site-packages/pulp/bindings/server.py\", line 332, in request 
     # Attempt to deserialize the body (should pass unless the server is busted) 
     ConnectionException: (None, 'wrong version number', None) 
 </pre> 

 This happens when 'wrong version number' comes from OpenSSL (by way of M2Crypt). I believe[0] indicates that the TLS protocol version number provided during the handshake fails to complete successfully. That can is invalid. This could happen due to a real mis-match in supported protocol versions or very old version of OpenSSL (or a very oddly configured cipher set for Apache), but more likely it happened because the underlying TCP connection came to a premature end. handshake failed (socket read error or similiar). 

 It would be nice if we retried when certain connection errors occurred (initial connections, timeouts for safe HTTP methods, etc) automatically with pulp-admin. All this would be provided if we switched to the requests library for pulp-admin.  

 If you're interested in the OpenSSL code that causes this error, it can be found at [0] https://github.com/openssl/openssl/blob/83f68df32f0067ee7b092f70568fc33e526fd4fd/ssl/record/ssl3_record.c#L306-L320

Back