Ë
    i©¹dô  ã                   óŒ   — d dl Z d dlmZmZmZmZmZmZ  G d„ de«      Z G d„ dee«      Z	 G d„ deee«      Z
 G d	„ d
ee«      Zy)é    N)ÚPluginÚ	PluginOptÚRedHatPluginÚDebianPluginÚUbuntuPluginÚ	CosPluginc                   ó   — e Zd ZdZdZdZd„ Zy)ÚKDumpzKdump crash dumpsÚkdump)ÚsystemÚdebugc                 óP   — | j                  g d¢«       | j                  dd¬«       y )N)z/proc/cmdlinez/etc/sysconfig/kdumpz/proc/sys/kernel/panicz/proc/sys/kernel/panic_on_oopsz/sys/kernel/kexec_loadedz/sys/kernel/fadump_enabledz/sys/kernel/fadump/enabledz/sys/kernel/fadump_registeredz/sys/kernel/fadump/registeredz/sys/kernel/fadump/mem_reservedz/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ÚsetupzKDump.setup   s0   € Ø×Ñò 
ô 	ð 	×ÑÐ;Ø 4ð 	õ 	6ó    N)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚprofilesr   © r   r   r
   r
      s   „ à$€Jà€KØ"€Hó6r   r
   c                   ó2   ‡ — e Zd ZdZdZd„ Zd„ Zˆ fd„Zˆ xZS )ÚRedHatKDump)ú/etc/kdump.conf)zkexec-toolsc                 óð   — t        | j                  d«      d«      5 }|D ]@  }|j                  |«      sŒ|j                  «       d   j	                  d«      c cd d d «       S  	 d d d «       y# 1 sw Y   yxY w)Nz
/etc/fstabÚré   ú/Ú )ÚopenÚ	path_joinÚ
startswithÚsplitÚrstrip)r   ÚdeviceÚfpÚlines       r   Úfstab_parse_fszRedHatKDump.fstab_parse_fs-   sq   € Ü�$—.‘. Ó.°Ó4ð 	7¸Øò 7�Ø—?‘? FÕ,ØŸ:™:›<¨™?×1Ñ1°#Ó6Ñ6÷	7ñ 	7ñ7÷	7ð ÷		7ð ús   œA,´#A,Á!A,Á,A5c                 óB  — d}d}t        | j                  d«      d«      5 }|D ]]  }|j                  d«      r|j                  «       d   }Œ(|j                  d«      sŒ:|j                  «       d   }| j	                  |«      }Œ_ 	 d d d «       ||z   S # 1 sw Y   ||z   S xY w)Nr%   ú
/var/crashr    r"   Úpathr#   )Úext2Úext3Úext4Úxfs)r&   r'   r(   r)   r.   )r   Úfsr1   r,   r-   r+   s         r   Úread_kdump_conffilezRedHatKDump.read_kdump_conffile4   s    € ØˆØˆä�$—.‘.Ð!2Ó3°SÓ9ð 	5¸RØò 5�Ø—?‘? 6Ô*ØŸ:™:›<¨™?‘DØ—_‘_Ð%DÕEØ!ŸZ™Z›\¨!™_�FØ×,Ñ,¨VÓ4‘Bñ5÷	5ð �D‰yÐ÷	5ð �D‰yÐús    <BÁ&BÂBc                 ó¸  •— t         t        | �  «        dt        j                  «       z   dz   }| j                  |«      r| j                  d|z  «       | j                  g d¢«       | j                  dd¬«       	 | j                  «       }| j                  d	j                  |«      «       | j                  d
j                  |«      «       y # t        $ r d}Y ŒNw xY w)Nz/boot/initramfs-z	kdump.imgzlsinitrd %s)r    z/etc/udev/rules.d/*kexec.rulesz/var/crash/*/kexec-dmesg.logz/var/log/kdump.logz/var/crash/*/vmcore-dmesg.txtÚvmcore_dmesgr   r0   z{}/*/vmcore-dmesg.txtz{}/*/kexec-dmesg.log)Úsuperr   r   ÚplatformÚreleaseÚpath_existsÚadd_cmd_outputr   r7   Ú	ExceptionÚformat)r   Úinitramfs_imgr1   Ú	__class__s      €r   r   zRedHatKDump.setupA   sÙ   ø€ ÜŒk˜4Ñ&Ô(à*¬X×-=Ñ-=Ó-?Ñ?Ø%ñ&ˆà×Ñ˜MÔ*Ø×Ñ °Ñ =Ô>à×Ñò 
ô 	ð 	×ÑÐ:Ø .ð 	ô 	0ð	 Ø×+Ñ+Ó-ˆDð
 	×ÑÐ2×9Ñ9¸$Ó?Ô@Ø×ÑÐ1×8Ñ8¸Ó>Õ?øô ò 	 àŠDð	 ús   Á:C ÃCÃC)	r   r   r   ÚfilesÚpackagesr.   r7   r   Ú__classcell__©rB   s   @r   r   r   (   s#   ø„ à €EØ€Hòò÷@ð @r   r   c                   ó&   ‡ — e Zd ZdZdZˆ fd„Zˆ xZS )ÚDebianKDump)ú/etc/default/kdump-tools)zkdump-toolsc                 óè   •— t         t        | �  «        dt        j                  «       z   }| j                  |«      r| j                  d|z  «       | j                  d«       | j                  dg«       y )Nz/var/lib/kdump/initrd.img-zlsinitramfs -l %szkdump-config showrI   )r:   rH   r   r;   r<   r=   r>   r   )r   rA   rB   s     €r   r   zDebianKDump.setup`   sj   ø€ ÜŒk˜4Ñ&Ô(à4´x×7GÑ7GÓ7IÑIˆØ×Ñ˜MÔ*Ø×ÑÐ 3°mÑ CÔDà×ÑÐ/Ô0à×ÑØ&ð
õ 	r   )r   r   r   rC   rD   r   rE   rF   s   @r   rH   rH   [   s   ø„ à)€EØ€H÷ð r   rH   c                   ó6   ‡ — e Zd Z eddd¬«      gZˆ fd„Zˆ xZS )ÚCosKDumpúcollect-kdumpsFzCollect existing kdump files)ÚnameÚdefaultÚdescc                 ó”   •— t         t        | �  «        | j                  d«       | j	                  d«      r| j                  dg«       y y )Nzls -alRh /var/kdump*rM   z/var/kdump-*)r:   rL   r   r>   Ú
get_optionr   )r   rB   s    €r   r   zCosKDump.setupu   sB   ø€ ÜŒh˜Ñ#Ô%Ø×ÑÐ2Ô3Ø�?‰?Ð+Ô,Ø×Ñ Ð/Õ0ð -r   )r   r   r   r   Úoption_listr   rE   rF   s   @r   rL   rL   n   s&   ø„ ñ 	Ð'°Ø5ô	7ð€K÷
1ð 1r   rL   )r;   Úsos.report.pluginsr   r   r   r   r   r   r
   r   rH   rL   r   r   r   ú<module>rU      sO   ðó ÷÷ ô6ˆFô 6ô40@�%˜ô 0@ôf�%˜ |ô ô&1ˆu�iõ 1r   