%PDF- %PDF-
| Direktori : /usr/share/netplan/netplan/cli/commands/__pycache__/ |
| Current File : //usr/share/netplan/netplan/cli/commands/__pycache__/apply.cpython-36.pyc |
3
�Bd]�) � @ sn d Z ddlZddlZddlZddlZddlZddlZddljj Z ddl
mZmZ ddl
Z
G dd� de j�ZdS )znetplan apply command line� N)�
ConfigManager�ConfigurationErrorc sJ e Zd Z� fdd�Zdd� Zed
dd��Zed d
� �Zedd� �Z� Z S )�NetplanApplyc s t � jdddd� d S )NZapplyz.Apply current netplan config to running systemT)�
command_id�description�leaf)�super�__init__)�self)� __class__� �0/usr/share/netplan/netplan/cli/commands/apply.pyr # s zNetplanApply.__init__c C s t j| _| j� | j� d S )N)r �
command_apply�func�
parse_args�run_command)r
r r r
�run( s zNetplanApply.runTFc
C s� dt jkr~tjd�}|d kr$td��tj|ddddddd g�}|d
krz|rVtj|� q~|dkrht d��q~|d
kr~td��nd S t
tjd��}t
tjd��}| r�tjtj
� g�d
kr�|r�tjt j� ntd��t� }tj� }t
tjd��} | r�|r�d} t
tjd��}
|
�r|�rd}
| �r:tjd� tjd|dgd� n
tjd� |
�r�tjd� tj� �r�x<|D ]4}ytjdd|g� W n tjk
�r� Y nX �qdW tjd|d� n
tjd� |j� tj||�}tj� }xd|D ]\}tjd|� y$tjdddd | gtjtjd!� W n$ tjk
�r0 tjd"|� Y nX �q�W xJ|j� D ]>\}
}|j d#��rBtjd$d%d&d'|
d#|j d#�gtjtjd!� �qBW tjdd(g� | �r�d)d*� tjd+�D �}tjd,||d� |
�r�tjd,|d� d S )-NZSNAP�busctlzmissing busctl utility�callz--quietz--systemzio.netplan.Netplanz/io/netplan/NetplanZApplyr � z'failed to communicate with dbus service� z/run/systemd/network/*netplan-*z0/run/NetworkManager/system-connections/netplan-*z(the configuration could not be generatedTzEnetplan generated networkd configuration changed, restarting networkd�stopznetplan-wpa@*.service)�sync�extra_servicesz2no netplan generated networkd configuration existsz9netplan generated NM configuration changed, restarting NM�deviceZ
disconnect)r z,no netplan generated NM configuration existsz%netplan triggering .link rules for %sZudevadmztest-builtinZnet_setup_linkz/sys/class/net/)�stdout�stderrz#Ignoring device without syspath: %s�nameZip�link�setZdevZsettlec S s g | ]}t jj|��qS r )�os�path�basename)�.0�fr r r
�
<listcomp>� s z.NetplanApply.command_apply.<locals>.<listcomp>z1/run/systemd/system/*.wants/netplan-wpa@*.service�start)!r �environ�shutilZwhich�RuntimeError�
subprocessr �sys�exit�PermissionError�bool�glob�utils�get_generator_path� EX_CONFIGr r � netifaces�
interfaces�logging�debug�systemctl_networkd�
nm_running�nmcli�CalledProcessError�systemctl_network_manager�parser �process_link_changes�
check_call�DEVNULL�items�get)Zrun_generater Z
exit_on_errorr �resZold_files_networkdZold_files_nm�config_managerZdevicesZrestart_networkdZ
restart_nmr �changes�iface�settingsZnetplan_wpar r r
r . s�
zNetplanApply.command_applyc C sN xH| D ]@}x:|j � D ].\}}|jdg �}x|D ]}||kr.dS q.W qW qW dS )zp
Is this physical interface a member of a 'composite' virtual
interface? (bond, bridge)
r4 TF)r@ rA )Z
composites�phyZ composite�idrF �membersrE r r r
�is_composite_member� s
z NetplanApply.is_composite_memberc ! C s~ i }t |j�}|j|jg}i i d�}xx|j� D ]l\}}|s<q.|dkrFq.|jd�}|sVq.|jd�} | sfq.| jd�}
| jd�}|
r�||d |
<