File: //lib/python3/dist-packages/sos/report/plugins/__pycache__/gluster.cpython-310.pyc
o
([QhX � @ s: d dl Z d dlZd dlmZmZmZ G dd� dee�ZdS )� N)�Plugin�RedHatPlugin� PluginOptc @ sD e Zd ZdZdZdZdZdZdZe ddd d
�gZ
dd� Zd
d� ZdS )�GlusterzGlusterFS storage�gluster)�storage�virtz/run/gluster)� glusterfszglusterfs-core)z
/etc/glusterdz/var/lib/glusterd�dumpFzenable glusterdump support)�default�descc
C s� | � d�rI| �| j�s
d S z t�| jd �}|�t�| jd �� |D ]}t�|� q#W d S tyH } z| �d|� �� W Y d }~d S d }~ww d S )Nr
z/*.dump.[0-9]*z/glusterd_state_[0-9]*_[0-9]*z"Could not remove statedump files: ) �
get_option�path_exists�
statedump_dir�glob�extend�os�remove�OSError�
_log_error)�self�remove_files�name�err� r �</usr/lib/python3/dist-packages/sos/report/plugins/gluster.py�postproc s
�����zGluster.postprocc C s� | � d� | � d� | jddd� | �d� | jddd� | �g d �t�d
� � | �d�s6| �g d�� n| �d
� | �d�rr| �| j�rR| �d�rQ| �| j� n| j� d| j� | �
d�}|d dkrr|d �� d }| �|� | jddd�}|d dkr�|d �
� D ]D}|�d�s�q�|dd � }| �d|� d�d|� d�d|� d�d|� d �d!|� d"�d#|� �d$|� d%�d&|� d�d'|� �d(|� �g
� q�d S d S ))Nz,/var/lib/glusterd/geo-replication/secret.pemz6/var/lib/glusterd/glusterfind/glusterfind_*_secret.pemzgluster peer status�gluster_peer_status)�tagszgluster pool listzgluster volume status�gluster_v_status)z/etc/redhat-storage-releasez/etc/swift/z/etc/glusterd.rpmsavez/etc/glusterfsz/var/lib/glusterd/z(/run/gluster/shared_storage/nfs-ganesha/z$/var/lib/glusterd/glusterfind/.keys/z/run/gluster/*tier-dht/*�all_logs)z/var/log/glusterfs/*logz/var/log/glusterfs/*/*logz)/var/log/glusterfs/geo-replication/*/*logz/var/log/glusterfsr
zgluster(fs|fsd|d)z4Unable to generate statedumps, no such directory: %szgluster get-state�statusr �output���zgluster volume info�gluster_v_infozVolume Name:� zgluster volume get z allzgluster volume geo-replication z statuszgluster volume heal z infoz info split-brainzgluster volume status z clientszgluster snapshot list zgluster volume quota z listzgluster volume rebalance zgluster snapshot info zgluster snapshot status )�add_forbidden_path�add_cmd_output�
add_copy_specr r
r r �signal_process_usr1�soslog�warning�exec_cmd�split�collect_cmd_output�
splitlines�
startswith)r �state�
state_file�
volume_cmd�line�volnamer r r �setup* sb
�
�
�
��
�
��z
Gluster.setupN)
�__name__�
__module__�__qualname__�
short_desc�plugin_name�profilesr �packages�filesr �option_listr r6 r r r r r s �
r )r r �sos.report.pluginsr r r r r r r r �<module> s