HOME


Mini Shell 1.0
DIR: /lib/python3/dist-packages/cloudinit/sources/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceUpCloud.cpython-312.pyc
�

�f����ddlZddlmZddlmZmZddlmZddlm	Z	ddl
mZeje�ZddiZd	Zd
Zd
ZGd�dej(�ZGd
�de�Zeej.ffeej.ej0ffgZd�Zy)�N)�net)�sources�util)�NoDHCPLeaseError)�EphemeralDHCPv4)�upcloud�metadata_urlz'http://169.254.169.254/metadata/v1.json��c�B�eZdZdZdZd�Zd�Zd�Zd�Zd�Z	e
d��Zy	)
�DataSourceUpCloud�UpCloudFc��tjj||||�||_t	�|_t
jt
j|ddgi�tg�|_
|jd|_|jjdt�|_|jjdt�|_|jjdt"�|_d|_y)N�
datasourcerr	�retries�timeout�
wait_retry)r�
DataSource�__init__�distro�dict�metadatar�
mergemanydict�get_cfg_by_path�BUILTIN_DS_CONFIG�ds_cfg�metadata_address�get�
MD_RETRIESr�
MD_TIMEOUTr�
MD_WAIT_RETRYr�_network_config)�self�sys_cfgr�pathss    �E/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceUpCloud.pyrzDataSourceUpCloud.__init__"s������#�#�D�'�6�5�A�������
��(�(��$�$�W�|�Y�.G��L�!�
�
���!%���N� ;����{�{���y�*�=����{�{���y�*�=����+�+�/�/�,�
�F���#���c�*�tj�S�N)�	uc_helper�read_sysinfo�r#s r&�_get_sysinfozDataSourceUpCloud._get_sysinfo2s���%�%�'�'r'c��tj|j|j|j|j
��S)N)r�sec_betweenr)r*�
read_metadatarrrrr,s r&�_read_metadataz DataSourceUpCloud._read_metadata5s3���&�&��!�!��L�L�����L�L�	
�	
r'c��|j�\}}|sytjd|�|jr�	tj	d�tj�}tj	d|�t|j|�5tjtjd|j��}ddd�nF	tj	d�tjtjd|j��}|_|j%d	|�|j&d
<|j%d�|j&d<|j%d
�|j&d
<|j%d�|j&d<|j%dd�|j&d<|j%dd�|_|j%dd�|_y#1swY��xYw#ttjf$r-}tjtt!|��Yd}~yd}~wwxYw#tj$rC}tjtt!|��tjd|�Yd}~yd}~wwxYw)NFz"Running on UpCloud. server_uuid=%szFinding a fallback NICz*Discovering metadata via DHCP interface %szReading from metadata service)�logfunc�msg�funcz7Discovering metadata without DHCP-configured networkingzENo DHCP-enabled interfaces available, unable to fetch metadata for %s�instance_idzinstance-id�hostnamezlocal-hostname�network�public_keyszpublic-keys�region�default�availability_zone�vendor_data�	user_dataT)r-�LOG�info�perform_dhcp_setup�debug�cloudnet�find_fallback_nicrrr�log_timer1rr�InvalidMetaDataException�logexc�str�
metadata_fullrr�vendordata_raw�userdata_raw)r#�
is_upcloud�server_uuid�nic�md�es      r&�	_get_datazDataSourceUpCloud._get_data=s��$(�$5�$5�$7�!��[������5�{�C��"�"�
��	�	�2�3��0�0�2���	�	�F��L�$�T�[�[�#�6����� #�	�	�;�!�0�0��B���
��	�	�M���]�]��I�I�7��,�,��� ���')�v�v�m�[�'I��
�
�m�$�*,�&�&��*<��
�
�&�'�#%�6�6�)�#4��
�
�i� �')�v�v�m�'<��
�
�m�$�-/�V�V�H�i�-H��
�
�)�*� �f�f�]�D�9����F�F�;��5����K���%�g�&F�&F�G�
����C��Q��(���
���3�3�
����C��Q��(����6���
��
�sI�AG*�1G�G*�
AH3�G'�"G*�*H0�#H+�+H0�3J	�9J�J	c�H�tj|j��Sr))r�instance_id_matches_system_uuid�get_instance_id)r#r$s  r&�check_instance_idz#DataSourceUpCloud.check_instance_idrs���6�6�t�7K�7K�7M�N�Nr'c���|jr|jS|jjd�}|std��t	j
|�|_|jS)z�
        Configure the networking. This needs to be done each boot,
        since the IP and interface information might have changed
        due to reconfiguration.
        r8z/Unable to get network meta-data from server....)r"rr�RuntimeErrorr*�convert_network_config)r#�raw_network_configs  r&�network_configz DataSourceUpCloud.network_configusg������'�'�'�!�]�]�.�.�y�9��!��A��
� )�?�?�� 
����#�#�#r'N)�__name__�
__module__�__qualname__�dsnamerArr-r1rQrU�propertyrZ�r'r&r
r
s>��
�F���$� (�
�3�jO��$��$r'r
c��eZdZdZdZy)�DataSourceUpCloudLocalaz
    Run in init-local using a DHCP discovery prior to metadata crawl.

    In init-local, no network is available. This subclass sets up minimal
    networking with dhclient on a viable nic so that it can talk to the
    metadata service. If the metadata service provides network configuration
    then render the network configuration for that instance based on metadata.
    TN)r[r\r]�__doc__rAr`r'r&rbrb�s����r'rbc�6�tj|t�Sr))r�list_from_depends�datasources)�dependss r&�get_datasource_listrh�s���$�$�W�k�:�:r')�logging�	cloudinitrrCrr�cloudinit.net.dhcpr�cloudinit.net.ephemeralr�cloudinit.sources.helpersrr*�	getLoggerr[r?rrr r!rr
rb�DEP_FILESYSTEM�DEP_NETWORKrfrhr`r'r&�<module>rqs����%�#�/�3�:��g����!��#�%N�O���
�
�
��
�o$��*�*�o$�d
�.�
��g�4�4�6�7���/�/��1D�1D�E�F���;r'