HEX
Server: Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System: Linux ns565604.ip-54-39-133.net 4.18.0-553.50.1.el8_10.x86_64 #1 SMP Tue Apr 15 08:09:22 EDT 2025 x86_64
User: greer489 (1034)
PHP: 8.3.19
Disabled: NONE
Upload Files
File: //lib/python3.6/site-packages/cloudinit/sources/__pycache__/DataSourceNWCS.cpython-36.pyc
3

\�me��@s�ddlZddlmZddlmZmZmZmZmZm	Z	ddl
mZddlm
Z
eje�ZdZdediZd	Zd
Zd
ZGdd�dej�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@s@eZdZdZdd�Zdd�Zdd�Zedd	��Ze	d
d��Z
dS)
�DataSourceNWCS�NWCScCs�tjj||||�||_t�|_tjtj|ddgi�t	g�|_
|j
d|_|j
jdt
�|_|j
jdt�|_|j
jdt�|_tj|_tj|_dS)NZ
datasourcerr�retries�timeout�
wait_retry)r�
DataSource�__init__�distro�dict�metadatarZ
mergemanydictZget_cfg_by_path�BUILTIN_DS_CONFIGZds_cfg�metadata_address�get�
MD_RETRIESr�
MD_TIMEOUTr�
MD_WAIT_RETRYr�UNSET�_network_configZDSMODE_NETWORKZdsmode)�selfZsys_cfgr�paths�r"�$/usr/lib/python3.6/DataSourceNWCS.pyrs
zDataSourceNWCS.__init__cCsv|j�}|dkrtd��||_|d|jd<|d|jd<|d|jd<|d|jd<|jdd�|_|jdd�|_d	S)
Nzfailed to get metadatazinstance-idzpublic-keys�networkZhostnamezlocal-hostnameZuserdataZ
vendordataT)�get_metadata�RuntimeErrorZ
metadata_fullrrZuserdata_rawZvendordata_raw)r Zmdr"r"r#�	_get_data/szDataSourceNWCS._get_datacCs�yJtjd�t|jtj�dtdid��t|j|j	|j
|jd�SQRXWn<tt
jttjfk
r�}ztjd|��WYdd}~XnXdS)Nz#Attempting to get metadata via DHCP�urlz/metadata/instance-id)ZifaceZconnectivity_url_data)r�sec_betweenrzDHCP failure: %s)�LOG�infor
rrZfind_fallback_nic�BASE_URL_V1�
read_metadatarrrrr	rZProcessExecutionErrorr&rZRequestException�error)r �er"r"r#r%Bs$
zDataSourceNWCS.get_metadatacCs�tjd�|jdkr*tjdtj�tj|_|jtjkr<|jS|jddsRtd��x@|jddD].}t|d�}|rbtj	d|d|�||d<qbW|jd|_|jS)	Nz Attempting network configurationz5Found None as cached _network_config, resetting to %sr$�configz"Unable to get metadata from serverZmac_addresszOverriding %s with %s�name)
r*�debugrZwarningrrrr&�get_interface_namer+)r �iZ
iface_namer"r"r#�network_config]s"

zDataSourceNWCS.network_configcCsdtjd�kS)Nrzsystem-manufacturer)rZ
read_dmi_datar"r"r"r#�	ds_detectzszDataSourceNWCS.ds_detectN)�__name__�
__module__�__qualname__Zdsnamerr'r%�propertyr5�staticmethodr6r"r"r"r#rsrcCstj�}||krdS|j|�S)N)rZget_interfaces_by_macr)ZmacZmacs_to_nicr"r"r#r3sr3cCstj|t�S)N)rZlist_from_depends�datasources)Zdependsr"r"r#�get_datasource_list�sr=�cCs6tj||||d�}|j�s&td|��tj|jj��S)N)rr)rzunable to read metadata at %s)rZreadurl�okr&rZ	load_json�contents�decode)r(rr)rZresponser"r"r#r-�s
r-)r>r>r)ZloggingZrequestsrZ	cloudinitrrrrrrZcloudinit.net.dhcpr	Zcloudinit.net.ephemeralr
Z	getLoggerr7r*r,rrrrrrr3r=r-ZDEP_FILESYSTEMr<r"r"r"r#�<module>s 
e