+
    i  c                   s    ^ 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# )i    N)Plugin	PluginOptRedHatPluginDebianPluginUbuntuPlugin	CosPluginAzurePluginc                   s2   a  ] tR t^t o RtRtRtR tRtV t	R# )KDumpzKdump crash dumpskdumpc                sR    V P                  . RO4       V P                  RRR7       R# )/proc/cmdlinez/sys/kernel/kexec_crash_loadedZkexec_crash_loadedZ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.14/site-packages/sos/report/plugins/kdump.pysetupZKDump.setup   s0     
 	 	; 4 	 	6     N)ZsystemZdebug)
__name__
__module____qualname____firstlineno__Z
short_descZplugin_nameZprofilesr   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s     $JK"H6 6r   r   c                   s`   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defaultZval_typedescc                s2   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ZencodingZ/N )Z	path_joinopen
startswithsplitZrstrip)r   deviceZfstabfilelines   &&   r   fstab_parse_fsZRedHatKDump.fstab_parse_fs1   ss    |,%w//4??F,,::<?11#66 0/ 0 	 0/ s   B'B9BB	c                s   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 r!   
/var/crash/etc/kdump.confr   r   r    pathN)Zext2Zext3Zext4Zxfs)r"   r#   r$   r(   )r   Zfsysr,   r   r&   r'   r%   s   &      r   read_kdump_conffileZRedHatKDump.read_kdump_conffile:   s    !%w//4??6**::<?D__%DEE!ZZ\!_F..v6D  0 { 0/ {s   A
B(,,B((B?	c                st  < \         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.txtZvmcore_dmesgr
   r*   TZ	recursive/*/vmcore-dmesg.txt/*/kexec-dmesg.log/*/vmcore-creation.statusr   	/*/vmcore   Z	sizelimitZmaxagezkdumpctl statuszkdumpctl estimateN)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-creation.statussuperr   platformZreleaseZpath_existsZadd_cmd_outputr   r-   	Exceptionadd_dir_listing
get_optionr   Zinitramfs_imgr,   	__class__   &  r   r   Z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   r+   zkexec-tools)r   r   r   r   filespackagesr   booloption_listr(   r-   r   r   r   __classcell__r=   r      @@r   r   r   '   s=      EH 	-(	*K
% %r   r   c                   sZ   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                s&   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 r*   /etc/default/kdump-toolsr   r   r    ZKDUMP_COREDIRZ=Z"N)r"   Zstripr#   r$   r   r,   r   r&   r'      &    r   r-   ZDebianKDump.read_kdump_conffile{   sz    *%w//4zz|???33::c?1-33C8D  0  0/ s   *A?
+A??B	c                s.  < \         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 showrI   r*   Tr.   z
/kexec_cmdz/kdump_lockz	/*/dmesg*z/linux-image-*r3   r4   r   z/*/dump*Nr6   r<   r>   r   r   Z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   )rI   )zkdump-toolsr   r   r   r   rA   rB   r   rC   rD   r-   r   r   r   rE   rF   rG   r   rH   rH   q   s:     )EH 	--	/K
M Mr   rH   c                   sJ   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)Znamer   r   c                s   < \         SV `  4        V P                  R RR7       V P                  R4      '       d   V P	                  R.4       R# R# )z/var/kdump*Tr.   rN   z/var/kdump-*N)r7   r   r:   r;   r   )r   r=   s   &r   r   ZCosKDump.setup   sE    ]d;??+,,/0 -r   r   )
r   r   r   r   r   rD   r   r   r   rE   rF   rG   r   rM   rM      s(      	'5	7K
1 1r   rM   c                   sZ   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                s    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)   r*   r+   r   r   r    r,   N)r"   r#   r$   rJ   rK   r   r-   ZAzureKDump.read_kdump_conffile   sa    !%w//4??6**::<?D  0
  0/
 s   AAA0	c                s  < \         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)r+   r5   r*   Tr.   r/   r0   r1   r   r2   r3   r4   N)r7   r   r   r-   r9   r:   r;   )r   r,   r=   s   & r   r   Z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   r?   r@   rL   rF   rG   r   rO   rO      s:      EH 	-(	*K

N Nr   rO   )r8   Zsos.report.pluginsr    r   r   r   r   r   r   r   r   rH   rM   rO   r   r   r   <module>rP      sj    F F F6F 62G% GT4M%| 4Mn1ui 1+N +Nr   