U
    *bP
                     @   s&   d dl mZmZ G dd deeZdS )    )PluginIndependentPluginc                   @   s$   e Zd ZdZdZdZdZdd ZdS )LibvirtClientz%client for libvirt virtualization APIZvirsh)systemZvirt)zlibvirt-clientc              	   C   sj  |  ddg d}dddddd	d
g}|D ]}| jd||f dd q(dD ]}| jd||f dd}|d dkrH|d  }z|d  d}W n tk
r   Y qHY nX tdd |dd  D ](}| | }	| jd|||	f dd qqH| jd| dd}
|
d dkrf|
d  dd  }tdd |D ]6}| d }dD ]}| jd|||f dd qBq.d S )Nz/root/.cache/virt-manager/*.logz/root/.virt-manager/*.logzvirsh -rz
list --allZdomcapabilitiesZcapabilitiesZnodeinfoZfreecellznode-memory-tuneversionz%s %sT)Z
foreground)ZnetZnwfilterZpoolz
%s %s-listZstatusr   outputNamec                 S   s   | S N xr
   r
   :/usr/lib/python3/dist-packages/sos/report/plugins/virsh.py<lambda>8       z%LibvirtClient.setup.<locals>.<lambda>   z%s %s-dumpxml %sz%s list --allc                 S   s   | S r	   r
   r   r
   r
   r   r   B   r      )ZdumpxmlZdominfoZ
domblklistz%s %s %s)	Zadd_copy_specZadd_cmd_outputZcollect_cmd_output
splitlinessplitindex	ExceptionfilterZexec_cmd)selfcmdZsubcmdsZsubcmdkZk_listZk_linesposjnZdomains_outputZdomains_linesZdomaindr   r
   r
   r   setup   sN    


zLibvirtClient.setupN)__name__
__module____qualname__Z
short_descZplugin_nameZprofilesZpackagesr   r
   r
   r
   r   r      s
   r   N)Zsos.report.pluginsr   r   r   r
   r
   r
   r   <module>	   s   