User Abián (@abian) is having problems login to horizon.
The web log shows:
/var/log/apache2/horizon_error.log:2019-08-15 09:51:41.831577 Login failed for user "Abi\xc3\xa1n", remote address x.x.x.x
The user name contains a special character, and keystone is having this stacktrace:
(keystone.common.wsgi): 2019-08-15 10:06:16,479 ERROR 'ascii' codec can't encode character u'\xe1' in position 9: ordinal not in range(128) Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/keystone/common/wsgi.py", line 249, in __call__ result = method(context, **params) File "/usr/lib/python2.7/dist-packages/keystone/auth/controllers.py", line 396, in authenticate_for_token self.authenticate(context, auth_info, auth_context) File "/usr/lib/python2.7/dist-packages/keystone/auth/controllers.py", line 520, in authenticate auth_context) File "/usr/lib/python2.7/dist-packages/wmfkeystoneauth/wmtotp.py", line 67, in authenticate user_info = auth_plugins.UserAuthInfo.create(auth_payload, self.method) File "/usr/lib/python2.7/dist-packages/keystone/auth/plugins/core.py", line 107, in create user_auth_info._validate_and_normalize_auth_data(auth_payload) File "/usr/lib/python2.7/dist-packages/keystone/auth/plugins/core.py", line 196, in _validate_and_normalize_auth_data auth_payload) File "/usr/lib/python2.7/dist-packages/keystone/auth/plugins/core.py", line 173, in _validate_and_normalize_auth_data user_name, domain_ref['id']) File "/usr/lib/python2.7/dist-packages/keystone/common/manager.py", line 124, in wrapped __ret_val = __f(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/keystone/identity/core.py", line 433, in wrapper return f(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/keystone/identity/core.py", line 443, in wrapper return f(self, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/dogpile/cache/region.py", line 1220, in decorate should_cache_fn) File "/usr/lib/python2.7/dist-packages/dogpile/cache/region.py", line 825, in get_or_create async_creator) as value: File "/usr/lib/python2.7/dist-packages/dogpile/lock.py", line 154, in __enter__ return self._enter() File "/usr/lib/python2.7/dist-packages/dogpile/lock.py", line 94, in _enter generated = self._enter_create(createdtime) File "/usr/lib/python2.7/dist-packages/dogpile/lock.py", line 145, in _enter_create created = self.creator() File "/usr/lib/python2.7/dist-packages/dogpile/cache/region.py", line 792, in gen_value created_value = creator() File "/usr/lib/python2.7/dist-packages/dogpile/cache/region.py", line 1216, in creator return fn(*arg, **kw) File "/usr/lib/python2.7/dist-packages/keystone/identity/core.py", line 902, in get_user_by_name ref = driver.get_user_by_name(user_name, domain_id) File "/usr/lib/python2.7/dist-packages/keystone/identity/backends/ldap.py", line 90, in get_user_by_name return self.user.filter_attributes(self.user.get_by_name(user_name)) File "/usr/lib/python2.7/dist-packages/keystone/common/ldap/core.py", line 1532, in get_by_name res = self.get_all(query) File "/usr/lib/python2.7/dist-packages/keystone/common/ldap/core.py", line 1934, in get_all return super(EnabledEmuMixIn, self).get_all(ldap_filter, hints) File "/usr/lib/python2.7/dist-packages/keystone/common/ldap/core.py", line 1541, in get_all for x in self._ldap_get_all(hints, ldap_filter)] File "/usr/lib/python2.7/dist-packages/keystone/common/driver_hints.py", line 42, in wrapper return f(self, hints, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/keystone/common/ldap/core.py", line 1502, in _ldap_get_all attrs) File "/usr/lib/python2.7/dist-packages/keystone/common/ldap/core.py", line 951, in search_s attrlist_utf8, attrsonly) File "/usr/lib/python2.7/dist-packages/keystone/common/ldap/core.py", line 645, in wrapper return func(self, conn, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/keystone/common/ldap/core.py", line 774, in search_s attrsonly) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 768, in search_s return self.search_ext_s(base,scope,filterstr,attrlist,attrsonly,None,None,timeout=self.timeout) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 1134, in search_ext_s return self._apply_method_s(SimpleLDAPObject.search_ext_s,*args,**kwargs) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 1071, in _apply_method_s return func(self,*args,**kwargs) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 761, in search_ext_s msgid = self.search_ext(base,scope,filterstr,attrlist,attrsonly,serverctrls,clientctrls,timeout,sizelimit) File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 757, in search_ext timeout,sizelimit, File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 263, in _ldap_call result = func(*args,**kwargs) UnicodeEncodeError: 'ascii' codec can't encode character u'\xe1' in position 9: ordinal not in range(128)