%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /snap/core18/2887/usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/
Upload File :
Create Path :
Current File : //snap/core18/2887/usr/lib/python3/dist-packages/cloudinit/distros/__pycache__/arch.cpython-36.pyc

3

�AdY!�@s�ddlZddlmZmZddlmZddlmZmZddlm	Z	ddl
mZddlm
Z
ddlmZdd	lmZeje�ZGd
d�dej�Zddd�Zdd�Zdd�ZdS)�N)�distros�helpers)�log)�subp�util)�net_util)�HostnameConf)�Renderer)�RendererNotFoundError)�PER_INSTANCEcs�eZdZdZdZdgZddddd�iZd	d
�Zd)dd
�Zdd�Z	e
d��fdd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd*dd �Zd!d"�Zd#d$�Zd+d%d&�Zd'd(�Z�ZS),�Distroz/etc/locale.genz/etc/netctlZ	systemctlZnetplanz/etc/netplan/50-cloud-init.yamlz# generated by cloud-init
T)Znetplan_pathZnetplan_headerZpostcmdscCs0tjj||||�tj|�|_d|_d|d<dS)NZarchZsshdZssh_svcname)rr�__init__rZRunners�_runnerZosfamily)�self�nameZcfg�paths�r�8/usr/lib/python3/dist-packages/cloudinit/distros/arch.pyr
!szDistro.__init__NcCsj|dk	r|dkrtjd|�tj�d|dg}tj|jdj|��tjdgdd�tjd	d
|gdd�dS)Nz/etc/locale.confzFInvalid locale_configfile %s, only supported value is /etc/locale.confz%s UTF-8��
z
locale-genF)�captureZ	localectlz
set-locale)�LOG�warningrZmake_header�
write_file�
locale_gen_fn�joinr)rZlocaleZout_fn�linesrrr�apply_locale*szDistro.apply_localecCs|j�|jd|d�dS)Nr)�pkgs)�update_package_sources�package_command)r�pkglistrrr�install_packages=szDistro.install_packages)�returncs8y
t�j�Stk
r2}zt|�WYdd}~XnXdS)N)�super�
_get_rendererr
�NotImplementedError)r�e)�	__class__rrr%As
zDistro._get_renderercCs.tj|�}tjd||�t||j|j|jd�S)Nz3Translated ubuntu style network settings %s into %s)�resolv_conf�conf_dir�enable_func)rZtranslate_networkr�debug�_render_networkZresolve_conf_fn�network_conf_dir�_enable_interface)r�settings�entriesrrr�_write_networkHs
zDistro._write_networkcCs\dd|g}y(tj|�\}}t|�r0tjd||�Wn$tjk
rVtjtd|�YnXdS)N�netctlZreenablez(Running %s resulted in stderr output: %sz#Running interface command %s failed)r�lenrr�ProcessExecutionErrorr�logexc)r�device_name�cmd�_out�errrrrr/Vs
zDistro._enable_interfacecCsjdd|g}tjd||�y(tj|�\}}t|�r>tjd||�dStjk
rdtjtd|�dSXdS)Nr3Zrestartz8Attempting to run bring up interface %s using command %sz(Running %s resulted in stderr output: %sTz#Running interface command %s failedF)rr,rr4rr5rr6)rr7r8r9r:rrr�_bring_up_interfaceas

zDistro._bring_up_interfacecCsXd}y|j|�}Wntk
r&YnX|s4td�}|j|�tj|t|�ddd�dS)Nr�wi�)Zomode�mode)�_read_hostname_conf�IOErrorrZset_hostnamerr�str)r�hostname�filename�confrrr�_write_hostnamess
zDistro._write_hostnamecCs|j|j�}|j|fS)N)�_read_hostnameZhostname_conf_fn)rZsys_hostnamerrr�_read_system_hostname�szDistro._read_system_hostnamecCsttj|��}|j�|S)N)rrZ	load_file�parse)rrBrCrrrr>�szDistro._read_hostname_confcCs:d}y|j|�}|j}Wntk
r,YnX|s6|S|S)N)r>rAr?)rrB�defaultrArCrrrrE�s

zDistro._read_hostnamecCsLtjd|�ytjddd|g�Wn$tjk
rFtjtd|�YnXdS)Nz2Non-persistently setting the system hostname to %sZhostnamectlz--transientzset-hostnamez;Failed to non-persistently adjust the system hostname to %s)rr,rr5rr6)rrArrr�_apply_hostname�szDistro._apply_hostnamecCstj||j|�d�dS)N)�tzZtz_file)rZset_etc_timezoneZ
_find_tz_file)rrJrrr�set_timezone�szDistro.set_timezonecCs�|dkrg}ddddg}|r2t|t�r2|j|�n|rJt|t�rJ|j|�|dkrVd}|rd|j|�tjd|�}|j|�tj|dd	�dS)
NZpacmanz-Syz--quietz--noconfirmZupgradez-uz%s-%sF)r)�
isinstancer@�append�list�extendrZexpand_package_listr)rZcommand�argsrr8r!rrrr �s


zDistro.package_commandcCs|jjd|jdgtd�dS)Nzupdate-sourcesz-y)Zfreq)rZrunr r)rrrrr�szDistro.update_package_sources)N)N)NN)�__name__�
__module__�__qualname__rr.Zinit_cmdZrenderer_configsr
rr"r	r%r2r/r;rDrFr>rErIrKr r�
__classcell__rr)r(rrs,
	





r�/�
etc/netctl�etc/resolv.confc	Cs�g}g}tj||�}tj||�}x�|j�D]�\}}|dkr<q*|j|�tjj||�}	d||jd�d|jd�|jd�f|jd�|jdg�d	�}
tj	|	t
|
��|r�|jd
�r�||�d|kr*|j|d�q*W|r�tj	|t|��|S)znRender the translate_network format into netctl files in target.
    Paths will be rendered under target.
    �loZethernetZ	bootprotoz%s/%sZaddressZnetmaskZgatewayzdns-nameservers)Z
ConnectionZ	InterfaceZIPZAddressZGatewayZDNS�auto)
rZtarget_path�itemsrM�os�pathr�getrr�convert_netctlrO�convert_resolv_conf)r1�targetr*r)r+ZdevsZnameserversZdev�infoZnet_fnZnet_cfgrrrr-�s.
r-cCsrg}xbt|�D]V}||}|dkr(d}n*t|ttf�rRddjdd�|D��d}|jd||f�qWdj|�S)	z�Given a dictionary, returns a string in netctl profile format.

    netctl profile is described at:
    https://git.archlinux.org/netctl.git/tree/docs/netctl.profile.5.txt

    Note that the 'Special Quoting Rules' are not handled here.Nr�(� css|]}d|VqdS)z'%s'Nr)�.0�vrrr�	<genexpr>�sz!convert_netctl.<locals>.<genexpr>�)z%s=%s
)�sortedrL�tuplerNrrM)r0�result�key�valrrrr^�sr^cCs,d}t|t�r(x|D]}|d|}qW|S)z4Returns a settings string formatted for resolv.conf.rznameserver %s
)rLrN)r0rj�nsrrrr_�s


r_)rUrVrWN)r[Z	cloudinitrrrZloggingrrZcloudinit.distrosrZ"cloudinit.distros.parsers.hostnamerZcloudinit.net.rendererr	Zcloudinit.net.renderersr
Zcloudinit.settingsrZ	getLoggerrQrrr-r^r_rrrr�<module>s"
1
$

Zerion Mini Shell 1.0