Suggest python-ldap/python-ldappool packages

Bug #1612423 reported by Jorge Niedbalski
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Fix Released
Low
Unassigned
Liberty
Won't Fix
Undecided
Unassigned
keystone (Ubuntu)
Fix Released
Low
Unassigned
Xenial
Won't Fix
Undecided
Unassigned

Bug Description

[Description]

Some customers require to configure LDAP or AD as the authentication backend
for Keystone.

Since Juno, the LDAP auth backend of keystone requires the ldappool module to exists
on the system.

https://github.com/openstack/keystone/blob/d07f59ff38e3993d288b71d55436e507366cf98c/keystone/identity/backends/ldap/common.py#L25

If the system doesn't have this package installed or gets removed by any of its
reverse dependencies or auto remove, the following exception is raised by keystone:

2016-08-07 06:47:24.486089 Traceback (most recent call last):
2016-08-07 06:47:24.486107 File "/var/www/cgi-bin/keystone/admin", line 25, in <module>
2016-08-07 06:47:24.486164 application = wsgi_server.initialize_application(name)
2016-08-07 06:47:24.486176 File "/usr/lib/python2.7/dist-packages/keystone/server/wsgi.py", line 64, in initialize_application
2016-08-07 06:47:24.486223 startup_application_fn=loadapp)
2016-08-07 06:47:24.486234 File "/usr/lib/python2.7/dist-packages/keystone/server/common.py", line 49, in setup_backends
2016-08-07 06:47:24.486275 drivers = backends.load_backends()
2016-08-07 06:47:24.486285 File "/usr/lib/python2.7/dist-packages/keystone/server/backends.py", line 39, in load_backends
2016-08-07 06:47:24.486327 _IDENTITY_API = identity.Manager()
2016-08-07 06:47:24.486338 File "/usr/lib/python2.7/dist-packages/keystone/notifications.py", line 333, in __new_init__
2016-08-07 06:47:24.486501 init(self, *args, **kwargs)
2016-08-07 06:47:24.486515 File "/usr/lib/python2.7/dist-packages/keystone/common/dependency.py", line 95, in __wrapped_init__
2016-08-07 06:47:24.486594 init(self, *args, **kwargs)
2016-08-07 06:47:24.486606 File "/usr/lib/python2.7/dist-packages/keystone/common/dependency.py", line 154, in wrapper
2016-08-07 06:47:24.486622 self.__wrapped_init__(*args, **kwargs)
2016-08-07 06:47:24.486630 File "/usr/lib/python2.7/dist-packages/keystone/identity/core.py", line 507, in __init__
2016-08-07 06:47:24.486884 super(Manager, self).__init__(CONF.identity.driver)
2016-08-07 06:47:24.486899 File "/usr/lib/python2.7/dist-packages/keystone/common/manager.py", line 103, in __init__
2016-08-07 06:47:24.486957 self.driver = load_driver(self.driver_namespace, driver_name)
2016-08-07 06:47:24.486968 File "/usr/lib/python2.7/dist-packages/keystone/common/manager.py", line 69, in load_driver
2016-08-07 06:47:24.486982 invoke_args=args)
2016-08-07 06:47:24.486993 File "/usr/lib/python2.7/dist-packages/stevedore/driver.py", line 45, in __init__
2016-08-07 06:47:24.487053 verify_requirements=verify_requirements,
2016-08-07 06:47:24.487064 File "/usr/lib/python2.7/dist-packages/stevedore/named.py", line 55, in __init__
2016-08-07 06:47:24.487119 verify_requirements)
2016-08-07 06:47:24.487132 File "/usr/lib/python2.7/dist-packages/stevedore/extension.py", line 170, in _load_plugins
2016-08-07 06:47:24.487265 self._on_load_failure_callback(self, ep, err)
2016-08-07 06:47:24.487278 File "/usr/lib/python2.7/dist-packages/stevedore/extension.py", line 162, in _load_plugins
2016-08-07 06:47:24.487295 verify_requirements,
2016-08-07 06:47:24.487304 File "/usr/lib/python2.7/dist-packages/stevedore/named.py", line 123, in _load_one_plugin
2016-08-07 06:47:24.487330 verify_requirements,
2016-08-07 06:47:24.487340 File "/usr/lib/python2.7/dist-packages/stevedore/extension.py", line 183, in _load_one_plugin
2016-08-07 06:47:24.487352 plugin = ep.resolve()
2016-08-07 06:47:24.487360 File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2361, in resolve
2016-08-07 06:47:24.487815 module = __import__(self.module_name, fromlist=['__name__'], level=0)
2016-08-07 06:47:24.487841 File "/usr/lib/python2.7/dist-packages/keystone/identity/backends/ldap.py", line 24, in <module>
2016-08-07 06:47:24.487947 from keystone.common import ldap as common_ldap
2016-08-07 06:47:24.487959 File "/usr/lib/python2.7/dist-packages/keystone/common/ldap/__init__.py", line 15, in <module>
2016-08-07 06:47:24.487994 from keystone.common.ldap.core import * # noqa
2016-08-07 06:47:24.488005 File "/usr/lib/python2.7/dist-packages/keystone/common/ldap/core.py", line 24, in <module>
2016-08-07 06:47:24.488319 import ldappool
2016-08-07 06:47:24.488353 ImportError: No module named ldappool

