
    -_g3                     l    d dl Z d dlmZmZmZmZ  G d de      Z G d dee      Z G d deee      Zy)	    N)PluginRedHatPluginDebianPluginUbuntuPluginc                   @     e Zd ZdZdZdZdZg dZdZd Z	 fdZ
 xZS )	OVNHostzOVN Controllerovn_host)networkvirtopenstack_edpmzovn-controller.pid)z/var/lib/openvswitch/ovnz/usr/local/var/run/openvswitchz/run/openvswitch c           	      f   t         j                  j                  d      r8| j                  j	                  t         j                  j                  d             | j                  d      r| j                  d       n| j                  d       | j                  | j                  D cg c]  }| j                  || j                          c}       | j                  d       | j                  | j                   d| j                   d| j                   dg       | j                  d	
       y c c}w )N
OVS_RUNDIRall_logs/var/log/ovn//var/log/ovn/*.logz/etc/sysconfig/ovn-controllerz)ovs-ofctl -O OpenFlow13 dump-flows br-intzovs-vsctl list-brzovs-vsctl list Open_vSwitchzovn-controller)units)osenvironget	pid_pathsappend
get_optionadd_copy_spec	path_joinpidfileadd_cmd_outputovs_cmd_preadd_journal)selfpps     =/usr/lib/python3/dist-packages/sos/report/plugins/ovn_host.pysetupzOVNHost.setup   s   ::>>,'NN!!"**..">???:&/34%)^^5! !NN2t||< 5 	6 	:;  IJ  12  ;<
 	 	/05s   %#D.c                 b     t         fd j                  D              xs t                  S )Nc              3   t   K   | ]/  }j                  j                  |j                               1 y w)N)path_isfiler   r   ).0pid_pathr    s     r"   	<genexpr>z(OVNHost.check_enabled.<locals>.<genexpr>3   s3      0 $$T^^Hdll%KL 0s   58)anyr   supercheck_enabledr    	__class__s   `r"   r,   zOVNHost.check_enabled2   s3     0 $0 0 K3873H3J	L    )__name__
__module____qualname__
short_descplugin_nameprofilesr   r   r   r#   r,   __classcell__r.   s   @r"   r   r      s6    !JK4H"GI
 K1,L Lr/   r   c                   &     e Zd ZdZdZ fdZ xZS )RedHatOVNHost)zopenvswitch-ovn-hostz
ovn.*-hostz4/var/lib/config-data/ansible-generated/ovn-bgp-agentc                     t         |           | j                  | j                  g       | j	                  d      r| j                  dg       y | j                  dg       y )Nr   z"/var/log/containers/ovn-bgp-agent/z'/var/log/containers/ovn-bgp-agent/*.log)r+   r#   r   var_ansible_genr   r-   s    r"   r#   zRedHatOVNHost.setup<   sd      
 	 ??:&4   9  r/   )r0   r1   r2   packagesr;   r#   r6   r7   s   @r"   r9   r9   7   s    7HLO r/   r9   c                   2     e Zd ZdZdZe dgZ fdZ xZS )DebianOVNHost)zovn-hostz%/var/snap/openstack-hypervisor/commonz/run/ovnc                 0   | j                  d      rvd| _        | j                  | j                   dg       | j	                  d      r | j                  | j                   dg       n| j                  | j                   dg       t
        |           y )Nzopenstack-hypervisorzopenstack-hypervisor.z/lib/ovn-metadata-proxy/*.confr   r   r   )is_installedr   r   sunbeam_common_dirr   r+   r#   r-   s    r"   r#   zDebianOVNHost.setupV   s    346D**++IJ   z*""../}=$  ""..//AB$  	r/   )r0   r1   r2   r<   rA   r   r#   r6   r7   s   @r"   r>   r>   L   s,    H@ 
h'I r/   r>   )	r   sos.report.pluginsr   r   r   r   r   r9   r>    r/   r"   <module>rD      s=    
 O O%Lf %LPG\ *G\< r/   