← Back
Editing: slurm.cpython-38.pyc
U O6uf � @ 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 s� | � ddg� td�r$| �ddg� td�r8| �dg� dd d ddd 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�W 5 Q R X W n: t k �rF } z| � d(|� d)|� �� W 5 d*}~X Y nX | �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 �stepZtopologyZscontrolc S s g | ]}d |� ��qS )zscontrol show � )�.0�ir r �:/usr/lib/python3/dist-packages/sos/report/plugins/slurm.py� <listcomp>O s 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� ZSlurmctldLogFilezCould not open conf file z: NZall_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�lineZwords�errorr r r �setup% sz ����� (��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_nameZprofilesZpackages�servicesr"