Description of problem: Traceback (most recent call last): File "/bin/swift-proxy-server", line 22, in <module> run_wsgi(conf_file, 'proxy-server', default_port=8080, **options) File "/usr/lib/python2.7/site-packages/swift/common/wsgi.py", line 122, in run_wsgi loadapp('config:%s' % conf_file, global_conf={'log_name': log_name}) ............. File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 588, in resolve raise VersionConflict(dist,req) # XXX put more info here pkg_resources.VersionConflict: (WebOb 1.1.1 (/usr/lib/python2.7/site-packages), Requirement.parse('WebOb==1.0.8')) Version-Release number of selected component (if applicable): openstack-keystone-2012.1-0.12.rc1.fc18.noarch How reproducible: packaging Steps to Reproduce: 1. Configure Swift with keystone middleware ("authtoken") in pipeline 2. swift-init main start Actual results: Traceback Expected results: Working like before Additional info: The crash happens becasue egg requires, literally, "WebOb==1.0.8". I have no clue how this leaks into egg, seems happening even when built on Rawhide with python-webob-1.1.1-2.fc17.
It also requires pam==0.1.4. What in the world is that? Anything to add to Requires:?
Those egg requires are from tools/pip-requires https://github.com/openstack/keystone/blob/master/setup.py#L53 https://github.com/openstack/keystone/blob/master/keystone/openstack/common/setup.py#L57 Interesting that those bad egg requires don't affect authtoken middleware when running in nova and glance pipelines.
Pete, could you please attach your proxy-server.conf? Looking at devstack's swift config I see middleware is not specified as an egg: https://github.com/openstack-dev/devstack/blob/master/files/swift/proxy-server.conf#L34
(In reply to comment #1) > It also requires pam==0.1.4. What in the world is that? Anything to add > to Requires:? Keystone has an optional pam identity backend. 'pam' isn't in Fedora. Fedora has PyPAM, which as of fairly recently, is supported by Keystone as well. It's pretty small so we could add it to Requires for Keystone.
Using middleware Python class directly instead of egg works, and bad egg requires should be discussed upstream.
> middleware Python class directly instead of egg This was just proposed upstream: https://review.openstack.org/#patch,unified,6182,1,keystone/middleware/swift_auth.py
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
Diablo had entry_points, but Keystone >= Essex doesn't have any entry_points in setup.py so use = egg:keystone#... is not valid.
Even if not used, egg-info in python-* RPMs should be compatible with the system Python libraries: http://pkgs.fedoraproject.org/gitweb/?p=openstack-keystone.git;a=commitdiff;h=177a2cd37d72337592e462894b5c3f66022bd32c
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle. Changing version to '19'. (As we did not run this process for some time, it could affect also pre-Fedora 19 development cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.) More information and reason for this action is here: https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19
Re. comment 9 - the final solution was to remove[1] all deps from egg-info and let RPM handle dependencies. [1] http://pkgs.fedoraproject.org/cgit/openstack-keystone.git/tree/openstack-keystone.spec#n107