HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/cloudinit/sources/helpers/__pycache__/vultr.cpython-38.pyc
U

Ӈg��@s�ddlZddlZddlZddlmZddlmZddlmZm	Z	m
Z
mZmZddl
mZddlmZe�e�Ze�d$dd��Zd	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�Ze�dd��Zdd�Zdd�Zd%dd�Zdd�Zd d!�Z d"d#�Z!dS)&�N)�	lru_cache)�
exceptions)�dmi�net�subp�
url_helper�util)�NoDHCPLeaseError)�EphemeralDHCPv4cCs�td�}t�D]�}zXt||d|igd��:t|||||�}	t�|	�}
t|
�|
W5QR�WSQRXWqttj	tt
jfk
r�}zt�
d|�|}W5d}~XYqXq|�dS)NzFailed to DHCP�url)�ifaceZconnectivity_urls_datazDHCP Exception: %s)�RuntimeError�get_interface_listr
�
read_metadata�json�loads�refactor_metadatar	rZProcessExecutionErrorrZRequestException�LOG�error)Zdistror�timeout�retries�sec_between�agentZtmp_dirZ	exceptionrZv1�metadata�exc�r�A/usr/lib/python3/dist-packages/cloudinit/sources/helpers/vultr.py�get_metadatas*
�
 �rcCsL|d|d<|d|d<|dd}d|dkr<|dd}|��|d<dS)Nzinstance-v2-idzinstance-idZhostnamezlocal-hostname�regionZ
regioncodeZcountrycode)�lower)rrrrrr5src
Cs�g}zRd}tj�|�rTtj|ddd�}|j��D]"}|��}t|�dkr0|�|�q0Wn.t	k
r�}zt
�d|�W5d}~XYnXt|�dkr�t�
�D]}d|kr�q�|�|�q�|S)Nz!/opt/vultr/find_candidate_nics.shT)Zcapture�shellrz(find_candidate_nics script exception: %sZdummy)�os�path�existsr�stdout�
splitlines�strip�len�append�	ExceptionrrrZfind_candidate_nics)ZifacesZ
nic_script�out�liner�errrr?s"rcCst�d�t�d�d�S)Nzsystem-manufacturerzsystem-serial-number)�manufacturerZsubid)rZ
read_dmi_datarrrr�get_sysinfo\s�r.cCst�ddkrdSdS)Nr-�VultrTF)r.rrrr�is_baremetaldsr0cCs.t�}|ddkrdSdt����kr*dSdS)Nr-r/TZvultrF)r.rZget_cmdline�split)Zsysinforrr�is_vultrksr2cCsHd|}d|d�}tj|||||d�}|��s>td||j��|j��S)Nz
%s/v1.json�	cloudinit)zMetadata-Tokenz
User-Agent)rr�headersrz!Failed to connect to %s: Code: %s)rZreadurl�okr
�code�contents�decode)rrrrrr4Zresponserrrrzs
��rcCst��S�N)rZget_interfaces_by_macrrrr�get_interface_map�sr:cCst�}||krdS|�|�Sr9)r:�get)�macZmacs_to_nicrrr�get_interface_name�sr=cCs�ddddgd�gd�}t|�dkr@t|ddd	�}|d
�|�tdt|��D].}||}|�d�rfqNt|�}|d
�|�qN|S)N�Z
nameserverz108.61.10.10z2001:19f0:300:1704::6)�type�address)�version�configrT)�primaryrBZunconfigured)r'�generate_interfacer(�ranger;)Z
interfaces�networkZpublic�i�	interfaceZprivaterrr�generate_network_config�s ���
rIFcCs�t|d�}|s td|d��|d|dd�}|rTd|d<ddd	�d
dd	�g|d<|s|dd|d
d|d
dd�g|d<t||�t||�|S)Nr<�.Interface: %s could not be found on the system�physical)�namer?�mac_addressr>�	accept-raZdhcp�auto)r?�controlZ
ipv6_slaac�subnets�static�ipv4r@�netmask�r?rPr@rT)r=r
�generate_interface_routes�'generate_interface_additional_addresses)rHrC�interface_name�netcfgrrrrD�s0
���

��	

rDcCsHd|kr|d|d<d|kr(|d|d<d|krD|d|ddd<dS)NZmturN�routesrQrr)rHrYrrrrV�srVcCs�t|dd�}d|krj|dkrj|ddD]<}dd|d|dd�}d	|krZ|d	|d	<|d
�|�q,t|dd�}d|kr�|dkr�|ddD]B}ddd
|d|dfd�}d	|kr�|d	|d	<|d
�|�q�dS)NrS�
additionalrrRrOr@rTrUrZrQZipv6Zstatic6z%s/%srF�prefix)r?rPr@)r'r()rHrYZadditional_countr[�addrrrrW�s.���rWcCsH|dD]:}|ddkrqt|d�}|s:td|d��||d<qdS)NrBr?rKrMrJrL)r=r
)rYrHrXrrr�add_interface_namess��r^)N)F)"rZloggingr!�	functoolsrZrequestsrr3rrrrrZcloudinit.net.dhcpr	Zcloudinit.net.ephemeralr
Z	getLogger�__name__rrrrr.r0r2rr:r=rIrDrVrWr^rrrr�<module>s2
� 



%#