/usr/lib/python3/dist-packages/cloudinit/sources/__pycache__
NameSizeModeActions
DataSourceAkamai.cpython-310.pyc85290644editdlrm
DataSourceAliYun.cpython-310.pyc121310644editdlrm
DataSourceAltCloud.cpython-310.pyc72320644editdlrm
DataSourceAzure.cpython-310.pyc529630644editdlrm
DataSourceBigstep.cpython-310.pyc19580644editdlrm
DataSourceCloudCIX.cpython-310.pyc47660644editdlrm
DataSourceCloudSigma.cpython-310.pyc37920644editdlrm
DataSourceCloudStack.cpython-310.pyc103020644editdlrm
DataSourceConfigDrive.cpython-310.pyc85910644editdlrm
DataSourceDigitalOcean.cpython-310.pyc38830644editdlrm
DataSourceEc2.cpython-310.pyc286660644editdlrm
DataSourceExoscale.cpython-310.pyc61090644editdlrm
DataSourceGCE.cpython-310.pyc101260644editdlrm
DataSourceHetzner.cpython-310.pyc63390644editdlrm
DataSourceIBMCloud.cpython-310.pyc137660644editdlrm
DataSourceLXD.cpython-310.pyc137980644editdlrm
DataSourceMAAS.cpython-310.pyc119180644editdlrm
DataSourceNoCloud.cpython-310.pyc99850644editdlrm
DataSourceNone.cpython-310.pyc14170644editdlrm
DataSourceNWCS.cpython-310.pyc41470644editdlrm
DataSourceOpenNebula.cpython-310.pyc124340644editdlrm
DataSourceOpenStack.cpython-310.pyc81680644editdlrm
DataSourceOracle.cpython-310.pyc147910644editdlrm
DataSourceOVF.cpython-310.pyc94540644editdlrm
DataSourceRbxCloud.cpython-310.pyc75520644editdlrm
DataSourceScaleway.cpython-310.pyc111630644editdlrm
DataSourceSmartOS.cpython-310.pyc253120644editdlrm
DataSourceUpCloud.cpython-310.pyc45220644editdlrm
DataSourceVMware.cpython-310.pyc284110644editdlrm
DataSourceVultr.cpython-310.pyc36410644editdlrm
DataSourceWSL.cpython-310.pyc115500644editdlrm
__init__.cpython-310.pyc324600644editdlrm
Edit: /usr/lib/python3/dist-packages/cloudinit/sources/__pycache__/DataSourceCloudStack.cpython-310.pyc (10302B)
o th3@s4ddlZddlZddlZddlmZddlmZmZmZddl m Z ddl m Z m Z mZmZmZddl mZddl mZddlmZdd lmZdd lmZdd lmZeeZd ZGd ddZ Gdddej!Z"Gddde"Z#ddZ$ddZ%ddZ&de'fddZ(e#ej)ffe"ej)ej*ffgZ+ddZ,dS)N)suppress)gaierror getaddrinfo inet_ntoa)pack)dminet performancesourcessubp) url_helper)util)dhcp)NoDHCPLeaseError)EphemeralIPNetwork)ec2 CloudStackc@s6eZdZdZddZddZejdddd d Zd S) 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 cCs ||_dSN)virtual_router_address)selfrrH/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceCloudStack.py__init__/ z'CloudStackPasswordServerClient.__init__cCs:tddddddddd d |d |jg \}}|S) Nwgetz--quietz--tries3z --timeout20z--output-document-z--headerzDomU_Request: {0}z{0}:8080)r formatrstrip)r domu_requestoutput_rrr _do_request2s z*CloudStackPasswordServerClient._do_requestzGetting passwordalwayslog_modecCs4|d}|dvr dS|dkrtd|d|S)Nsend_my_password)saved_password bad_requestz-Error when attempting to fetch root password.r*)r$ RuntimeError)rpasswordrrr get_passwordGs  z+CloudStackPasswordServerClient.get_passwordN) __name__ __module__ __qualname____doc__rr$r timedr.rrrrr#s   rcseZdZdZdZdZdZfddZddZ   dfd d Z d d Z d dZ e de fddZddZejdddddZddZeddZZS)DataSourceCloudStackFrx2cs8t|||tj|jd|_d|_i|_d|_dS)Ncslatest) superrospathjoinseed_dirapi_vercfgvr_addr)rsys_cfgdistropaths __class__rrrZs  zDataSourceCloudStack.__init__cCstdtd}|r|Stdttjt|jd}|r-|WdSWdn1s7wYtd|jj j tt |jj |jj }|dpYd}|WdS1sfwYtddS)z Try obtaining a "domain-name" DHCP lease parameter: - From systemd-networkd lease - From dhclient lease z.Try obtaining domain name from networkd leases DOMAINNAMEzHCould not obtain FQDN from networkd leases. Falling back to ISC dhclientz domain-nameNzBCould not obtain FQDN from ISC dhclient leases. Falling back to %szNo dhcp leases found)LOGdebugrnetworkd_get_option_from_leasesrNoDHCPLeaseMissingDhclientError IscDhclientget_key_from_latest_leaserB dhcp_client client_nameFileNotFoundErrorget_newest_leasefallback_interfaceget)r domainname domain_name latest_leaserrr_get_domainnamecs:     z$DataSourceCloudStack._get_domainnamecsnt|||}|r5d|jvr5td|}|r/|jd|}td|t||jStd||S)z Returns instance's hostname / fqdn First probes the parent class method. If fqdn is requested, and the parent method didn't return it, then attach the domain-name from DHCP response. .zFQDN requestedzObtained the following FQDN: %szNCould not determine domain name for FQDN. Fall back to hostname as an FQDN: %s) r9 get_hostnamehostnamerGrHrVr DataSourceHostname is_default)rfqdn resolve_ip metadata_onlyrYrSrDrrrXs   z!DataSourceCloudStack.get_hostnamecCs|}|jdkr dSt|jdg}t}tj||j|jt j d\}}|r1t d|t|St d|t t|t|S)NrFzlatest/meta-data/instance-id)urlsmax_waittimeout status_cbzUsing metadata source: '%s'z>Giving up on waiting for the metadata from %s after %s seconds)get_url_paramsmax_wait_secondsuhelp combine_urlmetadata_addresstime monotonic wait_for_urltimeout_secondsrGwarningrHcriticalintbool)r url_paramsr_ start_timeurl _responserrrwait_for_metadata_services.    z.DataSourceCloudStack.wait_for_metadata_servicecCs|jSr)r?rrrrget_config_objsz#DataSourceCloudStack.get_config_objreturncCstS)z#Check if running on this datasource)is_platform_viablerrrr ds_detectszDataSourceCloudStack.ds_detectc CsVi}tj||jddr|d|_|d|_td|jdS|jr3t }td|t |j |}nt }zI|<t |j }t|trJ|dn||_|jsTtd d |jd|_|sj WdWd S|WdWS1sywYWdStytd |Yd Sty}ztd t|WYd}~d Sd}~ww)N/)basez user-dataz meta-dataz%Using seeded cloudstack data from: %sTzAttempting DHCP on: %sdhcp-server-identifierzNo virtual router found!zhttp://Fz#Unable to obtain a DHCP lease on %sz$Failed fetching metadata service: %s)r read_optional_seedr= userdata_rawmetadatarGrHperform_dhcp_setuprfind_fallback_nicrrB nullcontextget_vr_address isinstancedictrRr@r,rgrt_crawl_metadatarrl Exceptionstr)rseed_ret primary_nicnetwork_contextr@errr _get_datasD     (  zDataSourceCloudStack._get_datazCrawling metadatar%r&cCszt|j|j|_t|j|j|_t|j}z| }Wnt y/t t d|jYdSw|r;d|ddid|_dS)Nz/Failed to fetch password from virtual router %sTexpireF) ssh_pwauthr-chpasswd)rget_instance_userdatar>rgr~get_instance_metadatarrr@r.rr logexcrGr?)rpassword_client set_passwordrrrrs0   z$DataSourceCloudStack._crawl_metadatacC |jdS)Nz instance-idrrurrrget_instance_idrz$DataSourceCloudStack.get_instance_idcCr)Nzavailability-zonerrurrravailability_zones z&DataSourceCloudStack.availability_zone)FFF)r/r0r1rdsname url_max_wait url_timeoutrrVrXrtrv staticmethodroryrr r3rrpropertyr __classcell__rrrDrr4Rs*  , $ r4c@seZdZdZdZdS)DataSourceCloudStackLocalauRun in init-local using a dhcp discovery prior to metadata crawl. In init-local, no network is available. This subclass sets up minimal networking with dhclient on a viable nic so that it can talk to the metadata service. If the metadata service provides network configuration then render the network configuration for that instance based on metadata. TN)r/r0r1r2rrrrrrsrcCs>ztdd}WntytdYdSw|dddS)Nz data-serverPzDNS Entry data-server not foundr)rrrGrH)addrinforrrget_data_server%s  rcCs^td}|D]#}|d}|ddkr,ttdt|dd}td||Sq dS) Nz/proc/net/route 00000000zs6         /H   0