+
    Û1jÚ  ã                   ó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# )ÚSHMclizîshmcli 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Ø×ÑØ—?‘?Ð# 1 V HÐ-Ø#*¨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                  W‰R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©& Q˜D–y«&ù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 –N u¨Q¥x§~¡~Ó'7¸6Ö'AØ—M‘M $§*¡*£,¨q¥/Ö2ñ 6ô ”c˜&“kÓ"ˆò
ˆð ×(Ñ(Ø�‰ÐÐ/Ð0Ø5ð )ó 
ˆð �(Õ˜qÕ Ø˜xÕ(×3Ñ3Ó5°a¸Ô;�Ø—z‘z“|�ß“3Ô1©&Ó1—3—3’3Ô1©&Ó1×1Ô1Ø"& r¥(�KØ $ Q¥�IÛ")˜Ø#'§?¡?Ð"3°1°V°H¸DÀÀØ"(¨¨ð!5˜à!%§¡¨d¯o©o¸xÓ!H˜Ø×+Ñ+¨DÐ+ÖJñ	 #*ð
 —‘ w×/Ô/Ø"&×":Ñ":ÀÐ":Ó"F˜Ø$(§O¡OÐ#4ð 5'Ø'2 m°6¸)¸ð"F˜à!&§¡¨t¯©ÀÓ!I˜Ø".¨w¨iÐ 8˜Ø×+Ñ+Ø!�M¸FØ$'ð ,÷ ó! <ñ !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˜Ø!%§¡¨d¯o©o¸xÓ!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   ø‡ € ñð 0€Jà€KØ1€Hð7€JàˆM€Eñ 	�' 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   