HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/pacemaker.cpython-310.pyc
o

���b��@snddlmZmZmZmZmZddlmZmZddlZGdd�de�Z	Gdd�de	ee�Z
Gdd	�d	e	e�ZdS)
�)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPlugin�	PluginOpt)�datetime�	timedeltaNc@sneZdZdZdZdZdZeddedd�ed	d
dd�gZ	dZ
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�	Pacemakerz4Pacemaker high-availability cluster resource manager�	pacemaker)�cluster)r
zpacemaker-remote�crm_from�z%specfiy the start time for crm_report)�default�val_type�desc�	crm_scrubTz$enable crm_report password scrubbing)rrcCs|�d�dS)Nzcrm_mon -1 -A -n -r -t��add_cmd_output��self�r�>/usr/lib/python3/dist-packages/sos/report/plugins/pacemaker.py�
setup_crm_mon#szPacemaker.setup_crm_moncCs|�ddg�dS)Nz
crm status�crm configure showrrrrr�setup_crm_shell&s
�zPacemaker.setup_crm_shellcCs|�d�|�gd��dS)Nz/var/log/pcsd/pcsd.log)�
pcs configzpcs status --fullzpcs stonith sbd status --fullzpcs stonith sbd watchdog listzpcs stonith history showzpcs quorum statuszpcs property list --all)�
add_copy_specrrrrr�	setup_pcs,s
zPacemaker.setup_pcscC�|�ddd�dS)Nr�passw([^\s=]*)=\S+�passw\1=********��do_cmd_output_subrrrr�postproc_crm_shell8�
�zPacemaker.postproc_crm_shellcCr)Nrrr r!rrrr�postproc_pcs?r$zPacemaker.postproc_pcsc	CsZ|�gd��|��t��tdd��d�}|�d�r7t�dt	|�d���r-|�d�}n
|�
d|�d��|jdd	d
�}|�d�rFd}nd
}|�d�|�d�|j
d|||f|��d�d}|�|j�r�|�|j�t|j��.}|D]"}t�||�r�t�||��d�}dD]	}t�|d
|�}q�|�|�qvWd�dS1s�wYdSdS)N)z!/var/log/pacemaker/pacemaker.log*�/var/log/pacemaker/bundles/*/z/var/log/pacemaker/pengine*z/var/log/pacemaker.logr&z/var/log/cluster/pacemaker.log*z/var/log/cluster/bundles/*/�H)�hoursz%Y-%m-%d %H:%m:%Srz#\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}z:crm_from parameter '%s' is not a valid date: using default�
crm_reportF)�name�makerz-p "passw.*"r
z-scrubbing of crm passwords has been disabled:z:data collected by crm_report may contain sensitive values.z5crm_report --sos-mode %s -S -d  --dest %s --from "%s")�chrootz0^\s*PCMK_logfile=[\'\"]?(\S+)[\'\"]?\s*(\s#.*)?$�)z^"z"$z^\'z\'$)rrr�todayr�strftime�
get_option�re�match�str�
_log_error�get_cmd_output_path�	_log_warnr�tmp_in_sysroot�path_isfile�envfile�open�search�group�sub)	rr�crm_destr�pattern�f�line�logfile�regexprrr�setupFsT��
���


��
��"��zPacemaker.setupN)�__name__�
__module__�__qualname__�
short_desc�plugin_name�profiles�packagesrr3�option_listr9rrrr#r%rDrrrrr	s&���r	c�$eZdZ�fdd�Zdd�Z�ZS)�DebianPacemakercs.|�d�|_|��|��tt|���dS)Nz/etc/default/pacemaker)�	path_joinr9rr�superrNrDr��	__class__rrrD�szDebianPacemaker.setupcCs|��|��dS�N)r#r%rrrr�postproc�szDebianPacemaker.postproc�rErFrGrDrT�
__classcell__rrrQrrN��rNcrM)�RedHatPacemakercs0|�d�|_|��|�d�tt|���dS)Nz/etc/sysconfig/pacemakerz/etc/sysconfig/sbd)rOr9rrrPrXrDrrQrrrD�s
zRedHatPacemaker.setupcCs|��dSrS)r%rrrrrT�szRedHatPacemaker.postprocrUrrrQrrX�rWrX)�sos.report.pluginsrrrrrrrr1r	rNrXrrrr�<module>st