Current File : //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/kdump.cpython-312.pyc
�

-�_g3���ddlZddlmZmZmZmZmZmZmZGd�de�Z	Gd�de	e�Z
Gd�de	ee�ZGd	�d
e	e�ZGd�de	e�Z
y)
�N)�Plugin�	PluginOpt�RedHatPlugin�DebianPlugin�UbuntuPlugin�	CosPlugin�AzurePluginc��eZdZdZdZdZd�Zy)�KDumpzKdump crash dumps�kdump)�system�debugc�P�|jgd��|jdd��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�setupzKDump.setups0�����
�	�	
���;� 4�	�	6�N)�__name__�
__module__�__qualname__�
short_desc�plugin_name�profilesr�rrrrs��$�J��K�"�H�6rrc�L��eZdZdZdZedded��gZd�Zd�Z	�fd	�Z
�xZS)
�RedHatKDump��/etc/kdump.conf�zkexec-tools�get-vm-coreF�collect vm core��default�val_type�descc��|jd�}t|dd��5}|D]@}|j|�s�|j�dj	d�ccddd�S	ddd�y#1swYyxYw)	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_fszRedHatKDump.fstab_parse_fs2sx�����|�,��
�%��w�
/�	7�4��
7���?�?�F�,��:�:�<��?�1�1�#�6�6�	7�	7�
7�	7��		7��s�A0�#A0�%A0�0A9c�,�d}d}d}t|dd��5}|D]]}|jd�r|j�d}�(|jd	�s�:|j�d}|j|�}�_	d
d
d
�||zS#1swY||zSxYw)� Parse /etc/kdump file r1�
/var/crashr"r+r,r-�pathr/)�ext2�ext3�ext4�xfsN)r3r4r5r;)r�fsysr?rr9r:r7s       r�read_kdump_conffilezRedHatKDump.read_kdump_conffile;s�������!��
�%��w�
/�	7�4��
7���?�?�6�*��:�:�<��?�D��_�_�%D�E�!�Z�Z�\�!�_�F��.�.�v�6�D�
7�	7��d�{��	7��d�{��s�<B�&B�Bc���t�|��dtj�zdz}|j	|�r|jd|���|j
gd��|j
dd��	|j�}|j|d	�
�|j
|�d��|j
|�d��|jd
�r|j
|�d�dd��yy#t$rd}Y�rwxYw)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_dmesgrr>T��	recursive�/*/vmcore-dmesg.txt�/*/kexec-dmesg.logr$�	/*/vmcore����	sizelimit�maxage)�superr�platform�release�path_exists�add_cmd_outputrrE�	Exception�add_dir_listing�
get_option)r�
initramfs_imgr?�	__class__s   �rrzRedHatKDump.setupJs���
��
��*�X�-=�-=�-?�?�%�&�
����M�*����)�M�?� ;�<����
�	�	
���:� .�	�	0�	 ��+�+�-�D�
	
���T�T��2����d�V�#6�7�8����d�V�#5�6�7��?�?�=�)����$��y�1�T�"��M�*���	 ��D�	 �s�6C+�+C9�8C9)rrr�files�packagesr�bool�option_listr;rEr�
__classcell__�r\s@rr r (s=��� �E��H�	�-���(�	*��K�
�
�N�Nrr c�&��eZdZdZdZ�fd�Z�xZS)�DebianKDump)�/etc/default/kdump-tools)zkdump-toolsc����t�|��dtj�z}|j	|�r|jd|���|jd�|j
dg�y)Nz/var/lib/kdump/initrd.img-zlsinitramfs -l zkdump-config showre)rSrrTrUrVrWr)rr[r\s  �rrzDebianKDump.setuposg���
��
��4�x�7G�7G�7I�I�
����M�*����/�-�� A�B����/�0����&�
�	r)rrrr]r^rrarbs@rrdrdjs���)�E��H��rrdc�6��eZdZeddd��gZ�fd�Z�xZS)�CosKDump�collect-kdumpsFzCollect existing kdump files)�namer'r)c���t�|��|jdd��|jd�r|j	dg�yy)Nz/var/kdump*TrIriz/var/kdump-*)rSrrYrZr)rr\s �rrzCosKDump.setup�sB���
��
�����]�d��;��?�?�+�,�����/�0�-r)rrrrr`rrarbs@rrhrh}s&���	�'��5�	7��K�
1�1rrhc�F��eZdZdZdZedded��gZd�Z�fd�Z	�xZ
S)	�
AzureKDumpr!r#r$Fr%r&c��d}d}t|dd��5}|D]'}|jd�s�|j�d}�)	ddd�|S#1swY|SxYw)	r=r>r"r+r,r-r?r/N)r3r4r5)rr?rr9r:s     rrEzAzureKDump.read_kdump_conffile�sb����!��
�%��w�
/�	+�4��
+���?�?�6�*��:�:�<��?�D�
+�	+�
��	+�
��s�A�A�Ac�T��t�|��|jddg�	|j�}|j|d��|j|�d��|j|�d��|j
d�r|j|�d	�d
d��yy#t$rd}Y�rwxYw)
Nr"rGr>TrIrKrLr$rMrNrOrP)rSrrrErXrYrZ)rr?r\s  �rrzAzureKDump.setup�s����
��
������0�
�	�
	 ��+�+�-�D�
	
���T�T��2����d�V�#6�7�8����d�V�#5�6�7��?�?�=�)����$��y�1�T�"��M�*���	 ��D�	 �s�B�B'�&B')rrrr]r^rr_r`rErrarbs@rrmrm�s8��� �E��H�	�-���(�	*��K�

�N�Nrrm)rT�sos.report.pluginsrrrrrrr	rr rdrhrmrrr�<module>rqsd���)�)�)�6�F�6�4?N�%��?N�D�%��|��&1�u�i�1�*N���*Nr