File manager - Edit - /usr/share/netplan/netplan/cli/__pycache__/ovs.cpython-310.pyc
Back
o � ed� � @ s� d dl Z d dlZd dlZd dlZd dlmZ dZdZddd�Zddd d �Z G dd� de �Zd d� Zdd� Z dd� Zdd� Zdd� Zdd� Zdd� ZdS )� N)�systemctl_is_activez/usr/bin/ovs-vsctlzovsdb-server.service�false)�mcast_snooping_enable�rstp_enable)�del-sslzget-ssl)z del-fail-modez get-fail-mode)zdel-controllerzget-controller)zset-sslz set-fail-modezset-controllerc @ s e Zd ZdS )�OvsDbServerNotRunningN)�__name__� __module__�__qualname__� r r �%/usr/share/netplan/netplan/cli/ovs.pyr * s r c C s` t �|�}|du rt�td| |||g� dS |r,||kr.t�td| |d||f g� dS dS dS )z2Cleanup values from a column (i.e. "column=value")N�remove�setz%s=%s)�DEFAULTS�get� subprocess� check_call�OPENVSWITCH_OVS_VSCTL)�type�iface�column�value�defaultr r r �_del_col. s �r c C s t �td| |||t|�g� dS )z:Cleanup values from a dictionary (i.e. "column:key=value")r N)r r r � _escape_colon)r r r �keyr r r r � _del_dict9 s r c C s t �dd| �S )Nz([^\\]):z\g<1>\:)�re�sub)�literalr r r r @ s r c s� t �|d�\}}|dkrd}|rBt|g}t|g}|r$|�|� |�|� tj|dd�� t� fdd�|�d�D ��r@t�|� dS dS t d |��) z*Cleanup commands from the global namespace)NNr NT��textc 3 s � | ]}|� v V qd S )Nr )�.0�item��outr r � <genexpr>^ s � z_del_global.<locals>.<genexpr>�,zReset command unknown for:) �GLOBALSr r �appendr �check_output�all�splitr � Exception)r r r r �del_cmd�get_cmd�args_get�args_delr r$ r �_del_globalD s � r2 c C s� |� dd�}|d }|dkrt|�dkrt| ||d |� nt|�dkr1t| ||d |d |� n t| ||d |� t�td| |d|g� dS )zDCheck if this setting is in a dict or a colum and delete accordingly�/� � �globalr �external-idsN)r, �lenr2 r r r r r )r r �settingr r, �colr r r � clear_settingd s r; c C s( t |t�sJ �|�| d �}|o|jdkS )N�OpenVSwitch)� isinstance�dictr �backend)r �np_interface_dict�np_defr r r �is_ovs_interfacer s rB c C s� t t�std�t���| �� t� }| j�� D ] }t|| j�r$|� |� qt j�t �r�dD ]Q}tjt ddddddd |d g dd�}|�� D ]8}d |v r}|�d�d }||v rWqE|d dkrrt�t d|g�jd krrt�t dd|g� qEt�t d|d |g� qEq-dD ]a}d} |dkr�d} n|dkr�d} tjt d| dddddd |g dd�}|�� D ]9}d|v r�d}|} |dkr�|�dd�\}} | �d��d�D ]}|�d�r�d|v r�|�dd�\}} t|||| � q�q�q�d!S |s�|r�t�d � d!S d!S )"aQ Query OpenVSwitch state through 'ovs-vsctl' and filter for netplan=true tagged ports/bonds and bridges. Delete interfaces which are not defined in the current configuration. Also filter for individual settings tagged netplan/<column>[/<key]=value in external-ids and clear them if they have been set by netplan. z{} is not running))�Portzdel-port)�Bridge�del-br)� InterfacerE z--columns=name,external-idsz-f�csvz-d�barez --no-headings�listr Tr znetplan=truer'