o
    O6uf�  ã                   @   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 deviceÚsmclienti„  )ÚsystemÚstorageÚhardware)ÚSMclientÚdebugFzcapture support debug data)ÚdefaultÚdescc                    sŒ   g d¢}g }|   d¡}|d dkr'|d  ¡ D ]}d|v r&| | ¡ d ¡ q|D ]‰ |  ‡ fdd„|D ƒ¡ q)|  d	¡rD|  |¡ d S d S )
N)zshow storagearray;zshow storagearray connections;zshow storagearray healthstatus;zSMcli -d -SÚstatusr   ÚoutputÚ	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   )Úcollect_cmd_outputÚ
splitlinesÚappendÚsplitÚadd_cmd_outputÚ
get_optionÚdo_debug)ÚselfÚ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)ÚmakezSMcli localhost -nz#save storageArray supportData file=ú r   z	"support-z";'iÂ  )ÚrunatÚtimeoutN)Úget_cmd_output_pathr   )r!   r#   ÚlogpathÚcmdr   r   r   r   r   r    3   s   þÿzSMcli.do_debugN)Ú__name__Ú
__module__Ú__qualname__Ú
short_descÚplugin_nameÚplugin_timeoutÚprofilesÚpackagesr   Úoption_listr&   r    r   r   r   r   r      s    ÿr   N)Úsos.report.pluginsr   r   r   r   r   r   r   r   Ú<module>   s   