Your IP : 216.73.217.13


Current Path : /lib/python3/dist-packages/sos/report/plugins/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/sos/report/plugins/__pycache__/ovn_central.cpython-38.pyc

U

���b��@sfddlmZmZmZmZmZddlZddlZGdd�de�ZGdd�dee�Z	Gdd�deee�Z
dS)	�)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPlugin�SoSPredicateNc@s8eZdZdZdZdZdZgfdd�Zdd�Zd	d
�Z	dS)�
OVNCentralz
OVN NorthdZovn_central)ZnetworkZvirt)zovn-dbs-bundle.*c
sb|jr|d|}|j|dd|jd�}|ddkrB|�d|j�dSzt�|d�}Wn$tk
rx|�d|�YdSXn�z`t|�|�d	��F}zt�|�}Wn0tk
r�|�d|�YW5QR�WdSXW5QRXWn<t	k
�r}z|�d
||f�WY�dSd}~XYnXz�fdd�t
�|d
�D�WStk
�r\|�d|�YnXdS)Nzcat %sT)�timeout�
foreground�	containerZstatusrz3Could not retrieve DB schema file from container %s�outputzCannot parse JSON file %s�rz$Could not open DB schema file %s: %scsg|]}|�kr|�qS�r
)�.0�table��skipr
�@/usr/lib/python3/dist-packages/sos/report/plugins/ovn_central.py�
<listcomp>9s�z5OVNCentral.get_tables_from_schema.<locals>.<listcomp>�tablesz DB schema %s has no 'tables' key)
�_container_nameZexec_cmdZ
_log_error�json�loads�	Exception�open�	path_join�load�IOError�dict�keys�AttributeError)�self�filenamer�cmd�resZdb�f�exr
rr�get_tables_from_schemasF
��
�"
��
z!OVNCentral.get_tables_from_schemacCs(|sdS|D]}|�d||f�qdS)Nz
%s list %s)�append)r r�cmdsZovn_cmdrr
r
r�add_database_output>szOVNCentral.add_database_outputcCs�|�|jd�|_tj�d�}dD]B}|�|�d|�|�d|�|�d|�g�|r"|�|�||��q"|�d�r||�d�n
|�d	�|j	d
�
|j�d�
|j�dgd
|jdd�dddddddg}ddddg}dD]$}|�
|�|d��}|�||d�q�|}d�
|j�dd�}|j|t||d �d!��r^dD]*}|�
|�|d"�d#g�}	|�|	|d$��q*||7}|j	|d
|jd%�|�d&�tj�d'�}
d(D]Z}|�|�d|�|�d)|�|�d*|�|�d+|�|�d,|�g�|
�r�|�|�|
|���q�|jd-d.�dS)/NrZ
OVS_RUNDIR)zovnnb_db.pidzovnsb_db.pidzovn-northd.pidz/var/lib/openvswitch/ovnz/usr/local/var/run/openvswitchz/run/openvswitch/Zall_logsz
/var/log/ovn/z/var/log/ovn/*.logz.ovs-appctl -t {} cluster/status OVN_Northboundz.ovs-appctl -t {} cluster/status OVN_Southboundzovn-appctl -t ovn-northd statusT�)r	r
rzovn-nbctl showzovn-nbctl get-sslzovn-nbctl get-connectionzovn-nbctl list loadbalancerzovn-nbctl list Load_Balancerzovn-nbctl list ACLz"ovn-nbctl list Logical_Switch_Portzovn-sbctl showzovn-sbctl lflow-listzovn-sbctl get-sslzovn-sbctl get-connection)z/usr/share/openvswitchz/usr/share/ovnzovn-nb.ovsschemaz	ovn-nbctlzLeader: self)r"r)Zcmd_outputs)Zpredzovn-sb.ovsschemaZLogical_Flowz	ovn-sbctl)r	r
z/etc/sysconfig/ovn-northdZ	OVS_DBDIR)zovnnb_db.dbzovnsb_db.dbz/usr/local/etc/openvswitchz/etc/openvswitchz/var/lib/openvswitchz/var/lib/ovn/etcz
ovn-northd)Zunits)Zget_container_by_name�
containersr�os�environ�getZ
add_copy_specrZ
get_optionZadd_cmd_output�format�ovn_nbdb_sock_path�ovn_sbdb_sock_pathr&r)Ztest_predicaterZadd_journal)r Z
ovs_rundirZpidfileZ
nbctl_cmdsZ
sbctl_cmds�pathZ	nb_tablesr(�coZ	sb_tablesZ	ovs_dbdirZdbfiler
r
r�setupDs�


�

����
��������





�zOVNCentral.setupN)
�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesr+r&r)r4r
r
r
rrs!rc@seZdZdZdZdZdS)�RedHatOVNCentral)zopenvswitch-ovn-centralz
ovn.*-centralz!/var/run/openvswitch/ovnnb_db.ctlz!/var/run/openvswitch/ovnsb_db.ctlN�r5r6r7Zpackagesr0r1r
r
r
rr8�sr8c@seZdZdZdZdZdS)�DebianOVNCentral)zovn-centralz/var/run/ovn/ovnnb_db.ctlz/var/run/ovn/ovnsb_db.ctlNr9r
r
r
rr:�sr:)Zsos.report.pluginsrrrrrrr,rr8r:r
r
r
r�<module>s