JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr O6uf0ddlmZmZmZGddeeZy))PluginIndependentPlugin PluginOptcPeZdZdZdZdZdZdZefZe ddd gZ d Z d Z d Z y )SHMcliashmcli 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. zDell Server Hardware Managershmcli)systemstoragehardwarezC/opt/dell/ServerHardwareManager/ServerHardwareManagerCLI/bin/shmclidebugFzcapture support debug data)defaultdesccgd}|D]'}|j|jd|d|)|j|jy)N)z list adapterszlist physical enclosureszlist failed drives shmcli_suggest_filename)add_cmd_output shmcli_bincollect_enclosures_listcollect_drivers_list)selfsubcmdssubcmds ;/usr/lib/python3/dist-packages/sos/report/plugins/shmcli.pysetupz SHMcli.setup sd   5F   ??#1VH-#*6(!3  5 5 $$& !!#c g}|jd}|ddk(rp|djD]Zj}t|dkDs"|dj dk(s9|j jd\t t|}gd}|j|jd d }|ddk(r|djdd D]jtfd |Ds(d}d}|D]H}|jd|d|d|}|j|jd} |j|| J|jds|jd} |jd|d|} | j|jd} d| } |j| | z| dyy)z Collect info on the enclosures z lsscsi -gstatusroutputDELL) z list emmsz list drawerszlist emm slotszlist drive slotsz list fanszlist temp sensorszlist voltage sensorszlist current sensorszlist power supplieszinfo enclosurez list enclosuresshmcli_list_enclosuresrc3&K|]}|v yw)N).0mlines r z1SHMcli.collect_enclosures_list..Qs1QqDy1srz -a=z -enc=rr F)makez getdebugcli -a=z -outputdir=i,)rtimeoutN)exec_cmd splitlinessplitlenupperappendlistsetcollect_cmd_outputranyreplacer get_optionget_cmd_output_path)rmodelsresultwordsr adapt_index enc_indexr_cmd_fnamelogpath_dcmd_dname_odirr*s @rrzSHMcli.collect_enclosures_list0s{+ ( q x(335 3 JNuQx~~'76'AMM$**,q/2 3c&k"  ((/ 05)  ( q x(335a; zz|1&11"&r(K $QI")K#'??"31VHD "( !5!%doox!H++D6+J K w/"&":":":"F$(OO#45''2m6)"F!&t!I#/y!9++!EMF$',!  !rcZ|j|jdd}|ddk(r|djD]l}|j}t |dkDs"|ddvs*|jd |d}|j |jd }|j ||ny y ) z Collect info on the drives z list drivesshmcli_list_drivesrrrr )WWNz---z info drive -d=rN)r7rr0r1r2r9r)rr=r*r>rArBs rrzSHMcli.collect_drivers_listds((| ,1)  ( q x(335 K u:>a6"&//!2/%(L!%doox!H++D6+J  K !rN)__name__ __module__ __qualname____doc__ short_desc plugin_nameprofilesrfilesr option_listrrrr'rrrr sM0JK1H7J ME '5/KLK$ 2h KrrN)sos.report.pluginsrrrrr'rrrUs!DCeKV&eKr