0 #ˆl–ß=¿JJj"Tâ‚ ÆÚ¸Û*bѿ ƒh¹ÁÀ¿#ˆl–ß=¿J µ2ÛR‚œP-\l˜´oà ƒx kÂÁÀ¨a '¡Dgg(ã@sddlZddlZddlmZmZmZmZddlmZm Z ddl m Z ddl m Z ddlmZddlmZe e¡ZdZd eiZd Zd ZeegZd Zd ZdZeZeeeeg7ZGdd„dejej ƒZ!Gdd„de!ƒZ"ddd„Z#e"ej$ffe!ej$ej%ffgZ&dd„Z'dS)éN)ÚdmiÚsourcesÚ url_helperÚutil)Ú EventScopeÚ EventType)ÚNoDHCPLeaseError)ÚEphemeralDHCPv4)ÚDataSourceOracle)Ú openstackziid-dsopenstackz instance-idzOpenStack NovazOpenStack ComputeZOpenTelekomCloudz SAP CCloud VMZ HUAWEICLOUDcs€eZdZdZejZdZej e j e j e j e jhiZ‡fdd„Zdd„Zdd„Zd d „Zed d „ƒZd d„Zdd„Zdd„Z‡ZS)ÚDataSourceOpenStackZ OpenStackFcsHtt|ƒ |||¡d|_t |j¡|_d|_i|_ t j |_ t j |_ dS©N)Úsuperr Ú__init__Úmetadata_addressrZfetch_ssl_detailsÚpathsÚ ssl_detailsÚversionÚfilesrÚUNSETÚ ec2_metadataÚ network_json)ÚselfÚsys_cfgÚdistror©Ú __class__©úI/usr/lib/python3.9/site-packages/cloudinit/sources/DataSourceOpenStack.pyr<szDataSourceOpenStack.__init__cCs"tj |¡}d||j|jf}|S)Nz%s [%s,ver=%s])rÚ DataSourceÚ__str__Údsmoder)rÚrootZmstrrrrr Es zDataSourceOpenStack.__str__c Csdj|jjd�dg}|j d|¡}dd„|Dƒ}t|ƒt|ƒkr\t dtt|ƒt|ƒƒ¡t |ƒrj|}nt  d¡|}g}i}|D]"}t   |d ¡}|  |¡|||<q„| ¡}t ¡} t j||j|jd d �\} } | rèt d || ¡nt d |tt ¡| ƒ¡| | ¡|_t| ƒS)Nz"http://[fe80::a9fe:a9fe%25{iface}])Zifacezhttp://169.254.169.254Z metadata_urlscSsg|]}t |¡r|‘qSr)rZis_resolvable_url)Ú.0ÚxrrrÚ RózADataSourceOpenStack.wait_for_metadata_service..z,Removed the following from metadata urls: %sz+Empty metadata url list! using default listr F)ÚurlsZmax_waitÚtimeoutZconnect_synchronouslyzUsing metadata source: '%s'z2Giving up on OpenStack md from %s after %s seconds)ÚformatrÚfallback_interfaceÚds_cfgÚgetÚsetÚLOGÚdebugÚlistÚlenÚwarningrZ combine_urlÚappendÚget_url_paramsÚtimeÚ monotonicZ wait_for_urlZmax_wait_secondsÚtimeout_secondsÚintrÚbool) rZ DEF_MD_URLSr'ZfilteredZmd_urlsZurl2baseÚurlZmd_urlÚ url_paramsZ start_timeZ avail_urlZ _responserrrÚwait_for_metadata_serviceJsNÿüþ    ü ý z-DataSourceOpenStack.wait_for_metadata_servicecCst | ¡¡Sr )rZinstance_id_matches_system_uuidZget_instance_id)rrrrrÚcheck_instance_idysz%DataSourceOpenStack.check_instance_idcCsn|jtjkr|jSt |j dd¡¡r2d|_|jS|jtjkrLt  d¡dSt  d¡t j |jdd�|_|jS)z@Return a network config dict for rendering ENI or netplan files.Zapply_network_configTNz