+
    G%@i                     2    ^ RI HtHtHt  ! R R]]4      tR# )    )PluginIndependentPlugin	PluginOptc                   d   a  ] tR t^t o RtRtRtRtRt]3t	]
! RRRR7      .tR	 tR
 tR tRtV tR# )SHMclizshmcli pulls hardware information from PowerVault/Dell
Storage JBOD's attached to server.
It provides information of the adapters, emms, drives,
enclosures, fans, power supplies and the sensory data of
temp, voltage, and current sensors.
zDell Server Hardware ManagershmclizC/opt/dell/ServerHardwareManager/ServerHardwareManagerCLI/bin/shmclidebugFzcapture support debug data)defaultdescc                    . ROpV F(  pV P                  V P                   RV 2RV 2R7       K*  	  V P                  4        V P                  4        R# )list adapters shmcli_suggest_filenameN)r   zlist physical enclosureszlist failed drives)add_cmd_output
shmcli_bincollect_enclosures_listcollect_drivers_list)selfsubcmdssubcmds   &  ;/usr/lib/python3/dist-packages/sos/report/plugins/shmcli.pysetupSHMcli.setup    s_    
 F??#1VH-#*6(!3   5 
 	$$&!!#    c           	       a . pV P                  R4      pVR,          ^ 8X  d   VR,          P                  4        Fi  oSP                  4       p\        V4      ^8  g   K%  V^,          P	                  4       R8X  g   KC  VP                  SP                  4       ^,          4       Kk  	  \        \        V4      4      p. ROpV P                  V P                   R2RR7      pVR,          ^ 8X  EdR   VR,          P                  4       ^R  EF0  oSP                  4       o\        ;QJ d    V3R lV 4       F  '       g   K   R	M	  R
M! V3R lV 4       4      '       g   KV  SR,          pS^ ,          pV FH  pV P                   RV RV RV 2pVP                  V P                  R4      p	V P                  WR7       KJ  	  V P                  R4      '       g   K  V P                  R
R7      p
V P                   RV RV 2pVP                  V P                  R4      pRV
 2pV P                  W,           VRR7       EK3  	  R# R# )zCollect info on the enclosures z	lsscsi -gstatusoutputDELLz list enclosuresshmcli_list_enclosuresr   c              3   ,   <"   T F	  qS9   x  K  	  R # 5i)N ).0mlines   & r   	<genexpr>1SHMcli.collect_enclosures_list.<locals>.<genexpr>Q   s     1&QDy&s   TFr   z -a=z -enc=r   r	   )makez getdebugcli -a=z -outputdir=i,  )r   timeoutN)
z	list emmszlist drawerszlist emm slotszlist drive slotsz	list fanszlist temp sensorszlist voltage sensorszlist current sensorszlist power supplieszinfo enclosure)exec_cmd
splitlinessplitlenupperappendlistsetcollect_cmd_outputr   anyreplacer   
get_optionget_cmd_output_path)r   modelsresultwordsr   adapt_index	enc_indexr   _cmd_fnamelogpath_dcmd_dname_odirr&   s   &             @r   r   SHMcli.collect_enclosures_list0   s    {+(q x(335

JNuQx~~'76'AMM$**,q/2 6 c&k"
 ((/05 ) 
 (q x(335a;zz|31&13331&111"&r(K $QI")#'??"31VHD"(!5!%doox!H++D+J	 #*
 w//"&":":":"F$(OO#4 5''2m6)"F!&t!I".wi 8++!MF$' , ! < !r   c                   V P                  V P                   R2RR7      pVR,          ^ 8X  d   VR,          P                  4        F{  pVP                  4       p\	        V4      ^8  g   K%  V^ ,          R	9  g   K5  V P                   RV^ ,           2pVP                  V P                  R4      pV P                  WER7       K}  	  R# R# )
zCollect info on the drives z list drivesshmcli_list_drivesr   r   r   z info drive -d=r   N)WWNz---)r5   r   r.   r/   r0   r7   r   )r   r;   r&   r<   r?   r@   s   &     r   r   SHMcli.collect_drivers_listd   s    ((|,1 ) 
 (q x(335

u:>a6"&//!2/%(L!%doox!H++D+J 6 !r   r#   N)systemstoragehardware)__name__
__module____qualname____firstlineno____doc__
short_descplugin_nameprofilesr   filesr   option_listr   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      sV      0JK1H7JME 	'5/KLK$ 2hK Kr   r   N)sos.report.pluginsr   r   r   r   r#   r   r   <module>r[      s!    D CeKV& eKr   