a G%@i= ã@s8ddlmZmZmZddlmZGdd„deeeƒZdS)é)ÚPluginÚ RedHatPluginÚ UbuntuPlugin)Úfindc@s8eZdZdZdZdZdZdZdd„Zdd „Z d d „Z d S) ÚDRBDz*Distributed Replicated Block Device (DRBD)Zdrbd)Zstorage)Z drbdsetupé<c Cs d}tddƒD]ê}t|ddd}| ¡ ¡}Wdƒn1sB0Y|d|›d|›d 7}| ¡rðzJd |›d }t|ddd}|| ¡7}Wdƒn1s¨0YWn:tyî}z"|d |›d |›d7}WYd}~n d}~00|d7}q| |d¡dS)NÚz*_pidz!/sys/kernel/debug/drbd/resources/Úrzutf-8)Úencodingz--- z: z --- z/proc/z/stackzCould not read /proc/z/stack: Ú Zdrbd_thread_stacks)rÚopenÚreadÚstripÚisdigitÚ ExceptionZadd_string_as_file)ÚselfZstacksZpid_fileÚfÚpidZsfnZsfÚe©rú;/usr/lib/python3.9/site-packages/sos/report/plugins/drbd.pyÚadd_drbd_thread_stackss* ., zDRBD.add_drbd_thread_stackscCs\| gd¢¡| ¡tddƒD](}|jd|›gd| dd¡›dq | gd ¢¡dS) N)ú drbdadm dumpzdrbdadm -d -vvv adjust allzdrbdsetup status -vs allúdrbdsetup show allz drbd*.ko*z /lib/moduleszmodinfo Zmodinfo_ú/Ú_)Zsuggest_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/*)Zadd_cmd_outputrrÚreplaceZ add_copy_spec)rZkmodrrrÚsetup*sÿþz DRBD.setupcCsLd}d}| d||¡d}d}| d||¡| d||¡| d||¡dS) 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)rr)Zdo_path_regex_subZdo_cmd_output_sub)rZ nodehash_reÚreplZ secret_rerrrÚpostproc@sþz DRBD.postprocN) Ú__name__Ú __module__Ú __qualname__Z short_descZ plugin_nameZprofilesZcommandsZ cmd_timeoutrrrrrrrr srN)Zsos.report.pluginsrrrZ sos.utilitiesrrrrrrÚ s