%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/metaproxy/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/metaproxy/proxy.pyc

�
���^c@�s�ddlmZmZmZmZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Zddl!Zddl"Zddl#Zddl$Zddl%Zddl&Zddl'Zddl(Zddl)Zddl%Zddl*Zddlm+Z+ddl,m-Z-m.Z.m/Z/m0Z0ddl1m2Z2ddl3m4Z4ddl)m5Z5ddl6m7Z7dd	l m8Z8m9Z9ddl:Z;ddl<Z;e	j=e>�Z?d
�Z@d�ZAd�ZBd
�ZCd�ZDd�ZEd�ZFdS(i(tabsolute_importtprint_functiontwith_statementtunicode_literalsN(ttagify(tCommandExecutionErrortCommandNotFoundErrortSaltInvocationErrortSaltSystemExit(tsix(trange(tProxyMinion(tDEFAULT_TARGET_DELIM(tdefault_signalst$SignalHandlingMultiprocessingProcessc
c�sH	tjd�|jr|||jd<tjj|j|jd|jdd|jdd|jjd��j�V|jd	<nd
|jd	kr�d
|jkr�d|jddd
}tj	|�t
|_tddd|��nd
|jkr|jd	d
|jd
<n|jjd�rptj
jj|j|jd	d|jjd�d|jjdt
��|_n�|jjd�r7d|jd	kr�|jd	d|jd<nd|jd	kr7|jjdg�}|jd	d}y|||jd<Wq4tk
r0}tj	dj|jd��q4Xq7n|jd
d}|j�\|_|_|_|_|jdd|jd�tjj
|j�|_
tjj|jd|j
�|_|j�\|_|_|_|_|j|jjd<|j|jjd<|j|jjd<|jd	|jjd <tjj
|jd!|j�|_
|j
|jjd"<|jj�|jjtjj|j|jd!|j�d#j|�|jks�d$j|�|jkrd%j|�d&}tj	|�t
|_tddd|��n|jjd'j|�d(���|_ |j|d)}||j�tjj!|jd!|j�|jd<tj"j#|j�|_$|j%�|_&tjj'|j�|_'tj(j)|j|j�|_(tj
j*j+d*|jjd+d��}tj-j.|jd,d-|�|_/|jr�|jd	r�|j�\|_|_|_|_t0|d.�r�|j|j1_|j|j1_q�nt0|d.�s�tj
j1j2|j|j|jd/tj-j3d0d1�gd!|j�|_1n|jd2rqd3|jkrq|j1j4iid3d46|jdd56t5d66d7d86t5d96|jjd:t
�d;6d<6d=t5�tj6d>�n|j1j7d<d=t5�|jd?d@kr|jdAdBkr|j1j4iidCd46|jdAdD6t5d66dEd86t
d;6i|jdd6t5dF6dG6tj-j3d0d1dH|jd�6d=t5�|jdIr�dJ|jkr�|jd|jdJdBkr�|j1j4iidKd46|jdLdD6t5d66dEd86t
d;6i|jdJdBd6dG6tj-j3d0dM�6d=t5�qW|j1j7tj-j3d0dM�d=t5�nW|j1j7tj-j3d0d1dH|jd�d=t5�|j1j7tj-j3d0dM�d=t5�|dN}	|	|jkr	dO|jkr	|jjdPt5�r	|j1j4iidOd46|jjdQdE�d56t5d66dEd86t
d;6i|dR6dG6dS6d=t5�|j1j8�n|j1j7dSd=t5�|jdTddU�|jd|_9t5|_:dS(VNu'subclassed LazyLoaded _post_master_initumasterugrainsuidtsaltenvusaltenvt	pillarenvu	pillarenvupillaruproxyu,No proxy key found in pillar or opts for id u. uGCheck your pillar/opts configuration and contents.  Salt-proxy aborted.tcodei����tmsguproxy_merge_pillar_in_optststrategyu#proxy_merge_pillar_in_opts_strategytmerge_listsuproxy_deep_merge_pillar_in_optsuproxy_mines_pillaru
mine_intervalumine_functionsuHUnable to merge mine functions from the pillar in the opts, for proxy {}u	proxytypeusaltutil.sync_alltutilsu	__proxy__u__salt__u__ret__u
__pillar__tproxyu	__utils__u{0}.initu{0}.shutdownu>Proxymodule {0} is missing an init() or a shutdown() or both. u,Check your proxymodule.  Salt-proxy aborted.u{0}.module_executorscS�sgS(N((((s8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pyt<lambda>�su.inittuseruuserucachedirtuiduscheduletcleanupttypeualiveumine_enabledumine.updateufunctionuminutesujid_includeiu
maxrunningurun_on_startumine_return_jobu
return_jobu__mine_intervaltpersistuAdded mine.update to scheduleru	transportutcpumaster_alive_intervaliu
status.masterusecondsiu	connectedukwargstmasterumaster_failbackumaster_listustatus.ping_masterumaster_failback_intervalufailbacku.aliveustatus.proxy_reconnectuproxy_keep_aliveuproxy_keep_alive_intervalu
proxy_nameu__proxy_keepaliveusaltutil.sync_grainsubase(;tlogtdebugt	connectedtoptstsalttpillartget_async_pillartgettcompile_pillarterrortFalset_runningRRt
dictupdatetmerget	TypeErrortformatt
_load_modulest	functionst	returnerstfunction_errorst	executorstloaderRtpacktreload_modulestio_looptspawn_callbacktenginest
start_enginestprocess_managertmodule_executorstgrainstpayloadtSerialtserialt_prep_mod_optstmod_optstmatcherstbeaconstBeaconRtget_uidtNonetminiontget_proc_dirtproc_dirthasattrtscheduletScheduletmaster_eventtadd_jobtTruetinfot
delete_jobtenable_scheduletgrains_cachetready(
tselfRterrmsgtgeneral_proxy_minestspecific_proxy_minestterrtfq_proxynamet
proxy_init_fnRtproxy_alive_fn((s8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pytpost_master_initGs
	
	


&"
	
$!$!

	'
%'"$	.
/
(2%
c	C�s�|sR||�}||_t|d�s�|jd|d�\}}}}||_||_||_||_tjj	|j
�|_	tjj|j
d|j	�|_|jd|d�\}}}}||_||_||_||_|j|jjd<|j|jjd<|j|jjd<|j
d|jjd	<tjj	|j
d
|j�|_	|j	|jjd<|jj
�|dd
}	|jjdj|	�d���|_|j|	d}
|
|�nt|d�s�tjj|�|_nt|d�sRtj	jjd|jdd��}tjj|dd|�|_qRntjj|j��Tt|dt�s�t|dt �r�t!j"|||�nt!j#|||�WdQXdS(Nu	functionsR<ugrainsRu	__proxy__u__salt__u__ret__upillaru
__pillar__Ru	__utils__uproxyu	proxytypeu{0}.module_executorscS�sgS(N((((s8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pyR8su.inituserialuproc_dirRuuserucachedirRufun($R RJR.R/R0R1R2R"R3RR!RR4R5R%R-R;R=R>R?RRERFRGRHRIttornadot
stack_contexttStackContexttctxt
isinstancettupletlistRt_thread_multi_returnt_thread_return(tclstminion_instanceR!tdataR R/R0R1R2RZR[R((s8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pyttargetsH	"				!"				!
'
$%&c!�sO
tjj|j|d�}tjjjdj|j	|d��itj
�d6}|j|�tj
d|d�tjjj|d�� }|j|jj|��WdQXitd6}|d}|jd	�p�t|d	g�p�|jd	d
g�}	tg|	D]1}
d|jkr|jdj|
�|�^q�}||jks\|tkrWy�t}|jr�|jdjd
t�r�|jdjdg�}
|dkr�||
kr�t}q�n|jdjd
t�r|jdjdg�}
|dkr||
krt}qn|r/td��n||jkrp|j|}tjj||d|�\}}n|}|d|}}d|jjdd<t |	t!j"�r�|	g}	n/t |	t#�s�|	r�tdj|	���n|jdd�r|	ddkrd|	d<ntj$d|	�xs|	D]k}dj|�}||jkrjtdj|���n|j||||||���dk	r.Pq.q.Wt �t&j'�rvd}i}x��D]�}t |t(�r�t |t(�r�|j|�n|sg}n|j)|�t*|dd|dt!j+|�gd �}i|d!6}|j,||�|d"7}q�W||d!<n
�|d!<|jjdjdtj-j.j/�}|tj-j.j/kry t0�fd#�dCD��}Wnt1k
r�t}nX|stj-j.j2}qn||d<|tj-j.j/k|d<Wqt3k
r�}d%j|�}tj4|d&t�d'j||�|d!<d(|d)<tj-j.j2|d<qt5k
r�}tj6d*||d+t7j8�d,j|�|d!<d(|d)<tj-j.j2|d<qtk
r\}tj6d-||d+t7j8�d.j||�|d!<d(|d)<tj-j.j2|d<qt9k
r�}d/j|||j:p�d�}tj;|d+t7j8�||d!<d(|d)<tj-j.j2|d<qt1k
rSd0}tj;|d+t�tjj6j<tj=j>|�|d1|�d'j|t?j@��|d!<d(|d)<tj-j.j2|d<qXn�|jd2d3j|��}|r�|jjA|�||<||d!<n[|jjA|�|d!<|jBd4�d}||jCkr�|d!cd5j|jC|�7<nt|d<tj-j.j2|d<d(|d)<|d|d<|d|d<|d|d6<d7|kre|d7|d7<nd8|kr�t |d8t(�r�|d8|d8<q�tj;d9�n|jr�|jD|d:|jE��nt |jd!�t!j"�r$	|d;r	d<j|d;|d!f�|d;<q$	|d!|d;<ntj4d=|�|d;rK
t |d;t!j"�rK
d>|krq	|d>|d><nd?|kr�	|d?|d?<n|d|d<x�tF|d;jBd<��D]�}y[d@j|�}||jGkr�	|jG||�n%|jGjA|�} tj6dA|| �Wq�	t1k
rC
}tjHdB|d|�q�	Xq�	WndS(Dug
    This method should be used as a threading target, start the actual
    minion side execution.
    ujidu{0}._thread_return {1}upiduStarting a new job with PID %suw+bNusuccessufunumodule_executorsudirect_callu{0}.allow_missing_funcupillaruminion_blackoutuminion_blackout_whitelistusaltutil.refresh_pillarugrainsu�Minion in blackout mode. Set 'minion_blackout' to False in pillar or grains to resume operations. Only saltutil.refresh_pillar allowed in blackout mode.uargiu__context__uretcodeuEWrong executors specification: {0}. String or non-empty list expectedu	sudo_userui����usudouExecutors list %su{0}.executeuExecutor '{0}' is not availableuproguidujobureturnic3�s!|]}�j|t�VqdS(N(R%RO(t.0tx(treturn_data(s8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pys	<genexpr>�suresultu$Command required for '{0}' not foundtexc_infou{0}: {1}unesteduoutu#A command in '%s' had a problem: %stexc_info_on_loglevelu
ERROR: {0}uProblem executing '%s': %suERROR executing '{0}': {1}u(Passed invalid arguments to {0}: {1}
{2}u'The minion function caused an exceptiontjobusys.docu{0}*u.u Possible reasons: '{0}'ufun_argsu	master_idumetadatau6The metadata parameter must be a dictionary. Ignoring.ttimeouturetu,uminion return: %su
ret_configu
ret_kwargsu{0}.returneru#Returner %s could not be loaded: %su The return failed for job %s: %s(uresultusuccess(ItostpathtjoinRIR"RtprocesstappendproctitleR-t__name__tgetpidtupdateRRPtfilestfopentwriteR?tdumpsR(R%tgetattrtanyR2R/ROR R!RRGtload_args_and_kwargsR4RbR	tstring_typesRdttraceRFttypest
GeneratorTypetdicttappendRt	text_typet_fire_mastertdefaultst	exitcodestEX_OKtallt	Exceptiont
EX_GENERICRRRR'tloggingtDEBUGR,t__doc__twarningtfire_exceptiont
exceptionstMinionErrort	tracebackt
format_exctmissing_fun_stringtsplitR1t_return_pubt_return_retry_timertsetR0t	exception(!RgRhR!Ritfn_tsdatatfp_trett
function_nameR2texecutortallow_missing_funcstminion_blackout_violationt	whitelisttfunctargstkwargstnametfnametindtirettsinglettagt
event_datatretcodetfunc_resulttexcRtdocstmod_nametreturnertreturner_strtreturner_err((Rms8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pyt
thread_returnKsN&



4"
		"


	
,





	
	

	




(



	
$  c	�s�tjj|j|d�}tjjjdj|j	|d��itj
�d6}|j|�tj
d|d�tjjj|d�� }|j|jj|��WdQX|jdt�}t|d�}|ridg|d	6dg|d
6tg|d6�niid	6id
6id6�x�td|�D]�}	|s[t�d|d|	<ny
t}
|jr�|jd
jdt�r�|jd
jdg�}|d|	dkr9|d|	|kr9t}
q9nf|jdjdt�r9|jdjdg�}|d|	dkr9|d|	|kr9t}
q9n|
rNtd��n|j|d|	}tjj||d|	|�\}
}d|jjdd
<|r�|	n|d|	�||
|��d	�<|jjdjd
d�}|dkrEy#t ��fd�d#D��}Wnt!k
r2t}nX|sEd}qEn|�d
�<|dk�d�<Wn\t!k
r�}t"j#�}tj$d|�|r�|�d	|	<q�|�d	|d|	<nX|d�d<|d�d<|d�d<q6Wd|kr|d�d<n|jr7|j%�d|j&��n|dr�d|kr^|d�d<nd|kr{|d�d<nx}t'|dj(d��D]_}|d �d <y|j)d!j|���Wq�t!k
r�}tj*d"|d|�q�Xq�WndS($ug
    This method should be used as a threading target, start the actual
    minion side execution.
    ujidu{0}._thread_multi_return {1}upiduStarting a new job with PID %suw+bNumultifunc_orderedufunureturnuretcodeusuccessiupillaruminion_blackoutuminion_blackout_whitelistusaltutil.refresh_pillarugrainsu�Minion in blackout mode. Set 'minion_blackout' to False in pillar or grains to resume operations. Only saltutil.refresh_pillar allowed in blackout mode.uargu__context__c3�s)|]}�d�j|t�VqdS(ureturnN(R%RO(RkRl(tkeyR�(s8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pys	<genexpr>csuresultiu+The minion function caused an exception: %sufun_argsumetadataRquretu
ret_configu
ret_kwargsu,uidu{0}.returneru The return failed for job %s: %s(uresultusuccess(+RrRsRtRIR"RRuRvR-RwRxRyRRPRzR{R|R?R}R%R(tlenRFR
R R!RORR/RGR�R4R�R�R�R�R�R�R�R�R�R0R'(RgRhR!RiR�R�R�tmultifunc_orderedt	num_funcsR�R�R�R�R�R�R�R�R�ttrbR�((R�R�s8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pytthread_multi_return!s�&

"((		

	
 cC�sn|dk	rj|ddkrj|j|d�rC|j|d�qj|jdrjtjd|d�qjndS(Nuencuaesuloadu
zmq_filteringu8Broadcast message received not for this minion, Load: %s(RFt_target_loadt_handle_decoded_payloadR!RR�(RUR=((s8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pythandle_payload�s
cc�s0tjr'tjjj|dt�}nd|krXtjd|d|d|d�ntjd|d|d�tj	d|�tj
d|j�|jd	k	r|d|jkr�d	S|jj
|d�t|j�|jd
kr|jjd�qnt|dtj�rp|ddkrp|j�\|_|_|_|_|j|j_|j|j_qpn|jjd
�}|dkrttjjj|j��}x\||krtjdj|d��tjj d�Vttjjj|j��}q�Wn|}|jjdt�}|r�t!j"j#d�rGd	}nt$t%j&t%j'��/t(d|j)d||j||j*f�}Wd	QXn7t+j,d|j)d||j||j*fd|d�}|r�t$t%j&t%j'��|j-�Wd	QXn
|j-�dj|j.|d�|_.|j/j0|�d	S(uV
    Override this method if you wish to handle the decoded data
    differently.
    tkeepuuseru(User %s Executing command %s with jid %sufunujidu Executing command %s with jid %suCommand details %suStarted JIDs: %sNuminion_jid_queue_hwmiusys.reload_modulesuprocess_count_maxuGMaximum number of processes reached while executing jid {0}, waiting...i
umultiprocessinguwinRjR�R�u	{}-Job-{}(1R	tPY2R"RRitdecodeRORRPRR�t	jid_queueRFR�R�R!tpopRbR�R.R/R0R1R2RKR%RGtrunningR�R-R^tgentsleeptsystplatformt
startswithR
tsignaltSIGINTtSIGTERMRt_targetR t	threadingtThreadtstartR�tsubprocess_listtadd(RURitprocess_count_maxt
process_counttinstancetmultiprocessing_enabledRu((s8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pythandle_decoded_payload�s^	$%	-		

cC�s�d|ks0d|ks0d|ks0d|kr4tSd|kr�|jjdj|d�d�}|dkrrtS|dd
kr�|jd
t�}||dd|�s�tSq�||d�s�tSn|jd|d�s�tStS(Nutgtujidufunuargutgt_typeu{0}_match.matchugrainu
grain_pcreupillaru	delimitert	delimiteruglob_match.match(ugrainu
grain_pcreupillar(R(RBR%R-RFRRO(RUtloadt
match_funcR�((s8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pyttarget_load�s $"(Gt
__future__RRRRRrR�R�R�R�R�R�R"tsalt.clientt
salt.crypttsalt.loadertsalt.beaconstsalt.enginestsalt.payloadtsalt.pillart
salt.syspathstsalt.utils.argstsalt.utils.contexttsalt.utils.datatsalt.utils.errortsalt.utils.eventtsalt.utils.filestsalt.utils.jidtsalt.utils.miniontsalt.utils.minionstsalt.utils.networktsalt.utils.platformtsalt.utils.processtsalt.utils.scheduletsalt.utils.ssdptsalt.utils.usertsalt.utils.zeromqtsalt.defaults.exitcodestsalt.cli.daemonstsalt.log.setuptsalt.serializers.msgpacktsalt.miniontsalt.utils.dictupdateRtsalt.exceptionsRRRRtsalt.extR	tsalt.ext.six.movesR
Rt
salt.defaultsRR
Rttornado.genR^ttornado.ioloopt	getLoggerRwRR]RjR�R�R�R�R�(((s8/usr/lib/python2.7/site-packages/salt/metaproxy/proxy.pyt<module>sp""	�	?	�	o		M

Zerion Mini Shell 1.0