Project

General

Profile

Bug #50946

Updated by Jos Collin almost 3 years ago

'ceph fs perf stats' command excepts for giving strings mistakenly in the rank list. 

 <pre> 
 $ ./bin/ceph fs perf stats --mds_rank=0,aoeu 
 *** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *** 
 2021-05-24T04:48:48.876+0000 7f052b616700 -1 WARNING: all dangerous and experimental features are enabled. 
 2021-05-24T04:48:48.916+0000 7f052b616700 -1 WARNING: all dangerous and experimental features are enabled. 
 Error EINVAL: Traceback (most recent call last): 
   File "/home/jcollin/review/ceph/src/pybind/mgr/mgr_module.py", line 1335, in _handle_command 
     return self.handle_command(inbuf, cmd) 
   File "/home/jcollin/review/ceph/src/pybind/mgr/stats/module.py", line 37, in handle_command 
     return self.fs_perf_stats.get_perf_data(cmd) 
   File "/home/jcollin/review/ceph/src/pybind/mgr/stats/fs/perf_stats.py", line 448, in get_perf_data 
     filter_spec = self.extract_query_filters(cmd) 
   File "/home/jcollin/review/ceph/src/pybind/mgr/stats/fs/perf_stats.py", line 441, in extract_query_filters 
     mds_ranks = extract_mds_ranks_from_spec(mds_rank_spec) 
   File "/home/jcollin/review/ceph/src/pybind/mgr/stats/fs/perf_stats.py", line 71, in extract_mds_ranks_from_spec 
     raise ValueError("invalid mds filter spec: {}".format(mds_rank_spec)) 
 ValueError: invalid mds filter spec: 0,aoeu 
 </pre> 

 <pre> 
 $ ./bin/ceph fs perf stats --mds_rank=0, 
 $ ./bin/ceph fs perf stats --mds_rank=0, aoeu 
 *** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH *** 
 2021-05-24T04:48:53.200+0000 7f9f15aeb700 -1 WARNING: all dangerous and experimental features are enabled. 
 2021-05-24T04:48:53.276+0000 7f9f15aeb700 -1 WARNING: all dangerous and experimental features are enabled. 
 Error EINVAL: Traceback (most recent call last): 
   File "/home/jcollin/review/ceph/src/pybind/mgr/mgr_module.py", line 1335, in _handle_command 
     return self.handle_command(inbuf, cmd) 
   File "/home/jcollin/review/ceph/src/pybind/mgr/stats/module.py", line 37, in handle_command 
     return self.fs_perf_stats.get_perf_data(cmd) 
   File "/home/jcollin/review/ceph/src/pybind/mgr/stats/fs/perf_stats.py", line 448, in get_perf_data 
     filter_spec = self.extract_query_filters(cmd) 
   File "/home/jcollin/review/ceph/src/pybind/mgr/stats/fs/perf_stats.py", line 441, in extract_query_filters 
     mds_ranks = extract_mds_ranks_from_spec(mds_rank_spec) 
   File "/home/jcollin/review/ceph/src/pybind/mgr/stats/fs/perf_stats.py", line 72, in extract_mds_ranks_from_spec 
     return tuple(int(mds_rank) for mds_rank in match.group(0).split(',')) 
   File "/home/jcollin/review/ceph/src/pybind/mgr/stats/fs/perf_stats.py", line 72, in <genexpr> 
     return tuple(int(mds_rank) for mds_rank in match.group(0).split(',')) 
 ValueError: invalid literal for int() with base 10: '' 
 </pre>

Back