Sindbad~EG File Manager

Current Path : /lib/python3.6/site-packages/sos/report/plugins/__pycache__/
Upload File :
Current File : //lib/python3.6/site-packages/sos/report/plugins/__pycache__/ovn_central.cpython-36.opt-1.pyc

3

�f� �@sjddlZddlZddlZddlmZmZmZmZGdd�de�ZGdd�dee�Z	Gdd�deee�Z
dS)	�N)�Plugin�RedHatPlugin�DebianPlugin�UbuntuPluginc@sVeZdZdZdZdZdZdZdZdZ	dZ
dZdZdd	�Z
ddd�Zd
d�Zdd�Zd
S)�
OVNCentralz
OVN NorthdZovn_central�network�virt�ovn-dbs-bundle.*�ovn_cluster_north_db_server�cCs�tjj||�}|jr�|jd||jd�}|ddks@d|dkrR|jd|j�n:tj|�}x.|djd�D]}|j	|�rltjj||�SqlW|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)�selfrZ
regex_nameZ_sfile�res�pattern�filename�r�!/usr/lib/python3.6/ovn_central.py�
_find_sock#s

zOVNCentral._find_sockNc	 sP|jrzd|}|j|dd|jd�}|ddkrB|jd|j�dSytj|d�}Wn"tk
rv|jd	|�dSXn�yZ|j|�}t|d
dd��8}ytj|�}Wn"tk
r�|jd	|�dSXWdQRXWn4t	k
�r}z|jd
||f�dSd}~XnXy�fdd�t
j|d�D�Stk
�rJ|jd|�YnXdS)z Get tables from schema zcat %sNT)�timeout�
foregroundrr
rz3Could not retrieve DB schema file from container %srzCannot parse JSON file %s�rzUTF-8)�encodingz$Could not open DB schema file %s: %scsg|]}|�kr|�qSrr)�.0�table)�skiprr�
<listcomp>Rsz5OVNCentral.get_tables_from_schema.<locals>.<listcomp>�tablesz DB schema %s has no 'tables' key)
rrr�json�loads�	Exception�	path_join�open�load�IOError�dict�keys�AttributeError)	rrr'�cmdrZ	db_schemaZfname�fileZexr)r'r�get_tables_from_schema4s@




z!OVNCentral.get_tables_from_schemacCs,|sdSx|D]}|jd||f�qWdS)z Collect OVN database output Nz
%s list %s)�append)rr)�cmdsZovn_cmdr&rrr�add_database_outputXs
zOVNCentral.add_database_outputcCs`|j|jd�r$|j|jd�|_n|j|jd�|_tjjd�}xJd5D]B}|j|jd|�|jd|�|jd	|�g�|rH|j|j||��qHW|j	d
�r�|jd�n
|jd�|j
|j|j�}|j
|j|j
�}d
}|jd|j�d|�d�d|j�d|�d�d|�d�d|�d�d|�d�gd|jdd�dddg}ddddg}x.d6D]&}|j|j|d"��}	|j|	|d#��qDW|}
x2d7D]*}|j|j|d$�d%g�}|j||d&��qxW|
|7}
tt|
��}
|j|
d|jd'�|jd(�tjjd)�}xld8D]d}
xDd9D]<}|j||
�}tjj|��r�|j|�|jd1|dd2��q�W|�r�|j|j||
���q�W|jd3d4�dS):N�rZ
OVS_RUNDIR�ovnnb_db.pid�ovnsb_db.pid�ovn-northd.pid�/var/lib/openvswitch/ovnz/usr/local/var/run/openvswitchz/run/openvswitch/Zall_logsz
/var/log/ovn/z/var/log/ovn/*.logzcluster/statuszovs-appctl -t � z OVN_Northboundz OVN_Southboundzovn-appctl -t z statusz debug/chassis-features-listz connection-statusT�)r"rr!zovn-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�/usr/share/openvswitch�/usr/share/ovnzovn-nb.ovsschemazovn-nbctl --no-leader-onlyzovn-sb.ovsschemaZLogical_Flowzovn-sbctl --no-leader-only)r"rz/etc/sysconfig/ovn-northdZ	OVS_DBDIR�ovnnb_db.db�ovnsb_db.db�/usr/local/etc/openvswitch�/etc/openvswitch�/var/lib/openvswitch�/var/lib/ovn/etc�/var/lib/ovnz
ls -lan %s)r"z
ovn-northd)Zunits)r;r<r=)rArB)rArB)rCrD)r>rErFrGrHrI)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�ovn_nbdb_sock_path�ovn_sbdb_sock_pathr6r9�list�setr�existsZadd_journal)rZ
ovs_rundirZpidfileZovn_controller_sock_pathZnorthd_sock_pathZcstatZ
nbctl_cmdsZ
sbctl_cmdsrZ	nb_tablesr8Z	sb_tablesZ	ovs_dbdirZdbfileZ
dbfilepathrrr�setup_s�












zOVNCentral.setup)rr)r	r
)N)�__name__�
__module__�__qualname__Z
short_descZplugin_nameZprofilesrJrrPrQrMrNrOr r6r9rUrrrrrs
$rc@s$eZdZd	ZdZdZdZdZdZdS)
�RedHatOVNCentral�openvswitch-ovn-central�
ovn.*-centralz!/var/run/openvswitch/ovnnb_db.ctlz!/var/run/openvswitch/ovnsb_db.ctlz/var/run/openvswitchzovn-controller.*.ctlzovn-northd.*.ctlN)rZr[)	rVrWrX�packagesrPrQrMrNrOrrrrrY�srYc@s$eZdZdZdZdZdZdZdZdS)	�DebianOVNCentral�ovn-centralz/var/run/ovn/ovnnb_db.ctlz/var/run/ovn/ovnsb_db.ctlz/var/run/ovnzovn-controller.*.ctlzovn-northd.*.ctlN)r^)	rVrWrXr\rPrQrMrNrOrrrrr]�sr])r*rrZsos.report.pluginsrrrrrrYr]rrrr�<module>s1

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists