o
G%@i? @ sz d dl Z d dlmZmZ d dlmZmZmZmZmZ d dl m
Z
G dd deZG dd deeeZG d d
d
eeZ
dS ) N)datetime timedelta)PluginRedHatPluginDebianPluginUbuntuPlugin PluginOpt)sos_parse_versionc @ sn e Zd ZdZdZdZdZeddedded d
ddgZ dZ
d
d Zdd Zdd Z
dd Zdd Zdd ZdS ) Pacemakerz4Pacemaker high-availability cluster resource manager pacemaker)cluster)r zpacemaker-remotecrm-from z%specfiy the start time for crm_report)defaultval_typedesc crm-scrubTz$enable crm_report password scrubbing)r r c C s | d dS )z Get cluster summary zcrm_mon -1 -A -n -r -tNadd_cmd_outputself r >/usr/lib/python3/dist-packages/sos/report/plugins/pacemaker.py
setup_crm_mon$ s zPacemaker.setup_crm_monc C s | ddg dS )z& Get cluster status and configuration z
crm statuscrm configure showNr r r r r setup_crm_shell( s
zPacemaker.setup_crm_shellc C s | j jd}|du r
dS | d | g d d|d }t|tdkr.| d n| d | jd
dd | jd
dd | jddd dS )z& Get pacemaker/corosync configuration pcsNz/var/log/pcsd/pcsd.log)zpcs stonith sbd status --fullzpcs stonith sbd watchdog listzpcs stonith history show.versionz0.10.8zpcs property config --allzpcs property list --all
pcs config
pcs_config)tagszpcs quorum statuspcs_quorum_statuszpcs status --full
pcs_status)policypackage_managerpkg_by_name
add_copy_specr joinr )r pcs_pkgpcs_versionr r r setup_pcs/ s
zPacemaker.setup_pcsc C | ddd dS ) Clear password r passw([^\s=]*)=\S+passw\1=********Ndo_cmd_output_subr r r r postproc_crm_shellF
zPacemaker.postproc_crm_shellc C r, )r- r r. r/ Nr0 r r r r postproc_pcsN r3 zPacemaker.postproc_pcsc C sn | g d | t tdd d}| dr9tdt | dr-| d}n|
d| d d | jd d
d}| drHd
}nd}| d | d | j
d| d| d| d| d d}| | jr| | j t| jddd.}|D ]"}t||rt||d}dD ] }t|d|}q| | qW d d S 1 sw Y d S d S )N)z!/var/log/pacemaker/pacemaker.log*/var/log/pacemaker/bundles/*/z/var/log/pacemaker/pengine*z/var/log/pacemaker.logr5 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}zcrm_from parameter 'z$' is not a valid date: using default
crm_reportF)namemaker z-p "passw.*"r z-scrubbing of crm passwords has been disabled:z:data collected by crm_report may contain sensitive values.zcrm_report --sos-mode z -S -d --dest z --from "")chrootz0^\s*PCMK_logfile=[\'\"]?(\S+)[\'\"]?\s*(\s#.*)?$rzUTF-8)encoding )z^"z"$z^\'z\'$)r' r r todayr strftime
get_optionrematchstr
_log_errorget_cmd_output_path _log_warnr tmp_in_sysrootpath_isfileenvfileopensearchgroupsub) r crm_fromcrm_dest crm_scrubpatternfilelinelogfileregexpr r r setupV sT
"zPacemaker.setupN)__name__
__module____qualname__
short_descplugin_nameprofilespackagesr rE option_listrK r r r+ r2 r4 rX r r r r r
s&