Project

General

Profile

Actions

Bug #43524

closed

mgr/dashboard: forward ceph-iscsi HTTP response error messages to dashboard front-end

Added by Ernesto Puerta over 4 years ago. Updated about 3 years ago.

Status:
Duplicate
Priority:
High
Assignee:
-
Category:
Component - iSCSI
Target version:
% Done:

0%

Source:
Q/A
Tags:
Backport:
nautilus
Regression:
No
Severity:
2 - major
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Currently, Ceph-Dashboard iSCSI component displays a brief "500 - Internal Error Server" on ceph-iscsi REST API errors. While users can access logs or enable tracebacks, in this specific case a more descriptive message would be welcome.

An example of this, when an iSCSI admin tries to remove a target where some user is logged on to, the back-end ceph-iscsi REST API will return a "Client 'iqn.1994-05.xxxx' is logged in to iqn.2001-07.xxxxxx - unable to delete until it's logged out", but that message will never hit the dashboard admin. See details below:

exception : 
Dec 25 10:45:00 xxxxxxx005 rbd-target-api[909]: ::ffff:10.8.128.5 - - [25/Dec/2019 10:45:00] "DELETE /api/client/iqn.2001-07.com.ceph:1577083503381/iqn.1994-05.com.yyyyyy:xxxxxxx025 HTTP/1.1" 400 -
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]: [25/Dec/2019:10:45:00] HTTP
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]: Traceback (most recent call last):
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/lib/python3.6/site-packages/cherrypy/_cprequest.py", line 638, in respond
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     self._do_respond(path_info)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/lib/python3.6/site-packages/cherrypy/_cprequest.py", line 697, in _do_respond
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     response.body = self.handler()
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/lib/python3.6/site-packages/cherrypy/lib/encoding.py", line 219, in __call__
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     self.body = self.oldhandler(*args, **kwargs)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/lib/python3.6/site-packages/cherrypy/_cptools.py", line 230, in wrap
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     return self.newhandler(innerfunc, *args, **kwargs)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/services/exception.py", line 88, in dashboard_exception_handler
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     return handler(*args, **kwargs)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/lib/python3.6/site-packages/cherrypy/_cpdispatch.py", line 54, in __call__
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     return self.callable(*self.args, **self.kwargs)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/controllers/__init__.py", line 649, in inner
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     ret = func(*args, **kwargs)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/controllers/__init__.py", line 842, in wrapper
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     return func(*vpath, **params)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/controllers/__init__.py", line 454, in wrapper
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     raise ex
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/controllers/__init__.py", line 444, in wrapper
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     status, value = task.wait(self.wait_for)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/tools.py", line 623, in wait
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     raise self.exception
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/tools.py", line 540, in _run
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     val = self.task.fn(*self.task.fn_args, **self.task.fn_kwargs)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/controllers/iscsi.py", line 286, in set
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     portals, disks, clients, groups)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/controllers/iscsi.py", line 331, in _delete
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     client_iqn)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/rest_client.py", line 507, in func_wrapper
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     **kwargs)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/services/iscsi_client.py", line 166, in delete_client
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     return request()
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/rest_client.py", line 313, in __call__
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     data, raw_content)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:   File "/usr/share/ceph/mgr/dashboard/rest_client.py", line 433, in do_request
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:     resp.content)
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]: dashboard.rest_client.RequestException: iscsi REST API failed request with status code 400
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]: (b'{\n  "message": "Client \'iqn.1994-05.com.yyyyyy:xxxxxxx025\' is logged in to'
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:  b" iqn.2001-07.com.ceph:1577083503381- unable to delete until it's logged " 
Dec 25 10:45:00 xxxxxxx005 ceph-mgr[14248]:  b'out"\n}\n')

Related issues 1 (0 open1 closed)

Is duplicate of Dashboard - Feature #38332: mgr/dashboard: Prevent deletion of iSCSI IQNs with open sessionsResolvedRicardo Marques

Actions
Actions

Also available in: Atom PDF