Your IP : 216.73.216.172


Current Path : /lib/python3/dist-packages/sos/report/plugins/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/sos/report/plugins/__pycache__/slurm.cpython-38.pyc

U

-�_g�@s8ddlmZmZmZddlmZGdd�deee�ZdS)�)�Plugin�UbuntuPlugin�RedHatPlugin)�
is_executablec@s0eZdZdZdZdZdZdZdd�Zdd	�Z	d
S)�SlurmzSlurm Workload Manager�slurm)Zhpc)z	slurm-wlm�slurmd�slurmdbd�	slurmctldrzslurm-slurmctldzslurm-slurmdzslurm-slurmdbd)rr	r
c	Cs�|�ddg�td�r$|�ddg�td�r8|�dg�dd	d
ddd
dddddddddddg}td�rz|�dd�|D��d}|�|�s�d}d}d}zxt|d d!d"��`}|����D]L}|s�q�|�d#�}|d$��d%kr�|d&��}|d$��d'kr�|d&��}q�W5QRXWn:t	k
�rF}z|�
d(|�d)|���W5d*}~XYnX|�d+��sd|�||g�n|�|�d,�|�d,�g�d*S)-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�stepZtopologyZscontrolcSsg|]}d|���qS)zscontrol show �)�.0�irr�:/usr/lib/python3/dist-packages/sos/report/plugins/slurm.py�
<listcomp>OszSlurm.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�=rZ
SlurmdLogFile�ZSlurmctldLogFilezCould not open conf file z: NZall_logs�*)Z
add_copy_specrZadd_cmd_outputZpath_exists�open�read�
splitlines�split�strip�IOErrorZ
_log_errorZ
get_option)	�selfZ
scontrol_cmdsZconfig_fileZslurmd_log_fileZslurmctld_log_file�cfile�lineZwords�errorrrr�setup%sz�����

(��zSlurm.setupcCs`ddg}ddg}dd�|��d�}d}d	}|D],}|�|�d
�||�|�|�d�||�q.dS)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)rZ
conf_pathsZ
slurm_keysZslurm_keys_regexZslurmdbd_key_regex�subZ	conf_pathrrr�postprocss(����zSlurm.postprocN)
�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZpackages�servicesr"r&rrrrr
sNrN)Zsos.report.pluginsrrrZ
sos.utilitiesrrrrrr�<module>	s