Sindbad~EG File Manager

Current Path : /lib/python3.6/site-packages/sos/report/plugins/__pycache__/
Upload File :
Current File : //lib/python3.6/site-packages/sos/report/plugins/__pycache__/pacemaker.cpython-36.opt-1.pyc

3

�fd�@szddlZddlmZmZddlmZmZmZmZmZddl	m
Z
Gdd�de�ZGdd�deee�ZGd	d
�d
ee�Z
dS)�N)�datetime�	timedelta)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPlugin�	PluginOpt)�sos_parse_versionc@sneZdZdZdZdZdZeddedd�ed	d
dd�gZ	dZ
d
d�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)�	Pacemakerz4Pacemaker high-availability cluster resource manager�	pacemaker�cluster�pacemaker-remote�crm_from�z%specfiy the start time for crm_report)�defaultZval_type�desc�	crm_scrubTz$enable crm_report password scrubbing)rrcCs|jd�dS)z Get cluster summary zcrm_mon -1 -A -n -r -tN)�add_cmd_output)�self�r�/usr/lib/python3.6/pacemaker.py�
setup_crm_mon$szPacemaker.setup_crm_moncCs|jddg�dS)z& Get cluster status and configuration z
crm statuszcrm configure showN)r)rrrr�setup_crm_shell(szPacemaker.setup_crm_shellcCs�|jjjd�}|dkrdS|jd�|jdddg�dj|d�}t|�td	�kr^|jd
�n
|jd�|jdd
d�|jddd�|jddd�dS)z& Get pacemaker/corosync configuration ZpcsNz/var/log/pcsd/pcsd.logzpcs stonith sbd status --fullzpcs stonith sbd watchdog listzpcs stonith history show�.�versionz0.10.8zpcs property config --allzpcs property list --allz
pcs configZ
pcs_config)Ztagszpcs quorum statusZpcs_quorum_statuszpcs status --fullZ
pcs_status)ZpolicyZpackage_managerZpkg_by_name�
add_copy_specr�joinr	)rZpcs_pkgZpcs_versionrrr�	setup_pcs/s

zPacemaker.setup_pcscCs|jddd�dS)z Clear password zcrm configure showzpassw([^\s=]*)=\S+zpassw\1=********N)�do_cmd_output_sub)rrrr�postproc_crm_shellFszPacemaker.postproc_crm_shellcCs|jddd�dS)z Clear password z
pcs configzpassw([^\s=]*)=\S+zpassw\1=********N)r)rrrr�postproc_pcsNszPacemaker.postproc_pcsc	
Cs`|jdddddddg�|j�tj�tdd�jd	�}|jd
�rxtjdt	|jd
���rd|jd
�}n|j
d|jd
��|jd
dd�}|jd�r�d}nd}|jd�|jd�|j
d|||f|j�d�d}|j|j��r\|j|j�t|jddd��^}xV|D]N}tj||��rtj||�jd�}xd D]}tj|d|�}�q*W|j|��qWWdQRXdS)!Nz!/var/log/pacemaker/pacemaker.log*z/var/log/pacemaker/bundles/*/z/var/log/pacemaker/pengine*z/var/log/pacemaker.logz/var/log/cluster/pacemaker.log*z/var/log/cluster/bundles/*/�H)Zhoursz%Y-%m-%d %H:%m:%Srz#\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}z:crm_from parameter '%s' is not a valid date: using defaultZ
crm_reportF)�nameZmakerz-p "passw.*"rz-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#.*)?$�rzUTF-8)�encoding��^"�"$�^\'�\'$)r'r(r)r*)rrrZtodayrZstrftimeZ
get_option�re�match�strZ
_log_errorZget_cmd_output_pathZ	_log_warnrZtmp_in_sysrootZpath_isfile�envfile�open�search�group�sub)	rrZcrm_destr�pattern�file�lineZlogfileZregexprrr�setupVsJ






zPacemaker.setupN)r)rr
)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZpackagesrr-Zoption_listr.rrrrr r6rrrrr
s 
r
cs$eZdZ�fdd�Zdd�Z�ZS)�DebianPacemakercs*|jd�|_|j�|j�t�j�dS)Nz/etc/default/pacemaker)�	path_joinr.rr�superr6)r)�	__class__rrr6�szDebianPacemaker.setupcCs|j�|j�dS)N)rr )rrrr�postproc�szDebianPacemaker.postproc)r7r8r9r6r>�
__classcell__rr)r=rr:�sr:cs$eZdZ�fdd�Zdd�Z�ZS)�RedHatPacemakercs,|jd�|_|j�|jd�t�j�dS)Nz/etc/sysconfig/pacemakerz/etc/sysconfig/sbd)r;r.rrr<r6)r)r=rrr6�s
zRedHatPacemaker.setupcCs|j�dS)N)r )rrrrr>�szRedHatPacemaker.postproc)r7r8r9r6r>r?rr)r=rr@�sr@)r+rrZsos.report.pluginsrrrrrZ
sos.utilitiesr	r
r:r@rrrr�<module>	s

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists