Project

General

Profile

Actions

Bug #44514

closed

mgr/dashboard: Internal Server Error 500 on landing page with cephadm backend

Added by Kiefer Chang about 4 years ago. Updated about 3 years ago.

Status:
Won't Fix
Priority:
Normal
Assignee:
Category:
General - Back-end
Target version:
-
% Done:

0%

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

Description

How to reproduce

  • Enable cephadm and provision at least one service.
  • Start the Dashboard.
  • Error on the landing page:

Analysis

  • The backend raise an exception when receiving /api/health/minimal request. The backend raises the exception when retrieving iSCSI service URL from orchestrator. (https://github.com/ceph/ceph/blob/b57403de206dfe80b437a2d5b38c8d68afab0335/src/pybind/mgr/dashboard/services/iscsi_config.py#L80-L90)
    "Traceback (most recent call last):
      File \"/usr/lib/python3.7/site-packages/cherrypy/_cprequest.py\", line 631, in respond
        self._do_respond(path_info)
      File \"/usr/lib/python3.7/site-packages/cherrypy/_cprequest.py\", line 690, in _do_respond
        response.body = self.handler()
      File \"/usr/lib/python3.7/site-packages/cherrypy/lib/encoding.py\", line 221, in __call__
        self.body = self.oldhandler(*args, **kwargs)
      File \"/usr/lib/python3.7/site-packages/cherrypy/_cptools.py\", line 237, in wrap
        return self.newhandler(innerfunc, *args, **kwargs)
      File \"/ceph/src/pybind/mgr/dashboard/services/exception.py\", line 93, in dashboard_exception_handler
        return handler(*args, **kwargs)
      File \"/usr/lib/python3.7/site-packages/cherrypy/_cpdispatch.py\", line 60, in __call__
        return self.callable(*self.args, **self.kwargs)
      File \"/ceph/src/pybind/mgr/dashboard/controllers/__init__.py\", line 665, in inner
        ret = func(*args, **kwargs)
      File \"/ceph/src/pybind/mgr/dashboard/controllers/health.py\", line 199, in minimal
        return self.health_minimal.all_health()
      File \"/ceph/src/pybind/mgr/dashboard/controllers/health.py\", line 62, in all_health
        result['iscsi_daemons'] = self.iscsi_daemons()
      File \"/ceph/src/pybind/mgr/dashboard/controllers/health.py\", line 126, in iscsi_daemons
        for gateway_name in IscsiGatewaysConfig.get_gateways_config()['gateways']:
      File \"/ceph/src/pybind/mgr/dashboard/services/iscsi_config.py\", line 125, in get_gateways_config
        orch_config = cls._load_config_from_orchestrator()
      File \"/ceph/src/pybind/mgr/dashboard/services/iscsi_config.py\", line 86, in _load_config_from_orchestrator
        'service_url': instance.service_url
    AttributeError: 'ServiceDescription' object has no attribute 'hostname'
    
    
  • Some problems are observed here:
    • cephadm returns services that are not in `iscsi` type. An issue was created to track this. (https://tracker.ceph.com/issues/44512)
    • ServiceDescription has no `hostname` member. Service now doesn't represent any individual daemon, we should move to DaemonDescription (list daemons)
    • iSCSI support is not ready in cepadm yet, not sure how to get service_url of iSCSI daemons.

Files

Screenshot_20200309_104605.png (31.5 KB) Screenshot_20200309_104605.png Kiefer Chang, 03/09/2020 03:27 AM

Related issues 1 (0 open1 closed)

Related to Dashboard - Bug #44593: mgr/dashboard: get iSCSI gateway information from OrchestratorRejected

Actions
Actions #1

Updated by Lenz Grimmer about 4 years ago

  • Subject changed from mgr/dashboard: Error on landing page with cephadm backend to mgr/dashboard: Internal Server Error 500 on landing page with cephadm backend
  • Severity changed from 3 - minor to 2 - major

Raising Severity - this ought to be fixed quickly to avoid bad first time impressions.

Actions #2

Updated by Kiefer Chang about 4 years ago

If we have #44512 fixed, then the user should not see the error.
But before we know how to retrieve iSCSI information from Orhcestrator daemons, I suggest creating a PR to bypass getting formation from Orhcestrator.
And creating another issue to bring the feature back when orchestrator works are ready.

Actions #3

Updated by Ricardo Marques about 4 years ago

Agree with Kiefer, let's just bypass orchestrator until iSCSI is supported.

Actions #4

Updated by Kiefer Chang about 4 years ago

  • Related to Bug #44593: mgr/dashboard: get iSCSI gateway information from Orchestrator added
Actions #5

Updated by Kiefer Chang about 4 years ago

  • Status changed from New to Fix Under Review
  • Assignee set to Kiefer Chang
  • Pull request ID set to 33947
Actions #6

Updated by Kiefer Chang about 4 years ago

  • Status changed from Fix Under Review to Won't Fix
Actions #7

Updated by Ernesto Puerta about 3 years ago

  • Project changed from mgr to Dashboard
  • Category changed from 146 to General - Back-end
Actions

Also available in: Atom PDF