o i©¹d÷ ã@s6ddlmZmZddlZddlZGdd„deeƒZdS)é)ÚPluginÚ RedHatPluginNc@s@eZdZdZdZdZdd„Zdd„Zdd „Zd d „Z d d „Z dS)ÚXenzXen virtualizationÚxen)ÚvirtcCsXt dtj¡r| d¡}|ddkrdSt dtj¡r*| d¡}|ddkr(dSd Sd S) Nz/proc/acpi/dsdtzgrep -qi xen /proc/acpi/dsdtÚstatusrÚhvmú/proc/xen/capabilitiesz(grep -q control_d /proc/xen/capabilitiesÚdom0ÚdomUÚ baremetal)ÚosÚaccessÚR_OKÚexec_cmd)ÚselfÚresult©rú8/usr/lib/python3/dist-packages/sos/report/plugins/xen.pyÚdetermine_xen_hosts    zXen.determine_xen_hostcCs | ¡dkS)Nr )r©rrrrÚ check_enabled#s zXen.check_enabledcCs&| d¡d}t d|¡d}| ¡S)Nzpidof xenstoredÚoutputz $r)rÚreÚsplitÚisdigit)rÚxs_pidÚ xs_pidnumrrrÚis_running_xenstored&szXen.is_running_xenstoredcCs&| gd¢¡| d¡| d¡dS)N)z/proc/xen/balloonr z/proc/xen/xsd_kvaz/proc/xen/xsd_portzgrep pae /proc/cpuinfoz egrep -e 'vmx|svm' /proc/cpuinfo)Ú add_copy_specÚadd_cmd_outputrrrrÚdom_collect_proc+s zXen.dom_collect_proccCsš| ¡}|dkr| ¡| d¡n2|dkrn-|dkrB| gd¢¡| gd¢¡| ¡| ¡r<| d¡| d¡n| d ¡ndS| d |¡dS) Nr z/sys/hypervisorrr )z /var/log/xenz/etc/xenz/sys/hypervisor/versionz/sys/hypervisor/compilationz/sys/hypervisor/propertiesz/sys/hypervisor/type)zxm dmesgzxm infozxm listzxm list --longzbridge link showz/sys/hypervisor/uuidz xenstore-lsz/var/lib/xenstored/tdbzXen hostType: )rr!rr rÚadd_custom_text)rÚ host_typerrrÚsetup6s     z Xen.setupN) Ú__name__Ú __module__Ú __qualname__Ú short_descÚ plugin_nameÚprofilesrrrr!r$rrrrrs r)Úsos.report.pluginsrrr rrrrrrÚs