HEX
Server: Apache/2.4.67 (Debian)
System: Linux vps-b2547eb4 6.1.0-41-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64
User: root (0)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //usr/share/netplan/netplan/cli/__pycache__/ovs.cpython-311.pyc
�

���c� ���ddlZddlZddlZddlZddlmZdZdZddd�Zddd	d
�Z	Gd�de
��Zd
�Zd�Z
d�Zd�Zd�Zd�Zd�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��eZdZdS)�OvsDbServerNotRunningN)�__name__�
__module__�__qualname__���%/usr/share/netplan/netplan/cli/ovs.pyr	r	*s�������Drr	c	���t�|��}|�!tjtd||||g��dS|r+||kr'tjtd|||�d|��g��dSdSdS)z2Cleanup values from a column (i.e. "column=value")N�remove�set�=)�DEFAULTS�get�
subprocess�
check_call�OPENVSWITCH_OVS_VSCTL)�type�iface�column�value�defaults     r�_del_colr.s����l�l�6�"�"�G�����4�h��e�V�UZ�[�\�\�\�\�\�	�h�W��%�%���4�e�T�5�U[�U[�U[�]d�]d�Je�f�g�g�g�g�g�h�h�%�%rc�`�tjtd||||t|��g��dS)z:Cleanup values from a dictionary (i.e. "column:key=value")rN)rrr�
_escape_colon)rrr�keyrs     r�	_del_dictr"9s6����0�(�D�%��QT�Vc�di�Vj�Vj�k�l�l�l�l�lrc�.�tjdd|��S)Nz([^\\]):z\g<1>\:)�re�sub)�literals rr r @s��
�6�+�z�7�3�3�3rc���t�|d��\}}|dkrd}|r�t|g}t|g}|r*|�|��|�|��t	j|d����t
�fd�|�d��D����rt	j|��dSdStd|���)	z*Cleanup commands from the global namespace)NNrNT��universal_newlinesc3� �K�|]}|�vV��	dS)Nr
)�.0�item�outs  �r�	<genexpr>z_del_global.<locals>.<genexpr>^s'�����8�8�t�t�s�{�8�8�8�8�8�8r�,zReset command unkown for:)
�GLOBALSrr�appendr�check_output�all�splitr�	Exception)	rrr!r�del_cmd�get_cmd�args_get�args_delr-s	        @r�_del_globalr:Ds�����{�{�3��5�5��G�W��)������:�)�7�3��)�7�3���	#��O�O�E�"�"�"��O�O�E�"�"�"��%�h�4�H�H�H���8�8�8�8�u�{�{�3�'7�'7�8�8�8�8�8�	,��!�(�+�+�+�+�+�	,�	,��3�S�9�9�9rc�z�|�dd��}|d}|dkr,t|��dkrt|||d|��nKt|��dkr t|||d|d|��nt	|||d|��tjtd||d|g��dS)zDCheck if this setting is in a dict or a colum and delete accordingly�/���globalr�external-idsN)r4�lenr:r"rrrr)rr�settingrr4�cols      r�
clear_settingrDds����M�M�#�q�!�!�E�
��(�C�
�h���3�u�:�:��>�>��D�%��q��5�1�1�1�1�	�U���a����$��u�Q�x��q��5�9�9�9�9���u�e�A�h��.�.�.���0�(�D�%��Y`�a�b�b�b�b�brc�v�t|t��sJ�|�|d��}|o
|jdkS)N�OpenVSwitch)�
isinstance�dictr�backend)r�np_interface_dict�np_defs   r�is_ovs_interfacerLrs@���'��.�.�.�.�.�
�
"�
"�5�$�
/�
/�F��5�f�n�
�5�5rc
�^�tt��s'td�t�����|���t��}|j���D],}t||j��r|�	|���-tj�t���r�dD]�}tjtddddddd	|d
g	d���}|���D]�}d
|vr�|�d��d
}||vr�&|d
dkrCtjtd|g��jd
krtjtdd|g���utjtd|d|g������dD]�}d}	|dkrd}	n|dkrd}	tjtd|	zdddddd	|g	d���}|���D]�}d|vr�d}|}
|dkr|�dd��\}}
|
�d���d��D]F}|�d��r/d|vr+|�dd��\}}
t/||||
���G����d!S|s|rt1jd ��d!Sd!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)�	InterfacerPz--columns=name,external-idsz-f�csvz-d�barez
--no-headings�listrTr(znetplan=truer/rQz	br-existsz--if-existszdel-bond-ifacer>)rNrOrQ�Open_vSwitch�
Controllerzname,external-idsrUr@rVz_uuid,external-idsz--columns=%sznetplan/�.�"� rzAovs-vsctl is missing, cannot tear down old OpenVSwitch interfacesN)r�OPENVSWITCH_OVSDB_SERVER_UNITr	�format�parser�all_defs�keysrL�add�os�path�isfilerrr2�
splitlinesr4�run�
returncoder�strip�
startswithrD�logging�warning)�config_manager�ovs_old�ovs_current�
ovs_ifaces�i�tr-�liner�cols�extids�entryrB�vals              r�apply_ovs_cleanupruxsT���<�=�=�_�#�$7�$>�$>�?\�$]�$]�^�^�^����������J�
�
$�
)�
)�
+�
+�����Q�� 7�8�8�	��N�N�1�����

�w�~�~�+�,�,�+]�V�
	c�
	c�A��)�+@�B_�+/���f�o�W]�_`�ab�_c�+e�=A�C�C�C�C����(�(�	
c�	
c��!�T�)�)� �J�J�s�O�O�A�.�E��
�*�*� ���t�{�*�*�z�~�?T�Va�ch�>i�/j�/j�/u�xy�/y�/y�"�-�/D�m�Ue�gl�.m�n�n�n�n�"�-�/D�m�UV�WX�UY�[`�.a�b�b�b��	
c�O�	B�	B�A�&�D��N�"�"�%����l�"�"�+���)�+@�.�SW�BW�+/���f�o�W]�_`�+b�=A�C�C�C�C����(�(�
B�
B����%�%��E�!�F��N�*�*�(,�
�
�3��(:�(:�
��v�"(���c�!2�!2�!8�!8��!=�!=�B�B�� �+�+�J�7�7�B�C�5�L�L�+0�;�;�s�A�+>�+>�L�G�S�)�!�U�G�S�A�A�A���
B�	B�	B�0
�]�K�]���[�\�\�\�\�\�]�]r)rhr`rr$�netplan.cli.utilsrrrZrr0r5r	rr"r r:rDrLrur
rr�<module>rws#��$����	�	�	�	�����	�	�	�	�1�1�1�1�1�1�,�� 6��
%�����&�7�:�	���	�	�	�	�	�I�	�	�	�h�h�h�m�m�m�4�4�4�:�:�:�@c�c�c�6�6�6�?]�?]�?]�?]�?]r