관리-도구
편집 파일: DataSourceNWCS.cpython-39.pyc
a ����'�Dg�����������������������@���s����d�dl�Z�d�dlmZ�d�dlmZmZmZmZmZm Z �d�dl mZ�d�dlm Z �e��e�ZdZded�iZd Zd Zd ZG�dd��dej�Zd d��Zdd��Zddd�ZeejffgZdS�)�����N)� exceptions)�dmi�net�sources�subp� url_helper�util)�NoDHCPLeaseError)�EphemeralDHCPv4zhttp://169.254.169.254/api/v1�metadata_urlz /metadata��������c�����������������������sX���e�Zd�ZdZdd��Zedd���fdd�Zdd ��Zd d��Ze dd ���Z edd���Z���Z S�)�DataSourceNWCS�NWCSc�����������������C���s����t�j�|�|||��||�_t��|�_t�t�|ddgi��t g�|�_ |�j d�|�_|�j �dt �|�_|�j �dt�|�_|�j �dt�|�_t�j|�_t�j|�_d�|�_d�S�)NZ datasourcer���r����retries�timeout� wait_retry)r���� DataSource�__init__�distro�dict�metadatar���Z mergemanydictZget_cfg_by_path�BUILTIN_DS_CONFIGZds_cfg�metadata_address�get� MD_RETRIESr���� MD_TIMEOUTr���� MD_WAIT_RETRYr����UNSET�_network_configZDSMODE_NETWORKZdsmode� metadata_full)�selfZsys_cfgr����paths��r#����D/usr/lib/python3.9/site-packages/cloudinit/sources/DataSourceNWCS.pyr������s������zDataSourceNWCS.__init__N)�ci_pkl_version�returnc��������������������s���t����|��|�jstj|�_d�S��N)�super� _unpickler���r���r���)r!���r%����� __class__r#���r$���r)���0���s����zDataSourceNWCS._unpicklec�����������������C���sv���|�����}|d�u�rtd��||�_|d�|�jd<�|d�|�jd<�|d�|�jd<�|d�|�jd<�|�dd��|�_|�dd��|�_d S�) Nzfailed to get metadatazinstance-idzpublic-keys�network�hostnamezlocal-hostnameZuserdataZ vendordataT)�get_metadata�RuntimeErrorr ���r���r���Zuserdata_rawZvendordata_raw)r!���Zmdr#���r#���r$���� _get_data5���s����zDataSourceNWCS._get_datac�����������������C���s����zft��d��t|�jt���dtd�igd��*�t|�j|�j |�j |�jd�W��d�����W�S�1�sZ0����Y��W�n>�tt jttjfy��}�zt��d|����W�Y�d�}~n d�}~0�0�d�S�)Nz#Attempting to get metadata via DHCP�urlz/metadata/instance-id)ZifaceZconnectivity_urls_data�r����sec_betweenr���zDHCP failure: %s)�LOG�infor ���r���r���Zfind_fallback_nic�BASE_URL_V1� read_metadatar���r���r���r���r ���r���ZProcessExecutionErrorr/���r���ZRequestException�error)r!����er#���r#���r$���r.���H���s.���� ��� �*�zDataSourceNWCS.get_metadatac�����������������C���s����t��d��|�jtjkr|�jS�|�jd�d�s2td��|�jd�d�D�].}t|d��}|r@t��d|d�|��||d<�q@|�jd�|�_|�jS�)Nz Attempting network configurationr,���Zconfigz"Unable to get metadata from serverZmac_addresszOverriding %s with %s�name) r4����debugr���r���r���r���r/����get_interface_namer5���)r!����iZ iface_namer#���r#���r$����network_confige���s���� zDataSourceNWCS.network_configc�������������������C���s���dt��d�kS�)Nr���zsystem-manufacturer)r���Z read_dmi_datar#���r#���r#���r$���� ds_detect{���s����zDataSourceNWCS.ds_detect)�__name__� __module__�__qualname__Zdsnamer����intr)���r0���r.����propertyr>����staticmethodr?���� __classcell__r#���r#���r*���r$���r������s��� r���c�����������������C���s���t����}|�|vrd�S�|�|��S�r'���)r���Zget_interfaces_by_macr���)ZmacZmacs_to_nicr#���r#���r$���r<�������s����r<���c�����������������C���s���t��|�t�S�r'���)r���Zlist_from_depends�datasources)Zdependsr#���r#���r$����get_datasource_list����s����rH�������c�����������������C���s6���t�j|�|||d�}|���s&td|����t�|j����S�)Nr2���zunable to read metadata at %s)r���Zreadurl�okr/���r���Z load_json�contents�decode)r1���r���r3���r���Zresponser#���r#���r$���r7�������s�����r7���)rI���rI���r���)ZloggingZrequestsr���Z cloudinitr���r���r���r���r���r���Zcloudinit.net.dhcpr ���Zcloudinit.net.ephemeralr ���Z getLoggerr@���r4���r6���r���r���r���r���r���r���r<���rH���r7���ZDEP_FILESYSTEMrG���r#���r#���r#���r$����<module>���s"��� �f �