+
    G%@i                         ^ RI t ^ RIHtHtHtHtHtHtHt  ! R R]4      t	 ! R R]	]4      t
 ! R R]	]]4      t ! R	 R
]	]4      t ! R R]	]4      tR# )    N)Plugin	PluginOptRedHatPluginDebianPluginUbuntuPlugin	CosPluginAzurePluginc                   2   a  ] tR t^t o RtRtRtR tRtV t	R# )KDumpzKdump crash dumpskdumpc                R    V P                  . RO4       V P                  RRR7       R# )/proc/cmdlinez/sys/kernel/kexec_crash_loadedkexec_crash_loadedtagsN)
r   z/etc/sysconfig/kdumpz/proc/sys/kernel/panicz/proc/sys/kernel/panic_on_oopsz/sys/kernel/kexec_loadedz/sys/kernel/kexecz/sys/kernel/fadumpz/sys/kernel/fadump_enabledz/sys/kernel/fadump_registeredz/sys/kernel/kexec_crash_size)add_copy_spec)selfs   &:/usr/lib/python3/dist-packages/sos/report/plugins/kdump.pysetupKDump.setup   s0     
 	 	; 4 	 	6     N)systemdebug)
__name__
__module____qualname____firstlineno__
short_descplugin_nameprofilesr   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     $JK"H6 6r   r   c                   `   a a ] tR t^'t oR	tR
t]! RR]RR7      .tR t	R t
V 3R ltRtVtV ;t# )RedHatKDumpget-vm-coreFcollect vm coredefaultval_typedescc                2   V P                  R4      p\        VRRR7      ;_uu_ 4       pV FL  pVP                  V4      '       g   K  VP                  4       ^,          P	                  R4      u uuRRR4       # 	  RRR4       R#   + '       g   i     R# ; i)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_fs1   ss    |,%w//4??F,,::<?11#66 0/ 0 	 0/ s   B'B9BB	c                   RpRpRp\        VRRR7      ;_uu_ 4       pV Ft  pVP                  R4      '       d   VP                  4       ^,          pK3  VP                  R	4      '       g   KL  VP                  4       ^,          pV P                  V4      pKv  	  RRR4       W,           #   + '       g   i     Y,           # ; i)
Parse /etc/kdump file r3   
/var/crash/etc/kdump.confr.   r/   r0   pathN)ext2ext3ext4xfs)r5   r6   r7   r=   )r   fsysrC   r   r;   r<   r9   s   &      r   read_kdump_conffileRedHatKDump.read_kdump_conffile:   s    !%w//4??6**::<?D__%DEE!ZZ\!_F..v6D  0 { 0/ {s   A
B(,,B((B?	c                t  < \         SV `  4        R \        P                  ! 4       ,           R,           pV P	                  V4      '       d   V P                  RV 24       V P                  . RO4       V P                  RRR7        V P                  4       pV P                  VRR7       V P                  V R	24       V P                  V R
24       V P                  V R24       V P                  R4      '       d   V P                  V R2R^R7       V P                  RR.4       R#   \         d    Rp Li ; i)z/boot/initramfs-z	kdump.imgz	lsinitrd z/var/crash/*/vmcore-dmesg.txtvmcore_dmesgr   rA   T	recursive/*/vmcore-dmesg.txt/*/kexec-dmesg.log/*/vmcore-creation.statusr'   	/*/vmcore   	sizelimitmaxagezkdumpctl statuszkdumpctl estimateN)rB   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-creation.statussuperr   platformreleasepath_existsadd_cmd_outputr   rI   	Exceptionadd_dir_listing
get_optionr   initramfs_imgrC   	__class__s   &  r   r   RedHatKDump.setupI   sC   *X-=-=-??%&M**)M? ;< 
 	 	: . 	 	0	 ++-D
 	TT2dV#678dV#567dV#<=> ??=))$y1T"M 	
 	  	 D	 s   D' 'D76D7r   rB   zkexec-tools)r   r   r   r   filespackagesr   booloption_listr=   rI   r   r"   r#   __classcell__rc   r$   s   @@r   r&   r&   '   s=      EH 	-(	*K
% %r   r&   c                   Z   a a ] tR t^qt oRtR	t]! RR]RR7      .tR t	V 3R lt
RtVtV ;t# )
DebianKDumpr'   Fzcollect memory dumpsr)   c                &   RpRp\        VRRR7      ;_uu_ 4       pV FS  pVP                  4       pVP                  R4      '       g   K,  VP                  R4      ^,          P                  R4      pKU  	  R	R	R	4       V#   + '       g   i     T# ; i)
zParse /etc/default/kdump-tools rA   /etc/default/kdump-toolsr.   r/   r0   KDUMP_COREDIR="N)r5   stripr6   r7   r   rC   r   r;   r<   s   &    r   rI   DebianKDump.read_kdump_conffile{   sz    *%w//4zz|???33::c?1-33C8D  0  0/ s   *A?
+A??B	c                .  < \         SV `  4        R \        P                  ! 4       ,           pV P	                  V4      '       d   V P                  RV 24       V P                  R4       V P                  R.4        V P                  4       pV P                  VRR7       V P                  V R2V R2V R	2.4       V P                  V R
2R^R7       V P                  R4      '       d   V P                  V R2R^R7       R# R#   \         d    Rp Li ; i)z/var/lib/kdump/initrd.img-zlsinitramfs -l zkdump-config showrp   rA   TrM   z
/kexec_cmdz/kdump_lockz	/*/dmesg*z/linux-image-*rS   rT   r'   z/*/dump*NrX   ra   s   &  r   r   DebianKDump.setup   s)   4x7G7G7IIM**/- AB/0&
 		 ++-D
 	TT2fJfK fI
 	
 	dV>2d2N ??=))$x0DL *  	 D	 s   ;D DDr   )rp   )zkdump-toolsr   r   r   r   rg   rh   r   ri   rj   rI   r   r"   r#   rk   rl   s   @@r   rn   rn   q   s:     )EH 	--	/K
