[Openstack-devel] Bug#665804: keystone: python-webob dependency mismatch between package and egg-info dependencies (requires 1.0.8)

Chris Boulton chris at bigcommerce.com
Mon Mar 26 10:06:25 UTC 2012


Package: python-keystone
Version: 2012.1~rc1-1
Severity: grave
File: keystone
Tags: sid
Justification: renders package unusable

The python-keystone depends upon python-webob, but does not list a version dependency. The egg package info lists WebOb 1.0.8 as a requirement, which means as soon as the package is installed and swift/nova attempt to load it, you receive a VersionConflict error:

Traceback (most recent call last):
  File "/usr/bin/swift-proxy-server", line 22, in <module>
    run_wsgi(conf_file, 'proxy-server', default_port=8080, **options)
  File "/usr/lib/python2.6/dist-packages/swift/common/wsgi.py", line 122, in run_wsgi
    loadapp('config:%s' % conf_file, global_conf={'log_name': log_name})
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 204, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 224, in loadobj
    global_conf=global_conf)
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 248, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 278, in _loadconfig
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 405, in get_context
    global_additions=global_additions)
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 503, in _pipeline_app_context
    for name in pipeline[:-1]]
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 409, in get_context
    section)
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 431, in _context_from_use
    object_type, name=use, global_conf=global_conf)
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 361, in get_context
    global_conf=global_conf)
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 248, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 285, in _loadegg
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 561, in get_context
    object_type, name=name)
  File "/usr/lib/pymodules/python2.6/paste/deploy/loadwsgi.py", line 581, in find_egg_entry_point
    pkg_resources.require(self.spec)
  File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 654, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 556, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (WebOb 1.1.1 (/usr/lib/python2.6/dist-packages), Requirement.parse('WebOb==1.0.8'))

A similar issue exists with pam, and I'll raise that as a separate bug report once this one is confirmed and I'm not overlooking something.

To reproduce:

* apt-get install python-keystone swift-proxy
* configure /etc/swift/proxy-server.conf similar to the below to enable keystone for authentication
* swift-proxy-server /etc/swift/proxy-server.conf

/etc/swift/proxy-server.conf:
--
[DEFAULT]
bind_port = 80
workers = 1
user = swift

[pipeline:main]
# ratelimit?
pipeline = healthcheck cache keystone proxy-server

[app:proxy-server]
use = egg:swift#proxy
allow_account_management = true
account_autocreate = false

[filter:keystone]
use = egg:keystone#swiftauth
auth_protocol = https
auth_host = 127.0.0.0
auth_port = 35357
admin_token = 999888777666
delay_auth_decision = 0
service_protocol = https
service_host = 127.0.0.0
service_port = 5000
service_pass = dTpw
cache = swift.cache

[filter:healthcheck]
use = egg:swift#healthcheck

[filter:cache]
use = egg:swift#memcache
# multi-proxy config not supported
memcache_servers =
--

-- System Information:
Debian Release: 6.0.4
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/1 CPU core)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages python-keystone depends on:
ii  python               2.6.6-3+squeeze6    interactive high-level object-orie
ii  python-dateutil      1.4.1-3             powerful extensions to the standar
ii  python-eventlet      0.9.16-2            concurrent networking library for 
ii  python-greenlet      0.3.3-1             Lightweight in-process concurrent 
ii  python-httplib2      0.6.0-4             comprehensive HTTP client library 
ii  python-lxml          2.2.8-2             pythonic binding for the libxml2 a
ii  python-migrate       0.6-4               Database schema migration for SQLA
ii  python-pam           0.4.2-12.2+squeeze1 A Python interface to the PAM libr
ii  python-passlib       1.5.3-1~bpo60+1     comprehensive password hashing fra
ii  python-paste         1.7.5.1-1           tools for using a Web Server Gatew
ii  python-pastedeploy   1.3.3-3             load, configure, and compose WSGI 
ii  python-pastescript   1.7.3-6             serving web applications, creating
ii  python-routes        1.12.3-1            Routing Recognition and Generation
ii  python-sqlalchemy    0.6.3-3             SQL toolkit and Object Relational 
ii  python-sqlite        1.0.1-7+b1          python interface to SQLite 2
ii  python-webob         1.1.1-1~bpo60+1     Python module providing WSGI reque
ii  python2.6            2.6.6-8+b1          An interactive high-level object-o

Versions of packages python-keystone recommends:
ii  python-ldap                   2.3.11-1   LDAP interface module for Python
ii  python-memcache               1.45-1     pure python memcached client

python-keystone suggests no packages.

-- no debconf information





More information about the Openstack-devel mailing list