AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/cloudinit/config/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /usr/lib/python3/dist-packages/cloudinit/config/__pycache__/cc_lxd.cpython-310.pyc
o

m[h�5�
@sUdZddlZddlZddlmZmZddlZddlmZm	Z	ddl
mZddlm
Z
ddlmZddlmZe�e�Zd	Zd
dgedgd
�Zeed<dd�Zdd�Zdede
dededdf
dd�Zdd�Zdd�Zdd�Z	!d(d"d#�Z d$e!d%edeefd&d'�Z"dS))z>LXD: configure lxd with ``lxd init`` and optionally lxd-bridge�N)�List�Tuple)�subp�util)�Cloud)�Config)�
MetaSchema)�PER_INSTANCE�lxdbr0�cc_lxd�ubuntu�lxd)�id�distros�	frequency�activate_by_schema_keys�metacCs�g}t|t�s|�dt|�j�d��t|t�s$|�dt|�j�d��t|t�s5|�dt|�j�d��|rV|s;|rV|r@dgng}||rHdgng7}|�dd�|����|r_td	�|���d
S)z�Validate user-provided lxd network and bridge config option values.

    @raises: ValueError describing invalid values provided.
    z/lxd.init config must be a dictionary. found a '�'z1lxd.bridge config must be a dictionary. found a 'z.lxd.preseed config must be a string. found a 'zlxd.initz
lxd.bridgezMUnable to configure LXD. lxd.preseed config can not be provided with key(s): z, z. N)�
isinstance�dict�append�type�__name__�str�join�
ValueError)�init_cfg�
bridge_cfg�preseed_str�errors�incompat_cfg�r!�9/usr/lib/python3/dist-packages/cloudinit/config/cc_lxd.py�supplemental_schema_validation!s<
��
��
�����r#cCs�d}gd�}|D]}|�|�r!|�d|�dd�t||�fg�qzt�|�WdStjyT|ddkr9�t�d�t�gd	��d
d�|D�}t�|�YdSw)
z�Set up lxd if init config is given.

    :param init_cfg: dict of lxd init configuration options to provide
        to `lxd init --auto`
    )�network_address�network_port�storage_backend�storage_create_device�storage_create_loop�storage_pool�trust_password)r
�initz--autoz--%s=%s�_�-r&�lvmzqCloud-init doesn't use thinpool by default on Ubuntu due to LP #1982780. This behavior will change in the future.)�lxc�storage�create�defaultr.zlvm.use_thinpool=falsecSsg|]	}|�d�s|�qS)z--storage-backend)�
startswith)�.0�xr!r!r"�
<listcomp>qsz#handle_init_cfg.<locals>.<listcomp>N)�get�extend�replacerr�ProcessExecutionError�LOG�info)r�	init_keys�cmd�k�new_cmdr!r!r"�handle_init_cfgDs(

$����rA�name�cfg�cloud�args�returnc
Cs�|�d�}|st�d|�dSt|t�stdt|�j�d���|�di�}|�dd�}|�di�}t|||�t	�
d�sZz	t	�	gd	��Wnt	jyY}ztd
|�|�d}~wwt
||�}	t|	�r�z|j�|	�Wnt	jy�}
zt�d|	|
�WYd}
~
dSd}
~
wwt	�	gd��|r�t	j	gd
�|d�dS|r�t|�d}|�r6|�dt�}tj�d�r�t	�
|�r�t|�}
zt�d|�d�dd�|
��D��d}t	j	dg|d�Wnty�t�td|�Ynwt�d�t�d�t	�	gd��dSt|�\}}t|t |�t |�t |�d�|�r"t�dd�|��t!|�|�r4t�dd�|��t!|�dSdS|�r?td|��dS)Nr
z8Skipping module named %s, not present or disabled by cfgz*lxd config must be a dictionary. found a 'rr+�preseed��bridge)�snap�installr
z#Failed to install lxd from snap: %sz!failed to install packages %s: %s)r
�	waitreadyz
--timeout=300)r
r+z	--preseed)�datazdebconf-communicaterBz/etc/default/lxd-bridgezSetting lxd debconf via %s�
cSsg|]
\}}d||f�qS)z	set %s %sr!)r4r?�vr!r!r"r6�szhandle.<locals>.<listcomp>zFailed to run '%s' for lxd withz Running dpkg-reconfigure for lxd)zdpkg-reconfigurer
z--frontend=noninteractive)�net_name�did_initr1�attachzCreating lxd bridge: %s� z!Setting up default lxd bridge: %sz*Unable to configure lxd bridge without %s.)"r7r;�debugrrrrrr#r�whichr:�RuntimeError�get_required_packages�len�distro�install_packages�warningrA�_DEFAULT_NETWORK_NAME�os�path�exists�bridge_to_debconfr�items�	Exceptionr�logexc�del_file�
bridge_to_cmd�maybe_cleanup_default�bool�_lxc)rBrCrDrE�lxd_cfgrrr�e�packages�exc�
dconf_commrP�debconfrM�
cmd_create�
cmd_attachr!r!r"�handlexs�
�
��
����
��������

