HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /lib/python3/dist-packages/cloudinit/sources/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceOpenStack.cpython-311.pyc
�

܍~c�)��r�ddlZddlmZddlmZddlmZmZmZddlm	Z	m
Z
ddlmZddl
mZddlmZdd	lmZeje��Zd
ZdZdeiZd
ZdZeegZdZdZdZeZ e eeegz
Z Gd�dej!ej"��Z#Gd�de#��Z$dd�Z%dd�Z&e$ej'ffe#ej'ej(ffgZ)d�Z*dS)�N)�dmi)�log)�sources�
url_helper�util)�
EventScope�	EventType)�NoDHCPLeaseError)�EphemeralDHCPv4)�DataSourceOracle)�	openstackzhttp://169.254.169.254ziid-dsopenstackzinstance-idzOpenStack NovazOpenStack Compute�OpenTelekomCloudz
SAP CCloud VM�HUAWEICLOUDc���eZdZdZejZdZej	e
je
je
j
e
jhiZ�fd�Zd�Zd�Zd�Zed���Zd�Zd	�Z�xZS)
�DataSourceOpenStack�	OpenStackFc���tt|���|||��d|_t	j|j��|_d|_i|_	tj|_tj|_
dS�N)�superr�__init__�metadata_addressr�fetch_ssl_details�paths�ssl_details�version�filesr�UNSET�ec2_metadata�network_json)�self�sys_cfg�distror�	__class__s    ��G/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceOpenStack.pyrzDataSourceOpenStack.__init__>sk���
�!�4�(�(�1�1�'�6�5�I�I�I� $����1�$�*�=�=��������
�#�M���#�M�����c�n�tj�|��}|�d|j�d|j�d�}|S)Nz [z,ver=�])r�
DataSource�__str__�dsmoder)r �root�mstrs   r$r)zDataSourceOpenStack.__str__Gs9���!�)�)�$�/�/��#'�4�4�����d�l�l�l�C���r%c	��|j�dtg��}d�|D��}t|��t|��krEt�dt
t|��t|��z
����t|��r|}n"t�d��tg}g}i}|D]1}tj
|d��}|�|��|||<�2|���}tj
��}tj||j|j���\}	}
|	r"t�d||	��n=t�d|t#tj
��|z
����|�|	��|_t'|	��S)	N�
metadata_urlsc�:�g|]}tj|���|��S�)r�is_resolvable_url)�.0�xs  r$�
<listcomp>zADataSourceOpenStack.wait_for_metadata_service.<locals>.<listcomp>Ns(��A�A�A�!�t�'=�a�'@�'@�A�A�A�A�Ar%z,Removed the following from metadata urls: %sz+Empty metadata url list! using default listr
)�urls�max_wait�timeoutzUsing metadata source: '%s'z2Giving up on OpenStack md from %s after %s seconds)�ds_cfg�get�
DEF_MD_URL�set�LOG�debug�list�len�warningr�combine_url�append�get_url_params�time�wait_for_url�max_wait_seconds�timeout_seconds�intr�bool)r r5�filtered�md_urls�url2base�url�md_url�
url_params�
start_time�	avail_url�	_responses           r$�wait_for_metadata_servicez-DataSourceOpenStack.wait_for_metadata_serviceLs����{������=�=��A�A�t�A�A�A���x�=�=�C��I�I�%�%��I�I�>��c�$�i�i�#�h�-�-�/�1�1�
�
�
��x�=�=�	 ��D�D��K�K�E�F�F�F��<�D������	#�	#�C��+�C��=�=�F��N�N�6�"�"�"�"�H�V����(�(�*�*�
��Y�[�[�
�)�6���0��.� 
� 
� 
��	�9�
�	��I�I�3�X�i�5H�I�I�I�I��I�I�D���D�I�K�K�*�,�-�-�
�
�
�!)���Y� 7� 7����I���r%c�N�tj|�����Sr)r�instance_id_matches_system_uuid�get_instance_id)r r!s  r$�check_instance_idz%DataSourceOpenStack.check_instance_idts���6�t�7K�7K�7M�7M�N�N�Nr%c��|jtjkr|jStj|j�dd����rd|_|jS|jtjkrt�	d��dSt�
d��tj|jd���|_|jS)z@Return a network config dict for rendering ENI or netplan files.�apply_network_configTNz<Unexpected call to network_config when network_json is None.z(network config provided via network_json)�
known_macs)
�_network_configrrr�is_falser8r9rr<r@r=r
�convert_net_json)r s r$�network_configz"DataSourceOpenStack.network_configxs�����7�=�0�0��'�'�
�=�����)?��F�F�G�G�	(�#'�D� ��'�'����
�-�-��K�K�N�
�
�
��4��	�	�<�=�=�=�(�9���$� 
� 
� 
����#�#r%c�b�d|j�d��v}t|���sdS|jr�	t	|j|j������5tj	tjd|j���}ddd��n#1swxYwYn�#ttjf$r2}tjtt#|����Yd}~dSd}~wwxYw	|���}nD#tj$r2}tjtt#|����Yd}~dSd}~wwxYw|�|�d	��g��|_|jtjkrdS|�d
i��}tj|t,g��}||_|�d��|_|�d��|_|�d
��|_|d|_|j�|�di����|�d��}||_	tj|��|_ n9#tB$r,}t�"d|��d|_ Yd}~nd}~wwxYw|�d��}||_#	tj|��|_$n9#tB$r,}t�"d|��d|_$Yd}~nd}~wwxYwdS)a
Crawl metadata, parse and persist that data for this instance.

        @return: True when metadata discovered indicates OpenStack datasource.
            False when unable to contact metadata service or when metadata
            format is invalid or disabled.
        �Oracle�datasource_list)�
