Bug #40925

Updated by Volker Theile over 1 year ago

Create new pools and a CephFS filesystem:

$ ceph osd pool create 8
$ ceph osd pool application enable cephfs
$ ceph osd pool create cephfs.b.meta 8
$ ceph osd pool application enable cephfs.b.meta cephfs

$ ceph fs flag set enable_multiple true
$ ceph fs new b cephfs.b.meta

# UI crashes because of accessing non-existing data
After that go to the dashboard and select the 'b' filesystem in the filesystem table.

<pre><code class="text">
zone.js:199 Uncaught TypeError: Cannot read property 'name' of undefined
at CephfsDetailComponent.push../src/app/ceph/cephfs/cephfs-detail/cephfs-detail.component.ts.CephfsDetailComponent.ngOnChanges (cephfs-detail.component.ts:56)
at checkAndUpdateDirectiveInline (core.js:22085)
at checkAndUpdateNodeInline (core.js:23353)
at checkAndUpdateNode (core.js:23315)
at debugCheckAndUpdateNode (core.js:23949)
at debugCheckDirectivesFn (core.js:23909)
at Object.eval [as updateDirectives] (CephfsListComponent.html:9)
at Object.debugUpdateDirectives [as updateDirectives] (core.js:23901)
at checkAndUpdateView (core.js:23297)


# The 'Performance Details' tab is shown, either no GrafanaID is set and no graphs could be displayed. In such a case the tab shouldn't be displayed.

# The clients tab crashes when selecting filesystem 'b'.

<pre><code class="json">
{"status": "500 Internal Server Error", "detail": "The server encountered an unexpected condition which prevented it from fulfilling the request.", "traceback": "Traceback (most recent call last):\n File \"/usr/lib/python3.7/site-packages/cherrypy/\", line 628, in respond\n self._do_respond(path_info)\n File \"/usr/lib/python3.7/site-packages/cherrypy/\", line 687, in _do_respond\n response.body = self.handler()\n File \"/usr/lib/python3.7/site-packages/cherrypy/lib/\", line 219, in __call__\n self.body = self.oldhandler(*args, **kwargs)\n File \"/usr/lib/python3.7/site-packages/cherrypy/\", line 230, in wrap\n return self.newhandler(innerfunc, *args, **kwargs)\n File \"/ceph/src/pybind/mgr/dashboard/services/\", line 88, in dashboard_exception_handler\n return handler(*args, **kwargs)\n File \"/usr/lib/python3.7/site-packages/cherrypy/\", line 54, in __call__\n return self.callable(*self.args, **self.kwargs)\n File \"/ceph/src/pybind/mgr/dashboard/controllers/\", line 649, in inner\n ret = func(*args, **kwargs)\n File \"/ceph/src/pybind/mgr/dashboard/controllers/\", line 842, in wrapper\n return func(*vpath, **params)\n File \"/ceph/src/pybind/mgr/dashboard/controllers/\", line 38, in clients\n return self._clients(fs_id)\n File \"/ceph/src/pybind/mgr/dashboard/controllers/\", line 270, in _clients\n status, clients = cephfs_clients.get()\n File \"/ceph/src/pybind/mgr/dashboard/\", line 250, in wrapper\n return, args, kwargs)\n File \"/ceph/src/pybind/mgr/dashboard/\", line 232, in run\n raise self.exception\n File \"/ceph/src/pybind/mgr/dashboard/\", line 153, in run\n val = self.fn(*self.args, **self.kwargs)\n File \"/ceph/src/pybind/mgr/dashboard/controllers/\", line 318, in get\n return CephService.send_command('mds', 'session ls', srv_spec='{0}:0'.format(self.fscid))\n File \"/ceph/src/pybind/mgr/dashboard/services/\", line 163, in send_command\n mgr.send_command(result, srv_type, srv_spec, json.dumps(argdict), \"\")\n File \"/ceph/src/pybind/mgr/\", line 886, in send_command\n self._ceph_send_command(*args, **kwargs)\nRuntimeError: failed to send command to mds: (2) No such file or directory\n", "version": "18.1.1"}