
    ([QhC                     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           	         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	
       dD ])  }| j                  |      s| j                  d| 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)z/etc/ovn/ovn-chassis.crtz/etc/ovn/cert_hostzopenssl x509 -in z -noout -dates)osenvironget	pid_pathsappend
get_optionadd_copy_spec	path_joinpidfileadd_cmd_outputovs_cmd_preadd_journalpath_exists)selfpppaths      =/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 G 	D%##&tfN;	5s   %#E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>:   s3      0 $$T^^Hdll%KL 0s   58)anyr   supercheck_enabledr!   	__class__s   `r$   r.   zOVNHost.check_enabled9   s3     0 $0 0 K3873H3J	L    )__name__
__module____qualname__
short_descplugin_nameprofilesr   r   r   r%   r.   __classcell__r0   s   @r$   r   r      s6    !JK4H"GI
 K:L Lr1   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.setupC   sd      
 	 ??:&4   9  r1   )r2   r3   r4   packagesr=   r%   r8   r9   s   @r$   r;   r;   >   s    7HLO r1   r;   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.setup]   s    346D**++IJ   z*""../}=$  ""..//AB$  	r1   )r2   r3   r4   r>   rC   r   r%   r8   r9   s   @r$   r@   r@   S   s,    H@ 
h'I r1   r@   )	r   sos.report.pluginsr   r   r   r   r   r;   r@    r1   r$   <module>rF      s=    
 O O,Lf ,L^G\ *G\< r1   