Comment 0 for bug 1712415

Revision history for this message
prashkre (prashkre) wrote : Handle ldap.SIZELIMIT_EXCEEDED error

With ldap as identity backend server configured to keystone, GET users/groups API is abruptly failing in below stacktrace without proper error handling when ldap search results(users/groups) count is more than default sizelimit configured on ldap server.

2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi Traceback (most recent call last):
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 228, in __call__
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi result = method(req, **params)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/controller.py", line 138, in wrapper
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return f(self, request, filters, **kwargs)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/controllers.py", line 229, in list_users
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi refs = self.identity_api.list_users(domain_scope=domain, hints=hints)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/manager.py", line 110, in wrapped
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi __ret_val = __f(*args, **kwargs)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/core.py", line 413, in wrapper
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return f(self, *args, **kwargs)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/core.py", line 423, in wrapper
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return f(self, *args, **kwargs)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/core.py", line 1036, in list_users
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi ref_list = self._handle_federated_attributes_in_hints(driver, hints)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/core.py", line 1019, in _handle_federated_attributes_in_hints
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return driver.list_users(hints)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/backends/ldap/core.py", line 87, in list_users
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return self.user.get_all_filtered(hints)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/backends/ldap/core.py", line 327, in get_all_filtered
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi for user in self.get_all(query, hints)]
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/backends/ldap/core.py", line 319, in get_all
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi hints=hints)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/backends/ldap/common.py", line 1822, in get_all
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return super(EnabledEmuMixIn, self).get_all(ldap_filter, hints)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/backends/ldap/common.py", line 1524, in get_all
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi for x in self._ldap_get_all(hints, ldap_filter)]
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/common/driver_hints.py", line 42, in wrapper
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return f(self, hints, *args, **kwargs)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/backends/ldap/common.py", line 1474, in _ldap_get_all
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi attrs)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/backends/ldap/common.py", line 935, in search_s
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi attrlist_utf8, attrsonly)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/backends/ldap/common.py", line 634, in wrapper
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return func(self, conn, *args, **kwargs)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib/python2.7/site-packages/keystone/identity/backends/ldap/common.py", line 764, in search_s
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi attrsonly)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib64/python2.7/site-packages/ldap/ldapobject.py", line 773, in search_s
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib64/python2.7/site-packages/ldap/ldapobject.py", line 1180, in search_ext_s
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return self._apply_method_s(SimpleLDAPObject.search_ext_s,*args,**kwargs)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib64/python2.7/site-packages/ldap/ldapobject.py", line 1118, in _apply_method_s
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return func(self,*args,**kwargs)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib64/python2.7/site-packages/ldap/ldapobject.py", line 767, in search_ext_s
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi return self.result(msgid,all=1,timeout=timeout)[1]
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib64/python2.7/site-packages/ldap/ldapobject.py", line 674, in result
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib64/python2.7/site-packages/ldap/ldapobject.py", line 678, in result2
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib64/python2.7/site-packages/ldap/ldapobject.py", line 685, in result3
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi resp_ctrl_classes=resp_ctrl_classes
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib64/python2.7/site-packages/ldap/ldapobject.py", line 692, in result4
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi File "/usr/lib64/python2.7/site-packages/ldap/ldapobject.py", line 265, in _ldap_call
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi result = func(*args,**kwargs)
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi SIZELIMIT_EXCEEDED: {'desc': u'Size limit exceeded'}
2017-08-04 11:44:46.368 102104 ERROR keystone.common.wsgi