Bug 807869 - Keystone egg has bad requires
Keystone egg has bad requires
Product: Fedora
Classification: Fedora
Component: openstack-keystone (Show other bugs)
x86_64 Linux
unspecified Severity unspecified
: ---
: ---
Assigned To: Alan Pevec
Fedora Extras Quality Assurance
: Reopened
Depends On:
  Show dependency treegraph
Reported: 2012-03-28 20:58 EDT by Pete Zaitcev
Modified: 2013-09-12 19:01 EDT (History)
9 users (show)

See Also:
Fixed In Version: openstack-keystone-2012.2-0.2.f2
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-09-12 19:01:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Pete Zaitcev 2012-03-28 20:58:31 EDT
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):


How reproducible:


Steps to Reproduce:
1. Configure Swift with keystone middleware ("authtoken") in pipeline
2. swift-init main start
Actual results:


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.
Comment 1 Pete Zaitcev 2012-03-28 21:46:59 EDT
It also requires pam==0.1.4. What in the world is that? Anything to add
to Requires:?
Comment 2 Alan Pevec 2012-03-29 04:40:10 EDT
Those egg requires are from tools/pip-requires

Interesting that those bad egg requires don't affect authtoken middleware when running in nova and glance pipelines.
Comment 3 Alan Pevec 2012-03-29 04:44:31 EDT
Pete, could you please attach your proxy-server.conf?
Looking at devstack's swift config I see middleware is not specified as an egg:
Comment 4 Russell Bryant 2012-03-29 09:44:24 EDT
(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.
Comment 5 Alan Pevec 2012-03-29 18:41:33 EDT
Using middleware Python class directly instead of egg works, and bad egg requires should be discussed upstream.
Comment 6 Alan Pevec 2012-04-03 15:37:50 EDT
> 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
Comment 7 Fedora Admin XMLRPC Client 2012-05-22 13:33:55 EDT
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.
Comment 8 Alan Pevec 2012-06-26 13:43:20 EDT
Diablo had entry_points, but Keystone >= Essex doesn't have any entry_points in setup.py so use = egg:keystone#... is not valid.
Comment 9 Alan Pevec 2012-06-27 07:04:43 EDT
Even if not used, egg-info in python-* RPMs should be compatible with the system Python libraries:
Comment 10 Fedora End Of Life 2013-04-03 16:22:57 EDT
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:
Comment 11 Alan Pevec 2013-09-12 19:00:29 EDT
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

Note You need to log in before you can comment on or make changes to this bug.