yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #77404
[Bug 1819017] Re: Python3 type confusion breaks LDAP integration
*** This bug is a duplicate of bug 1798184 ***
https://bugs.launchpad.net/bugs/1798184
This is already fixed in master and the backport to rocky is in
progress: https://review.openstack.org/613648
See bug #1798184 for more details.
** This bug has been marked a duplicate of bug 1798184
PY3: python3-ldap does not allow bytes for DN/RDN/field names
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1819017
Title:
Python3 type confusion breaks LDAP integration
Status in OpenStack Identity (keystone):
New
Bug description:
This bug is also being filed in the Debian BTS:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=923949
Enabling and configuring LDAP integration leads to a type confusion
issue:
ERROR keystone.common.wsgi [xxx] simple_bind() argument 1 must be str or None, not bytes: TypeError: simple_bind() argument 1 must be str or None, not bytes
ERROR keystone.common.wsgi Traceback (most recent call last):
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/common/wsgi.py", line 148, in __call__
ERROR keystone.common.wsgi result = method(req, **params)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/common/controller.py", line 103, in wrapper
ERROR keystone.common.wsgi return f(self, request, filters, **kwargs)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/controllers.py", line 71, in list_users
ERROR keystone.common.wsgi domain_scope=domain, hints=hints
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/common/manager.py", line 116, in wrapped
ERROR keystone.common.wsgi __ret_val = __f(*args, **kwargs)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/core.py", line 416, in wrapper
ERROR keystone.common.wsgi return f(self, *args, **kwargs)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/core.py", line 426, in wrapper
ERROR keystone.common.wsgi return f(self, *args, **kwargs)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/core.py", line 1061, in list_users
ERROR keystone.common.wsgi ref_list = self._handle_shadow_and_local_users(driver, hints)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/core.py", line 1044, in _handle_shadow_and_local_users
ERROR keystone.common.wsgi return driver.list_users(hints) + fed_res
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/backends/ldap/core.py", line 87, in list_users
ERROR keystone.common.wsgi return self.user.get_all_filtered(hints)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/backends/ldap/core.py", line 327, in get_all_filtered
ERROR keystone.common.wsgi for user in self.get_all(query, hints)]
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/backends/ldap/core.py", line 319, in get_all
ERROR keystone.common.wsgi hints=hints)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/backends/ldap/common.py", line 1850, in get_all
ERROR keystone.common.wsgi return super(EnabledEmuMixIn, self).get_all(ldap_filter, hints)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/backends/ldap/common.py", line 1552, in get_all
ERROR keystone.common.wsgi for x in self._ldap_get_all(hints, ldap_filter)]
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/common/driver_hints.py", line 42, in wrapper
ERROR keystone.common.wsgi return f(self, hints, *args, **kwargs)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/backends/ldap/common.py", line 1500, in _ldap_get_all
ERROR keystone.common.wsgi with self.get_connection() as conn:
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/backends/ldap/common.py", line 1251, in get_connection
ERROR keystone.common.wsgi conn.simple_bind_s()
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/backends/ldap/common.py", line 892, in simple_bind_s
ERROR keystone.common.wsgi clientctrls=clientctrls)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/keystone/identity/backends/ldap/common.py", line 747, in simple_bind_s
ERROR keystone.common.wsgi with self._get_pool_connection() as conn:
ERROR keystone.common.wsgi File "/usr/lib/python3.7/contextlib.py", line 112, in __enter__
ERROR keystone.common.wsgi return next(self.gen)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/ldappool/__init__.py", line 344, in connection
ERROR keystone.common.wsgi conn = self._get_connection(bind, passwd)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/ldappool/__init__.py", line 294, in _get_connection
ERROR keystone.common.wsgi conn = self._create_connector(bind, passwd)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/ldappool/__init__.py", line 253, in _create_connector
ERROR keystone.common.wsgi self._bind(conn, bind, passwd)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/ldappool/__init__.py", line 226, in _bind
ERROR keystone.common.wsgi conn.simple_bind_s(bind, passwd)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/ldappool/__init__.py", line 100, in simple_bind_s
ERROR keystone.common.wsgi clientctrls)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 1215, in simple_bind_s
ERROR keystone.common.wsgi res = self._apply_method_s(SimpleLDAPObject.simple_bind_s,*args,**kwargs)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 1197, in _apply_method_s
ERROR keystone.common.wsgi return func(self,*args,**kwargs)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 443, in simple_bind_s
ERROR keystone.common.wsgi msgid = self.simple_bind(who,cred,serverctrls,clientctrls)
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 437, in simple_bind
ERROR keystone.common.wsgi return self._ldap_call(self._l.simple_bind,who,cred,RequestControlTuples(serverctrls),RequestControlTuples(clientctrls))
ERROR keystone.common.wsgi File "/usr/lib/python3/dist-packages/ldap/ldapobject.py", line 313, in _ldap_call
ERROR keystone.common.wsgi result = func(*args,**kwargs)
ERROR keystone.common.wsgi TypeError: simple_bind() argument 1 must be str or None, not bytes
To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1819017/+subscriptions
References