M Mr   rn   c                   J   a a ] tR t^t o]! RRRR7      .tV 3R ltRtVtV ;t	# )CosKDumpcollect-kdumpsFzCollect existing kdump files)namer*   r,   c                   < \         SV `  4        V P                  R RR7       V P                  R4      '       d   V P	                  R.4       R# R# )z/var/kdump*TrM   r|   z/var/kdump-*N)rY   r   r_   r`   r   )r   rc   s   &r   r   CosKDump.setup   sE    ]d;??+,,/0 -r   r   )
r   r   r   r   r   rj   r   r"   r#   rk   rl   s   @@r   r{   r{      s(      	'5	7K
1 1r   r{   c                   Z   a a ] tR t^t oRtR	t]! RR]RR7      .tR t	V 3R lt
RtVtV ;t# )

AzureKDumpr'   Fr(   r)   c                    RpRp\        VRRR7      ;_uu_ 4       pV F3  pVP                  R4      '       g   K  VP                  4       ^,          pK5  	  RRR4       V#   + '       g   i     T# ; i)r@   rA   rB   r.   r/   r0   rC   N)r5   r6   r7   ru   s   &    r   rI   AzureKDump.read_kdump_conffile   sa    !%w//4??6**::<?D  0
  0/
 s   AAA0	c                  < \         SV `  4        V P                  R R.4        V P                  4       pV P                  VRR7       V P                  V R24       V P                  V R24       V P                  V R24       V P                  R4      '       d   V P                  V R	2R
^R7       R# R#   \         d    Rp Li ; i)rB   rW   rA   TrM   rO   rP   rQ   r'   rR   rS   rT   N)rY   r   r   rI   r^   r_   r`   )r   rC   rc   s   & r   r   AzureKDump.setup   s    0
 	
	 ++-D
 	TT2dV#678dV#567dV#<=> ??=))$y1T"M *  	 D	 s   B5 5CCr   re   rf   ry   rl   s   @@r   r   r      s:      EH 	-(	*K

N Nr   r   )rZ   sos.report.pluginsr   r   r   r   r   r   r	   r   r&   rn   r{   r   r   r   r   <module>r      sj    F F F6F 62G% GT4M%| 4Mn1ui 1+N +Nr   