
    ~ gH                     <    S SK r S SKrS SKJrJr   " S S\\5      rg)    N)PluginRedHatPluginc                   >    \ rS rSrSrSrSrS rS rS r	S r
S	 rS
rg)Xen   zXen virtualizationxen)virtc                    [         R                  " S[         R                  5      (       a  U R                  S5      nUS   S:X  a  g[         R                  " S[         R                  5      (       a  U R                  S5      nUS   S:X  a  gg	g
)zDetermine xen host type z/proc/acpi/dsdtzgrep -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results     8/usr/lib/python3/dist-packages/sos/report/plugins/xen.pydetermine_xen_hostXen.determine_xen_host   sr    99&00]]#ABFh1$99-rww77]]#MNFh1$    c                 (    U R                  5       S:H  $ )Nr   )r   r   s    r   check_enabledXen.check_enabled#   s    &&(K77r   c                 ~    U R                  S5      S   n[        R                  " SU5      S   nUR                  5       $ )zCheck if xenstored is running zpidof xenstoredoutputz
$r   )r   resplitisdigit)r   xs_pid	xs_pidnums      r   is_running_xenstoredXen.is_running_xenstored&   s:    01(;HHUF+A.	  ""r   c                 n    U R                  / SQ5        U R                  S5        U R                  S5        g)zCollect /proc/xen )z/proc/xen/balloonr   z/proc/xen/xsd_kvaz/proc/xen/xsd_portzgrep pae /proc/cpuinfoz egrep -e 'vmx|svm' /proc/cpuinfoN)add_copy_specadd_cmd_outputr   s    r   dom_collect_procXen.dom_collect_proc,   s5     " 	# 	45>?r   c                    U R                  5       nUS:X  a"  U R                  5         U R                  S5        OUS:X  a  OUS:X  a  U R                  / SQ5        U R                  / SQ5        U R                  5         U R	                  5       (       a#  U R                  S5        U R                  S5        OU R                  S	5        Og U R                  S
U-   5        g )Nr   z/sys/hypervisorr   r   )z/var/log/xenz/etc/xenz/sys/hypervisor/versionz/sys/hypervisor/compilationz/sys/hypervisor/propertiesz/sys/hypervisor/type)zxm dmesgzxm infozxm listzxm list --longzbridge link showz/sys/hypervisor/uuidzxenstore-lsz/var/lib/xenstored/tdbzXen hostType: )r   r+   r)   r*   r&   add_custom_text)r   	host_types     r   setup	Xen.setup8   s    ++-	!!# 01%&   ( )  !  !!#((**""#9:##M2 ""#;< -i78r    N)__name__
__module____qualname____firstlineno__
short_descplugin_nameprofilesr   r   r&   r+   r0   __static_attributes__r2   r   r   r   r      s+    %JKH8#
@&9r   r   )r   r!   sos.report.pluginsr   r   r   r2   r   r   <module>r<      s     
 	 3P9&, P9r   