o id@s&ddlmZmZGdddeeZdS))PluginIndependentPluginc@s,eZdZdZdZdZdZddZddZd S) LibvirtClientz%client for libvirt virtualization APIvirsh)systemvirt)zlibvirt-clientc Cs|ddgd}gd}|D] }|jd||fddq|jd|d dd d D]N}|jd ||fdd}|d dkrw|d}z |dd}Wn tyVYq)wtdd|ddD]}||} |jd||| fddqbq)|jd|dd} | d dkr| ddd} tdd| D]} | d} dD]}|jd||| fddqq|jd |dd}|d dkr|dD]} |jd || ddqdSdS)Nz/root/.cache/virt-manager/*.logz/root/.virt-manager/*.logzvirsh -r) domcapabilities capabilitiesnodeinfozfreecell --allznode-memory-tuneversionzpool-capabilities nodecpumapz maxvcpus kvmsysinfoznodedev-list --treez%s %sT) foregroundz %s list --allvirsh_list_all)tagsr)netnwfilterpoolz %s %s-liststatusroutputNamecS|SNxrr:/usr/lib/python3/dist-packages/sos/report/plugins/virsh.py?z%LibvirtClient.setup..z%s %s-dumpxml %scSrrrrrrrrIr)dumpxmldominfo domblklistz%s %s %sz{0} nodedev-listz{0} nodedev-dumpxml {1}) add_copy_specadd_cmd_outputcollect_cmd_output splitlinessplitindex Exceptionfilterexec_cmdformat)selfcmdsubcmdssubcmdkk_listk_linesposjndomains_output domains_linesdomaindrnodedev_outputrrrsetups`          zLibvirtClient.setupcCs(d}ddg}|D] }|||dqdS)Nz"(\s*passwd\s*=\s*\")([^\"]*)(\".*)z"/root/\.cache/virt-manager/.*\.logz/root/\.virt-manager/.*\.logz \1******\3)do_path_regex_sub)r. match_expvirsh_path_expspath_exprrrpostprocVszLibvirtClient.postprocN) __name__ __module__ __qualname__ short_desc plugin_nameprofilespackagesr=rBrrrrr s ArN)sos.report.pluginsrrrrrrrs