܍~cddlmZddlmZddlmZddlmZmZmZm Z m Z ddl m Z ddl mZejeZdZded ziZd Zd Zd ZGd d ejZdZdZdZddZeejffgZdS)) exceptions)dmi)log)netsourcessubp url_helperutil)NoDHCPLeaseError)EphemeralDHCPv4zhttp://169.254.169.254/api/v1 metadata_urlz /metadatac:eZdZdZdZdZdZedZdS)DataSourceNWCSNWCSc0tj||||||_t |_t jt j|ddgitg|_ |j d|_ |j dt|_|j dt|_|j dt"|_tj|_tj|_dS)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'65AAA  ($W|V.DbII!    !% N ;{y*== {y*== +//, FF&}, c tdt}|stddStd|}|t d||_|d|jd<|d|jd<|d|jd<|d |jd <|d d|_|d d|_ d S)Nz'Detecting if machine is a NWCS instancezMachine is not a NWCS instanceFzMachine is a NWCS instancezfailed to get metadataz instance-idz public-keysnetworkhostnamezlocal-hostnameuserdata vendordataT) LOGinfo get_nwcs_data get_metadata Exception metadata_fullrr" userdata_rawvendordata_raw)r*on_nwcsmds r- _get_datazDataSourceNWCS._get_data-s :;;;//  HH5 6 6 65 -...     :455 5')-'8 m$')-'8 m$#%i= i *,Z. &'FF:t44 ff\488tr.c tdttjdt dzi5t |j|j|j |j cdddS#1swxYwYdS#ttj ttjf$r!}td|d}~wwxYw)Nz#Attempting to get metadata via DHCPurlz/metadata/instance-id)ifaceconnectivity_url_datar sec_betweenrzDHCP failure: %s)r4r5r rfind_fallback_nic BASE_URL_V1 read_metadatar!rrrr rProcessExecutionError RuntimeErrorrRequestExceptionerror)r*es r-r7zDataSourceNWCS.get_metadataIs'  HH: ; ; ; +--;)@@'   %) L $ L                      &   '      II(! , , ,  s<AB 'A</ B <BB BB 'C0C  Cctd|j6tdtjtj|_|jtjkr|jS|jddstd|jddD]@}t|d}|r't d|d|||d<A|jd|_|jS) Nz Attempting network configurationz5Found None as cached _network_config, resetting to %sr0configz"Unable to get metadata from server mac_addresszOverriding %s with %sname) r4debugr'warningrr&rr8get_interface_namer5)r*i iface_names r-network_configzDataSourceNWCS.network_configcs 4555   ' KKG    $+=D  7= 0 0' '}Y'1 B@AA Ay)(3 ' 'A+Am,<==J '0!F)ZHHH&& #}Y7##r.N) __name__ __module__ __qualname__dsnamerr>r7propertyrVr.r-rrsa F---"84$$X$$$r.rc>tjd}|dkrdSdS)Nzsystem-manufacturerrFT)r read_dmi_data) vendor_names r-r6r6s(#$9::Kfu 4r.c^tj}||vrdS||SN)rget_interfaces_by_macr")mac macs_to_nics r-rSrSs2+--K +t ??3  r.c6tj|tSra)rlist_from_depends datasources)dependss r-get_datasource_listris  $Wk : ::r.ctj||||}|std|zt j|jS)NrCzunable to read metadata at %s)r readurlokrIr load_jsoncontentsdecode)r@rrDrresponses r-rGrGsh! W+wH ;;==B:S@AAA >(+2244 5 55r.N)rjrjr)requestsr cloudinitrrloggingrrrr r cloudinit.net.dhcpr cloudinit.net.ephemeralr getLoggerrWr4rFrr#r$r%rrr6rSrirGDEP_FILESYSTEMrgr\r.r-rysY $$$$$$:::::::::::::://////333333g!!- K+-   f$f$f$f$f$W'f$f$f$R   ;;;6666g,./ r.