+
    ˜qgjÉ  ã                   ó  € ^ RI t ^ RIHt ^ RIHtHt ^ RIHt ^ RIH	t	 ^ RI
Ht ] P                  ! ]4      tRR/t^t^t^t ! R	 R
]P(                  4      t ! R R]4      t]]P.                  33]]P.                  ]P0                  33.tR tR# )é    N)Únet)ÚsourcesÚutil)ÚNoDHCPLeaseError)ÚEphemeralDHCPv4)ÚupcloudÚmetadata_urlz'http://169.254.169.254/metadata/v1.jsonc                   óV   a € ] tR t^t o RtRtR tR tR tR t	R t
]R 4       tR	tV tR
# )ÚDataSourceUpCloudÚUpCloudFc                ó  € \         P                  P                  WW#4       W n        \	        4       V n        \        P                  ! \        P                  ! VR R./ 4      \        .4      V n
        V P                  R,          V n        V P                  P                  R\        4      V n        V P                  P                  R\        4      V n        V P                  P                  R\"        4      V n        RV n        RV n        R# )Ú
datasourcer   r	   ÚretriesÚtimeoutÚ
wait_retryN)r   Ú
DataSourceÚ__init__ÚdistroÚdictÚmetadatar   ÚmergemanydictÚget_cfg_by_pathÚBUILTIN_DS_CONFIGÚds_cfgÚmetadata_addressÚgetÚ
MD_RETRIESr   Ú
MD_TIMEOUTr   ÚMD_WAIT_RETRYr   Ú_network_configÚmetadata_full)ÚselfÚsys_cfgr   Úpathss   &&&&ÚE/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceUpCloud.pyr   ÚDataSourceUpCloud.__init__"   s¼   € Ü×Ñ×#Ñ# D°6ÔAØŒÜ›ˆŒÜ×(Ò(ä×$Ò$ W¨|¸YÐ.GÈÓLÜ!ðó
ˆŒð !%§¡¨NÕ ;ˆÔØ—{‘{—‘ y´*Ó=ˆŒØ—{‘{—‘ y´*Ó=ˆŒØŸ+™+Ÿ/™/¨,¼ÓFˆŒØ#ˆÔØ!ˆÖó    c                ó,   € \         P                  ! 4       # ©N)Ú	uc_helperÚread_sysinfo©r"   s   &r%   Ú_get_sysinfoÚDataSourceUpCloud._get_sysinfo3   s   € Ü×%Ò%Ó'Ð'r'   c                ó†   € \         P                  ! V P                  V P                  V P                  V P
                  R 7      # ))r   Úsec_betweenr   )r*   Úread_metadatar   r   r   r   r,   s   &r%   Ú_read_metadataÚ DataSourceUpCloud._read_metadata6   s3   € Ü×&Ò&Ø×!Ñ!Ø—L‘LØŸ™Ø—L‘Lô	
ð 	
r'   c                óà  € V P                  4       w  rV'       g   R # \        P                  RV4       V P                  '       dz    \        P	                  R4       \
        P                  ! 4       p\        P	                  RV4       \        V P                  V4      ;_uu_ 4        V P                  4       pRRR4       M& \        P	                  R4       V P                  4       pXV n        VP#                  RV4      V P$                  R&   VP#                  R	4      V P$                  R
&   VP#                  R4      V P$                  R&   VP#                  R4      V P$                  R&   VP#                  RR4      V P$                  R&   VP#                  RR4      V n        VP#                  RR4      V n        R#   + '       g   i     Lß; i  \        \        P                  3 d0   p\        P                  ! \        \        T4      4        Rp?R # Rp?ii ; i  \        P                   dF   p\        P                  ! \        \        T4      4       \        P                  RT4        Rp?R # Rp?ii ; i)Fz"Running on UpCloud. server_uuid=%szFinding a fallback NICz*Discovering metadata via DHCP interface %sNz7Discovering metadata without DHCP-configured networkingzENo DHCP-enabled interfaces available, unable to fetch metadata for %sÚinstance_idzinstance-idÚhostnamezlocal-hostnameÚnetworkÚpublic_keyszpublic-keysÚregionÚdefaultÚavailability_zoneÚvendor_dataÚ	user_dataT)r-   ÚLOGÚinfoÚperform_dhcp_setupÚdebugÚcloudnetÚfind_fallback_nicr   r   r2   r   r   ÚInvalidMetaDataExceptionr   ÚlogexcÚstrr!   r   r   Úvendordata_rawÚuserdata_raw)r"   Ú
is_upcloudÚserver_uuidÚnicÚmdÚes   &     r%   Ú	_get_dataÚDataSourceUpCloud._get_data>   sÖ  € Ø$(×$5Ñ$5Ó$7Ñ!ˆ÷ Ùä�‰Ð5°{ÔCà×"×"Ð"ðÜ—	‘	Ð2Ô3Ü×0Ò0Ó2�Ü—	‘	ÐFÈÔLÜ$ T§[¡[°#×6Õ6Ø×,Ñ,Ó.�B÷ 7Ð6ðÜ—	‘	ØMôð ×(Ñ(Ó*�ð  ˆÔØ')§v¡v¨m¸[Ó'Iˆ�‰�mÑ$Ø*,¯&©&°Ó*<ˆ�‰Ð&Ñ'Ø#%§6¡6¨)Ó#4ˆ�‰�iÑ Ø')§v¡v¨mÓ'<ˆ�‰�mÑ$Ø-/¯V©V°H¸iÓ-Hˆ�‰Ð)Ñ*Ø Ÿf™f ]°DÓ9ˆÔØŸF™F ;°Ó5ˆÔá÷; 7×6ûä$¤g×&FÑ&FÐGô Ü—’œC¤ Q£Ô(Ýûðûô ×3Ñ3ô Ü—’œC¤ Q£Ô(Ü—‘ð6àôõ
 ûðúsO   ÁAG Â$F3Â5G Â?%H Æ3G	Æ>G ÇG ÇHÇ!$HÈHÈI-È(:I(É(I-c                óJ   € \         P                  ! V P                  4       4      # r)   )r   Úinstance_id_matches_system_uuidÚget_instance_id)r"   r#   s   &&r%   Úcheck_instance_idÚ#DataSourceUpCloud.check_instance_idk   s   € Ü×6Ò6°t×7KÑ7KÓ7MÓNÐNr'   c                óè   € V P                   '       d   V P                   # V P                  P                  R4      pV'       g   \        R4      h\        P
                  ! V4      V n         V P                   # )zŽ
Configure the networking. This needs to be done each boot,
since the IP and interface information might have changed
due to reconfiguration.
r7   z/Unable to get network meta-data from server....)r    r   r   ÚRuntimeErrorr*   Úconvert_network_config)r"   Úraw_network_configs   & r%   Únetwork_configÚ DataSourceUpCloud.network_confign   sj   € ð ××ÐØ×'Ñ'Ð'à!Ÿ]™]×.Ñ.¨yÓ9Ðß!ÜØAóð ô  )×?Ò?Øó 
ˆÔð ×#Ñ#Ð#r'   )r    r   r   r   r   r!   r   r   rH   rG   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Údsnamer@   r   r-   r2   rN   rS   ÚpropertyrY   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r%   r   r      sA   ø‡ € à€Fð Ðò"ò"(ò
ò+òZOð ñ$ó ö$r'   r   c                   ó   € ] tR t^†tRtRtRtR# )ÚDataSourceUpCloudLocalab  
Run in init-local using a DHCP discovery prior to metadata crawl.

In init-local, no network is available. This subclass sets up minimal
networking with dhclient on a viable nic so that it can talk to the
metadata service. If the metadata service provides network configuration
then render the network configuration for that instance based on metadata.
T© N)r[   r\   r]   r^   Ú__doc__r@   ra   rf   r'   r%   re   re   †   s   † ñð Ôr'   re   c                 ó8   € \         P                  ! V \        4      # r)   )r   Úlist_from_dependsÚdatasources)Údependss   &r%   Úget_datasource_listrl   ›   s   € Ü×$Ò$ W¬kÓ:Ð:r'   )ÚloggingÚ	cloudinitr   rB   r   r   Úcloudinit.net.dhcpr   Úcloudinit.net.ephemeralr   Úcloudinit.sources.helpersr   r*   Ú	getLoggerr[   r>   r   r   r   r   r   r   re   ÚDEP_FILESYSTEMÚDEP_NETWORKrj   rl   rf   r'   r%   Ú<module>ru      s    ðó å %ß #Ý /Ý 3Ý :à×Ò˜Ó!€à#Ð%NÐOÐ ð €
Ø€
Ø€ôh$˜×*Ñ*ô h$ôV
Ð.ô 
ð ˜g×4Ñ4Ð6Ð7Ø˜×/Ñ/°×1DÑ1DÐEÐFð€ô;r'   