Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.52 (Ubuntu)
System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
User : www-data ( 33)
PHP Version : 8.1.2-1ubuntu2.21
Disable Function : NONE
Directory :  /lib/python3/dist-packages/cloudinit/sources/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceNoCloud.cpython-310.pyc
o

}��f�8�@s&ddlZddlZddlZddlmZddlmZmZmZddl	m
Z
e�e�Z
Gdd�dej�Zddd�Zdd	d
�Zddd�Zd
d�ZGdd�de�ZeejffeejejffgZdd�Zedkr�ddlmZejejd�edZe�e�\ZZ Z!e"de���e"de ���e"de!���dSdS)�N)�partial)�dmi�sources�util)�enic@s`eZdZdZdd�Zdd�Zdd�Zdd	�Zed
d��Z	dd
�Z
dd�Zdd�Zedd��Z
dS)�DataSourceNoCloud�NoCloudcCsVtj�||||�d|_tj�|jd�tj�|jd�g|_d|_d|_	d|_
d|_dS)N�nocloud�nocloud-net)�/�file://)r�
DataSource�__init__�seed�os�path�join�seed_dir�	seed_dirs�supported_seed_starts�_network_config�_network_eni��self�sys_cfg�distro�paths�r�E/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceNoCloud.pyrs�
zDataSourceNoCloud.__init__cCstj�|�}d||j|jfS)Nz%s [seed=%s][dsmode=%s])rr
�__str__r�dsmode)r�rootrrrr&szDataSourceNoCloud.__str__cCs|t�d�}|�t�d��t�d|���}|�t�d|����|�t�d|��tt|�t|�@�}|jdd�|S)Nz	TYPE=vfatzTYPE=iso9660zLABEL=%szLABEL_FATBOOT=%sT)�reverse)r�find_devs_with�extend�upper�lower�list�set�sort)r�label�fslist�
label_list�devlistrrr�_get_devices*s
zDataSourceNoCloud._get_devicescCs�d|jd�}g}idddd�}zi}t�d�}|r*t||�r*|�d�t|d|i�}Wnty;t�t	d�Yd	Swzi}t|�rO|�d
�t|d|i�}Wnty`t�t	d�Yd	Swddgd
dgd�}|j
D]'}ztj|fi|��}|�|�t	�d|�t||�}Wn	t
y�Yqmw|j�d�r�|�d�|jd|dd<d|jvr�d|jvr�t||j�}|�d�dd�}	|j�dd�}
|
du�r6|�|
�D]b}z4t	�d|�z	t�||	|�}Wnt
y�t	�d||
�YWq�wt||�}t	�d|�|�|�Wn,t�y$}z|jtjk�r�WYd}~q�d}~wtj�y5t�t	d|�Yq�wt|�dk�r?d	Sd|dv�r�|dd}
d	}|jD]
}|
�|��r]|}n�qQ|�skt	�d|
|�d	St�|
�}
tj|
dd�\}}}t	�d|
�t�|d|g�|d<||d<||d
<|�|
�t�|d|g�|d<|�|d�d �g�|_|jtjk�r�t	�d!||j�d	Sd"� |�|_!|d|_"|d|_#|d
|_$|d|_%|d�d#�|_&d$S)%Nr	)�instance-idr �)�	meta-data�	user-data�vendor-data�network-config�system-serial-numberrr1zUnable to parse dmi dataF�cmdlinez!Unable to parse command line datar2r3r4)�required�optionalzUsing seeded data from %s�seedfrom�ds_config_seedfrom�	ds_configcSstj|fi|��S�N)r�pathprefix2dict)�mp�datarrr�_pp2d_callbackwsz3DataSourceNoCloud._get_data.<locals>._pp2d_callback�fs_label�cidatazAttempting to use data from %sz)device %s with label=%s not a valid seed.zUsing data from %sz(Failed to mount %s when looking for datarz Seed from %s not supported by %s)�timeoutzUsing seeded cache data from %sr z&%s: not claiming datasource, dsmode=%s�,znetwork-interfacesT)'r r�
read_dmi_data�load_cmdline_data�append�_merge_new_seed�	Exceptionr�logexc�LOGrr=�debug�
ValueError�ds_cfg�getr.�mount_cb�warning�OSError�errno�ENOENT�MountFailedError�lenr�
startswith�sub_dmi_vars�read_seeded�
mergemanydict�_determine_dsmoder�DSMODE_DISABLEDrr�metadata�userdata_raw�vendordata_rawrr)r�defaults�found�mydata�md�serial�pp2d_kwargsr�seededr@r*�dev�er9�	seedfound�proto�md_seed�ud�vdrrr�	_get_data6s���

��
���


�


���

����
�

�

���



zDataSourceNoCloud._get_datacCs|jst��r	dnd|_|jS)N�lxdr	)�_platform_typer�is_lxd�rrrr�
platform_type�szDataSourceNoCloud.platform_typecCstjS)z=Return unknown when 'cloud-name' key is absent from metadata.)r�METADATA_UNKNOWNrrrrr�_get_cloud_name�sz!DataSourceNoCloud._get_cloud_namecCs$|j�d�r	d}nd}d||jfS)z/Return the subplatform metadata source details.z/devzconfig-diskzseed-dirz%s (%s))rrW)r�subplatform_typerrr�_get_subplatform�sz"DataSourceNoCloud._get_subplatformcCs:|��}|sdSt|d|jg�}t|d�}|sdS||kS)Nr)�dirs)�get_instance_id�getattrr�_quick_read_instance_id)rr�currentrx�quick_idrrr�check_instance_id�s
z#DataSourceNoCloud.check_instance_idcCs(|jdur|jdurt�|j�|_|jSr<)rrr�convert_eni_datarrrrr�network_config�s

z DataSourceNoCloud.network_configN)�__name__�
__module__�__qualname__�dsnamerrr.rn�propertyrsrurwr~r�rrrrrs
rc	Cs�|durg}d}i}t|�r||vr||S|D].}|durqztj|dgd�}t�|d�}|r<||vr<||WSWqtyFYqwdS)Nr/r1)r7)rFrr=�	load_yamlrM)rx�iid_key�fill�dr?rcrrrr{�s&��r{cCs�dtjfdtjfg}|D]9\}}t|||�sqd|vrdS|�d�}|r?|�d�r2tj|d<dS|�d�r<tj|d<dS||d<dSdS)	Nz
ds=nocloudzds=nocloud-netr Tr9�zhttp://zhttps://zftp://zftps://)rrF)r�DSMODE_LOCAL�DSMODE_NETWORK�parse_cmdline_datarOrW)r�r6�pairs�idstrr r9rrrrFs*�
�

�
�rFc	Cs�|durt��}d|}d||vsd||vsdSd}|��D]
}|�|�r-|�dd�}q |d�d�}t|�dkrB|dd�}nd}d	d
dd�}|D]+}|dkrSqLz
|�dd�\}	}
Wn
tyj|}	d}
Ynw|	|vrs||	}	|
||	<qLd
S)Nz %s z %s;Fr0�=��;rzlocal-hostnamer/r9)�h�i�sT)r�get_cmdline�splitrWrVrI)�ds_idr�r6�argline�tok�tmp�kvpairs�s2l�item�k�vrrrr�5s8
��
r�cCs�|��}|�di�}t|dt�st�|d�}t�|d|g�|d<|�d�r2t�|�d��|d<d|vr<|d|d<d|vrF|d|d<|S)Nr1r4r2r3)�copyrO�
isinstance�dictrr�rZ)�currf�ret�newmdrrrrH]s
rHc@seZdZdd�Zdd�ZdS)�DataSourceNoCloudNetcCst�||||�d|_dS)Nr�)rrrrrrrrps
zDataSourceNoCloudNet.__init__cCstttjdddd�}dt��kr|�dSt�t�d�pd���}||j	��dfvr8t
�d	|�|dkr6|�dSd
S)z�Check dmi and kernel command line for dsname

        NoCloud historically used "nocloud-net" as its dsname
        for network timeframe (DEP_NETWORK), which supports http(s) urls.
        For backwards compatiblity, check for that dsname.
        z!The 'nocloud-net' datasource namez24.1zgUse 'nocloud' instead, which uses the seedfrom protocolscheme (http// or file://) to decide how to run.)�
deprecated�deprecated_version�
extra_messager
Tr5r0zJMachine is configured by dmi serial number to run on single datasource %s.F)rr�	deprecater�
parse_cmdline�parse_cmdline_or_dmirrEr&r�rKrL)r�log_deprecatedrdrrr�	ds_detectys.�
���zDataSourceNoCloudNet.ds_detectN)r�r�r�rr�rrrrr�os	r�cCst�|t�Sr<)r�list_from_depends�datasources)�dependsrrr�get_datasource_list�sr��__main__)�argv)�levelr�zseeded: zud: zvd: r<)#rS�loggingr�	functoolsr�	cloudinitrrr�
cloudinit.netr�	getLoggerr�rKr
rr{rFr�rHr��DEP_FILESYSTEM�DEP_NETWORKr�r��sysr��basicConfig�DEBUGr9rYrkrlrm�printrrrr�<module>s6


h

!(
1��

Spamworldpro Mini