Bug 1245521

Summary: docker-py gets broken by old python-websocket-client version
Product: [Fedora] Fedora Reporter: Bohuslav "Slavek" Kabrda <bkabrda>
Component: python-docker-pyAssignee: Tomas Tomecek <ttomecek>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: lsm5, mstuchli, roman, tradej, ttomecek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1249651 (view as bug list) Environment:
Last Closed: 2015-07-28 09:42:06 UTC Type: Bug
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: 1245523    
Bug Blocks: 1246120, 1249651    

Description Bohuslav "Slavek" Kabrda 2015-07-22 08:41:34 UTC
When I try to use a Python application that depends on python-docker-py (or python3-docker-py) and uses setuptools entry point for its binary, I get this error (using atomic-reactor [1]):

Traceback (most recent call last):
  File "/usr/bin/atomic-reactor2", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3084, in <module>
    @_call_aside
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3070, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3097, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 653, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 666, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 839, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'websocket-client>=0.32.0' distribution was not found and is required by docker-py

So the problem is that Fedora's python-websocket-client is too old. I'll open another bug for python-websocket-client to update, but I think there's also a problem in python-docker-py that should be solved.
Either python-docker-py should use proper python-websocket-client version in specfile, like "Requires: python-websocket-client >= 0.32.0" or "/usr/lib/python2.7/site-packages/docker_py-1.3.0-py2.7.egg-info/requires.txt" should be patched to not require that specific version (assuming the package can work with older versions).

[1] https://github.com/projectatomic/atomic-reactor

Comment 2 Bohuslav "Slavek" Kabrda 2015-07-28 09:25:05 UTC
F22 is fine, no fix needed there. Thanks!

Comment 3 Tomas Tomecek 2015-07-28 09:42:06 UTC
Closing then. Feel free to reopen in case more issues.