fddlZddlmZddlmZmZmZmZmZm Z ddl m Z ddl m Z ejeZdZdedziZd Zd Zd ZGd d ej,Zd ZdZddZeej6ffgZy)N) exceptions)dminetsourcessubp url_helperutil)NoDHCPLeaseError)EphemeralDHCPv4zhttp://169.254.169.254/api/v1 metadata_urlz /metadatacBeZdZdZdZdZdZedZe dZ y)DataSourceNWCSNWCSc<tjj||||||_t |_t jt j|ddgitg|_ |jd|_ |jjdt|_|jjdt|_|jjdt"|_tj&|_tj*|_y)N datasourcerr retriestimeout wait_retry)r DataSource__init__distrodictmetadatar mergemanydictget_cfg_by_pathBUILTIN_DS_CONFIGds_cfgmetadata_addressget MD_RETRIESr MD_TIMEOUTr MD_WAIT_RETRYrUNSET_network_configDSMODE_NETWORKdsmode)selfsys_cfgrpathss B/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceNWCS.pyrzDataSourceNWCS.__init__s##D'65A  (($$W|V.DbI!   !% N ;{{y*= {{y*= ++//, F&}},, c8|j}| td||_|d|jd<|d|jd<|d|jd<|d|jd<|j dd|_|j dd|_y ) Nzfailed to get metadataz instance-idz public-keysnetworkhostnamezlocal-hostnameuserdata vendordataT) get_metadata RuntimeError metadata_fullrr! userdata_rawvendordata_raw)r)mds r, _get_datazDataSourceNWCS._get_data/s     :78 8')-'8 m$')-'8 m$#%i= i *,Z. &'FF:t4 ff\48r-c tjdt|jt j dt dzi5t|j|j|j|jcdddS#1swYyxYw#ttjtt j"f$r}tj%d|d}~wwxYw)Nz#Attempting to get metadata via DHCPurlz/metadata/instance-id)ifaceconnectivity_url_datar sec_betweenrzDHCP failure: %s)LOGinfor rrfind_fallback_nic BASE_URL_V1 read_metadatar rrrr rProcessExecutionErrorr4rRequestExceptionerror)r)es r,r3zDataSourceNWCS.get_metadataBs  HH: ;  ++-;)@@' %)) LL $ LL       & &   ' '    II(! ,  s6AB 7B  B BBB-C CC ctjd|j9tjdtj tj |_|jtj k7r |jS|j dds td|j ddD]2}t|d}|stjd|d|||d<4|j d|_|jS) Nz Attempting network configurationz5Found None as cached _network_config, resetting to %sr/configz"Unable to get metadata from server mac_addresszOverriding %s with %sname) r@debugr&warningrr%rr4get_interface_namerA)r)i iface_names r,network_configzDataSourceNWCS.network_config]s 45    ' KKG  $+==D   7== 0'' '}}Y'1CD Dy)(3 'A+Am,<=J0!F)ZH&&  ' $}}Y7###r-c2dtjdk(S)Nrzsystem-manufacturer)r read_dmi_datar-r, ds_detectzDataSourceNWCS.ds_detectzs**+@AAAr-N) __name__ __module__ __qualname__dsnamerr9r3propertyrR staticmethodrVrUr-r,rrs@ F-"&6$$8BBr-rcVtj}||vry|j|SN)rget_interfaces_by_macr!)mac macs_to_nics r,rOrOs*++-K + ??3 r-c6tj|tSr^)rlist_from_depends datasources)dependss r,get_datasource_listrfs  $ $Wk ::r-ctj||||}|jstd|zt j |j jS)Nr>zunable to read metadata at %s)rreadurlokr4r load_jsoncontentsdecode)r;rr?rresponses r,rDrDsU!! W+wH ;;=:S@AA >>(++224 55r-)rnr )loggingrequestsr cloudinitrrrrrr cloudinit.net.dhcpr cloudinit.net.ephemeralr getLoggerrWr@rCrr"r#r$rrrOrfrDDEP_FILESYSTEMrdrUr-r,rvs ??/3g!- K+-   bBW''bBJ ;6g,,./ r-