HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/sos/report/plugins/__pycache__/ovn_central.cpython-38.pyc
U

i��d��@sjddlmZmZmZmZddlZddlZddlZGdd�de�ZGdd�dee�Z	Gdd�deee�Z
dS)	�)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginNc@s@eZdZdZdZdZdZdd�Zgfdd�Zd	d
�Z	dd�Z
d
S)�
OVNCentralz
OVN NorthdZovn_central)ZnetworkZvirt)zovn-dbs-bundle.*Zovn_cluster_north_db_servercCs�tj�||�}|jr�|jd||jd�}|ddks@d|dkrR|�d|j�n:t�|�}|d�d�D] }|�	|�rjtj�||�Sqj|S)Nzls %s)�	container�statusr�
�outputz?Could not retrieve ovn_controller socket path from container %s)
�os�path�join�_container_name�exec_cmd�
_log_error�re�compile�split�match)�selfrZ
regex_nameZ_sfile�res�pattern�filename�r�@/usr/lib/python3/dist-packages/sos/report/plugins/ovn_central.py�
_find_socks��

zOVNCentral._find_sockc
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�
foregroundrrrz3Could not retrieve DB schema file from container %sr
zCannot parse JSON file %s�rz$Could not open DB schema file %s: %scsg|]}|�kr|�qSrr)�.0�table��skiprr�
<listcomp>Js�z5OVNCentral.get_tables_from_schema.<locals>.<listcomp>�tablesz DB schema %s has no 'tables' key)
rrr�json�loads�	Exception�open�	path_join�load�IOError�dict�keys�AttributeError)rrr"�cmdrZdb�f�exrr!r�get_tables_from_schema.sF
��
�"
��
z!OVNCentral.get_tables_from_schemacCs(|sdS|D]}|�d||f�qdS)Nz
%s list %s)�append)rr$�cmdsZovn_cmdr rrr�add_database_outputOszOVNCentral.add_database_outputc	Cs2|�|jd�r$|�|jd�|_n|�|jd�|_tj�d�}dD]B}|�|�d|�|�d|�|�d|�g�|rF|�|�||��qF|�	d�r�|�d	�n
|�d
�|�
|j|j�}|�
|j|j
�}|jd�|j�d�|j�d
�|�d�|�d�|�gd|jdd�dddg}ddddg}dD]&}|�|�|d��}|�||d��q$|}	dD]*}|�|�|d�dg�}
|�|
|d��qT|	|7}	tt|	��}	|j|	d|jd �|�d!�tj�d"�}d#D]`}d$D]<}|�||�}
tj�|
��r�|�|
�|jd%|
dd&��q�|�r�|�|�||���q�|jd'd(�dS))N�rZ
OVS_RUNDIR)zovnnb_db.pidzovnsb_db.pidzovn-northd.pid�/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 {} statusz,ovn-appctl -t {} debug/chassis-features-listz"ovn-appctl -t {} connection-statusT�)rrrzovn-nbctl --no-leader-only showz"ovn-nbctl --no-leader-only get-sslz)ovn-nbctl --no-leader-only get-connectionzovn-sbctl --no-leader-only showz%ovn-sbctl --no-leader-only lflow-listz"ovn-sbctl --no-leader-only get-sslz)ovn-sbctl --no-leader-only get-connection)z/usr/share/openvswitchz/usr/share/ovnzovn-nb.ovsschemazovn-nbctl --no-leader-onlyzovn-sb.ovsschemaZLogical_Flowzovn-sbctl --no-leader-only)rrz/etc/sysconfig/ovn-northdZ	OVS_DBDIR)zovnnb_db.dbzovnsb_db.db)r7z/usr/local/etc/openvswitchz/etc/openvswitchz/var/lib/openvswitchz/var/lib/ovn/etcz/var/lib/ovnz
ls -lan %s)rz
ovn-northd)Zunits)Zcontainer_exists�
containersZget_container_by_namerr�environ�getZ
add_copy_specr)Z
get_optionr�
ovn_sock_path�ovn_controller_sock_regex�ovn_northd_sock_regexZadd_cmd_output�format�ovn_nbdb_sock_path�ovn_sbdb_sock_pathr2r5�list�setr�existsZadd_journal)rZ
ovs_rundirZpidfileZovn_controller_sock_pathZnorthd_sock_pathZ
nbctl_cmdsZ
sbctl_cmdsrZ	nb_tablesr4Z	sb_tablesZ	ovs_dbdirZdbfileZ
dbfilepathrrr�setupUs���


�

����������������

�
zOVNCentral.setupN)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesr9rr2r5rErrrrrs!rc@s$eZdZdZdZdZdZdZdZdS)�RedHatOVNCentral)zopenvswitch-ovn-centralz
ovn.*-centralz!/var/run/openvswitch/ovnnb_db.ctlz!/var/run/openvswitch/ovnsb_db.ctlz/var/run/openvswitch�ovn-controller.*.ctl�ovn-northd.*.ctlN�	rFrGrHZpackagesr@rAr<r=r>rrrrrI�srIc@s$eZdZdZdZdZdZdZdZdS)�DebianOVNCentral)zovn-centralz/var/run/ovn/ovnnb_db.ctlz/var/run/ovn/ovnsb_db.ctlz/var/run/ovnrJrKNrLrrrrrM�srM)Zsos.report.pluginsrrrrr%rrrrIrMrrrr�<module>s,