3 ܓi@s4ddlZddlmZmZmZGdddeeeZdS)N)Plugin RedHatPlugin UbuntuPluginc@s0eZdZdZdZdZdZdZd d Zd dZ dS)CephMDSzCEPH mdsZceph_mdsstoragevirt containercephceph-(.*-)?fs.*/var/lib/ceph/mds/*/var/lib/ceph/*/mds.*%/var/snap/microceph/common/data/mds/*cs>|jd}|jjjd}|rL|r.|jdgn |jdg|jdddgnX|jdd i|sl|jd gn |jd g|jd d ddg|jddddddddgddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/gy|jd0d1d2}Wntk rd}YnX|rd3nd4}|j fd5d6|j |D|d7dS)8Nall_logs microcephz//var/snap/microceph/common/logs/*ceph-mds*.log*z./var/snap/microceph/common/logs/*ceph-mds*.logz'/var/snap/microceph/common/**/*keyring*z(/var/snap/microceph/current/**/*keyring*z"/var/snap/microceph/common/state/*z/var/log/ceph/ceph-mds.*.logZ ceph_mds_logz/var/log/ceph/ceph-mds*.logz/var/log/ceph/ceph-mds*.log*z/var/lib/ceph/bootstrap-mds/z/var/lib/ceph/mds/z/var/lib/ceph/*/mds.*z/run/ceph/ceph-mds*z/etc/ceph/*keyring*z/var/lib/ceph/*keyring*z/var/lib/ceph/*/*keyring*z/var/lib/ceph/*/*/*keyring*z/var/lib/ceph/osdz/var/lib/ceph/monz/var/lib/ceph/tmp/*mnt*z/etc/ceph/*bindpass*z cache statusz client lsz config diffz config showz counter dumpzcounter schemaz damage lsz dump loadsz dump tree /Zdump_blocked_opsZdump_historic_opsZdump_historic_ops_by_durationZ dump_mempoolsZdump_ops_in_flightz get subtreesZobjecter_requestsZopsz perf dumpzperf histogram dumpzperf histogram schemaz perf schemaz session lsZstatusversionz ceph-mds*rz/var/snap/microceph/current/runz /var/run/cephcs&g|]}D]}d|d|q qS)z ceph daemon  ).0ic)cmdsr/usr/lib/python3.6/ceph_mds.py ksz!CephMDS.setup..)r) Z get_optionZpolicyZpackage_managerZ pkg_by_nameZ add_copy_specZadd_forbidden_pathZ add_file_tagsZget_all_containers_by_regex ExceptionZadd_cmd_output get_socks)selfrrZcname directoryr)rrsetups         z CephMDS.setupcCsTg}xJtj|D]<\}}}x0|D](}|jdr d|kr |j|j||q WqW|S)z Find any available admin sockets under /var/run/ceph (or subdirs for later versions of Ceph) which can be used for ceph daemon commands z.asokZmds)oswalkendswithappendZ path_join)rrZ ceph_socketsZrdir_filesfilerrrrps  zCephMDS.get_socksN)rrrr )r )r r r ) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZ containersr$rrrrrrr sZr)rZsos.report.pluginsrrrrrrrr s