On stg, rpmlint failed on dar-2.4.17-3.fc23 with this error:
dar-2.4.17-3.fc23
[libtaskotron] 04:02:09 CRITICAL Traceback (most recent call last): File "/usr/bin/runtask", line 9, in <module> load_entry_point('libtaskotron==0.3.15', 'console_scripts', 'runtask')() File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 263, in main task_runner.run() File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 61, in run self.do_actions() File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 145, in do_actions self.do_single_action(action) File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 115, in do_single_action self._load_directive(directive_name) File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 76, in _load_directive loaded_directive = imp.load_source(real_name, directive_file) File "/usr/lib/python2.7/site-packages/libtaskotron/directives/resultsdb_directive.py", line 86, in <module> import resultsdb_api File "/usr/lib/python2.7/site-packages/resultsdb_api.py", line 19, in <module> import requests File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 58, in <module> from . import utils File "/usr/lib/python2.7/site-packages/requests/utils.py", line 26, in <module> from .compat import parse_http_list as _parse_list_header File "/usr/lib/python2.7/site-packages/requests/compat.py", line 7, in <module> from .packages import chardet File "/usr/lib/python2.7/site-packages/requests/packages/__init__.py", line 3, in <module> from . import urllib3 File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/__init__.py", line 16, in <module> from . import exceptions ImportError: cannot import name exceptions
https://taskotron.stg.fedoraproject.org/taskmaster/builders/x86_64/builds/130784/steps/runtask/logs/stdio
On production, rpmlint on the same package ended with a different error:
[libtaskotron] 04:02:09 CRITICAL Traceback (most recent call last): File "/usr/bin/runtask", line 9, in <module> load_entry_point('libtaskotron==0.3.15', 'console_scripts', 'runtask')() File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 263, in main task_runner.run() File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 61, in run self.do_actions() File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 145, in do_actions self.do_single_action(action) File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 115, in do_single_action self._load_directive(directive_name) File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 76, in _load_directive loaded_directive = imp.load_source(real_name, directive_file) File "/usr/lib/python2.7/site-packages/libtaskotron/directives/resultsdb_directive.py", line 86, in <module> import resultsdb_api File "/usr/lib/python2.7/site-packages/resultsdb_api.py", line 19, in <module> import requests File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 58, in <module> from . import utils File "/usr/lib/python2.7/site-packages/requests/utils.py", line 32, in <module> from .exceptions import InvalidURL File "/usr/lib/python2.7/site-packages/requests/exceptions.py", line 10, in <module> from .packages.urllib3.exceptions import HTTPError as BaseHTTPError File "/usr/lib/python2.7/site-packages/requests/packages/__init__.py", line 83, in load_module raise ImportError("No module named '%s'" % (name,)) ImportError: No module named 'requests.packages.urllib3'
https://taskotron.fedoraproject.org/taskmaster/builders/x86_64/builds/84037/steps/runtask/logs/stdio
However, we see the first error happen on prod also for codeblocks-13.12-17.fc23:
codeblocks-13.12-17.fc23
[libtaskotron] 04:02:15 CRITICAL Traceback (most recent call last): File "/usr/bin/runtask", line 9, in <module> load_entry_point('libtaskotron==0.3.15', 'console_scripts', 'runtask')() File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 263, in main task_runner.run() File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 61, in run self.do_actions() File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 145, in do_actions self.do_single_action(action) File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 115, in do_single_action self._load_directive(directive_name) File "/usr/lib/python2.7/site-packages/libtaskotron/runner.py", line 76, in _load_directive loaded_directive = imp.load_source(real_name, directive_file) File "/usr/lib/python2.7/site-packages/libtaskotron/directives/resultsdb_directive.py", line 86, in <module> import resultsdb_api File "/usr/lib/python2.7/site-packages/resultsdb_api.py", line 19, in <module> import requests File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 58, in <module> from . import utils File "/usr/lib/python2.7/site-packages/requests/utils.py", line 26, in <module> from .compat import parse_http_list as _parse_list_header File "/usr/lib/python2.7/site-packages/requests/compat.py", line 7, in <module> from .packages import chardet File "/usr/lib/python2.7/site-packages/requests/packages/__init__.py", line 3, in <module> from . import urllib3 File "/usr/lib/python2.7/site-packages/requests/packages/urllib3/__init__.py", line 16, in <module> from . import exceptions ImportError: cannot import name exceptions
https://taskotron.fedoraproject.org/taskmaster/builders/x86_64/builds/84032/steps/runtask/logs/stdio
When I run these locally, I can't reproduce it.
There are many other rpmlint tasks which were executed just fine for both prod and stg.
I've found out that python-requests bundle their own urllib3: https://github.com/kennethreitz/requests/tree/master/requests/packages and they refuse to stop doing that: https://github.com/kennethreitz/requests/issues/1811
python-requests
urllib3
Fedora then changes the bundled libraries to symlinks to system libraries: http://pkgs.fedoraproject.org/cgit/python-requests.git/tree/python-requests.spec
However, after further examination, I can't find the root cause of this. I ssh'd to one of those build slaves, and all the directories are there, there should be no problem in importing it. I tried it from command line, it worked.
This hasn't occurred again, so we'll probably attribute it to a synchronized cluster of cosmic rays... sigh.