Actions
Bug #44118
openNon-ASCII characters in ObjectGateway users' display_name break dashboard
Status:
New
Priority:
Normal
Assignee:
-
Category:
Component - RGW
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
Creating an Object Gateway user with purely ASCII characters, but a non-ASCII character in the "Full Name" field via Dashboard correctly creates the user,
and "ruciogw-admin user info" shows the correct display_name with correct encoding, but afterwards, the "User" page in the Dashboard fails to load.
mgr logs contain:
2020-02-13 13:25:14.592 7ff360fe9700 0 mgr[dashboard] ['{"status": "500 Internal Server Error", "version": "3.2.2", "detail": "The server encountered an unexpected condition which prevented it from fulfilling the request.", "traceback": "Traceback (most recent call last):\\n File \\"/usr/lib/python2.7/site-packages/cherrypy/_cprequest.py\\", line 656, in respond\\n response.body = self.handler()\\n File \\"/usr/lib/python2.7/site-packages/cherrypy/lib/encoding.py\\", line 188, in __call__\\n self.body = self.oldhandler(*args, **kwargs)\\n File \\"/usr/lib/python2.7/site-packages/cherrypy/_cptools.py\\", line 221, in wrap\\n return self.newhandler(innerfunc, *args, **kwargs)\\n File \\"/usr/share/ceph/mgr/dashboard/services/exception.py\\", line 88, in dashboard_exception_handler\\n return handler(*args, **kwargs)\\n File \\"/usr/lib/python2.7/site-packages/cherrypy/_cpdispatch.py\\", line 34, in __call__\\n return self.callable(*self.args, **self.kwargs)\\n File \\"/usr/share/ceph/mgr/dashboard/controllers/__init__.py\\", line 661, in inner\\n ret = func(*args, **kwargs)\\n File \\"/usr/share/ceph/mgr/dashboard/controllers/__init__.py\\", line 854, in wrapper\\n return func(*vpath, **params)\\n File \\"/usr/share/ceph/mgr/dashboard/controllers/rgw.py\\", line 241, in create\\n result = self.proxy(\'PUT\', \'user\', params)\\n File \\"/usr/share/ceph/mgr/dashboard/controllers/rgw.py\\", line 98, in proxy\\n result = instance.proxy(method, path, params, None)\\n File \\"/usr/share/ceph/mgr/dashboard/services/rgw_client.py\\", line 394, in proxy\\n return self._proxy_request(self.admin_path, path, method, params, data)\\n File \\"/usr/share/ceph/mgr/dashboard/rest_client.py\\", line 507, in func_wrapper\\n **kwargs)\\n File \\"/usr/share/ceph/mgr/dashboard/services/rgw_client.py\\", line 389, in _proxy_request\\n method=method, params=params, data=data, raw_content=True)\\n File \\"/usr/share/ceph/mgr/dashboard/rest_client.py\\", line 313, in __call__\\n data, raw_content)\\n File \\"/usr/share/ceph/mgr/dashboard/rest_client.py\\", line 406, in do_request\\n resp.status_code, resp.text)\\n File \\"/usr/lib64/python2.7/logging/__init__.py\\", line 1137, in debug\\n self._log(DEBUG, msg, args, **kwargs)\\n File \\"/usr/lib64/python2.7/logging/__init__.py\\", line 1268, in _log\\n self.handle(record)\\n File \\"/usr/lib64/python2.7/logging/__init__.py\\", line 1278, in handle\\n self.callHandlers(record)\\n File \\"/usr/lib64/python2.7/logging/__init__.py\\", line 1318, in callHandlers\\n hdlr.handle(record)\\n File \\"/usr/lib64/python2.7/logging/__init__.py\\", line 749, in handle\\n self.emit(record)\\n File \\"/usr/share/ceph/mgr/mgr_module.py\\", line 65, in emit\\n self._module._ceph_log(ceph_level, self.format(record))\\nUnicodeEncodeError: \'ascii\' codec can\'t encode characters in position 109-110: ordinal not in range(128)\\n"}']
Deleting the user manually resolves the issue.
Likely related to #42651.
Actions