/
usr
/
libexec
/
kcare
/
python
/
kcarectl
/
__pycache__
/
Upload File
HOME
3 �;j� � @ s� d dl Z d dlZd dlmZmZmZmZ ejejd�dd� �Z dd� Z ejejd�dd � �Zejejd d�dd � �Ze dkr�ei � dS )� N)�delivery_kit�kcare� log_utils�utils)�loggerc C s | j � S )a Send the DataPackage archive to the patch server. Upload errors are logged and swallowed (catch_errors), preserving the historical kernel-anomaly behavior. :param data_package: DataPackage instance to send :return: Upload name (package identifier) )�send)�data_package� r �-/usr/libexec/kcare/python/kcarectl/anomaly.py�send_data_package s r c C sT t j � }xFtj| �D ]8\}}|| dkr*P dj||jdd��}|j||d� qW dS )zZadds recent files for the last hour to the given data package starting from the newest onei z{0}/{1}�/�_)�src_pathN)�timer Zsort_files_by_ctime�format�replace�add_file)�filesr Zarchive_prefix�now�path�ctimeZarcnamer r r �copy_recent_files s r c 3 C s� t j� }|��� tjjd�r(|jdd� tjjd�r@|jdd� |jdd� |jd d � |jd d� tjjd�s|tjjd �r�d}n$tjjd�r�d}|jddd� nd}|jd|� td��}|jdtj |j � �d� W d Q R X td��}|jdtj |j � �d� W d Q R X |jddd� |jd| � |jddd� |jd d!jt j� �� ytt j� |d"� W n4 tk �r� } z|jd#j|�� W Y d d }~X nX ytt j� |d$� W n4 tk �r� } z|jd%j|�� W Y d d }~X nX W d Q R X |S )&Nz/var/log/messages�messagesztail -n10000 /var/log/messagesz/var/log/syslogZsyslogztail -n10000 /var/log/syslogzkcarectl.logz"tail -n10000 /var/log/kcarectl.logZdmesgZls_var_cache_kcarezls -lR /var/cache/kcare/z/usr/bin/rpmz/bin/rpmzFrpm -q -a --queryformat="%{N}|%{V}-%{R}|%{arch}|%{INSTALLTIME:date}\n"z /usr/bin/dpkgzJ/usr/bin/dpkg-query -W -f "${binary:Package}|${Version}|${Architecture}\n"zdpkg.logz/var/log/dpkg.log)r zecho "unknown package manager"z packages.listz /proc/versionZproc_version)Z data_bytesz /proc/modulesZproc_modulesz kcare.confz/etc/sysconfig/kcare/kcare.confzserver_info.jsonz kdump.confz/etc/kdump.confZls_kdumpz ls -lR {0}Zkdumpzfailed to copy kdumps: {0}Z crashreporterz+failed to copy crashreporter artifacts: {0})r ZKernelAnomalyPackage�osr �existsZ add_stdoutr �openr �bstr�readZadd_jsonr r Zget_kdump_rootr Zlist_kdump_txt_files� ExceptionZ log_errorZlist_crashreporter_log_files)�server_infor Zpackages_cmd�f�er r r �prepare_kernel_anomaly_report* sB " "",r"