관리-도구
편집 파일: slurm.cpython-39.pyc
a -�_g � @ 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