Bug 1918988

Summary: Updated python-urllib3 causes error with older system python-six.
Product: OpenShift Container Platform Reporter: Jesus M. Rodriguez <jesusr>
Component: Operator SDKAssignee: Joe Lanford <jlanford>
Status: CLOSED ERRATA QA Contact: Fan Jia <jfan>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 3.11.0CC: aos-bugs, jesusr, jfan, jmazzite, rjohnson
Target Milestone: ---   
Target Release: 3.11.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1918781 Environment:
Last Closed: 2021-02-03 18:40:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1918987    
Bug Blocks: 1917441    

Comment 1 Jesus M. Rodriguez 2021-01-21 20:50:57 UTC
Fixed by https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=1469298

Comment 2 Jesus M. Rodriguez 2021-01-21 20:51:19 UTC
Updated python-urllib3 (1.26.2) broke with an older python-six. The urllib3 already had its copy of six removed in the previous build which caused the error.

Easy reproducer to show the underlying causes is to do the following:

$ python
import requests
requests.get(url="https://paste.centos.org/view/74829507")

With the broken package you get InvalidURL

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 72, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 498, in request
    prep = self.prepare_request(req)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 441, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/usr/lib/python2.7/site-packages/requests/models.py", line 309, in prepare
    self.prepare_url(url, params)
  File "/usr/lib/python2.7/site-packages/requests/models.py", line 377, in prepare_url
    raise InvalidURL(*e.args)
requests.exceptions.InvalidURL: Failed to parse: https://paste.centos.org/view/74829507

Comment 3 Jesus M. Rodriguez 2021-01-21 20:53:50 UTC
Easy way to test this is to use ansible-operator image.

docker run -it --entrypoint=/bin/sh registry.redhat.io/openshift4/ose-ansible-operator:v4.5

Then run the reproducer python lines from comment #2

With the FIXED package you get a 200:

<Response [200]>

Comment 8 errata-xmlrpc 2021-02-03 18:40:07 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (OpenShift Container Platform 3.11.380 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:0274