
    -_g                     >    d dl mZmZmZ d dlmZ  G d deee      Zy)    )PluginUbuntuPluginRedHatPlugin)is_executablec                   ,    e Zd ZdZdZdZdZdZd Zd Z	y)	SlurmzSlurm Workload Managerslurm)hpc)z	slurm-wlmslurmdslurmdbd	slurmctldr	   zslurm-slurmctldzslurm-slurmdzslurm-slurmdbd)r   r   r   c                 r   | j                  ddg       t        d      r| j                  ddg       t        d      r| j                  dg       g d}t        d	      r"| j                  |D cg c]  }d
| 	 c}       d}| j                  |      sd}d}d}	 t	        |dd      5 }|j                         j                         D ]i  }|s|j                  d      }|d   j                         dk(  r|d   j                         }|d   j                         dk(  sW|d   j                         }k 	 ddd       | j                  d      s| j                  ||g       y| j                  | d| dg       yc c}w # 1 sw Y   MxY w# t        $ r!}	| j                  d| d|	        Y d}	~	ud}	~	ww xY w)z  Slurm Workload Manager
        z/etc/slurm/*.confz/var/run/slurm/conf/*.confsinfoz!sinfo --all --list-reasons --longzsinfo --all --longsqueuezsqueue --all --long)aliases	assoc_mgrbbstatburstBufferconfigdaemonsdwstat
federationfrontendjoblicensesnode	partitionreservationr   steptopologyscontrolzscontrol show z/etc/slurm/slurm.confz/var/run/slurm/conf/slurm.confz/var/log/slurmd.logz/var/log/slurmctld.logrzUTF-8)encoding=r   SlurmdLogFile   SlurmctldLogFileNzCould not open conf file z: all_logs*)add_copy_specr   add_cmd_outputpath_existsopenread
splitlinessplitstripIOError
_log_error
get_option)
selfscontrol_cmdsiconfig_fileslurmd_log_fileslurmctld_log_filecfilelinewordserrors
             :/usr/lib/python3/dist-packages/sos/report/plugins/slurm.pysetupzSlurm.setup%   s    	(
 	
 !3$! 
 "%! 
( $/<=!>!%= .,:K/5	)k39 >U!JJL335 >D  JJsOEQx~~'?:*/(..*:Qx~~'+==-21X^^-=*>> z*"  
 "#1%%&a(  ? >> >  	)OO7} E  %w( ) )	)s=   -E;F (A5F F 4F  F	F 	F6F11F6c                     ddg}ddg}ddj                  |       d}d}d	}|D ].  }| j                  | d
||       | j                  | d||       0 y )Nz
/etc/slurmz/var/run/slurm/confAccountingStoragePassJobCompPassz(^\s*(|z)\s*=\s*)(.*)z(^\s*(StoragePass)\s*=\s*)(.*)z
\1********z/slurm.confz/slurmdbd.conf)joindo_file_sub)r5   
conf_paths
slurm_keysslurm_keys_regexslurmdbd_key_regexsub	conf_paths          r?   postproczSlurm.postprocs   s    !

 $

 %SXXj%9$:-H># 	I+[) # +^,"C	    N)
__name__
__module____qualname__
short_descplugin_nameprofilespackagesservicesr@   rM    rN   r?   r   r      s+    )JKHHHL\rN   r   N)sos.report.pluginsr   r   r   sos.utilitiesr   r   rW   rN   r?   <module>rZ      s#    B A '}FL, }rN   