MOON
Server: Apache
System: Linux vps.erhabenn.com.br 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User: machen (1008)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyo
�
d�bc@sgdZddlZddlZddlZddlZddlmZddljjZddl	jj
Z
ddljjj
Z
ddljjjZddlmZddlmZmZmZddlmZmZmZddlmZddlmZdd	lmZdd
l m!Z!ddl"m#Z#dZ$d
Z%ej&e%�Z'dZ(de)fd��YZ*dS(s
Provision handler
i����N(tdatetime(tustr(t	add_eventtWALAEventOperationtelapsed_milliseconds(tProvisionErrort
ProtocolErrortOSUtilError(t
get_osutil(tProvisionStatus(tget_protocol_util(t
AGENT_NAME(tcloud_init_is_enabledt
CustomDatas.*/bin/cloud-init.*tprovisionedtProvisionHandlercBs�eZd�Zd�Zed��Zd�Zed�Zed��Z	ed��Z
d�Zd�Zed	��Z
d
�Zd�Zd�Zd
�Zd�Zd�Zedejd�Zd�Zd�ZRS(cCst�|_t�|_dS(N(RtosutilR
t
protocol_util(tself((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyt__init__5scCs�tj�s1tjd�|j�|j�dSy#tj�}d}|j	�rctjd�dStjd�t
�r�td��ntjd�|jj
�}|jj�|jdd�tjd�|j|�|j�}|jj�|j�|jd	j|j��d
tdt|��|j|j�|j�tjd�Wnnttfk
r�}d
jt|�|j��}tj|�|jdt|��|j|d
t�dSXdS(Ns#Provisioning is disabled, skipping.s)Provisioning already completed, skipping.s$Running default provisioning handlersUcloud-init appears to be installed and enabled, this is not expected, cannot continuesCopying ovf-env.xmltProvisioningtStartingsStarting provisioningsProvisioning succeeded ({0}s)t
is_successtdurationsProvisioning completesProvisioning failed: {0} ({1}s)tProvisioningFailed(tconftget_provision_enabledtloggertinfotwrite_provisionedtreport_readyRtutcnowtNonetcheck_provisioned_fileRRRtcopy_ovf_envtget_protocoltreport_not_readyt	provisiontreg_ssh_host_keyRtrestart_ssh_servicetreport_eventtformatt_get_uptime_secondstTrueRthandle_provision_guest_agenttprovision_guest_agentRRterrortFalse(Rt	utc_startt
thumbprinttovf_envtetmsg((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pytrun9sF




	








cCsDy5td��#}|j�j�\}}|SWdQXWndSXdS(Ns/proc/uptimei(topentreadlinetsplit(tfhtuptimet_((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR*lscCstj�}tj�rutjtj��tj�dkrMtjd�qud}tj|j	|tj
���n|j�S(Ntautos
ssh-keygen -Asssh-keygen -N '' -t {0} -f {1}(Rtget_ssh_host_keypair_typetget_regenerate_ssh_host_keytfileutiltrm_filestget_ssh_key_globtget_ssh_host_keypair_modet	shellutilR5R)tget_ssh_key_private_pathtget_ssh_host_key_thumbprint(Rtkeypair_typet
keygen_cmd((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR&uscCs�djtj��}tj|d|�}|ddkr^|dj�j�djdd�Stdj|d|d���dS(Nsssh-keygen -lf {0}tchk_erriit:ts2Failed to generate ssh host key: ret={0}, out= {1}(	R)Rtget_ssh_key_public_pathRCtrun_get_outputtrstripR8treplaceR(RRHtcmdtret((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyRE�s$	cCstjjtj�t�S(N(tostpathtjoinRtget_lib_dirtPROVISIONED_FILE(((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pytprovisioned_file_path�scCstjjtj��S(s�
        A VM is considered provisioned *anytime* the provisioning
        sentinel file exists and not provisioned *anytime* the file
        is absent.
        (RQRRtisfileRRV(((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pytis_provisioned�scCs�tj�stStjtj��j�}|jj|�s�t	|�dkr�t
jd�ddlm
}|�}|j�n|j�|j�ntS(s`
        If the VM was provisioned using an agent that did not record
        the VM unique identifier, the provisioning file will be re-written
        to include the identifier.

        A warning is logged *if* the VM unique identifier has changed
        since VM was provisioned.

        Returns False if the VM has not been provisioned.
        isTVM is provisioned, but the VM unique identifier has changed -- clearing cached statei����(tget_deprovision_handler(RRXR/R?t	read_fileRVtstripRtis_current_instance_idtlenRtwarntazurelinuxagent.pa.deprovisionRYtrun_changed_unique_idRRR+(RtsRYtdeprovision_handler((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR!�s
	


cCs#tjtj�t�j��dS(N(R?t
write_fileRRVRtget_instance_id(R((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR�s	cCs'tjd�tjtj�d�dS(Ns4Disabling guest agent in accordance with ovf-env.xmlRJ(RR^R?RcRtget_disable_agent_file_path(((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pytwrite_agent_disabled�s
c	CsN|jd|dtdddtj�|rJ|j�dkrJ|j�ndS(NtmessageRRit	operationtfalse(R(R+RtProvisionGuestAgenttlowerRf(RR-((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR,�s
cCs�tjd�y�tjdj|j��|jj|j�tjdj|j��|jj|j�|j|�|j|�t	j
�r�|jj�nWn.tk
r�}t
djt|����nXdS(NsHandle ovf-env.xml.sSet hostname [{0}]sPublish hostname [{0}]sFailed to provision: {0}(RRR)thostnameRtset_hostnametpublish_hostnametconfig_user_accounttsave_customdataRtget_delete_root_passwordtdel_root_passwordRRR(RtovfenvR3((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR%�s


cCs�tjd�|jj|j�|jdk	r|tjd�tj�}tj	�}|jj
|j|jd|d|�ntjd�|jj|jd|jdk�tjd�|jj|j
�|j|�|j|�dS(Ns!Create user account if not existssSet user password.tcrypt_idtsalt_lensConfigure sudoertnopasswdsConfigure sshd(RRRtuseraddtusernamet
user_passwordR Rtget_password_cryptidtget_password_crypt_salt_lentchpasswdtconf_sudoert	conf_sshdtdisable_ssh_password_authtdeploy_ssh_pubkeystdeploy_ssh_keypairs(RRsRtRu((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyRo�s




c
Cs|j}|dkrdStj�}tj�s=tj�r_tjd�|jj	|�}ntjd�t
jj|t
�}tj||�tj�rtj�}tjd�t
j|d�tj|�tdtdttj�|�dtdtj�ndS(	NsDecode custom datasSave custom datasExecute custom datai�tnameRRtop(t
customdataR RRTtget_decode_customdatatget_execute_customdataRRRtdecode_customdataRQRRRStCUSTOM_DATA_FILER?RcttimetchmodRCR5RRtintR+RR
(RRsR�tlib_dirtcustomdata_filetstart((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyRp�s&	



cCs;x4|jD])}tjd�|jj|j|�q
WdS(NsDeploy ssh public key.(tssh_pubkeysRRRtdeploy_ssh_pubkeyRx(RRstpubkey((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR�s
cCs;x4|jD])}tjd�|jj|j|�q
WdS(NsDeploy ssh key pairs.(tssh_keypairsRRRtdeploy_ssh_keypairRx(RRstkeypair((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR�s
icCs)tdtd|d|d|d|�dS(NR�RgRRR�(RR(RRgRRRh((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR(s
cCsxtddd|d|�}y |jj�}|j|�Wn6tk
rs}tjd|�|jt|��nXdS(NtstatustNotReadyt	subStatustdescriptionsReporting NotReady failed: {0}(	R	RR#treport_provision_statusRRR.R(R(Rt
sub_statusR�R�tprotocolR3((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR$ s	cCsltdd�}y |jj�}|j|�Wn6tk
rg}tjd|�|jt|��nXdS(NR�tReadysReporting Ready failed: {0}(	R	RR#R�RRR.R(R(RR�R�R3((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR*s(t__name__t
__module__RR5tstaticmethodR*R&R+RERVRXR!RRfR,R%RoRpR�R�R/Rt	ProvisionR(R$R(((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyR4s(		3													
(+t__doc__RQtos.pathtreR�Rtazurelinuxagent.common.conftcommonRtazurelinuxagent.common.loggerRt&azurelinuxagent.common.utils.shellutiltutilsRCt%azurelinuxagent.common.utils.fileutilR?tazurelinuxagent.common.futureRtazurelinuxagent.common.eventRRRt azurelinuxagent.common.exceptionRRRtazurelinuxagent.common.osutilRt'azurelinuxagent.common.protocol.restapiR	t$azurelinuxagent.common.protocol.utilR
tazurelinuxagent.common.versionRt,azurelinuxagent.pa.provision.cloudinitdetectRR�tCLOUD_INIT_PATTERNtcompiletCLOUD_INIT_REGEXRUtobjectR(((sH/usr/lib/python2.7/site-packages/azurelinuxagent/pa/provision/default.pyt<module>s,