swift proxy cannot start when configured to use keystone

Bug #907518 reported by Adam Gandelman
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Identity (keystone)
Invalid
Undecided
Unassigned
keystone (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

When configuring swift-proxy to use an external keystone service in place of tempauth (as described @ http://keystone.openstack.org/configuringservices.html ), swift-proxy fails to start because of a missing keystone dependency. The dependency is apparently still not satisfied after install either python-keystone or python-keystoneclient, or keystone itself.

# swift-init restart all
No container-updater running
No account-auditor running
No object-replicator running
Signal proxy-server pid: 6706 signal: 15
No proxy-server running
No container-replicator running
No object-auditor running
No container-auditor running
No container-server running
No account-server running
No account-reaper running
No container-sync running
No account-replicator running
No object-updater running
No object-server running
Unable to locate config for container-updater
Unable to locate config for account-auditor
Unable to locate config for object-replicator
Starting proxy-server...(/etc/swift/proxy-server.conf)
Unable to locate config for container-replicator
Unable to locate config for object-auditor
Unable to locate config for container-auditor
Unable to locate config for container-server
Unable to locate config for account-server
Unable to locate config for account-reaper
Unable to locate config for container-sync
Unable to locate config for account-replicator
Unable to locate config for object-updater
Unable to locate config for object-server
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.7/dist-packages/swift/common/wsgi.py", line 123, in run_wsgi
    loadapp('config:%s' % conf_file, global_conf={'log_name': log_name})
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 247, in loadapp
    return loadobj(APP, uri, name=name, **kw)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 271, in loadobj
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 320, in _loadconfig
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 450, in get_context
    global_additions=global_additions)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 562, in _pipeline_app_context
    for name in pipeline[:-1]]
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 454, in get_context
    section)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 476, in _context_from_use
    object_type, name=use, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 406, in get_context
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 328, in _loadegg
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 620, in get_context
    object_type, name=name)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 640, in find_egg_entry_point
    pkg_resources.require(self.spec)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 686, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: keystone

Revision history for this message
Adam Gandelman (gandelman-a) wrote :
Revision history for this message
Adam Gandelman (gandelman-a) wrote :

The issue is that the python-keystone package is not installing its *.egg-info

affects: swift (Ubuntu) → keystone (Ubuntu)
Changed in keystone (Ubuntu):
status: New → Triaged
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package keystone - 2012.1~e3~20120113.1511-0ubuntu1

---------------
keystone (2012.1~e3~20120113.1511-0ubuntu1) precise; urgency=low

  [Chuck Short]
  * New upstream version.
  * debian/control: Add python-migrate as a build depenedency.
    (LP: #909941)
  * debian/keystone.dirs: Add cache directory for PTYHON_EGGS
  * debian/control: Add ssl-cert for ssl certificates.
  * debian/patches/keystone-ssl.patch: Point ssl config to the
    snakeoil certificates.
  * debian/control: Add python-nose as a build dependency.

  [Adam Gandleman]
  * debian/python-keystone.postinst: Also install *.egg-info (LP: #907518)
  * debian/patches/temp_fix_keyston_manage.patch: Allow keystone to work
    with current snapshot.
 -- Chuck Short <email address hidden> Fri, 13 Jan 2012 10:09:46 +0100

Changed in keystone (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Joseph Heck (heckj) wrote :

Adam - is this relevant to keystone itself (i.e something that should be changed in setup.py?) or specific to packaging? I'm marking as invalid based on the notes above, as it appears to be packaging specific.

Changed in keystone:
status: New → Invalid
Revision history for this message
Chmouel Boudjnah (chmouel) wrote :

I think this is because documentation was outdated, a doc update was added in fb4f37 which should show how to configure it properly.

Joseph Heck (heckj)
Changed in keystone:
milestone: none → essex-4
Thierry Carrez (ttx)
Changed in keystone:
milestone: essex-4 → none
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.