@@ -495,23 +495,7 @@ def _check_for_strays(self) -> None:
495495 for s in daemons :
496496 daemon_id = s .get ('id' )
497497 assert daemon_id
498- name = '%s.%s' % (s .get ('type' ), daemon_id )
499- if s .get ('type' ) in ['rbd-mirror' , 'cephfs-mirror' , 'rgw' , 'rgw-nfs' ]:
500- metadata = self .mgr .get_metadata (
501- cast (str , s .get ('type' )), daemon_id , {})
502- assert metadata is not None
503- try :
504- if s .get ('type' ) == 'rgw-nfs' :
505- # https://tracker.ceph.com/issues/49573
506- name = metadata ['id' ][:- 4 ]
507- else :
508- name = '%s.%s' % (s .get ('type' ), metadata ['id' ])
509- except (KeyError , TypeError ):
510- self .log .debug (
511- "Failed to find daemon id for %s service %s" % (
512- s .get ('type' ), s .get ('id' )
513- )
514- )
498+ name = self ._service_reference_name (s .get ('type' ), daemon_id )
515499 if s .get ('type' ) == 'tcmu-runner' :
516500 # because we don't track tcmu-runner daemons in the host cache
517501 # and don't have a way to check if the daemon is part of iscsi service
@@ -539,6 +523,27 @@ def _check_for_strays(self) -> None:
539523 self .mgr .set_health_warning (
540524 'CEPHADM_STRAY_DAEMON' , f'{ len (daemon_detail )} stray daemon(s) not managed by cephadm' , len (daemon_detail ), daemon_detail )
541525
526+ def _service_reference_name (self , service_type : str , daemon_id : str ) -> str :
527+ if service_type not in ['rbd-mirror' , 'cephfs-mirror' , 'rgw' , 'rgw-nfs' ]:
528+ name = f'{ service_type } .{ daemon_id } '
529+ return name
530+
531+ metadata = self .mgr .get_metadata (service_type , daemon_id , {})
532+ assert metadata is not None
533+ try :
534+ if service_type == 'rgw-nfs' :
535+ # https://tracker.ceph.com/issues/49573
536+ name = metadata ['id' ][:- 4 ]
537+ else :
538+ name = '%s.%s' % (service_type , metadata ['id' ])
539+ except (KeyError , TypeError ):
540+ self .log .debug (
541+ "Failed to find daemon id for %s service %s" % (
542+ service_type , daemon_id
543+ )
544+ )
545+ return name
546+
542547 def _check_for_moved_osds (self ) -> None :
543548 self .log .debug ('_check_for_moved_osds' )
544549 all_osds : DefaultDict [int , List [orchestrator .DaemonDescription ]] = defaultdict (list )
0 commit comments