
    ~ g                         S SK r S SKJrJrJrJrJrJrJr   " S S\5      r	 " S S\	\5      r
 " S S\	\\5      r " S	 S
\	\5      r " S S\	\5      rg)    N)Plugin	PluginOptRedHatPluginDebianPluginUbuntuPlugin	CosPluginAzurePluginc                   &    \ rS rSrSrSrSrS rSrg)KDump   zKdump crash dumpskdump)systemdebugc                 J    U R                  / SQ5        U R                  SSS9  g )N)	z/proc/cmdlinez/etc/sysconfig/kdumpz/proc/sys/kernel/panicz/proc/sys/kernel/panic_on_oopsz/sys/kernel/kexec_loadedz/sys/kernel/fadumpz/sys/kernel/fadump_enabledz/sys/kernel/fadump_registeredz/sys/kernel/kexec_crash_sizez/sys/kernel/kexec_crash_loadedkexec_crash_loadedtags)add_copy_spec)selfs    :/usr/lib/python3/dist-packages/sos/report/plugins/kdump.pysetupKDump.setup   s0     

 
	 	; 4 	 	6     N)	__name__
__module____qualname____firstlineno__
short_descplugin_nameprofilesr   __static_attributes__r   r   r   r   r      s    $JK"H6r   r   c                   P   ^  \ rS rSrSrSr\" SS\SS9/rS r	S	 r
U 4S
 jrSrU =r$ )RedHatKDump&   /etc/kdump.confzkexec-toolsget-vm-coreFcollect vm coredefaultval_typedescc                    U R                  S5      n[        USSS9 nU HF  nUR                  U5      (       d  M  UR                  5       S   R	                  S5      s  sSSS5        $    SSS5        g! , (       d  f       g= f)	zParse /etc/fstab file z
/etc/fstabrUTF-8encoding   /N )	path_joinopen
startswithsplitrstrip)r   devicefstabfilelines        r   fstab_parse_fsRedHatKDump.fstab_parse_fs0   sp    |,%w/4??F,,::<?11#66 0/ 0 	 0/ s   A3#A3(A33
Bc                 F   SnSnSn[        USSS9 nU Hj  nUR                  S5      (       a  UR                  5       S   nM.  UR                  S	5      (       d  MF  UR                  5       S   nU R                  U5      nMl     S
S
S
5        X-   $ ! , (       d  f       X-   $ = f)Parse /etc/kdump file r6   
/var/crashr'   r0   r1   r2   pathr4   )ext2ext3ext4xfsN)r8   r9   r:   r@   )r   fsysrE   r   r>   r?   r<   s          r   read_kdump_conffileRedHatKDump.read_kdump_conffile9   s    !%w/4??6**::<?D__%DEE!ZZ\!_F..v6D  0 { 0/ {s   AB(B
B c                   > [         TU ]  5         S[        R                  " 5       -   S-   nU R	                  U5      (       a  U R                  SU 35        U R                  / SQ5        U R                  SSS9   U R                  5       nU R                  US	S
9  U R                  U S35        U R                  U S35        U R                  S5      (       a  U R                  U S3SSS9  g g ! [         a    Sn Nrf = f)Nz/boot/initramfs-z	kdump.imgz	lsinitrd )r'   z/etc/udev/rules.d/*kexec.rules"/usr/lib/udev/rules.d/*kexec.rulesz/var/crash/*/kexec-dmesg.logz/var/log/kdump.logz/var/crash/*/vmcore-dmesg.txtvmcore_dmesgr   rD   T	recursive/*/vmcore-dmesg.txt/*/kexec-dmesg.logr)   	/*/vmcore      	sizelimitmaxage)superr   platformreleasepath_existsadd_cmd_outputr   rK   	Exceptionadd_dir_listing
get_option)r   initramfs_imgrE   	__class__s      r   r   RedHatKDump.setupH   s   *X-=-=-??%&M**)M? ;< 
 	 	: . 	 	0	 ++-D
 	TT2dV#678dV#567 ??=))$y1T"M *  	 D	 s   9C- -C<;C<r   )r   r   r   r   filespackagesr   booloption_listr@   rK   r   r"   __classcell__rc   s   @r   r$   r$   &   s=     EH 	-(	*K
N Nr   r$   c                   0   ^  \ rS rSrSrSrU 4S jrSrU =r$ )DebianKDumph   )/etc/default/kdump-tools)zkdump-toolsc                    > [         TU ]  5         S[        R                  " 5       -   nU R	                  U5      (       a  U R                  SU 35        U R                  S5        U R                  S/5        g )Nz/var/lib/kdump/initrd.img-zlsinitramfs -l zkdump-config showrn   )rZ   r   r[   r\   r]   r^   r   )r   rb   rc   s     r   r   DebianKDump.setupm   sj    4x7G7G7IIM**/- AB/0&
 	r   r   )	r   r   r   r   re   rf   r   r"   ri   rj   s   @r   rl   rl   h   s    )EH r   rl   c                   :   ^  \ rS rSr\" SSSS9/rU 4S jrSrU =r$ )CosKDump{   collect-kdumpsFzCollect existing kdump files)namer,   r.   c                    > [         TU ]  5         U R                  SSS9  U R                  S5      (       a  U R	                  S/5        g g )Nz/var/kdump*TrP   rt   z/var/kdump-*)rZ   r   r`   ra   r   )r   rc   s    r   r   CosKDump.setup   sE    ]d;??+,,/0 -r   r   )	r   r   r   r   r   rh   r   r"   ri   rj   s   @r   rr   rr   {   s&     	'5	7K
1 1r   rr   c                   J   ^  \ rS rSrSrSr\" SS\SS9/rS r	U 4S	 jr
S
rU =r$ )
AzureKDump   r&   r(   r)   Fr*   r+   c                     SnSn[        USSS9 nU H.  nUR                  S5      (       d  M  UR                  5       S   nM0     SSS5        U$ ! , (       d  f       U$ = f)	rC   rD   r'   r0   r1   r2   rE   r4   N)r8   r9   r:   )r   rE   r   r>   r?   s        r   rK   AzureKDump.read_kdump_conffile   s^    !%w/4??6**::<?D  0
  0/
 s   AA
Ac                 T  > [         TU ]  5         U R                  SS/5         U R                  5       nU R                  USS9  U R                  U S35        U R                  U S35        U R                  S5      (       a  U R                  U S	3S
SS9  g g ! [         a    Sn Nrf = f)Nr'   rN   rD   TrP   rR   rS   r)   rT   rU   rV   rW   )rZ   r   r   rK   r_   r`   ra   )r   rE   rc   s     r   r   AzureKDump.setup   s    0
 	
	 ++-D
 	TT2dV#678dV#567 ??=))$y1T"M *  	 D	 s   B B'&B'r   )r   r   r   r   re   rf   r   rg   rh   rK   r   r"   ri   rj   s   @r   ry   ry      s8     EH 	-(	*K

N Nr   ry   )r[   sos.report.pluginsr   r   r   r   r   r   r	   r   r$   rl   rr   ry   r   r   r   <module>r      sd    ) ) )6F 60?N% ?ND%| &1ui 1*N *Nr   