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