3
\me @ s d dl Z d dlmZ d dlmZmZ d dlmZ d dlm Z d dl
mZ e j
eZddiZd Zd
Zd
ZG dd dejZG d
d deZeejffeejejffgZdd ZdS ) N)net)sourcesutil)NoDHCPLeaseError)EphemeralDHCPv4)upcloudmetadata_urlz'http://169.254.169.254/metadata/v1.json c @ sH e Zd ZdZdZdd Zdd Zdd Zd d
Zdd Z e
d
d ZdS )DataSourceUpCloudUpCloudFc C s t jj| ||| || _t | _tjtj|ddgi t g| _
| j
d | _| j
jdt
| _| j
jdt| _| j
jdt| _d | _d S )NZ
datasourcer r retriestimeout
wait_retry)r
DataSource__init__distrodictmetadatar Z
mergemanydictZget_cfg_by_pathBUILTIN_DS_CONFIGZds_cfgmetadata_addressget
MD_RETRIESr
MD_TIMEOUTr
MD_WAIT_RETRYr _network_config)selfsys_cfgr paths r '/usr/lib/python3.6/DataSourceUpCloud.pyr " s
zDataSourceUpCloud.__init__c C s t j S )N) uc_helperZread_sysinfo)r r r r _get_sysinfo2 s zDataSourceUpCloud._get_sysinfoc C s t j| j| j| j| jdS )N)r Zsec_betweenr
)r! Z
read_metadatar r r r
)r r r r _read_metadata5 s
z DataSourceUpCloud._read_metadatac C s | j \}}|sdS tjd| | jryNtjd tj }tjd| t| j| t j
tjd| jd}W d Q R X W n6 tt
jfk
r } zt jtt| dS d }~X nX ndy"tjd t j
tjd| jd}W n@ t
jk
r } z t jtt| tjd| dS d }~X nX || _|jd || jd
<