3 ܓi= @s8ddlmZmZmZddlmZGdddeeeZdS))Plugin RedHatPlugin UbuntuPlugin)findc@s8eZdZdZdZd ZdZdZddZdd Z d d Z d S)DRBDz*Distributed Replicated Block Device (DRBD)Zdrbdstorage drbdsetup<cCsd}xtddD]}t|ddd}|jj}WdQRX|d|d|d 7}|jry6d |d }t|ddd}||j7}WdQRXWn8tk r}z|d |d |d7}WYdd}~XnX|d7}qW|j|ddS)Nz*_pidz!/sys/kernel/debug/drbd/resources/rzutf-8)encodingz--- z: z --- z/proc/z/stackzCould not read /proc/z/stack:  Zdrbd_thread_stacks)ropenreadstripisdigit ExceptionZadd_string_as_file)selfZstacksZpid_filefpidZsfnZsfer/usr/lib/python3.6/drbd.pyadd_drbd_thread_stackss ( zDRBD.add_drbd_thread_stackscCsn|jddddg|jx6tddD](}|jd|gd|jd d d q&W|jd d dddddgdS)Nz drbdadm dumpzdrbdadm -d -vvv adjust allzdrbdsetup status -vs allzdrbdsetup show allz drbd*.ko*z /lib/moduleszmodinfo Zmodinfo_/_)Zsuggest_filenamez/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_outputrrreplaceZ add_copy_spec)rZkmodrrrsetup*s$ z DRBD.setupcCsLd}d}|jd||d}d}|jd|||jd|||jd||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)z drbdadm dumpzdrbdsetup show all)Zdo_path_regex_subZdo_cmd_output_sub)rZ nodehash_rereplZ secret_rerrrpostproc@sz DRBD.postprocN)r)r) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZcommandsZ cmd_timeoutrrrrrrrr srN)Zsos.report.pluginsrrrZ sos.utilitiesrrrrrr s