a G%@i@sddlZddlmZmZmZmZmZmZmZGdddeZ Gddde eZ Gddde eeZ Gd d d e eZ Gd d d e eZ dS) N)Plugin PluginOpt RedHatPlugin DebianPlugin UbuntuPlugin CosPlugin AzurePluginc@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/kexecz/sys/kernel/fadumpz/sys/kernel/fadump_enabledz/sys/kernel/fadump_registeredz/sys/kernel/kexec_crash_sizez/sys/kernel/kexec_crash_loadedZkexec_crash_loadedtags) add_copy_specselfreZdZdZdZeddeddgZddZfd d Z Z S) DebianKDump)/etc/default/kdump-tools)z kdump-toolsrFzcollect memory dumpsrcCsjd}d}t|ddd@}|D]*}|}|dr|ddd }qWd n1s\0Y|S) z Parse /etc/default/kdump-tools r1rNr!r"r#Z KDUMP_COREDIR=r%"N)r(stripr)r*rr2r r-r.rrrr3{s 4zDebianKDump.read_kdump_conffilecstdt}||r0|d||d|dgz |}Wntyhd}Yn0|j |dd||d|d |d g|j|d d d d| dr|j|dd d ddS)Nz/var/lib/kdump/initrd.img-zlsinitramfs -l zkdump-config showrNr1Tr5z /kexec_cmdz /kdump_lockz /*/dmesg*z/linux-image-*r;r<r=rz/*/dump*r>rErFrrrs*        zDebianKDump.setup rrrrHrIrrJrKr3rrLrrrFrrMqs rMcs,eZdZeddddgZfddZZS)CosKDumpcollect-kdumpsFzCollect existing kdump files)namerr cs2t|jddd|dr.|dgdS)Nz /var/kdump*Tr5rUz /var/kdump-*)r?rrCrDrrrFrrrs  zCosKDump.setup)rrrrrKrrLrrrFrrTs rTcs>eZdZdZdZeddeddgZddZfd d Z Z S) AzureKDumprrrFrrcCsZd}d}t|ddd0}|D]}|dr|d}qWdn1sL0Y|S) r0r1rr!r"r#r2r%N)r(r)r*rRrrrr3s ,zAzureKDump.read_kdump_conffilecst|ddgz |}Wnty:d}Yn0|j|dd||d||d||d|d r|j|d d d d dS)Nrr4r1Tr5r7r8r9rr:r;r<r=)r?rrr3rBrCrD)rr2rFrrrs     zAzureKDump.setuprSrrrFrrWs rW)r@Zsos.report.pluginsrrrrrrrr rrMrTrWrrrr s $J7