U
    -_g                     @   s*   d dl mZmZmZ G dd deeZdS )    )PluginIndependentPlugin	PluginOptc                   @   s@   e Zd ZdZdZdZdZdZedddd	gZ	d
d Z
dd ZdS )SMclizSANtricity storage deviceZsmclienti  )systemZstorageZhardware)ZSMclientdebugFzcapture support debug data)defaultZdescc                    s   dddg}g }|  d}|d dkrP|d  D ]}d|kr0|| d  q0|D ] |  fd	d
|D  qT| dr| | d S )Nzshow storagearray;zshow storagearray connections;zshow storagearray healthstatus;zSMcli -d -SZstatusr   outputZ	localhostc                    s   g | ]}d   d| dqS )zSMcli localhost -n  -c '' ).0subcmdssnamer   =/usr/lib/python3/dist-packages/sos/report/plugins/smclient.py
<listcomp>+   s   zSMcli.setup.<locals>.<listcomp>r   )Zcollect_cmd_output
splitlinesappendsplitadd_cmd_outputZ
get_optiondo_debug)selfZsubcmdsssnamesresultliner   r   r   setup   s     


zSMcli.setupc              
   C   sJ   | j dd}d}d}|D ],}| j| d| d| d| d|d	d
 qdS )z Collect debug logs F)ZmakezSMcli localhost -nz#save storageArray supportData file= r
   z	"support-z";'i  )ZrunatZtimeoutN)Zget_cmd_output_pathr   )r   r   Zlogpathcmdr   r   r   r   r   r   3   s     zSMcli.do_debugN)__name__
__module____qualname__Z
short_descZplugin_nameZplugin_timeoutZprofilesZpackagesr   Zoption_listr   r   r   r   r   r   r      s   r   N)Zsos.report.pluginsr   r   r   r   r   r   r   r   <module>	   s   