accept_oracleF)�tmp_dirzCrawl of metadata service)�logfunc�msg�funcNr*�metadatazec2-metadata�networkdata�userdatarr�
vendordataz"Invalid content in vendor-data: %s�vendordata2z#Invalid content in vendor-data2: %sT)%r!r9�detect_openstack�perform_dhcp_setupr�fallback_interfacer"�get_tmp_exec_pathr�log_timer<r=�_crawl_metadatar
r�InvalidMetaDataException�logexc�str�_determine_dsmoder*�DSMODE_DISABLED�
mergemanydict�DEFAULT_METADATArgrr�userdata_rawrr�update�vendordata_pure�convert_vendordata�vendordata_raw�
ValueErrorr@�vendordata2_pure�vendordata2_raw)r �oracle_considered�results�e�md�vd�vd2s       r$�	_get_datazDataSourceOpenStack._get_data�s��%���(8�(8�9J�(K�(K�K���2C�.C�D�D�D�	��5��"�	�
�$��+� �K�9�9�;�;������#�m� #�	�7�!�1����G�	��������������������%�g�&F�G�
�
�
���C��Q���(�(�(��u�u�u�u�u�����
����
��.�.�0�0�����3�
�
�
���C��Q���(�(�(��u�u�u�u�u�����
�����,�,�g�k�k�(�.C�.C�-D�E�E����;�'�1�1�1��5�
�[�[��R�
(�
(��
�
��%5� 6�
7�
7����
�#�K�K��7�7���#�K�K�
�6�6���#�K�K�
�3�3����y�)����
���'�+�+�g�r�2�2�3�3�3�
�[�[��
&�
&��!���	'�")�"<�R�"@�"@�D�����	'�	'�	'��K�K�<�a�@�@�@�"&�D�����������	'�����k�k�-�(�(�� #���	(�#*�#=�c�#B�#B�D� � ���	(�	(�	(��K�K�=�q�A�A�A�#'�D� � � � � � �����	(�����ts��-B$�%'B�B$�B�B$�B� B$�$C,�:'C'�'C,�0D�E�'E�E�,J�
J<�"J7�7J<�K6�6
L,�"L'�'L,c
��	|���stjd���nG#t$r:}tjd�t|��������d}~wwxYw|���}	tjtj
dt|jg|j
|j|jd����}n�#t j$r&}tjt|�����d}~wt jtf$r5}d�|j�	��}tj|��|�d}~wwxYw|S)
z�Crawl metadata service when available.

        @returns: Dictionary with all metadata discovered for this datasource.
        @raise: InvalidMetaDataException on unreadable or broken
            metadata.
        z No active metadata service foundz,IOError contacting metadata service: {error})�errorNz#Crawl of openstack metadata service)r�retriesr7)�args�kwargszBroken metadata address {addr})�addr)rSrrr�IOError�formatrtrCrrpr<r=�read_metadata_servicerr�num_retriesrGr
�NonReadable�BrokenMetadata)r r�rO�resultres     r$rqz#DataSourceOpenStack._crawl_metadata�s���
	��1�1�3�3�
��6�6����
���	�	�	��2�>�E�E��a�&�&�F�����
�����	�����(�(�*�*�
�	?��]��	�5�%��+�,�#'�#3�)�5�)�9���
�
�
�F�F���$�	;�	;�	;��2�3�q�6�6�:�:�:������(�'�2�	?�	?�	?�2�9�9��*�:���C��2�3�7�7�Q�>�����		?����
�
s9�(+�
A/�5A*�*A/�AC	�	E�!C9�9E�0E�E)�__name__�
__module__�__qualname__�dsnamerrr[rmr�NETWORKr	�BOOT_NEW_INSTANCE�BOOT�BOOT_LEGACY�HOTPLUG�supported_update_eventsrr)rSrW�propertyr^r�rq�
__classcell__)r#s@r$rr,s��������
�F��m�O���	���'��N��!���	
���*�*�*�*�*����
&�&�&�PO�O�O��$�$��X�$�0<�<�<�|(�(�(�(�(�(�(r%rc��eZdZdZdZdS)�DataSourceOpenStackLocalauRun 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__rmr0r%r$r�r��s"�����������r%r��c�Z�tj||||���}|���S)N)rr7r�)r
�MetadataReader�read_v2)�base_urlrr7r��readers     r$r�r�s4��
�
%��k�7�G����F��>�>���r%Fc�:�tj��sdStjd��}|tvrdStjd��t
vrdS|rt
j��rdStjd���	d��tkrdSdS)z<Return True when a potential OpenStack platform is detected.Tzsystem-product-namezchassis-asset-tag��product_nameF)r�is_x86r�
read_dmi_data�VALID_DMI_PRODUCT_NAMES�VALID_DMI_ASSET_TAGS�oracle�_is_platform_viable�get_proc_envr9�DMI_PRODUCT_NOVA)rbr�s  r$rlrl
s����;�=�=���t��$�%:�;�;�L��.�.�.��t�	�	�.�	/�	/�3G�	G�	G��t�	��6�5�7�7���t�	
�	�1�	�	�	!�	!�.�	1�	1�5E�	E�	E��t��5r%c�6�tj|t��Sr)r�list_from_depends�datasources)�dependss r$�get_datasource_listr�%s���$�W�k�:�:�:r%)Nr�r�)F)+rD�	cloudinitrr�loggingrrr�cloudinit.eventrr	�cloudinit.net.dhcpr
�cloudinit.net.ephemeralr�cloudinit.sourcesrr��cloudinit.sources.helpersr
�	getLoggerr�r<r:�DEFAULT_IIDrxr��DMI_PRODUCT_COMPUTEr��DMI_ASSET_TAG_OPENTELEKOM�DMI_ASSET_TAG_SAPCCLOUD�DMI_ASSET_TAG_HUAWEICLOUDr��SourceMixinr(rr�r�rl�DEP_FILESYSTEM�DEP_NETWORKr�r�r0r%r$�<module>r�s�������������$�$�$�$�$�$�/�/�/�/�/�/�/�/�/�/�1�1�1�1�1�1�1�1�/�/�/�/�/�/�3�3�3�3�3�3�8�8�8�8�8�8�/�/�/�/�/�/��g���!�!��&�
����;���
$��)��+�-@�A��.��*��)��.���������K�K�K�K�K�)�/��1C�K�K�K�\	�	�	�	�	�2�	�	�	�����
�
�
�
�$�� 6�8�9��7�1�7�3F�G�H���;�;�;�;�;r%