�
����rqcCsXi}|�d�dkrd|d<d|d<|S|�d�dkr+d|d<d|d	<|�d
�|d<|S|�d�dkr�d|d<|�d
�rB|�d
�|d<|�d�rvd|d
<|�d�|d<|�d�|d<|�d�|d<|�d�|d<|�d�|d<|�dd�|d<|�d�r�d|d<|�d�|d<|�d�|d<|�dd�|d<|�d �r�|�d �|d!<|Std"|�d���)#N�mode�none�falsezlxd/setup-bridgerHzlxd/bridge-name�existing�truezlxd/use-existing-bridgerB�new�ipv4_addresszlxd/bridge-ipv4zlxd/bridge-ipv4-address�ipv4_netmaskzlxd/bridge-ipv4-netmask�ipv4_dhcp_firstzlxd/bridge-ipv4-dhcp-first�ipv4_dhcp_lastzlxd/bridge-ipv4-dhcp-last�ipv4_dhcp_leaseszlxd/bridge-ipv4-dhcp-leases�ipv4_natzlxd/bridge-ipv4-nat�ipv6_addresszlxd/bridge-ipv6zlxd/bridge-ipv6-address�ipv6_netmaskzlxd/bridge-ipv6-netmask�ipv6_natzlxd/bridge-ipv6-nat�domainzlxd/bridge-domain�invalid bridge mode "%s")r7rV)rrnr!r!r"r`�sN)�$�

���
�
�r`cCs�|�d�dkr	dS|�dt�}g}dd|ddg}|�d�d	kr#d|fS|�d�d
kr3td|�d���dd|g}|�d
�r||�d�r||�d|�d
�|�d�f�|�dd�dkr^|�d�|�d�r{|�d�r{d|�d�|�d�f}|�d|�n|�d�|�d�r�|�d�r�|�d|�d�|�d�f�|�d�dkr�|�d�n|�d�|�d�r�|�d|�d��|�d d!�}|d!kr�|�d"|���||fS)#Nrrrs)NNrB�networkzattach-profiler2�eth0rurwr�r1rxryzipv4.address=%s/%sr}rvz
ipv4.nat=truerzr{z%s-%szipv4.dhcp.ranges=%szipv4.address=noner~rzipv6.address=%s/%sr�z
ipv6.nat=truezipv6.address=noner�z
dns.domain=%s�mtu���zbridge.mtu=)r7r\rVr)r�bridge_namerorp�
dhcp_ranger�r!r!r"re
sX
��
���
��
�

recCsBdtj�dd�tj�dd�d�}tjdgt|�dg|d	�dS)
N�C�HOMEz/root�USER�root)�LC_ALLr�r�r/z
--force-local)�
update_env)r]�environr7r�list)r>�envr!r!r"rhIs
�"rhr2r�c

Cs&|tks|sdSd}d}|rUd}ztdd||g�t�||||�Wn"tjyD}	z|	jdkr2|	�t�||||�WYd}	~	nd}	~	wwd}tdd	|g�t�|||�|r�d
}ztddd
||g�t�||||�WdStjy�}	z|	jdkr}|	�t�||||�WYd}	~	dSd}	~	wwdS)aNewer versions of lxc (3.0.1+) create a lxdbr0 network when
    'lxd init --auto' is run.  Older versions did not.

    By removing any that lxd-init created, we simply leave the add/attach
    code intact.

    https://github.com/canonical/lxd/issues/4649Nz"failed. Assuming it did not exist.z
succeeded.z/Detach of lxd network '%s' from profile '%s' %sr�zdetach-profile�zDeletion of lxd network '%s' %s�deletez+Removal of device '%s' from profile '%s' %s�profile�device�remove)r\rhr;rTrr:�	exit_code)
rPrQr1rRr��nic_name�fail_assume_enoent�	succeeded�msgrjr!r!r"rfRs<

��
���rfrrc
Cs�g}g}i}d|vr|�|d�|r1d|vr1zt�|�}Wntjttfy0t�d�Ynw|�dg�D]}|�d�rE|�|d�q7d|vrTt	�
d�sT|�d�d|vrbt	�
d�sb|�d	�d
|vrpt	�
d�sp|�d�|S)
z&identify required packages for installr&�
storage_poolsz|lxd.preseed string value is not YAML.  Unable to determine required storage driver packages to support storage_pools config.�driver�zfszzfsutils-linuxr.�lvcreate�lvm2�btrfsz
mkfs.btrfszbtrfs-progs)r�yaml�	safe_load�	YAMLError�	TypeErrorrr;r[r7rrU)rrrk�storage_drivers�preseed_cfgr)r!r!r"rWzs0��
�


rW)r2r�)#�__doc__�loggingr]�typingrrr��	cloudinitrr�cloudinit.cloudr�cloudinit.configr�cloudinit.config.schemar�cloudinit.settingsr	�	getLoggerrr;r\r�__annotations__r#rArr�rqr`rerhrfrrWr!r!r!r"�<module>s4
�#4d1<

�(

Anon7 - 2022
AnonSec Team