HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/sos/report/plugins/__pycache__/ovn_central.cpython-39.pyc
a

\��hm'�@sjddlZddlZddlZddlmZmZmZmZGdd�de�ZGdd�dee�Z	Gdd�deee�Z
dS)	�N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc@s\eZdZdZdZdZdZdZdZdZ	dZ
dZdZdZ
dd�Zgfdd	�Zd
d�Zdd
�ZdS)�
OVNCentralz
OVN NorthdZovn_central)�networkZvirt)zovn-dbs-bundle.*Zovn_cluster_north_db_server�cCs�|�||�}|jr�|jd|��|jd�}|ddks@d|dvrT|�d|j���n8t�|�}|d�d�D]}|�|�rl|�||�Sql|S)Nzls )�	container�statusr�
�outputz=Could not retrieve ovn_controller socket path from container )�	path_join�container_name�exec_cmd�
_log_error�re�compile�split�match)�self�pathZ
regex_nameZ_sfile�res�pattern�filename�r�B/usr/lib/python3.9/site-packages/sos/report/plugins/ovn_central.py�
_find_sock%s��

zOVNCentral._find_sockc	
s�|jr�d|��}|j|dd|jd�}|ddkrF|�d|j���dSzt�|d�}Wn$ty||�d	|���YdS0n�z~|�|�}t|d
dd��R}zt�|�}Wn2ty�|�d	|���YWd�WdS0Wd�n1s�0YWn>t	�y<}z$|�d
|�d|���WYd}~dSd}~00z�fdd�t
�|d�D�WSt�y�|�d|�d��Yn0dS)z Get tables from schema zcat NT)�timeout�
foregroundr	r
rz1Could not retrieve DB schema file from container rzCannot parse JSON file �rzUTF-8)�encodingzCould not open DB schema file z: csg|]}|�vr|�qSrr��.0�table��skiprr�
<listcomp>Ss�z5OVNCentral.get_tables_from_schema.<locals>.<listcomp>�tablesz
DB schema z has no 'tables' key)
rrr�json�loads�	Exceptionr
�open�load�IOError�dict�keys�AttributeError)	rrr%�cmdrZ	db_schema�fname�file�exrr$r�get_tables_from_schema6sF

��

8��
z!OVNCentral.get_tables_from_schemacs|r�fdd�|D�SdS)z Collect OVN database output csg|]}��d|���qS)z list rr!��ovn_cmdrrr&\�z2OVNCentral.add_database_output.<locals>.<listcomp>Nr)rr'r7rr6r�add_database_outputYszOVNCentral.add_database_outputc
Csz|�|jd�r$|�|jd�|_n|�|jd�|_tj�d�}dD]L}|�|�d|�|�d|�|�d|�|�d|�g�|rF|�|�||��qF|�	d	�r�|�d
�n
|�d�|�
|j|j�}|�
|j|j
�}d}g}|j}|�d
|j�d|�d�|�d
|j�d|�d�|�d|�d�|�d|�d�g}|j|d|jdd�|�spd}	|j|�d|�d|	��d|jdd�d}
|�d|
�d�|�d|
�d�|�d|
�d�g}|j|d|jdd�|�d|
�d�|�d|
�d�|�d|
�d�|�d|
�d�g}|j|d|jdd�dD]H}
|�|�|
d ���r
|�|�|
d ��}|�|�||�d|
�����q
dD]L}
|�|�|
d!���rX|�|�|
d!�d"g�}|�|�||�d|
�����qXtt|��}|j|d|jd#�d$D]$}
|�|
��r�|�d%|
�d&���q�|�d'�|�d(�tj�d)�}d*D]V}d+D]2}
|�|
|�}|�|��r|�|�|�|��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/�!/var/snap/microovn/common/run/ovnZall_logsz
/var/log/ovn/z/var/log/ovn/*.logzcluster/statuszovs-appctl -t � z OVN_Northboundz OVN_Southboundzovn-appctl -t z statusz connection-statusT�)rr	rzdebug/chassis-features-listz--no-leader-onlyz
ovn-nbctl z showz get-sslz get-connectionz
ovn-sbctl z lflow-list)z/usr/share/openvswitchz/usr/share/ovnz /snap/microovn/current/share/ovnzovn-nb.ovsschemazovn-sb.ovsschemaZLogical_Flow)rr	)z/etc/ovn/ovn-central.crtz/etc/ovn/cert_hostzopenssl x509 -in z -noout -datesz/etc/sysconfig/ovn-northdz"/etc/ovn/ovn-northd-db-params.confZ	OVS_DBDIR)zovnnb_db.dbzovnsb_db.db)r;z/usr/local/etc/openvswitchz/etc/openvswitchz/var/lib/openvswitchz/var/lib/ovn/etcz/var/lib/ovnz)/var/snap/microovn/common/data/central/dbz
ovn-northd)Zunits)Zcontainer_exists�
containersZget_container_by_namer�os�environ�getZ
add_copy_specr
Z
get_optionr�
ovn_socket�ovn_controller_sock_regex�ovn_northd_sock_regex�pfx�ovn_nbdb_socket�ovn_sbdb_socketZadd_cmd_output�path_existsr5�extendr9�list�setZadd_dir_listingZadd_journal)rZ
ovs_rundirZpidfileZovn_controller_socketZ
northd_socket�csZcmdsrFZappctl_cmdsZdflZnoloZ
nbctl_cmdsZ
sbctl_cmdsrZ	nb_tablesZ	sb_tablesZ	ovs_dbdirZdbfileZ
dbfilepathrrr�setup_s���



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

	
zOVNCentral.setupN)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesr?rrGrHrCrDrErFrr5r9rNrrrrrs#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)	rOrPrQ�packagesrGrHrCrDrErrrrrR�srRcs(eZdZdZ�fdd�ZdZdZ�ZS)�DebianOVNCentral)zovn-centralZmicroovncsT|�d�r4d|_|j�d�|_|j�d�|_d|_nd|_d|_d|_t���dS)	Nz/snap/bin/microovnr<z
/ovnnb_db.ctlz
/ovnsb_db.ctlz	microovn.z/var/run/ovnz/var/run/ovn/ovnnb_db.ctlz/var/run/ovn/ovnsb_db.ctl)rIrCrGrHrF�superrN)r��	__class__rrrN�s
zDebianOVNCentral.setuprSrT)rOrPrQrUrNrDrE�
__classcell__rrrXrrV�srV)r(r@rZsos.report.pluginsrrrrrrRrVrrrr�<module>sN