+
    G%@i?                         ^ RI t ^ RIHtHt ^ RIHtHtHtHtHt ^ RI	H
t
  ! R R]4      t ! R R]]]4      t ! R	 R
]]4      tR# )    N)datetime	timedelta)PluginRedHatPluginDebianPluginUbuntuPlugin	PluginOpt)sos_parse_versionc                      a  ] tR t^t o RtRtRtRt]! RR]	RR7      ]! RRR	R
7      .t
RtR tR tR tR tR tR tRtV tR# )	Pacemakerz4Pacemaker high-availability cluster resource manager	pacemakercrm-from z%specfiy the start time for crm_report)defaultval_typedesc	crm-scrubTz$enable crm_report password scrubbing)r   r   c                (    V P                  R4       R# )zGet cluster summary zcrm_mon -1 -A -n -r -tNadd_cmd_outputselfs   &>/usr/lib/python3/dist-packages/sos/report/plugins/pacemaker.pysetup_crm_monPacemaker.setup_crm_mon$   s    45    c                ,    V P                  RR.4       R# )z%Get cluster status and configuration z
crm statuscrm configure showNr   r   s   &r   setup_crm_shellPacemaker.setup_crm_shell(   s     
 	r   c                   V P                   P                  P                  R4      pVf   R# V P                  R4       V P	                  . RO4       RP                  VR,          4      p\        V4      \        R4      8  d   V P	                  R4       MV P	                  R4       V P	                  R	R
R7       V P	                  RRR7       V P	                  RRR7       R# )z%Get pacemaker/corosync configuration pcsNz/var/log/pcsd/pcsd.log.versionz0.10.8zpcs property config --allzpcs property list --all
pcs config
pcs_config)tagszpcs quorum statuspcs_quorum_statuszpcs status --full
pcs_status)zpcs stonith sbd status --fullzpcs stonith sbd watchdog listzpcs stonith history show)policypackage_managerpkg_by_nameadd_copy_specr   joinr
   )r   pcs_pkgpcs_versions   &  r   	setup_pcsPacemaker.setup_pcs/   s    ++--99%@?34 
 	 hhwy12[),=h,GG ;< 9:L|</6IJ/lCr   c                ,    V P                  RRR4       R# )Clear password r   passw([^\s=]*)=\S+passw\1=********Ndo_cmd_output_subr   s   &r   postproc_crm_shellPacemaker.postproc_crm_shellF   s     !	
r   c                ,    V P                  RRR4       R# )r4   r%   r5   r6   Nr7   r   s   &r   postproc_pcsPacemaker.postproc_pcsN   s    !	
r   c           	        V P                  . RO4       V P                  4        \        P                  ! 4       \	        ^HR7      ,
          P                  R4      pV P                  R4      '       dl   \        P                  ! R\        V P                  R4      4      4      '       d   V P                  R4      pM$V P                  RV P                  R4       R24       V P                  RRR	7      pV P                  R
4      '       d   RpM$RpV P                  R4       V P                  R4       V P                  RV RV RV R2V P                  4       R7       RpV P                  V P                   4      '       d   V P                  V P                   4       \#        V P                   RRR7      ;_uu_ 4       pV Fx  p\        P                  ! WF4      '       g   K!  \        P$                  ! WF4      P'                  ^4      pR F  p\        P(                  ! VRV4      pK  	  V P                  V4       Kz  	  RRR4       R# R#   + '       g   i     R# ; i)!/var/log/pacemaker/pacemaker.log*)hoursz%Y-%m-%d %H:%m:%Sr   z#\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}zcrm_from parameter 'z$' is not a valid date: using default
crm_reportF)namemaker   z-p "passw.*"r   z-scrubbing of crm passwords has been disabled:z:data collected by crm_report may contain sensitive values.zcrm_report --sos-mode z -S -d  --dest z	 --from "")chrootz0^\s*PCMK_logfile=[\'\"]?(\S+)[\'\"]?\s*(\s#.*)?$rzUTF-8)encodingN)r?   /var/log/pacemaker/bundles/*/z/var/log/pacemaker/pengine*z/var/log/pacemaker.logrH   z/var/log/cluster/pacemaker.log*z/var/log/cluster/bundles/*/)z^"z"$z^\'z\'$)r-   r   r   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)	r   crm_fromcrm_dest	crm_scrubpatternfilelinelogfileregexps	   &        r   setupPacemaker.setupV   s    
 	 	 NN$B'()12E)F 	??:&&xx>DOOJ78: :??:6*4??:+F*G H6 67 ++E+J??;''&IINNJKNN 0 14YK @''/j	(1F#'#6#6#8 	 	: FDLL))t||,dllC'::d Dxx.. #%))G":"@"@"C&DF&(ffVR&AG 'E**73 ! ;: *:::s   5I AI  I	 N)cluster)r   zpacemaker-remote)__name__
__module____qualname____firstlineno__
short_descplugin_nameprofilespackagesr	   rN   option_listrT   r   r   r1   r9   r<   ra   __static_attributes____classdictcell__)__classdict__s   @r   r   r      sp     GJKHH 	*b3>	@+t=	?K G6D.

94 94r   r   c                   8   a a ] tR t^t oV 3R ltR tRtVtV ;t# )DebianPacemakerc                   < V P                  R 4      V n        V P                  4        V P                  4        \        SV `  4        R# )z/etc/default/pacemakerN)	path_joinrT   r   r1   superra   r   	__class__s   &r   ra   DebianPacemaker.setup   s3    ~~&>?r   c                F    V P                  4        V P                  4        R # N)r9   r<   r   s   &r   postprocDebianPacemaker.postproc   s    !r   rT   	re   rf   rg   rh   ra   r{   rn   ro   __classcell__rw   rp   s   @@r   rr   rr      s      r   rr   c                   8   a a ] tR t^t oV 3R ltR tRtVtV ;t# )RedHatPacemakerc                   < V P                  R 4      V n        V P                  4        V P                  R4       \        SV `  4        R# )z/etc/sysconfig/pacemakerz/etc/sysconfig/sbdN)rt   rT   r1   r-   ru   ra   rv   s   &r   ra   RedHatPacemaker.setup   s6    ~~&@A/0r   c                &    V P                  4        R # rz   )r<   r   s   &r   r{   RedHatPacemaker.postproc   s    r   r}   r~   r   s   @@r   r   r      s      r   r   )rL   r   r   sos.report.pluginsr   r   r   r   r	   sos.utilitiesr
   r   rr   r   rc   r   r   <module>r      sG    
 (9 9 +4 4D	i| 	i r   