o
    *b                     @   sf   d dl Z d dlmZmZmZmZ dZg dZG dd deZG dd deeZ	G d	d
 d
eeeZ
dS )    N)PluginRedHatPluginDebianPluginUbuntuPluginzovn-controller.pid)z/var/lib/openvswitch/ovnz/usr/local/var/run/openvswitchz/run/openvswitchc                       s0   e Zd ZdZdZdZdd Z fddZ  ZS )OVNHostzOVN ControllerZovn_host)ZnetworkZvirtc                    s~   t jdrtt jd  dr d n d   fddtD   d  g d  jd	d
 d S )NZ
OVS_RUNDIRZall_logsz/var/log/ovn/z/var/log/ovn/*.logc                    s   g | ]}  |tqS  )	path_joinpidfile.0ppselfr   =/usr/lib/python3/dist-packages/sos/report/plugins/ovn_host.py
<listcomp>&   s    z!OVNHost.setup.<locals>.<listcomp>z/etc/sysconfig/ovn-controller)z)ovs-ofctl -O OpenFlow13 dump-flows br-intzovs-vsctl list-brzovs-vsctl list Open_vSwitchzovn-controller)Zunits)	osenvironget	pid_pathsappendZ
get_optionZadd_copy_specZadd_cmd_outputZadd_journalr   r   r   r   setup   s   


zOVNHost.setupc                    s$   t  fddtD ptt  S )Nc                    s   g | ]}   |tqS r   )Zpath_isfiler   r	   r
   r   r   r   r   3   s
    
z)OVNHost.check_enabled.<locals>.<listcomp>)anyr   superr   check_enabledr   	__class__r   r   r   2   s
   zOVNHost.check_enabled)	__name__
__module____qualname__Z
short_descZplugin_nameZprofilesr   r   __classcell__r   r   r   r   r      s    r   c                   @      e Zd ZdZdS )RedHatOVNHost)zopenvswitch-ovn-hostz
ovn.*-hostNr   r   r   Zpackagesr   r   r   r   r!   8       r!   c                   @   r    )DebianOVNHost)zovn-hostNr"   r   r   r   r   r$   =   r#   r$   )r   Zsos.report.pluginsr   r   r   r   r	   r   r   r!   r$   r   r   r   r   <module>   s   
!