HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /lib/python3/dist-packages/cloudinit/sources/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceOpenNebula.cpython-311.pyc
�

܍~c�?��D�ddlZddlZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZmZej
e��ZdZdZdgZGd�de
j��ZGd	�d
e��ZGd�de��ZGd
�d��Zd�Zd�Z	dd�Zdd�Zd�ZeZee
jffgZ d�Z!dS)�N)�log)�net�sources�subp�utilziid-dsopennebula�nobody�
context.shc�H�eZdZdZd�Zd�Zd�Zd�Zed���Z	d
d�Z
d	S)�DataSourceOpenNebula�
OpenNebulac��tj�||||��d|_tj�|jd��|_dS)N�
opennebula)r�
DataSource�__init__�seed�os�path�join�seed_dir)�self�sys_cfg�distro�pathss    �H/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceOpenNebula.pyrzDataSourceOpenNebula.__init__$sC����#�#�D�'�6�5�A�A�A���	�����U�^�\�B�B��
�
�
�c�j�tj�|��}|�d|j�d|j�d�S)Nz [seed=z	][dsmode=�])rr�__str__r�dsmode)r�roots  rrzDataSourceOpenNebula.__str__)s5���!�)�)�$�/�/��,0�D�D�$�)�)�)�T�[�[�[�I�Irc�<�dti}d}d}t}d|jvr|j�d��}|jg}|�t
����|D]�}	tj�	|j��rt||j|���}nK|�d��r6tjt||j���}tj||��}nJ#t"$rY��t$$r}|�d}~wtj$rt(�d|��YnwxYw|r|}t(�d|��n��|sdS|d	}	tj|	|g��}	|�|�d
��|j�d��g��|_|jt4jkrdS||_|�d��|_|	|_|�d
��|_dS)Nzinstance-id�	parseuser��asuserz/dev)r$rz%s was not mountablezfound datasource in %sF�metadata�DSMODEr�network-interfaces�userdataT) �DEFAULT_IID�DEFAULT_PARSEUSER�ds_cfg�getr�extend�find_candidate_devsrr�isdir�read_context_disk_dirr�
startswith�	functools�partialr�mount_cb�NonContextDiskDir�BrokenContextDiskDir�MountFailedError�LOG�warning�debug�
mergemanydict�_determine_dsmoderr�DSMODE_DISABLEDr�networkr%�userdata_raw)
r�defaults�resultsrr"�
candidates�cdev�partially_applied_func�exc�mds
          r�	_get_datazDataSourceOpenNebula._get_data-sS��!�;�/������&�	��$�+�%�%������4�4�I��m�_�
