Ë
    i©¹d*  ã                   ó€   — d dl mZmZmZmZmZ d dlmZmZ d dlZ G d„ de«      Z	 G d„ de	ee«      Z
 G d„ d	e	e«      Zy)
é    )ÚPluginÚRedHatPluginÚDebianPluginÚUbuntuPluginÚ	PluginOpt)ÚdatetimeÚ	timedeltaNc                   ór   — e Zd ZdZdZdZdZ edded¬«       ed	d
d¬«      gZ	dZ
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)Ú	Pacemakerz4Pacemaker high-availability cluster resource managerÚ	pacemaker)Úcluster)r   zpacemaker-remoteÚcrm_fromÚ z%specfiy the start time for crm_report)ÚdefaultÚval_typeÚdescÚ	crm_scrubTz$enable crm_report password scrubbing)r   r   c                 ó&   — | j                  d«       y )Nzcrm_mon -1 -A -n -r -t©Úadd_cmd_output©Úselfs    ú>/usr/lib/python3/dist-packages/sos/report/plugins/pacemaker.pyÚsetup_crm_monzPacemaker.setup_crm_mon#   s   € Ø×ÑÐ4Õ5ó    c                 ó*   — | j                  ddg«       y )Nz
crm statusúcrm configure showr   r   s    r   Úsetup_crm_shellzPacemaker.setup_crm_shell&   s   € Ø×ÑØØ ð
õ 	r   c                 ó¾   — | j                  d«       | j                  g d¢«       | j                  dd¬«       | j                  dd¬«       | j                  dd	¬«       y )
Nz/var/log/pcsd/pcsd.log)zpcs stonith sbd status --fullzpcs stonith sbd watchdog listzpcs stonith history showzpcs property list --allú
pcs configÚ
pcs_config)Útagszpcs quorum statusÚpcs_quorum_statuszpcs status --fullÚ
pcs_status)Úadd_copy_specr   r   s    r   Ú	setup_pcszPacemaker.setup_pcs,   sb   € Ø×ÑÐ3Ô4Ø×Ñò 
ô 	ð 	×Ñ˜L¨|ÐÔ<Ø×ÑÐ/Ð6IÐÔJØ×ÑÐ/°lÐÕCr   c                 ó*   — | j                  ddd«       y )Nr   úpassw([^\s=]*)=\S+úpassw\1=********©Údo_cmd_output_subr   s    r   Úpostproc_crm_shellzPacemaker.postproc_crm_shell8   s   € Ø×ÑØ Ø!Øõ	
r   c                 ó*   — | j                  ddd«       y )Nr    r(   r)   r*   r   s    r   Úpostproc_pcszPacemaker.postproc_pcs?   s   € Ø×ÑØØ!Øõ	
r   c           	      ó*  — | j                  g d¢«       | j                  «        t        j                  «       t	        d¬«      z
  j                  d«      }| j                  d«      rct        j                  dt        | j                  d«      «      «      r| j                  d«      }n#| j                  d| j                  d«      z  «       | j                  dd	¬
«      }| j                  d«      rd}n$d}| j                  d«       | j                  d«       | j                  d|›d|›d|›d�| j                  «       ¬«       d}| j                  | j                   «      r­| j                  | j                   «       t#        | j                   «      5 }|D ]m  }t        j                  ||«      sŒt        j$                  ||«      j'                  d«      }dD ]  }t        j(                  |d|«      }Œ | j                  |«       Œo 	 d d d «       y y # 1 sw Y   y xY w)N)z!/var/log/pacemaker/pacemaker.log*ú/var/log/pacemaker/bundles/*/z/var/log/pacemaker/pengine*z/var/log/pacemaker.logr0   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Ú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#.*)?$é   )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   r   Úcrm_destr   ÚpatternÚfÚlineÚlogfileÚregexps	            r   ÚsetupzPacemaker.setupF   sä  € Ø×Ñò 
ô 	ð 	×ÑÔô —N‘NÓ$Ü BÔ'ñ(ß)1©Ð2EÓ)Fð 	à�?‰?˜:Ô&Ü�x‰xÐ>Ü˜DŸO™O¨JÓ7Ó8ô:àŸ?™?¨:Ó6‘à—‘ðØ $§¡°
Ó ;ñ<ô=ð ×+Ñ+°ÀEÐ+ÓJˆØ�?‰?˜;Ô'Ø&‰IàˆIØ�N‰NÐJÔKØ�N‰Nð 0ô 1à×Òâ&ª²(ð<ð $(×#6Ñ#6Ó#8ð 	ô 	:ð FˆØ×Ñ˜DŸL™LÔ)Ø×Ñ˜tŸ|™|Ô,Ü�d—l‘lÓ#ð 4 qØò 4�DÜ—x‘x ¨Õ.ô #%§)¡)¨G°TÓ":×"@Ñ"@ÀÓ"C˜Ø&Dò B˜FÜ&(§f¡f¨V°R¸Ó&A™GðBà×*Ñ*¨7Õ3ñ4÷4ð 4ð *÷4ð 4ús   ÆH	Æ(AH	È	HN)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesÚpackagesr   r>   Úoption_listrD   r   r   r&   r,   r.   rO   © r   r   r   r      sh   „ àG€Jà€KØ€Hð€Hñ 	�* b°3Ø>ô	@á�+ tØ=ô	?ð€Kð €Gò6òò
Dò
ò
ó:4r   r   c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚDebianPacemakerc                 ó–   •— | j                  d«      | _        | j                  «        | j                  «        t        t
        | �  «        y )Nz/etc/default/pacemaker)Ú	path_joinrD   r   r&   ÚsuperrZ   rO   ©r   Ú	__class__s    €r   rO   zDebianPacemaker.setup„   s7   ø€ Ø—~‘~Ð&>Ó?ˆŒØ×ÑÔØ�‰ÔÜŒo˜tÑ*Õ,r   c                 óD   — | j                  «        | j                  «        y ©N)r,   r.   r   s    r   ÚpostproczDebianPacemaker.postprocŠ   s   € Ø×ÑÔ!Ø×ÑÕr   ©rP   rQ   rR   rO   rb   Ú__classcell__©r_   s   @r   rZ   rZ   ƒ   s   ø„ ô-ör   rZ   c                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ÚRedHatPacemakerc                 ó˜   •— | j                  d«      | _        | j                  «        | j                  d«       t        t
        | �  «        y )Nz/etc/sysconfig/pacemakerz/etc/sysconfig/sbd)r\   rD   r&   r%   r]   rg   rO   r^   s    €r   rO   zRedHatPacemaker.setup�   s:   ø€ Ø—~‘~Ð&@ÓAˆŒØ�‰ÔØ×ÑÐ/Ô0ÜŒo˜tÑ*Õ,r   c                 ó$   — | j                  «        y ra   )r.   r   s    r   rb   zRedHatPacemaker.postproc–   s   € Ø×ÑÕr   rc   re   s   @r   rg   rg   �   s   ø„ ô-ör   rg   )Úsos.report.pluginsr   r   r   r   r   r   r	   r<   r   rZ   rg   rX   r   r   ú<module>rk      sB   ð÷9õ 9ç (Û 	ôq4�ô q4ôh	�i ¨|ô 	ô�i õ r   