o
    *b                     @   s4   d dl mZmZmZ d dlZG dd deeeZdS )    )PluginRedHatPluginUbuntuPluginNc                   @   s,   e Zd ZdZdZdZdZdd Zdd Zd	S )
CephMONzCEPH monZceph_mon)ZstorageZvirt	container)z
ceph-mon.*c                 C   s   t  drdS dS )Nz/var/lib/ceph/mon/*/*TF)glob)self r	   =/usr/lib/python3/dist-packages/sos/report/plugins/ceph_mon.pycheck_enabled   s   zCephMON.check_enabledc                 C   s   |  ddd | g d | g d g d}| jdd |D d	d
d | g d z| dd d }W n tyD   d }Y nw | jdd |D |d d S )NZ	ceph_confZceph_mon_log)z.*/ceph.confz/var/log/ceph/ceph-mon.*.log)z/var/log/ceph/ceph-mon*.logz/var/lib/ceph/mon/z/run/ceph/ceph-mon*)zceph mon statzceph quorum_statuszceph reportzceph-disk listzceph versionszceph featureszceph insightszceph crash statzceph crash lszceph config logz!ceph config generate-minimal-confzceph config-key dumpzceph mon_statuszceph osd metadataz ceph osd erasure-code-profile lszceph osd crush show-tunableszceph osd crush dumpzceph mgr dumpzceph mgr metadatazceph mgr module lszceph mgr serviceszceph mgr versions)zmon dumpstatuszhealth detailz	device lsZdfz	df detailzfs lszfs dumpzpg dumpzpg statztime-sync-statuszosd treezosd statzosd df treezosd dumpzosd dfzosd perfzosd blocked-byzosd pool ls detailzosd pool autoscale-statuszmds statzosd numa-statusc                 S      g | ]}d | qS )zceph %s --format json-prettyr	   ).0sr	   r	   r
   
<listcomp>Y   s    z!CephMON.setup.<locals>.<listcomp>Zjson_outputZinsights_ceph_health_detail)ZsubdirZtags)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	ceph-mon*r      c                 S   r   )zceph %sr	   )r   cmdr	   r	   r
   r   r   s    )r   )Zadd_file_tagsZadd_copy_specZadd_cmd_outputZadd_forbidden_pathZget_all_containers_by_regex	Exception)r   Z	ceph_cmdsZcnamer	   r	   r
   setup   s,   

zCephMON.setupN)	__name__
__module____qualname__Z
short_descZplugin_nameZprofilesZ
containersr   r   r	   r	   r	   r
   r      s    r   )Zsos.report.pluginsr   r   r   r   r   r	   r	   r	   r
   <module>   s   