Ë
    G%@i=  ã                   ó>   — d dl mZmZmZ d dlmZ  G d„ deee«      Zy)é    )ÚPluginÚRedHatPluginÚUbuntuPlugin)Úfindc                   ó2   — e Zd ZdZdZdZdZdZd„ Zd„ Z	d„ Z
y	)
ÚDRBDz*Distributed Replicated Block Device (DRBD)Údrbd)Ústorage)Ú	drbdsetupé<   c                 óÐ  — d}t        dd«      D ]‰  }t        |dd¬«      5 }|j                  «       j                  «       }d d d «       |d|› d› d	z  }|j	                  «       r1	 d
|› d}t        |dd¬«      5 }||j                  «       z  }d d d «       |dz  }Œ‹ | j                  |d«       y # 1 sw Y   ŒpxY w# 1 sw Y   Œ/xY w# t
        $ r}|d|› d|› dz  }Y d }~ŒLd }~ww xY w)NÚ z*_pidz!/sys/kernel/debug/drbd/resources/Úrzutf-8)Úencodingz--- z: z ---
z/proc/z/stackzCould not read /proc/z/stack: ú
Údrbd_thread_stacks)r   ÚopenÚreadÚstripÚisdigitÚ	ExceptionÚadd_string_as_file)ÚselfÚstacksÚpid_fileÚfÚpidÚsfnÚsfÚes           ú9/usr/lib/python3/dist-packages/sos/report/plugins/drbd.pyÚadd_drbd_thread_stackszDRBD.add_drbd_thread_stacks   s  € ØˆÜ˜WÐ&IÓJò 	ˆHÜh ¨gÔ6ð '¸!Ø—f‘f“h—n‘nÓ&÷'à˜˜X˜J b¨¨¨VÐ4Ñ4ˆFØ{‰{Œ}ðIØ" 3 % vÐ.CÜ˜c 3°Ô9ð ,¸RØ "§'¡'£)Ñ+˜÷,ð d‰N‰Fð	ð 	×Ñ Ð(<Õ=÷'ð 'ú÷,ð ,ûä ò IØÐ 5°c°U¸(À1À#ÀRÐHÑH•FûðIús;    B.Á$CÁ8B:ÂCÂ.B7	Â:C	Â?CÃ	C%ÃC Ã C%c           	      óæ   — | j                  g d¢«       | j                  «        t        dd«      D ],  }| j                  d|› gd|j                  dd«      › ¬«       Œ. | j	                  g d	¢«       y )
N)údrbdadm dumpzdrbdadm -d -vvv adjust allzdrbdsetup status -vs allúdrbdsetup show allz	drbd*.ko*z/lib/moduleszmodinfo Úmodinfo_ú/Ú_)Úsuggest_filename)z/etc/drbd.confz/etc/drbd.d/*z
/proc/drbdz/sys/kernel/debug/drbd/*z/var/lib/drbd/*z/var/lib/drbd-support/*z/var/lib/linstor.d/*)Úadd_cmd_outputr"   r   ÚreplaceÚadd_copy_spec)r   Úkmods     r!   Úsetupz
DRBD.setup*   s‰   € Ø×Ñò 
ô 	ð 	×#Ñ#Ô%Ü˜ nÓ5ò 	EˆDØ×ÑØ˜4˜&Ð!ð!à"*¨4¯<©<¸¸SÓ+AÐ*BÐ Cð  õ Eð	Eð 	×Ñò 
õ 	ó    c                 ó¬   — d}d}| j                  d||«       d}d}| j                  d||«       | j                  d||«       | j                  d||«       y )	Nz!("nodehash"\s*:\s*")[a-zA-Z0-9]+"z\1********"z'/var/lib/drbd-support/registration.jsonz%(shared-secret\s+\"?).[^\"]+(\"?\s*;)z\1********\2z.*\.(conf|res)r$   r%   )Údo_path_regex_subÚdo_cmd_output_sub)r   Únodehash_reÚreplÚ	secret_res       r!   ÚpostproczDRBD.postproc@   sf   € à:ˆØˆØ×ÑØ5Ø˜ô	
ð =ˆ	ØˆØ×ÑÐ0°)¸TÔBØ×Ñ˜~¨y¸$Ô?Ø×ÑÐ3°YÀÕEr/   N)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesÚcommandsÚcmd_timeoutr"   r.   r6   © r/   r!   r   r      s-   „ à=€Jà€KØ€HØ€Hð €Kò>ò"ó,Fr/   r   N)Úsos.report.pluginsr   r   r   Úsos.utilitiesr   r   r?   r/   r!   ú<module>rB      s%   ð÷ BÑ AÝ ôAFˆ6< õ AFr/   