| Server IP : 3.96.16.70 / Your IP : 216.73.216.15 Web Server : Apache System : Linux ip-172-31-26-103.ca-central-1.compute.internal 6.1.163-186.299.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Feb 24 16:35:42 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/lib/python3.9/site-packages/cloudinit/sources/__pycache__/ |
Upload File : |
a
�½b�? � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm Z m
Z
mZmZ e�
e�ZdZdZdgZG dd� de
j�ZG d d
� d
e�ZG dd� de�ZG d
d� de�Zdd� Zdd� Zddd�Zddd�Zdd� ZeZee
j ffgZ!dd� Z"dS )� N)�log)�net�sources�subp�utilziid-dsopennebulaZnobody�
context.shc @ sF e Zd ZdZdd� Zdd� Zdd� Zdd � Zed
d� �Z dd
d�Z
dS )�DataSourceOpenNebulaZ
OpenNebulac C s. t j�| |||� d | _tj�|jd�| _d S )NZ
opennebula)r �
DataSource�__init__�seed�os�path�join�seed_dir)�selfZsys_cfg�distro�paths� r �J/usr/lib/python3.9/site-packages/cloudinit/sources/DataSourceOpenNebula.pyr
$ s zDataSourceOpenNebula.__init__c C s t j�| �}d|| j| jf S )Nz%s [seed=%s][dsmode=%s])r r �__str__r �dsmode)r �rootr r r r ) s zDataSourceOpenNebula.__str__c
C s� dt i}d }d }t}d| jv r*| j�d�}| jg}|�t� � |D ]�}zLtj� | j�rht
|| j|d�}n(|�d�r�t
jt
|| jd�}t�||�}W nZ ty� Y qBY nF ty� } z|�W Y d }~n(d }~0 tjy� t�d|� Y n0 |rB|}t�d|� �q
qB|�sdS |d } t�| |g�} | �|�d
�| j�d�g�| _| jtjk�rZdS || _|�d�| _| | _|�d
�| _dS )Nzinstance-id� parseuser��asuserz/dev)r r z%s was not mountablezfound datasource in %sF�metadataZDSMODEr �network-interfaces�userdataT) �DEFAULT_IID�DEFAULT_PARSEUSERZds_cfg�getr �extend�find_candidate_devsr r
�isdir�read_context_disk_dirr �
startswith� functools�partialr Zmount_cb�NonContextDiskDir�BrokenContextDiskDirZMountFailedError�LOG�warning�debugZ
mergemanydictZ_determine_dsmoder r ZDSMODE_DISABLEDr �networkr Zuserdata_raw)
r �defaults�resultsr r Z
candidatesZcdevZpartially_applied_func�excZmdr r r � _get_data- sZ
�
��zDataSourceOpenNebula._get_datac C s$ | j | jv rd}nd}d|| jf S )z/Return the subplatform metadata source details.zseed-dirzconfig-diskz%s (%s))r r )r Zsubplatform_typer r r �_get_subplatformj s z%DataSourceOpenNebula._get_subplatformc C s | j d ur| j S d S d S �N)r- )r r r r �network_configr s
z#DataSourceOpenNebula.network_configFc C s. |d u r| j tjkrd}nd}tj�| ||�S )NTF)r r ZDSMODE_NETWORKr �get_hostname)r ZfqdnZ
resolve_ipZ
metadata_onlyr r r r5 y s
z!DataSourceOpenNebula.get_hostnameN)FFF)�__name__�
__module__�__qualname__Zdsnamer
r r1 r2 �propertyr4 r5 r r r r r s =
r c @ s e Zd ZdS )r( N�r6 r7 r8 r r r r r( � s r( c @ s e Zd ZdS )r) Nr: r r r r r) � s r) c @ s� e Zd Zddd�Zdd� Zdd� Zdd � Zd
d� Zdd
� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zddd�Zdd� ZdS ) �OpenNebulaNetworkNc C s| || _ |d u rt|�}t�dd� t|�� dd� d�D ��| _i | _|�� D ],\}}t� d|�}|rJ|�
d�| j|�� <