[Suggested Solution]

Add the python-ldap and python-ldappool packages as Suggested packages
for keystone.

Tags: sts
tags: added: sts
Revision history for this message
James Page (james-page) wrote :

The issue here is that @kilo/wily, ldappool and ldap where hard dependencies (when they should not have been). This was corrected for liberty, making these packages eligible for removal on upgrades.

Adding them as Recommends it probably the right thing todo here.

Changed in keystone (Ubuntu):
status: New → Confirmed
importance: Undecided → Low
Revision history for this message
James Page (james-page) wrote :

I've added both packages to Suggests for Newton; I don't propose changing this for released openstack package versions - its fixable by installing the packages by hand, and adding them as a Suggests won't fix this anyway.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package keystone - 2:10.0.0~b3-0ubuntu1

---------------
keystone (2:10.0.0~b3-0ubuntu1) yakkety; urgency=medium

  [ James Page ]
  * d/control: Add python-freezegun to BD's.

  [ Corey Bryant ]
  * d/p/*: Rebased.

  [ James Page ]
  * New upstream release.
  * d/control: Add python-ldap and python-ldappool to Suggests (LP: #1612423).

  [ Corey Bryant ]
  * d/control: Add python-pep8 to BDs.
  * New upstream version.

  [ James Page ]
  * New upstream release.
  * Align (Build-)Depends with upstream.

 -- James Page <email address hidden> Fri, 02 Sep 2016 10:53:13 +0100

Changed in keystone (Ubuntu):
status: Confirmed → Fix Released
James Page (james-page)
Changed in cloud-archive:
status: New → Fix Committed
James Page (james-page)
Changed in keystone (Ubuntu Xenial):
status: New → Won't Fix
Changed in cloud-archive:
importance: Undecided → Low
Revision history for this message
James Page (james-page) wrote :

This bug was fixed in the package keystone - 2:10.0.0~b3-0ubuntu1~cloud0
---------------

 keystone (2:10.0.0~b3-0ubuntu1~cloud0) xenial-newton; urgency=medium
 .
   * New upstream release for the Ubuntu Cloud Archive.
 .
 keystone (2:10.0.0~b3-0ubuntu1) yakkety; urgency=medium
 .
   [ James Page ]
   * d/control: Add python-freezegun to BD's.
 .
   [ Corey Bryant ]
   * d/p/*: Rebased.
 .
   [ James Page ]
   * New upstream release.
   * d/control: Add python-ldap and python-ldappool to Suggests (LP: #1612423).
 .
   [ Corey Bryant ]
   * d/control: Add python-pep8 to BDs.
   * New upstream version.
 .
   [ James Page ]
   * New upstream release.
   * Align (Build-)Depends with upstream.

Changed in cloud-archive:
status: Fix Committed → Fix Released
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.