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

-�_g��>�ddlmZmZmZddlmZGd�deee�Zy)�)�Plugin�UbuntuPlugin�RedHatPlugin)�
is_executablec�,�eZdZdZdZdZdZdZd�Zd�Z	y)	�SlurmzSlurm Workload Manager�slurm)�hpc)z	slurm-wlm�slurmd�slurmdbd�	slurmctldr	zslurm-slurmctldzslurm-slurmdzslurm-slurmdbd)rrr
c�r�|jddg�td�r|jddg�td�r|jdg�gd�}td	�r"|j|D�cgc]}d
|����	c}�d}|j|�sd}d
}d}	t	|dd��5}|j�j
�D]i}|s�|jd�}|dj�dk(r|dj�}|dj�dk(s�W|dj�}�k	ddd�|jd�s|j||g�y|j|�d�|�d�g�ycc}w#1swY�MxYw#t$r!}	|jd|�d|	���Yd}	~	�ud}	~	wwxYw)z  Slurm Workload Manager
        z/etc/slurm/*.confz/var/run/slurm/conf/*.conf�sinfoz!sinfo --all --list-reasons --longzsinfo --all --long�squeuezsqueue --all --long)�aliases�	assoc_mgr�bbstat�burstBuffer�config�daemons�dwstat�
federation�frontend�job�licenses�node�	partition�reservationr�step�topology�scontrolzscontrol show z/etc/slurm/slurm.confz/var/run/slurm/conf/slurm.confz/var/log/slurmd.logz/var/log/slurmctld.log�rzUTF-8)�encoding�=r�
SlurmdLogFile��SlurmctldLogFileNzCould not open conf file z: �all_logs�*)�
add_copy_specr�add_cmd_output�path_exists�open�read�
splitlines�split�strip�IOError�
_log_error�
get_option)
�self�
scontrol_cmds�i�config_file�slurmd_log_file�slurmctld_log_file�cfile�line�words�errors
          �:/usr/lib/python3/dist-packages/sos/report/plugins/slurm.py�setupzSlurm.setup%s���	
����(�
�	�
��!����3�$�!�
�
��"����%�!�
�
�
�(��$����/<�=�!�>�!��%�=�
�.������,�:�K�/��5��	)��k�3��9�
>�U�!�J�J�L�3�3�5�>�D�� � �J�J�s�O�E��Q�x�~�~�'�?�:�*/��(�.�.�*:���Q�x�~�~�'�+=�=�-2�1�X�^�^�-=�*�>�
>����z�*�����"� �
�

���"�#�1�%�%�&�a�(� �
��?>�
>�
>���	)��O�O�7��}�E � %�w�(�
)�
)��	)�s=�-E;�F�(A5F�F�4F�F	�F�	F6�F1�1F6c��ddg}ddg}ddj|��d�}d}d	}|D].}|j|�d
�||�|j|�d�||��0y)Nz
/etc/slurmz/var/run/slurm/conf�AccountingStoragePass�JobCompPassz(^\s*(�|z
)\s*=\s*)(.*)z(^\s*(StoragePass)\s*=\s*)(.*)z
\1********z/slurm.confz/slurmdbd.conf)�join�do_file_sub)r5�
conf_paths�
slurm_keys�slurm_keys_regex�slurmdbd_key_regex�sub�	conf_paths       r?�postproczSlurm.postprocss����!�
�
�
$��
�
�%�S�X�X�j�%9�$:�-�H��>����#�	�I�����+�[�)� �#�
�
����+�^�,�"�C�
�	�N)
�__name__�
__module__�__qualname__�
short_desc�plugin_name�profiles�packages�servicesr@rM�rNr?rr
s+��)�J��K��H��H��H�L�\rNrN)�sos.report.pluginsrrr�
sos.utilitiesrrrWrNr?�<module>rZs#��B�A�'�}�F�L�,�}rN