a >hS@s@ddlZddlmZddlmZmZmZGdddeeeZdS)N) gethostname)Plugin RedHatPlugin UbuntuPluginc@s\eZdZdZdZdZdZeZdZ ddeded ed d fZ d Z d dZ ddZ dS) CephCommonz CEPH commonZ ceph_common)ZstorageZvirt containerceph)zceph-(.*-)?(mon|rgw|osd).*)rzceph-mdsz ceph-commonZ libcephfs1zceph-fs-commonzcalamari-serverzceph-nfs@pacemakerz ceph-mds@z ceph-mon@z ceph-mgr@zceph-radosgw@*z ceph-osd@*)/etc/ceph/ceph.confz/var/snap/microceph/*c Cs|d}|jjd}|sn|ddd|s@|gdn|gd|gd|gd n&|s|d d gn|d d g|jdddgd}|jdd|Dddd}|jd|dddd}|j|ddd||d|d|dgddddd dd!d"dd#d$dd%d&dd'd(dd)d*dd+d,dg}|D]<}t | d-}| d.} |jd/|d0| ddqV|d1gdS)2Nall_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.log)z/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)subdir) zclient config listzcluster config listz cluster listz disk listz log get-levelstatusz pool listz remote listzreplication list rbdcSsg|]}d|qS)z microceph ).0cmdr r B/usr/lib/python3.9/site-packages/sos/report/plugins/ceph_common.py rz$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_filenamer z /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%" );ZconfigzSELECT * 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) selfr Z microceph_pkgZcmdsZ dqlite_crtZdb_pathZqueriesZ query_entryrZ file_suffixr r rsetup.s        1  zCephCommon.setupcCs*dg}dd|d}|d|ddS)Nzrgw keystone admin passwordz(^(|z )\s*=\s*)(.*)r z \1*********)joinZdo_path_regex_sub)rZ protect_keysZregexr r rpostprocszCephCommon.postprocN)__name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZ containersrZ ceph_hostnameZpackagesrfilesrrr r r rr s"  r)rZsocketrZsos.report.pluginsrrrrr r r rs