�
i��d� � �@ � d dl mZmZmZmZmZmZ G d� deeee� Zy)� )�Plugin�RedHatPlugin�UbuntuPlugin�SoSPredicate� PluginOpt� CosPluginc �^ � e Zd ZdZdZdZdZdZ eddd� � ed
dd� � gZ d� Z
d
� Zd� Zy)�CRIOzCRI-O containers�crio)� container)zcri-o� cri-tools)r �allFz0collect for all containers, even terminated ones)�default�desc�logsz)collect stdout/stderr logs for containersc �� � | j g d�� | j g d�� | j ddg� | j t | dg�� � g d�}| j |D �cg c] }d|z �� c}� d }| j d
� rd|z }d}d
}| j
|� }| j
|� }| j
|� }| j � |D ]B } | j d| z d�� | j d� s�+| j d| z ddd�� �D |D ] }
| j d|
z d�� � |D ] }| j d|z d�� � y c c}w )N)z/etc/containersz/etc/crictl.yamlz/etc/crio/crio.confz/etc/crio/seccomp.jsonz/etc/crio/crio.conf.d/z!/etc/systemd/system/cri-o.servicez/etc/sysconfig/crio-*)�
HTTP_PROXY�HTTPS_PROXY�NO_PROXY� ALL_PROXYzls -alhR /etc/cnizcrio configr
)�packages)�info�images�pods�pszps -azps -v�stats�versionz crictl %szcrictl ps --quietr z%s -azcrictl images --quietzcrictl pods --quietzcrictl inspect %s�
containers)�subdirr zcrictl logs -t %szcontainers/logs�d �crictl_logs)r �priority�tagszcrictl inspecti %sr zcrictl inspectp %sr )�
add_copy_spec�add_env_var�add_cmd_output�set_cmd_predicater �
get_option�_get_crio_list�_get_crio_goroutine_stacks)�self�subcmds�s�ps_cmd�img_cmd�pod_cmdr r r r �image�pods �9/usr/lib/python3/dist-packages/sos/report/plugins/crio.py�setupz
CRIO.setup s� � ����
� �
���
� �
�����
� �
���|�D�K�=�I�J�
��
���g�>��[�1�_�>�?�$���?�?�5�!��v�%�F�)��'���(�(��0�
��$�$�W�-���"�"�7�+���'�'�)�#� 8�I���� 3�i� ?�'3�
�
5����v�&��#�#�$7�)�$C�+<�s�)6� $� 8� 8� � O�E���� 4�u� <�X��N� O� � K�C���� 4�s� :�6��J� K��5 ?s �*Ec �� � g }| j |� }|d dk( rC|d j � D ] }|j |� � |rd|d v r|j d� |S )N�statusr �output�
deprecated)�exec_cmd�
splitlines�append�pop)r+ �cmd�ret�result�ents r3 r) zCRIO._get_crio_lista sj � ������s�#���(��q� ��h�'�2�2�4�
���
�
�3��
� �|�s�1�v�-�����
��
� c � � | j d� }|d dk7 ry |d j � }| j d|z � }|d dk( r| j d� y y )Nz
pidof crior6 r r7 zkill -USR1 z/tmp/crio-goroutine-stacks*.log)r9 �stripr$ )r+ r? �pids r3 r* zCRIO._get_crio_goroutine_stacksl sg � ����|�,���(��q� ���X��$�$�&�����}�s�2�3���(��q� ����@�A� !rA N)
�__name__�
__module__�__qualname__�
short_desc�plugin_name�profilesr �servicesr �option_listr4 r) r* � rA r3 r
r
sW � �#�J��K��H�%�H��H� �%��I� K��&�%�B� D��K�AK�F �BrA r
N)�sos.report.pluginsr r r r r r r
rM rA r3 �<module>rO s' |