����-�/�/�0�0�0��	�	�D�
:��7�=�=���/�/�
J�3��d�k�)����G�G��_�_�V�,�,�	J�.7�->�-�(�#�{�.�.�.�*�
#�m�D�2H�I�I�G���$�
�
�
���'�
�
�
��	������(�
:�
:�
:����2�D�9�9�9�9�9�
:�����
����	�	�2�D�9�9�9���
�
�	��5��Z�
 ��
�
��X��
/�
/���,�,�
�[�[��
"�
"�D�K�O�O�H�$=�$=�>�
�
����;�'�1�1�1��5���	��{�{�#7�8�8�����
�#�K�K�
�3�3����ts%�&BC.�.
D5�:	D5�D�-D5�4D5c�B�|j|jvrd}nd}|�d|j�d�S)z/Return the subplatform metadata source details.zseed-dirzconfig-diskz (�))rr)r�subplatform_types  r�_get_subplatformz%DataSourceOpenNebula._get_subplatformjs7���=�D�I�%�%�)���,��,�,�,�d�i�i�i�8�8rc�"�|j�|jSdS�N)r>)rs r�network_configz#DataSourceOpenNebula.network_configrs���<�#��<���4rFc�|�|�|jtjkrd}nd}tj�|||��S)NTF)rr�DSMODE_NETWORKr�get_hostname)r�fqdn�
resolve_ip�
metadata_onlys    rrQz!DataSourceOpenNebula.get_hostnameys?�����{�g�4�4�4�!�
�
�"�
��!�.�.�t�T�:�F�F�FrN)FFF)�__name__�
__module__�__qualname__�dsnamerrrGrK�propertyrNrQ�rrrr s�������
�F�C�C�C�
J�J�J�;�;�;�z9�9�9�����X��G�G�G�G�G�Grrc��eZdZdS)r5N�rUrVrWrZrrr5r5���������Drr5c��eZdZdS)r6Nr\rZrrr6r6�r]rr6c�f�eZdZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zdd�Zd�ZdS)�OpenNebulaNetworkNc��||_|�t|��}tjd�t	|���d����D����|_i|_|���D]K\}}tj	d|��}|r/|�
d��|j|���<�LdS)Nc��g|]}|��SrZrZ��.0�ks  r�
<listcomp>z.OpenNebulaNetwork.__init__.<locals>.<listcomp>�s(��
�
�
���
�
�
rc�6�tj|d��S)N�)r�natural_sort_key)res r�<lambda>z,OpenNebulaNetwork.__init__.<locals>.<lambda>�s��#�"6�q��t�"<�"<�r)�keyz
^(.+)_MAC$rh)�context�get_physical_nics_by_mac�collections�OrderedDict�sorted�items�ifaces�context_devname�re�match�group�lower)rrlr�system_nics_by_macre�v�ms       rrzOpenNebulaNetwork.__init__�s�������%�!9�&�!A�!A��!�-�
�
��&�,�,�.�.�<�<����
�
�
�
�
��� "����M�M�O�O�	=�	=�D�A�q�����*�*�A��
=�23�'�'�!�*�*��$�Q�W�W�Y�Y�/��	=�	=rc�v�d�d�|�d��dd�D����S)N�.c�H�g|]}tt|d������ S)�)�str�int)rd�cs  rrfz,OpenNebulaNetwork.mac2ip.<locals>.<listcomp>�s&��E�E�E�Q��S��B�Z�Z���E�E�Er�:�)r�split�r�macs  r�mac2ipzOpenNebulaNetwork.mac2ip�s6���x�x�E�E�#�)�)�C�.�.����2D�E�E�E�F�F�Frc�d�|�|���d��ddzS)Nr|rz.0)r��
rpartitionr�s  r�mac2networkzOpenNebulaNetwork.mac2network�s,���{�{�3���*�*�3�/�/��2�T�9�9rc�J�i}|�|dd�����}|�|j�dd�������|r||d<|�|dd�����}|r||d<|S)N�dns��DNS�	addresses�
search_domain�search)�	get_fieldr�r-rlr,)r�dev�nameserversr�r�s     r�get_nameserversz!OpenNebulaNetwork.get_nameservers�s������n�n�S�%��,�,�2�2�4�4���
�
�4�<�#�#�E�2�.�.�4�4�6�6�7�7�7��	+�'*�K��$����s�O�R�@�@�F�F�H�H�
��	2�$1�K��!��rc�.�|�|d��S)N�mtu�r��rr�s  r�get_mtuzOpenNebulaNetwork.get_mtu�s���~�~�c�5�)�)�)rc�V�|�|d|�|����S)N�ip)r�r��rr�r�s   r�get_ipzOpenNebulaNetwork.get_ip�s$���~�~�c�4����S�)9�)9�:�:�:rc��g}|�|d��}|r|�|��|�|d��}|r|�|��|S)N�ip6�ip6_ula)r��append)rr��
addresses6r�r�s     r�get_ip6zOpenNebulaNetwork.get_ip6�sk���
��n�n�S�%�(�(���	#����c�"�"�"��.�.��i�0�0���	'����g�&�&�&��rc�0�|�|dd��S)N�ip6_prefix_length�64r�r�s  r�get_ip6_prefixz OpenNebulaNetwork.get_ip6_prefix�s���~�~�c�#6��=�=�=rc�.�|�|d��S)N�gatewayr�r�s  r�get_gatewayzOpenNebulaNetwork.get_gateway�s���~�~�c�9�-�-�-rc�X�|�|d|�|d����S)N�ip6_gateway�gateway6r�r�s  r�get_gateway6zOpenNebulaNetwork.get_gateway6�s/���~�~������s�J� ?� ?�
�
�	
rc�0�|�|dd��S)N�maskz
255.255.255.0r�r�s  r�get_maskzOpenNebulaNetwork.get_mask�s���~�~�c�6�?�;�;�;rc�V�|�|d|�|����S)Nr>)r�r�r�s   r�get_networkzOpenNebulaNetwork.get_network�s&���~�~�c�9�d�.>�.>�s�.C�.C�D�D�Drc��|j�d�||f�������}|dvr|n|S)z�return the field name in context for device dev.

        context stores <dev>_<NAME> (example: eth0_DOMAIN).
        an empty string for value will return default.�_)Nr�)rlr,r�upper)rr��name�default�vals     rr�zOpenNebulaNetwork.get_field�sX��
�l����H�H����
�
�
�e�g�g�

�
����+�+�w�w��4rc�P��i}d|d<i|d<i}|j���D�]v\}}|���}|j�||��}i}d|i|d<g|d<|�|��}t
tj|����}|d�	|�
||��dz|z��|�|��}	|	r<|�|���|d�
�fd�|	D����|�|��}
|
r|
|d	<|�|��}|r||d
<|�|��}|r||d<|�|��}
|
r|
|d<|||<��x||d<|S)
Nr��version�	ethernets�
macaddressrur��/c� ��g|]
}|dz�z��S)r�rZ)rd�i�prefix6s  �rrfz.OpenNebulaNetwork.gen_conf.<locals>.<listcomp>s"���;�;�;�1�Q��W�w�&�;�;�;r�gateway4r�r�r�)rrrqrwrsr,r�rr�ipv4_mask_to_net_prefixr�r�r�r�r-r�r�r�r�)r�netconfr�r�r��c_dev�devconfr��prefixr�r�r�r�r�r�s              @r�gen_confzOpenNebulaNetwork.gen_conf�s��������	��!�����	���)�)�+�+�.	%�.	%�H�C���)�)�+�+�C��(�,�,�S�#�6�6�E��G�!-�c�2�G�G��$&�G�K� ��=�=��'�'�D���4�T�:�:�;�;�F��K� �'�'����E�3�(?�(?�#�(E��(N�O�O�O����e�,�,�J��
��-�-�e�4�4����$�+�+�;�;�;�;�
�;�;�;����
�&�&�u�-�-�G��
.�&-��
�#��(�(��/�/�H��
/�&.��
�#��.�.�u�5�5�K��
5�)4��
�&��,�,�u�%�%�C��
%�!$����$�I�c�N�N�(�����rrM)rUrVrWrr�r�r�r�r�r�r�r�r�r�r�r�r�rZrrr`r`�s�������=�=�=�=�,G�G�G�:�:�:�	�	�	�*�*�*�;�;�;����>�>�>�.�.�.�
�
�
�<�<�<�E�E�E�5�5�5�5� 7�7�7�7�7rr`c��g}dD]H}tj|��}|���|D]}||vr|�|����I|S)zE
    Return a list of devices that may contain the context disk.
    )z
LABEL=CONTEXTzLABEL=CDROMzTYPE=iso9660)r�find_devs_with�sortr�)�combined�f�devs�ds    rr.r. sn���H�
=�#�#���"�1�%�%���	�	�����	#�	#�A��� � �����"�"�"��	#��Orc��dd|gS)N�sudoz-urZ��users r�switch_user_cmdr�/s���D�$��rc��t|t��r|g}n|�ddg}|�t}d�tjdzD��}|}|�|}g}d�d��}d�}d|z||��zd	|zzdz||��zdz}	g}
|�||��}
|
�|��tj|
|	�
��\}}d}
i}i}d}|dd
�}|�d��D]n}	|�dd��\}}||ur|||<n&||
vr"||vs|�	|��|kr|||<�M#t$r|dkr�|�|}n||ur|}Y�kwxYw|S)N�bashz-ec��g|]}d|z��S)z${!%s*}rZ)rd�xs  rrfz&parse_shell_config.<locals>.<listcomp>As��A�A�A��y�1�}�A�A�Arr��
)z__v="";r�c�b�d�ddd�|��zdddf��S)Nr�zprintf "%s\0" _start_zfor __v in %s; do� z%   printf "%s=%s\0" "$__v" "${!__v}";�doner�)r)�vlists r�
varprinterz&parse_shell_config.<locals>.varprinterOs;���y�y�(�#�c�h�h�u�o�o�5�8���
�
�
�	
rz
unset IFS
z{
%s

:
} > /dev/null
)�data)�
EPOCHREALTIME�EPOCHSECONDS�RANDOM�LINENO�SECONDSr��SRANDOM�__vr�����=rh�_start_)�
isinstancerr��string�
ascii_lettersrr-rr�r,�
ValueError)�content�keylistr�r$�switch_user_cb�allvars�
keylist_in�setupr��bcmd�cmd�output�_error�excluded�preset�ret�target�linerkr�s                    r�parse_shell_configr�3s)���$������v���	
����~����(��B�A�f�&:�S�&@�A�A�A�G��J������
��I�I�	
�
�
�E�

�

�

�0	�
�	�
�*�W�
�
�	�(�'�
1�	2��		�
�*�W�
�
�	��
	�	�
�C�
���n�V�$�$���J�J�t�����y��4�0�0�0��V�V�	�H��F�
�C�
�F�
�A�b�D�\�F����V�$�$����	����C��+�+�J�S�#�����!��s����H�$�$��z�!�!�V�Z�Z��_�_��%;�%;���C�����	�	�	��y� � ���~�����6�!�!�����
	�����Js�2A	D<�<E�Ec�H�i}tD]F}tj�||��}tj�|��r|||<�G|st|�dd�����i}did�}d|vr�|�L	t
j|��n6#t$r)}td�
|�����|�d}~wwxYw	tj�|d��}	tj|	��}
t|
|���}nY#tj$r}td	|z��|�d}~wt $r}td
|z��|�d}~wwxYwtd���|s|S||d<d}d
|vrd
}nd|vrd}|r<|�|�����}d�|D��|dd<dD]}
|
|vr||
|dd<n�d|vr|d|d<nd|vr|d|d<d|vrx|�d|�d����}|dkrI	tj|d��|d<n*#t($rt*�d��YnwxYwd�|D��}|r't/||��}|���|d<|S)z�
    read_context_disk_dir(source_dir):
    read source_dir and return a tuple with metadata dict and user-data
    string populated.  If not a valid dir, raise a NonContextDiskDir
    z: zno files foundN)r(r%r	z'configured user '{user}' does not existr�r#zError processing context.sh: %szError reading context.sh: %szMissing context.shr%�SSH_KEY�SSH_PUBLIC_KEYc�Z�g|](}t|���|�d���&|��)S)�#)�lenr1)rdr�s  rrfz)read_context_disk_dir.<locals>.<listcomp>�sG��.
�.
�.
��c�$�i�i�.
�8<����8L�8L�.
��.
�.
�.
rzpublic-keys)�SET_HOSTNAME�HOSTNAME�	PUBLIC_IP�	IP_PUBLIC�ETH0_IPzlocal-hostname�	USER_DATAr(�USERDATA�USERDATA_ENCODING�USER_DATA_ENCODING�base64z"Failed base64 decoding of userdatac�<�g|]}tjd|���|��S)z
^ETH\d+_IP.*$)rtrurcs  rrfz)read_context_disk_dir.<locals>.<listcomp>�s*��G�G�G����2B�A�)F�)F�G�1�G�G�Grr')�CONTEXT_DISK_FILESrrr�isfiler5�pwd�getpwnam�KeyErrorr6�formatr�	load_filer�r�ProcessExecutionError�IOErrorr,�
splitlines�b64d�	TypeErrorr8r9r`r�)�
source_dirrr$�found�af�fnrlrA�err��ssh_key_var�linesre�encoding�ipaddr_keys�onets                 rr0r0�s���
�E� ����
�W�\�\�*�b�
)�
)��
�7�>�>�"���	��E�"�I���K��J�J�J�8H�8H� I�J�J�J��G��R�0�0�G��u�����
���V�$�$�$�$���
�
�
�*�=�D�D�#�E������	�����
����	��7�<�<�
�L�9�9�D��n�T�*�*�G�(���@�@�@�G�G���)�	�	�	�&�1�Q�7����
������	�	�	�#�.�!�4����
�����	����
 � 4�5�5�5�����!�G�J���K��G������	�W�	$�	$�&���
����K�(�(�3�3�5�5��.
�.
�"�.
�.
�.
��
��M�*�O������<�<�4;�A�J�G�J�� 0�1��E��
�g���%�k�2��
���	�w�	�	�%�j�1��
���W����;�;�����-A�!B�!B�
�
���x���
B�&*�i��
�0C�&D�&D��
�#�#���
B�
B�
B����@�A�A�A�A�A�
B����H�G�g�G�G�G�K��8� ��&�1�1��(,�
�
����$�%��NsO�5B
�

B=�$B8�8B=�AD�E�D)�)
E�6E	�	E�%I�$I*�)I*c���tj��}t�fd�|���D����S)Nc�R��g|]#\}}�j�|���||f��$SrZ)�
networking�is_physical)rdrz�nrs   �rrfz,get_physical_nics_by_mac.<locals>.<listcomp>s7���M�M�M�D�A�q�F�,=�,I�,I�!�,L�,L�M�!�Q��M�M�Mr)r�get_interfaces_by_mac�dictrq)rr�s` rrmrm�sB����$�&�&�D��M�M�M�M�D�J�J�L�L�M�M�M���rc�6�tj|t��SrM)r�list_from_depends�datasources)�dependss r�get_datasource_listr2s���$�W�k�:�:�:r)NNNNrM)"rnr2rrrtr��	cloudinitr�loggingrrrr�	getLoggerrUr8r)r*rrr�	Exceptionr5r6r`r.r�r�r0rm�DataSourceOpenNebulaNet�DEP_FILESYSTEMr0r2rZrr�<module>r9s�����������	�	�	�	�
�
�
�
�	�	�	�	�
�
�
�
�$�$�$�$�$�$�.�.�.�.�.�.�.�.�.�.�.�.��g���!�!�� ����"�^��_G�_G�_G�_G�_G�7�-�_G�_G�_G�D	�	�	�	�	�	�	�	�	�	�	�	�	�	�9�	�	�	�S�S�S�S�S�S�S�S�l��� � � �
CG�h�h�h�h�V]�]�]�]�@���/���G�2�4�5���;�;�;�;�;r