HEX
Server: Apache
System: Linux insrv.serversdaddy.com 5.14.0-362.24.2.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Mar 30 14:11:54 EDT 2024 x86_64
User: jsaha (1066)
PHP: 8.3.6
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3.9/site-packages/sos/report/plugins/__pycache__/ceph_osd.cpython-39.pyc
a

^��c�
�@s4ddlZddlmZmZmZGdd�deee�ZdS)�N)�Plugin�RedHatPlugin�UbuntuPluginc@s4eZdZdZdZdZdZdZdZdd�Z	d	d
�Z
dS)�CephOSDa�
    This plugin is for capturing information from Ceph OSD nodes. While the
    majority of this plugin should be version agnotics, several collections are
    dependent upon the version of Ceph installed. Versions that correlate to
    RHCS 4 or RHCS 5 are explicitly handled for differences such as those
    pertaining to log locations on the host filesystem.

    Note that while this plugin will activate based on the presence of Ceph
    containers, commands are run directly on the host as those containers are
    often not configured to successfully run the `ceph` commands collected by
    this plugin. These commands are majorily `ceph daemon` commands that will
    reference discovered admin sockets under /var/run/ceph.
    zCEPH osdZceph_osd)ZstorageZvirt�	container)zceph-(.*-)?osd.*)z/var/lib/ceph/osd/z/var/lib/ceph/*/osd*cs`|�ddi�|�gd��|�gd��|�ddg�gd��|��fdd	�|��D��dS)
Nz(/var/log/ceph/(.*/)?ceph-(.*-)?osd.*.logZceph_osd_log)z/etc/ceph/*keyring*z/var/lib/ceph/**/*keyring*z/var/lib/ceph/**/tmp/*mnt*z/etc/ceph/*bindpass*)z/run/ceph/**/ceph-osd*z/var/lib/ceph/**/kv_backendz/var/log/ceph/**/ceph-osd*.logz!/var/log/ceph/**/ceph-volume*.logzceph-disk listzceph-volume lvm list)zbluestore bluefs availablezconfig diffzconfig showZdump_blacklistZdump_blocked_opsZdump_historic_ops_by_durationZdump_historic_slow_opsZ
dump_mempoolsZdump_ops_in_flightZdump_op_pq_stateZdump_osd_networkZdump_reservationsZ
dump_watcherszlog dumpz	perf dumpzperf histogram dumpZobjecter_requests�ops�status�versioncs&g|]}�D]}d|�d|���qqS)zceph daemon � �)�.0�i�c�Zcmdsr�?/usr/lib/python3.9/site-packages/sos/report/plugins/ceph_osd.py�
<listcomp>X�z!CephOSD.setup.<locals>.<listcomp>)Z
add_file_tagsZadd_forbidden_pathZ
add_copy_specZadd_cmd_output�	get_socks)�selfrrr�setup$s�
��z
CephOSD.setupcCsDg}t�d�D]0\}}}|D] }|�d�r|�|�||��qq|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/var/run/ceph/z.asok)�os�walk�endswith�appendZ	path_join)rZceph_socketsZrdir�dirs�files�filerrrr[s
zCephOSD.get_socksN)�__name__�
__module__�__qualname__�__doc__Z
short_descZplugin_nameZprofilesZ
containersrrrrrrrrs7r)rZsos.report.pluginsrrrrrrrr�<module>	s