Bug #7943
closedContent sync should not silently hang/fail due do to possibly malformed proxy url
Description
Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1128296
Description of problem:
I think this is what the issue is.
Doing an install and passing proxy host/port flags with a malformed proxy url (i.e., no 'http://'), attempts to sync never time out and never throw errors. Pulp logs blow up all over the place, however.
Version-Release number of selected component (if applicable):
Satellite-6.0.4-RHEL-6-20140806.0
How reproducible:
Steps to Reproduce:
1. perform a katello-install with flags akin to the following:
--katello-proxy-url myproxy.example.com --katello-proxy-port 3128
(please note any lacking "http://" prefix)
2. Attempt syncing RH and/or custom content
3. Wait...and wait... and wait...
4. View pulp logs
Actual results:
UI just sits forever, but pulp logs appear to tell us there's an error
Aug 8 15:09:42 beast pulp: pulp_rpm.plugins.importers.yum.sync:INFO: Downloading metadata from http://satellite6.lab.eng.rdu2.redhat.com/devel/candidate-trees/Satellite/Satellite-6.0.4-RHEL-6-20140806.0/compose/rhcommon/x86_64/os/.
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: Unhandled Exception in Worker Thread [139847057159936]
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: Traceback (most recent call last):
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 92, in worker
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: session = build_session(self.config)
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 294, in build_session
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: _add_proxy(session, config)
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 325, in _add_proxy
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: url = ':'.join((host, str(config.proxy_port)))
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: TypeError: sequence item 0: expected string, NoneType found
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: Unhandled Exception in Worker Thread [139847046670080]
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: Traceback (most recent call last):
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 92, in worker
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: session = build_session(self.config)
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 294, in build_session
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: _add_proxy(session, config)
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 325, in _add_proxy
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: url = ':'.join((host, str(config.proxy_port)))
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: TypeError: sequence item 0: expected string, NoneType found
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: Unhandled Exception in Worker Thread [139847057159936]
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: Traceback (most recent call last):
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 92, in worker
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: session = build_session(self.config)
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 294, in build_session
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: _add_proxy(session, config)
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 325, in _add_proxy
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: url = ':'.join((host, str(config.proxy_port)))
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: TypeError: sequence item 0: expected string, NoneType found
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: Unhandled Exception in Worker Thread [139847046670080]
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: Traceback (most recent call last):
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 92, in worker
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: session = build_session(self.config)
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 294, in build_session
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: _add_proxy(session, config)
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 325, in _add_proxy
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: url = ':'.join((host, str(config.proxy_port)))
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: TypeError: sequence item 0: expected string, NoneType found
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: Unhandled Exception in Worker Thread [139847057159936]
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: Traceback (most recent call last):
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 92, in worker
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: session = build_session(self.config)
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 294, in build_session
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: _add_proxy(session, config)
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: File "/usr/lib/python2.6/site-packages/nectar/downloaders/threaded.py", line 325, in _add_proxy
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: url = ':'.join((host, str(config.proxy_port)))
Aug 8 15:09:42 beast pulp: nectar.downloaders.threaded:ERROR: TypeError: sequence item 0: expected string, NoneType found
- Pulp errors need to bubble up
- We need to time out appropriately
- Perhaps we should better handle/test proxy urls at install and/or during syncs or what have you?
Additional info: