Bug #46817
Updated by Jan Fajerski almost 4 years ago
We had a cluster in an intermediate failed state (mixed versions nautilus and octopus with multiple active MDS). ceph -s still reported everything as running (though MDS' have failed due to mixed versions), ceph fs status only printed a stack trace though.
mgr_module.get_metadata can return None and the status module doesn't check for that.
<pre>
:~ # ceph -s
cluster:
id: 33ec5433-261d-3dad-b75a-cd21d35a0946
health: HEALTH_OK
services:
mon: 3 daemons, quorum ses-5-1,ses-5-2,ses-5-3 (age 3h)
mgr: ses-5-2(active, since 3h), standbys: ses-5-3, ses-5-1
mds: cephfs:2 {0=ses-5-3=up:active,1=ses-5-2=up:active} 1 up:standby
osd: 21 osds: 21 up (since 80m), 21 in (since 4w)
rgw: 2 daemons active (ses-5-2, ses-5-4)
rgw-nfs: 2 daemons active (ganesha.ses-5-1, ganesha.ses-5-3)
task status:
data:
pools: 14 pools, 616 pgs
objects: 776 objects, 222 MiB
usage: 23 GiB used, 340 GiB / 363 GiB avail
pgs: 616 active+clean
io:
client: 1.3 KiB/s rd, 1 op/s rd, 0 op/s wr
:~ # ceph fs status
Error EINVAL: Traceback (most recent call last):
File "/usr/share/ceph/mgr/mgr_module.py", line 975, in _handle_command
return self.handle_command(inbuf, cmd)
File "/usr/share/ceph/mgr/status/module.py", line 251, in handle_command
return self.handle_fs_status(cmd)
File "/usr/share/ceph/mgr/status/module.py", line 111, in handle_fs_status
mds_versions[metadata.get('ceph_version', "unknown")].append(info['name'])
AttributeError: 'NoneType' object has no attribute 'get'
</pre>