3
cj# @ s U d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dljj Z
d dlmZ d dl
mZ d dlmZmZ d dlmZmZmZmZ d dlZd dlmZmZmZmZmZ d dlmZmZ d dl m!Z! d d l"m#Z#m$Z$m%Z% d d
l&m'Z'm(Z( d dl)m*Z* d dl+m,Z,m-Z-m.Z.m/Z/ d d
l0m1Z1 d dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;mZ>m?Z?m@Z@mAZA d dlBmCZC y.d dlDZDejEeDjDdejFdd dZGeGW nP eHeIfk
r yd dlJZKeKjLjMjLZGW n eHk
r dd ZGY nX Y nX ejNeOZPdZQddiZRdZSdZTdZUdZVG dd deZWdZXeeY Xd d!d"d#gZZd$d% Z[d&d' Z\eYeYeeY d(d)d*Z]eYeYd+d,d-Z^e8eeY d.d/d0Z_e8eYeeY d+d1d2Z`d|eYd.d3d4Zad5d6 Zbd7d8 Zcd9d: ZdeeY d.d;d<Zeejf rd=ZTeed>Zgegdk r
ePjhd? d@eg ZSn
ePjhdA dZXeUdBeSidCdCdDZidBdEdFgdCdGieTdHdIgdJZjdKeQgZkdLZldMZmdNZnG dOdP dPejoZpdQdR ZqdSdT ZrdUdV ZsdWdX ZtdYdZ Zud}d[d\Zve8d]d^ Zwe8d_d` Zxe8eSdadafeYeYeyeydbdcddZze8d~dedfZ{e8dgdh Z|didj Z}e8dkdl Z~e8eXfdmdnZe8dodp Ze8dqdr Ze8eeyedsdtduZe8ed.dvdwZe8ddxdyZepZepejffgZdzd{ ZdS ) N)Enum)Path)sleeptime)AnyDictListOptional)netsourcesssh_utilsubputil)
EventScope EventType)
device_driver)NoDHCPLeaseErrorNoDHCPLeaseInterfaceErrorNoDHCPLeaseMissingDhclientError)EphemeralDHCPv4EphemeralIPv4Network)events)errorsidentityimdskvp)netlink)DEFAULT_WIRESERVER_ENDPOINTBrokenAzureDataSourceNonAzureDataSource OvfEnvXmlazure_ds_reporterazure_ds_telemetry_reporterbuild_minimal_ovfdhcp_log_cbget_boot_telemetryget_ip_from_lease_valueget_metadata_from_fabricget_system_infopush_log_to_kvpreport_diagnostic_eventreport_failure_to_fabric)UrlErrorz$6$ )Zstrlen)Zsaltc C s t ddS )zRaise when called so that importing this module doesn't throw
ImportError when ds_detect() returns false. In this case, crypt
and passlib are not needed.
z/crypt and passlib not found, missing dependencyN)ImportError)_ r0 %/usr/lib/python3.6/DataSourceAzure.py
blowfish_hashB s r2 Azurezinstance-idziid-AZURE-NODEz/dev/disk/cloud/azure_resourceZext4z/var/lib/waagentz/dev/sr0c @ s e Zd ZdZdZdZdZdZdS )PPSTypeNoneZPreprovisionedOSDiskZRunningZSavableZUnknownN)__name__
__module____qualname__NONEOS_DISKRUNNINGSAVABLEUNKNOWNr0 r0 r0 r1 r4 Y s
r4 z/sys/firmware/acpi/tables/OEM0z"/etc/netplan/90-hotplug-azure.yamlz /usr/local/sbin/ephemeral_eth.shz+/etc/udev/rules.d/10-net-device-added.rulesz#/run/network/interfaces.ephemeral.dc C s xz| j D ]n}tjd|r
|j }t|dkr
|d jd}t|dkr
|d dkr
|d j|r
|d jd}|d S q
W d S )
z
dev.storvsc.1.%pnpinfo:
classid=32412632-86cb-44a2-9b5c-50d1417354f5
deviceid=00000000-0001-8899-0000-000000000000
Zpnpinfo =r deviceid .N)
splitlinesresearchsplitlen
startswith)
sysctl_outrA lineZfieldscolumnscompsr0 r0 r1 "find_storvscid_from_sysctl_pnpinfom s rN c C s2 x,| j D ] }tj||r
|j }|d S q
W dS )z
scbus0 on ata0 bus 0
scbus1 on ata1 bus 0
scbus2 on blkvsc0 bus 0
scbus3 on blkvsc1 bus 0
scbus4 on storvsc2 bus 0
scbus5 on storvsc3 bus 0
scbus-1 on xpt0 bus 0
r N)rD rE rF rG )camcontrol_outZdisk_drvrK itemsr0 r0 r1 find_busdev_from_disk s
rQ )rO busdevreturnc C sN xH| j D ]<}tj||r
|jd}t|dkr
|d jd}|d S q
W dS )z
at scbus1 target 0 lun 0 (cd0,pass0)
at scbus2 target 0 lun 0 (da0,pass1)
at scbus3 target 1 lun 0 (da1,pass2)
(r? rB ,r N)rD rE rF rG rH )rO rR rK rP Zdev_passr0 r0 r1 find_dev_from_busdev s
rV )macrS c C sZ t | dkrRdj| dd | dd | dd | dd | dd | dd g} | j S ) z1Normalize mac address with colons and lower-case. :r r?
)rH joinlower)rW r0 r0 r1 normalize_mac_address s Br` )rS c C s dd t j D S )z-Get Hyper-V NICs as normalized MAC addresses.c S s$ g | ]}|d dkrt |d qS )r? hv_netvscrB )r` ).0nr0 r0 r1