o id@stddlZddlmZmZmZmZmZmZGdddeZGdddeeZ GdddeeeZ Gd d d eeZ dS) N)Plugin PluginOpt RedHatPlugin DebianPlugin UbuntuPlugin CosPluginc@s eZdZdZdZdZddZdS)KDumpzKdump crash dumpskdump)systemdebugcCs |gd|jddddS)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_loadedkexec_crash_loadedtags) add_copy_specselfr:/usr/lib/python3/dist-packages/sos/report/plugins/kdump.pysetups z KDump.setupN)__name__ __module__ __qualname__ short_desc plugin_nameprofilesrrrrrrs  rcs4eZdZdZdZddZddZfddZZS) RedHatKDump)/etc/kdump.conf)z kexec-toolscCsnt|dd%}|D]}||r$|ddWdSq WddS1s0wYdS)Nz /etc/fstabr/)open path_join startswithsplitrstrip)rdevicefplinerrrfstab_parse_fs-s  zRedHatKDump.fstab_parse_fscCsd}d}t|dd,}|D]}|dr|d}q|dr-|d}||}qWd||S1s;wY||S)Nr /var/crashrrpathr)ext2ext3ext4xfs)r!r"r#r$r))rfsr+r'r(r&rrrread_kdump_conffile4s     zRedHatKDump.read_kdump_conffilecstt|dtd}||r|d||gd|jdddz|}Wn t y:d}Ynw|d ||d |dS) Nz/boot/initramfs-z kdump.imgz lsinitrd %s)rz/etc/udev/rules.d/*kexec.rulesz/var/crash/*/kexec-dmesg.logz/var/log/kdump.logz/var/crash/*/vmcore-dmesg.txt vmcore_dmesgr r*z{}/*/vmcore-dmesg.txtz{}/*/kexec-dmesg.log) superrrplatformrelease path_existsadd_cmd_outputrr1 Exceptionformat)r initramfs_imgr+ __class__rrrAs"    zRedHatKDump.setup) rrrfilespackagesr)r1r __classcell__rrr;rr(s  rcs$eZdZdZdZfddZZS) DebianKDump)/etc/default/kdump-tools)z kdump-toolscsLtt|dt}||r|d||d|dgdS)Nz/var/lib/kdump/initrd.img-zlsinitramfs -l %szkdump-config showrA)r3r@rr4r5r6r7r)rr:r;rrr`s    zDebianKDump.setup)rrrr=r>rr?rrr;rr@[sr@cs,eZdZeddddgZfddZZS)CosKDumpcollect-kdumpsFzCollect existing kdump files)namedefaultdesccs6tt||d|dr|dgdSdS)Nzls -alRh /var/kdump*rCz /var/kdump-*)r3rBrr7 get_optionrrr;rrrus   zCosKDump.setup)rrrr option_listrr?rrr;rrBns rB) r4sos.report.pluginsrrrrrrrrr@rBrrrrs  3