
    -_g                     ,    d dl mZmZ  G d dee      Zy)    )PluginIndependentPluginc                   (    e Zd ZdZdZdZdZd Zd Zy)LibvirtClientz%client for libvirt virtualization APIvirsh)systemvirt)zlibvirt-clientc           	         | j                  ddg       d}g d}|D ]  }| j                  | d| d        | j                  | dd	d
       | j                  | dd      }|d   dk(  rd|d   j                         D ]N  }| j                  d|       }|d   dk(  s |d   j                         d   }| j                  d| d|        P dD ]  }| j	                  | d| d|dv rdndz  d      }	|	d   dk(  s.|	d   j                         }
	 |
d   j                         j                  d      }t        d |
dd        D ]0  }|j                         |   }| j                  | d| d| d       2  | j                  | dd      }|d   dk(  r]|d   j                         dd  }t        d |      D ]7  }|j                         d   }dD ]  }| j                  | d| d| d        9 | j                  | dd      }|d   dk(  r1|d   j                         D ]  }| j                  | d | d        y y # t        $ r Y w xY w)!Nz/root/.cache/virt-manager/*.logz/root/.virt-manager/*.logzvirsh -r)domcapabilitiescapabilitiesnodeinfozfreecell --allznode-memory-tuneversionzpool-capabilities
nodecpumapzmaxvcpus kvmsysinfoznodedev-list --tree T)
foregroundz list --allvirsh_list_all)tagsr   z1 list --all --name --state-running --state-pausedstatusr   outputz	pgrep -f ztaskset -ac -p taskset_)suggest_filename)netnwfilterpoolz-list %s)r   r   z--all Namec                     | S N xs    :/usr/lib/python3/dist-packages/sos/report/plugins/virsh.py<lambda>z%LibvirtClient.setup.<locals>.<lambda>M   s    !        z	-dumpxml c                     | S r   r    r!   s    r#   r$   z%LibvirtClient.setup.<locals>.<lambda>W   s    1 r%      )dumpxmldominfo
domblklistz nodedev-listz nodedev-dumpxml )	add_copy_specadd_cmd_outputexec_cmd
splitlinescollect_cmd_outputsplitindex	Exceptionfilter)selfcmdsubcmdssubcmdvmsvmpidpkk_listk_linesposjnamedomains_outputdomains_linesdomainoptnodedev_outputs                      r#   setupzLibvirtClient.setup   s9   -'
 	
 
  	DF3%q 1dC	D 	se;/!1d 	 	D mmse $- -9=  ?x=A(m..0 :mmit$45x=A% H00215A'')!-+3B4 ( :: - 	9A,,uAaS-A01_0D FMJL.N8< - >F h1$ *557!!***,226:C  WQR[9 9A779S>D''3%q9TF(C37 ( 99	9& #k':tL(#q(*84??A!"EM m< 9*? 9C''3%qQvh(?37 ( 999 #m'<N(#q(&x0;;= ##e,TF3# $  )' ! s   "I	IIc                 D    d}ddg}|D ]  }| j                  ||d        y )Nz"(\s*passwd\s*=\s*\")([^\"]*)(\".*)z"/root/\.cache/virt-manager/.*\.logz/root/\.virt-manager/.*\.logz
\1******\3)do_path_regex_sub)r5   	match_expvirsh_path_expspath_exps       r#   postproczLibvirtClient.postproce   s;    9	1+
 ( 	GH ""8YF	Gr%   N)	__name__
__module____qualname__
short_descplugin_nameprofilespackagesrH   rN   r    r%   r#   r   r      s#    8JK!H"HN`Gr%   r   N)sos.report.pluginsr   r   r   r    r%   r#   <module>rW      s    9gGF- gGr%   