File: //lib/python3.9/site-packages/sos/report/plugins/__pycache__/slurm.cpython-39.pyc
a
\��h � @ s8 d dl mZmZmZ d dlmZ G dd� deee�ZdS )� )�Plugin�UbuntuPlugin�RedHatPlugin)�
is_executablec @ s0 e Zd ZdZdZdZdZdZdd� Zdd � Z d
S )�SlurmzSlurm Workload Manager�slurm)Zhpc)z slurm-wlm�slurmd�slurmdbd� slurmctldr zslurm-slurmctldzslurm-slurmdzslurm-slurmdbd)r r r
c
C sz | � ddg� td�r$| �ddg� td�r8| �dg� g d�}td �r\| �d
d� |D �� d}| �|�snd
}d}d}z�t|ddd��j}|�� �� D ]L}|s�q�|�d�}|d �� dkr�|d �� }|d �� dkr�|d �� }q�W d � n1 s�0 Y W n< t �y> } z"| �
d|� d|� �� W Y d}~n
d}~0 0 | �d��s\| � ||g� n| � |� d�|� d�g� dS )z Slurm Workload Manager
z/etc/slurm/*.confz/var/run/slurm/conf/*.confZsinfoz!sinfo --all --list-reasons --longzsinfo --all --longZsqueuezsqueue --all --long)�aliasesZ assoc_mgrZbbstatZburstBufferZconfigZdaemonsZdwstatZ
federationZfrontendZjobZlicensesZnode� partitionZreservationr �stepZtopologyZscontrolc S s g | ]}d |� ��qS )zscontrol show � )�.0�ir r �</usr/lib/python3.9/site-packages/sos/report/plugins/slurm.py�
<listcomp>O � zSlurm.setup.<locals>.<listcomp>z/etc/slurm/slurm.confz/var/run/slurm/conf/slurm.confz/var/log/slurmd.logz/var/log/slurmctld.log�rzUTF-8)�encoding�=r Z
SlurmdLogFile� ZSlurmctldLogFileNzCould not open conf file z: Zall_logs�*)Z
add_copy_specr Zadd_cmd_outputZpath_exists�open�read�
splitlines�split�strip�IOErrorZ
_log_errorZ
get_option) �selfZ
scontrol_cmdsZconfig_fileZslurmd_log_fileZslurmctld_log_file�cfile�line�words�errorr r r �setup% s\ ����
0���zSlurm.setupc C s` ddg}ddg}dd� |�� d�}d}d }|D ],}| �|� d
�||� | �|� d�||� q.d S )Nz
/etc/slurmz/var/run/slurm/confZAccountingStoragePassZJobCompPassz(^\s*(�|z
)\s*=\s*)(.*)z(^\s*(StoragePass)\s*=\s*)(.*)z
\1********z/slurm.confz/slurmdbd.conf)�joinZdo_file_sub)r Z
conf_pathsZ
slurm_keysZslurm_keys_regexZslurmdbd_key_regex�subZ conf_pathr r r �postprocs s$ ����zSlurm.postprocN)
�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZpackagesZservicesr$ r( r r r r r
s Nr N)Zsos.report.pluginsr r r Z
sos.utilitiesr r r r r r �<module> s