3 ܓiS@s@ddlZddlmZddlmZmZmZGdddeeeZdS)N) gethostname)Plugin RedHatPlugin UbuntuPluginc@s\eZdZdZdZdZdZeZdZ d dedededdfZ dZ ddZ ddZ dS) CephCommonz CEPH commonZ ceph_commonstoragevirt containercephceph-(.*-)?(mon|rgw|osd).*ceph-mds ceph-common libcephfs1ceph-fs-commoncalamari-serverzceph-nfs@pacemakerz ceph-mds@z ceph-mon@z ceph-mgr@zceph-radosgw@*z ceph-osd@*/etc/ceph/ceph.conf/var/snap/microceph/*c Cs|jd}|jjjd}|s|jddd|sB|jdddgn|jd d d g|jd d ddg|jddddddddgn8|s|jddgn|jddg|jdddddd d!d"d#d$d%d&g }|jd'd(|Dddd)}|jd*|d+ddd,}|j|d-dd.|j|d/|d0|d1gd2d3d4d5d6d4d7d8d4d9d:d4d;dd4d?d@d4dAdBd4g}xD|D]<}t j |j dC}|j dD} |jdE|dF| dd.qzW|jdGgdS)HNall_logsZ microcephZ ceph_confZceph_log)z .*/ceph.confz/var/log/ceph(.*)?/ceph.log.*z/var/log/calamari/*.logz/var/log/ceph/**/ceph.logz/var/log/ceph/cephadm.logz/var/log/calamariz/var/log/ceph/**/ceph.log*z/var/log/ceph/cephadm.log*z /var/log/ceph/**/ceph.audit.log*z /etc/ceph/z/etc/calamari/z/var/lib/ceph/tmp/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(/var/snap/microceph/common/logs/ceph.logz./var/snap/microceph/common/logs/ceph.audit.logz)/var/snap/microceph/common/logs/ceph.log*z//var/snap/microceph/common/logs/ceph.audit.log*zsnap info microceph)subdirzclient config listzcluster config listz cluster listz disk listz log get-levelZstatusz pool listz remote listzreplication list rbdcSsg|]}d|qS)z microceph ).0cmdrr!/usr/lib/python3.6/ceph_common.py rsz$CephCommon.setup..z,/var/snap/microceph/common/state/cluster.crtzopenssl x509 -in z -noout -datesz)/var/snap/microceph/common/state/databaseZls_microceph_dqlite_dir)Zsuggest_filenamerz /info.yamlz /cluster.yamlz/../daemon.yamlz/SELECT * FROM sqlite_master WHERE type="table";Zschema)querysuggested_file_suffixzgSELECT * FROM config WHERE NOT ( key LIKE "%keyring%" OR key LIKE "%ca_cert%" OR key LIKE "%ca_key%" );configzSELECT * FROM services;servicesz5SELECT id, name, expiry_date FROM core_token_records;Z token_recordszvSELECT id, name, address, schema_internal, schema_external, heartbeat, role, api_extensions FROM core_cluster_members;Zcore_cluster_memberszSELECT * FROM disks;ZdiskszSELECT * FROM client_config;Z client_configzSELECT * FROM remote;Zremoterrzmicroceph cluster sql Zmicroceph_cluster_sql_zceph -v) Z get_optionZpolicyZpackage_managerZ pkg_by_nameZ add_file_tagsZ add_copy_specZadd_forbidden_pathZadd_cmd_outputZadd_dir_listingjsondumpsget) selfrZ microceph_pkgZcmdsZ dqlite_crtZdb_pathZqueriesZ query_entryrZ file_suffixrrrsetup.s         zCephCommon.setupcCs*dg}ddj|d}|jd|ddS)Nzrgw keystone admin passwordz(^(|z )\s*=\s*)(.*)z/etc/ceph/ceph.confz \1*********)joinZdo_path_regex_sub)r!Z protect_keysZregexrrrpostprocszCephCommon.postprocN)rrr r )r )r r r rrr)rr)__name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZ containersrZ ceph_hostnameZpackagesrfilesr"r%rrrrr s,r)rZsocketrZsos.report.pluginsrrrrrrrrs