Project

General

Profile

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>

Back