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

-�_g���8�ddlZddlmZmZmZGd�dee�Zy)�N)�Plugin�IndependentPlugin�	PluginOptc�n�eZdZdZdZdZdZdZdZe	dde
d�	�e	d
de
d�	�e	d
dd��gZd�Zy)�InstructlabaL
    This plugin is used to capture information about
    Instructlab installations.
    InstructLab is an open source project for enhancing
    large language models (LLMs) used in generative
    artificial intelligence (gen AI) applications.
    Instructlab can run either as a container, or directly
    outside a container.
    �instructlab)�ai)r�ilab)r
�	ilab-userz
cloud-userzuser that runs instructlab)�default�val_type�desc�
ilab-conf-dir�zinstructlab data directory�	get-cacheFz#Capture models and osci cached data)rrc	���d}d}d}d}d}|j||�}|j||�}|j||�}|j|j|d�|j|d�|j|d�|j|d	�g�gd
�}	gd�}
	|jd�d
d}|j	|�d�|�d�g|��|j	|
D�cgc]}|j||���c}|��|j|	D�
cgc]}
d|
����	c}
|��|j
|d|��|jd�r|j	|�|��|jt|j��|jd�}	tj|�}|r�|j}|jd�r!|j||jd��}|j||�}|j	|j||��|j	|
D�cgc]}|j||���c}�|j
|j||�d��|jd�r"|j	|j||��yyy#t$rd}Y���wxYwcc}wcc}
w#t$r|jd|�d��YywxYwcc}w)Nz/usr/share/instructlab/configz/opt/app-root/srcz.cache/instructlabz.config/instructlabz.local/share/instructlabz
taxonomy/.gitztaxonomy/.githubz*src/.local/share/instructlab/taxonomy/.gitz-src/.local/share/instructlab/taxonomy/.github)z
taxonomy diffz#taxonomy diff --taxonomy-base=emptyzsystem infoz
model listzconfig show)	�data�	generated�taxonomy�
taxonomy_data�chatlogs�checkpoints�datasets�internal�phasedzinstructlab*r�z/rhel_ai_config.yamlz/config.yaml)�	containerzilab T)�	recursiverrrzUser "z�" does not exist, will not collect Instructlab information. Use `-k instructlab.ilab-user` option to define the user to use to collect data for Instructlabr)r)�	path_join�add_forbidden_path�get_all_containers_by_regex�	Exception�
add_copy_spec�add_cmd_output�add_dir_listing�
get_option�add_container_logs�list�
containers�pwd�getpwnam�KeyError�	_log_warn�pw_dir)�self�cont_share_conf_path�
cont_opt_path�	cache_dir�
config_dir�local_share_dir�cont_cache_path�cont_config_path�cont_local_path�subcmds�	data_dirs�ilab_con�data_dir�sub�	ilab_user�user_pwd�ilab_dir�data_dirs_bases                  �@/usr/lib/python3/dist-packages/sos/report/plugins/instructlab.py�setupzInstructlab.setup)s8��>��+�
�)�	�+�
�5���.�.��	�B���>�>�-��D���.�.���H������N�N�?�*�
,��N�N�?�,>�?��N�N�=�G�
I��N�N�=�J�
L�
!
�	�
��

�	�	��7�7��G��J�1�M�H�	
���$�%�%9�
:� �!��
.�
0��	�	
�
	
���&�
(���^�^�O�X�
6�
(��	�	
�
	
���&-�.�s�u�S�E�]�.��	�	
�	
������	�	
�
�?�?�;�'����"�#�"�
�
�	
����T�_�_� 5�6��O�O�K�0�	�		��|�|�I�.�H�����H�����/��>�>��d�o�o�o�>���"�^�^�H�o�F�N����t�~�~�h�
�C�D���� )� �����~�x�8� �
�
� � ����x��3��
!�
�
���{�+��"�"��N�N�8�Y�7��,�%��S�	��H�	��
(��

/��$�	��N�N����$B�B�
C�

�	��$ s6�J$� J6�J;�K�,K$�$J3�2J3�K!� K!N)
�__name__�
__module__�__qualname__�__doc__�
short_desc�plugin_name�profilesr)�commandsr�str�option_listrB��rArrsb����J��K��H�)�J��H�	�+�|�c�3�	5��/�2��3�	5��+�u�<�	>��K�srNr)r*�sos.report.pluginsrrrrrMrNrA�<module>rPs!���C�C�M�&�+�MrN