| 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 : |
o
��im2 � @ s0 d dl Z d dlZd dlZd dlmZ d dlmZmZmZ d dl m
Z
d dlmZm
Z
mZmZ d dlmZ d dlmZ d dlmZ d d lmZ d d
lmZ d dlmZ e �e�ZdZG d
d� d�ZG dd� dej �Z!G dd� 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 @ s6 e Zd ZdZdd� 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
c C s
|| _ d S �N)�virtual_router_address)�selfr � r �H/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceCloudStack.py�__init__/ �
z'CloudStackPasswordServerClient.__init__c C sH d| 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 �respr r r �_do_request2 s z*CloudStackPasswordServerClient._do_requestzGetting password�always��log_modec C s4 | � d�}|dv rd S |dkrtd��| � d� |S )N�send_my_password)� �saved_password�bad_requestz-Error when attempting to fetch root password.r1 )r+ r$ )r �passwordr r r �get_password= s
z+CloudStackPasswordServerClient.get_passwordN) �__name__�
__module__�__qualname__�__doc__r r+ r �timedr4 r r r r r # s r c s� e Zd ZdZdZdZdZ� fdd�Zdd� Z d� fd d
� Z dd� Z
d
d� Zede
fdd��Zdd� Zejddd�dd� �Zdd� Zedd� �Z� ZS )�DataSourceCloudStackFr �x �2 c s8 t � �|||� tj�|jd�| _d| _i | _d | _d S )N�cs�latest) �superr �os�path�join�seed_dir�api_ver�cfg�vr_addr)r �sys_cfg�distro�paths�� __class__r r r P s
zDataSourceCloudStack.__init__c
C s� t �d� dD ]}t�|�}|r|�� S qt �d� ttj�� t�� �| j d�}|r8|�� W d � S W d � n1 sBw Y t �d| j j
j� z| j j
�| j j
�}|�d�}|rf|�� W S W n tttfys Y nw t �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 dhclientrN NzBCould 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'