File: //usr/lib/python3.6/site-packages/sos/report/plugins/__pycache__/slurm.cpython-36.pyc
3
3��d�
� @ s8 d dl mZmZmZ d dlmZ G dd� deee�ZdS )� )�Plugin�UbuntuPlugin�RedHatPlugin)�
is_executablec @ s0 e Zd ZdZdZdZdZdZdd� Zd
d� Z dS )�SlurmzSlurm Workload Manager�slurm�hpc� slurm-wlm�slurmd�slurmdbd� slurmctld�slurm-slurmctld�slurm-slurmd�slurm-slurmdbdc C sl | j d� td�r | jddg� td�r4| jdg� ddd d
ddd
ddddddddddg}td�rv| jdd� |D �� d}d}d}yxt|d��d}x\|j� j� D ]L}|s�q�|jd�}|d j� d!kr�|d" j� }|d j� d#kr�|d" j� }q�W W d$Q R X W n6 tk
�r0 } z| j d%||f � W Y d$d$}~X nX | j
d&��sN| j ||g� n| j |� d'�|� d'�g� d$S )(z Slurm Workload Manager
z/etc/slurm/*.confZsinfoz!sinfo --all --list-reasons --longzsinfo --all --longZsqueuezsqueue --all --long�aliasesZ assoc_mgrZbbstatZburstBuffer�configZdaemonsZdwstatZ
federationZfrontendZjobZlicensesZnode� partitionZreservationr
�stepZtopologyZscontrolc S s g | ]}d |� ��qS )zscontrol show � )�.0�ir r �/usr/lib/python3.6/slurm.py�
<listcomp>L s zSlurm.setup.<locals>.<listcomp>z/etc/slurm/slurm.confz/var/log/slurmd.logz/var/log/slurmctld.log�r�=r Z
SlurmdLogFile� ZSlurmctldLogFileNzCould not open conf file %s: %sZall_logs�*)Z
add_copy_specr Zadd_cmd_output�open�read�
splitlines�split�strip�IOErrorZ
_log_errorZ
get_option) �selfZ
scontrol_cmdsZconfig_fileZslurmd_log_fileZslurmctld_log_fileZcf�lineZwords�errorr r r �setup% sf
zSlurm.setupc C sN d}ddg}ddj |� }d}d}| j|� d�||� | j|� d �||� d S )
Nz
/etc/slurmZAccountingStoragePassZJobCompPassz(^\s*(%s)\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�subr r r �postprocm s zSlurm.postprocN)r )r r
r r r r
r r )r
r r )
�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesZpackagesZservicesr&