403Webshell
Server IP : 15.235.198.142  /  Your IP : 216.73.216.190
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/cloudinit/sources/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceConfigDrive.cpython-312.pyc
�

�f�+��F�ddlZddlZddlmZmZmZddlmZmZddl	m
Z
ddlmZddl
mZeje�ZdZdZd	eiZd
ZdZdZed
�eD��ZGd�dej4ej6�Zd�Zd�Zdd�Zd�Z dd�Z!eZ"eejFffgZ$d�Z%y)�N)�sources�subp�util)�
EventScope�	EventType)�eni)�get_ibm_platform)�	openstackziid-dsconfigdrive�pass�instance-id)�vfat�iso9660)zconfig-2zCONFIG-2)�sr�cdc#�JK�|]}td�D]}d|�|�����
�y�w)�z/dev/N)�range)�.0�z�is   �I/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceConfigDrive.py�	<genexpr>rs&����E�a�E�!�H�E�q�A�q��E��E�s�!#c����eZdZdZej
ejejejejhiZ�fd�Zd�Z
d�Zd�Zed��Zed��Zd�Z�xZS)	�DataSourceConfigDrive�ConfigDrivec���tt|�|||�d|_tj
j
|jd�|_d|_d|_	d|_
tj|_
d|_d|_i|_y)N�config_drive)�superr�__init__�source�os�path�join�seed_dir�version�ec2_metadata�_network_configr�UNSET�network_json�network_eni�
known_macs�files)�self�sys_cfg�distro�paths�	__class__s    �rrzDataSourceConfigDrive.__init__/sq���
�#�T�3�G�V�U�K���������U�^�^�^�D��
���� ���#���#�M�M�����������
�c��tjj|�}|�d|j�d|j�d�}|d|j
zz
}|S)Nz [z,ver=�]z[source=%s])r�
DataSource�__str__�dsmoder%r )r-�root�mstrs   rr6zDataSourceConfigDrive.__str__;sD���!�!�)�)�$�/��#'����d�l�l�C���
����-�-���r2c���d}i}i}|jdfD]1}tjj|�s�#	t	|�}|}n|sx|jjd�}t|��D]N}d}tj�r|jd�rd}	tj|t|��}|}|s�Nn|sy	|jd
i�}tj$|t&g�}|j)|jd�|j*jd�|dd
k(rt,j.ndg�|_|j0t,j2k(ry	t5|j6�}|d}	||	k7r3t9||j:|j0t,j.k(��|j0t,j.k(r"tj=d||j0�y	||_||_ |jd�|_!|jd�|_"|d|_#|jHjK|jdi��|jd�}
|
|_&	t-jN|
�|_(|jd�}||_+	t-jN|�|_,|jd�|_-|jd�|_.y#t
j$rtjtd|�Y��wxYw#t
j$rY���tj $rY���t
j"$rtjtd|�Y���wxYw#tR$r(}tjUd|�d|_(Yd}~�� d}~wwxYw#tR$r(}tjUd|�d|_,Yd}~��!d}~wwxYw)Nz
/config-drivez#Failed reading config drive from %s�datasource_list)�dslistz/dev/cd�cd9660)�mtypezBroken config drive: %sF�metadatar7r%�r)r/�networkz&%s: not claiming datasource, dsmode=%szec2-metadata�userdatar,�
vendordataz"Invalid content in vendor-data: %s�vendordata2z#Invalid content in vendor-data2: %s�network_config�networkdataT)/r$r!r"�isdir�read_config_driver
�NonReadabler�logexc�LOGr.�get�find_candidate_devs�is_BSD�
startswith�mount_cb�MountFailedError�BrokenMetadata�
mergemanydict�DEFAULT_METADATA�_determine_dsmode�ds_cfgr�DSMODE_PASSr7�DSMODE_DISABLED�get_previous_iidr0�
on_first_bootr/�debugr r?r&�userdata_rawr%r,�update�vendordata_pure�convert_vendordata�vendordata_raw�
ValueError�warning�vendordata2_pure�vendordata2_rawr*r))
r-�found�md�results�sdirr<�devr>�prev_iid�cur_iid�vd�e�vd2s
             r�	_get_datazDataSourceConfigDrive._get_dataAs����
�����]�]�O�4�	N�D��7�7�=�=��&��
N�+�D�1�����
	N���\�\�%�%�&7�8�F�*�&�9�
�����;�;�=��~�~�i�0� (��
E�"�m�m��.�e��G� �E���#
�$��
�[�[��R�
(��
�
�
��%5� 6�
7���,�,����H�%�������)�'.�y�'9�Q�'>��#�#�D�
�
����;�;�'�1�1�1��#�D�J�J�/���]�#���w��

���{�{����w�':�':�:�
��;�;�'�-�-�-��I�I�8�$����
�������
�#�K�K��7���#�K�K�
�3����y�)����
�
���'�+�+�g�r�2�3�
�[�[��
&��!���	'�")�"<�"<�R�"@�D��
�k�k�-�(�� #���	(�#*�#=�#=�c�#B�D� �#�;�;�'7�8���#�K�K�
�6�����s�(�(�
N����C�!F��M�
N��!�,�,����,�,��� �/�/�E��K�K��%>��D�E��j�	'��K�K�<�a�@�"&�D����	'���	(��K�K�=�q�A�#'�D� � ��	(�s_�
K=�L2�N�6O�=.L/�.L/�2N�N�-N�
N�	O�N=�=O�	O6�O1�1O6c�H�tj|j��S�N)r�instance_id_matches_system_uuid�get_instance_id)r-r.s  r�check_instance_idz'DataSourceConfigDrive.check_instance_id�s���6�6�t�7K�7K�7M�N�Nr2c���|j��|jdtjfvrQtjd�t
j|j|j��|_|jS|j�Etj|j�|_tjd�|jStjd�|jS)Nz(network config provided via network_json)r+z.network config provided via converted eni dataz"no network configuration available)r'r)rr(rKr[r
�convert_net_jsonr+r*r�convert_eni_data�r-s rrEz$DataSourceConfigDrive.network_config�s������'�� � ��w�}�}�(=�=��	�	�D�E�'0�'A�'A��%�%�$�/�/�(��$��#�#�#��!�!�-�'*�';�';�D�<L�<L�'M��$��	�	�J�K��#�#�#��	�	�>�?��#�#�#r2c��y)Nr
�rxs r�platformzDataSourceConfigDrive.platform�s��r2c�f�|jjd�rd}nd}|�d|j�d�S)z/Return the subplatform metadata source details.z/devzconfig-diskzseed-dirz (�))r rO)r-�subplatform_types  r�_get_subplatformz&DataSourceConfigDrive._get_subplatform�s/���;�;�!�!�&�)�,��)��,�d�k�k�:�:r2)�__name__�
__module__�__qualname__�dsnamer�NETWORKr�BOOT_NEW_INSTANCE�BOOT�BOOT_LEGACY�HOTPLUG�supported_update_eventsrr6rort�propertyrEr{r�
__classcell__)r1s@rrr"s����
�F�	����'�'��N�N��!�!����	
���
��d�LO��$��$�����;r2rc��tj|�}|jgif|jgifg}g}|D]\}}}	||i|��cS|d�#tj$r}|j|�Yd}~�Ad}~wwxYw)N���)r
�ConfigDriveReader�read_v2�read_v1rI�append)�
source_dir�reader�finders�excps�functor�args�kwargsrms        rrHrH�s���
�
(�
(��
4�F�	����R� �	����R� ��G�
�E�#*����$��	��D�+�F�+�+��
��)�O���$�$�	��L�L��O�O��	�s�A�A>�#A9�9A>c���tjj|jd�d�}	t	j
|�j
d�S#t$rYywxYw)N�datar�
)r!r"r#�	get_cpathr�load_text_file�rstrip�IOError)r0�fnames  rrYrY�sT��
�G�G�L�L�����0�-�@�E���"�"�5�)�0�0��6�6������s�#A�	A!� A!c�(�t|t�stdt|�z��|rO|j	dd�}|r;|r9t
j
d�|jtj|��t|j	d��y)zDPerforms any first-boot actions using data read from a config-drive.z/Config-drive data expected to be a dict; not %srE�z-Updating network interfaces from config driver,N)�
isinstance�dict�	TypeError�typerLrKrb�apply_network_configrrw�write_injected_files)r�r/rA�net_confs    rrZrZ�sw���d�D�!��=��d��L�
�	
���8�8�,�b�1�����K�K�G�H��'�'��(<�(<�X�(F�G�����'�*�+r2c�b�|r�tjdt|��|j�D]P\}}|j	t
j�st
j|z}	tj||d���Ryy#t$rtjtd|�Y�{wxYw)NzWriting %s injected filesi�)�modezFailed writing file: %s)rKr[�len�itemsrOr!�sepr�
write_filer�rJ)r,�filename�contents   rr�r��s�����	�	�-�s�5�z�:�#(�;�;�=�	F��X�w��&�&�r�v�v�.��6�6�H�,��
F�����'��>�		F�
���
F����C�!:�H�E�
F�s�+B�$B.�-B.c���|�g}|r"tD]}	tj|���g}t
D])}|j
tjd|z���+g}tD])}|j
tjd|z���+|jd��|jd��||D�cgc]	}||vs�|��c}z}|D�cgc]}||vstj|�r�|�� }	}tjd|	|�|	r=d|vr9t�\}
}||	vr(|	j|�tjd||
�|	S#tj$rY��WwxYwcc}wcc}w)	aReturn a list of devices that may contain the config drive.

    The returned list is sorted by search order where the first item has
    should be searched first (highest priority)

    config drive v1:
       Per documentation, this is "associated as the last available disk on the
       instance", and should be VFAT.
       Currently, we do not restrict search list to "last available disk"

    config drive v2:
       Disk should be:
        * either vfat or iso9660 formatted
        * labeled with 'config-2' or 'CONFIG-2'
    )r"zTYPE=%szLABEL=%sT)�reversezdevices=%s dslist=%s�IBMCloudz5IBMCloud device '%s' (%s) removed from candidate list)�OPTICAL_DEVICESr�find_devs_withr�ProcessExecutionError�FS_TYPES�extend�LABEL_TYPES�sort�is_partitionrKr[r	�remove)�
probe_opticalr<�device�	by_fstype�fs_type�by_label�label�d�
candidates�devices�ibm_platform�ibm_paths            rrMrM�s��� �~����%�	�F�
��#�#��0�	��I��E������,�,�Y�'�-B�C�D�E��H��C������+�+�J�%�,@�A�B�C�
�N�N�4�N� ��M�M�$�M���	�G�1�Q�h�5F�Q�G�G�J�
����h��d�6G�6G��6J���G���I�I�$�g�v�6��:��'�!1�!3���h��w���N�N�8�$��I�I�G���
��N��M�-�-�
��
��$H��s)�E�:	E(�E(�E-�0E-�E%�$E%c�6�tj|t�Srq)r�list_from_depends�datasources)�dependss r�get_datasource_listr�Fs���$�$�W�k�:�:r2)NT)TN)&�loggingr!�	cloudinitrrr�cloudinit.eventrr�
cloudinit.netr�$cloudinit.sources.DataSourceIBMCloudr	�cloudinit.sources.helpersr
�	getLoggerr�rK�DEFAULT_IID�DEFAULT_MODErTr�r��POSSIBLE_MOUNTS�tupler��SourceMixinr5rrHrYrZr�rM�DataSourceConfigDriveNet�DEP_FILESYSTEMr�r�rzr2r�<module>r�s����	�)�)�1��A�/��g����!��"�����;�����&�����E�?�E���
b;�I�1�1�7�3E�3E�b;�J��,�	F�>�D1���W�3�3�5�6���;r2

Youez - 2016 - github.com/yon3zu
LinuXploit