AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 3.15.221.67
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python2.7/site-packages/ansible/plugins/strategy/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyo
�
��\c@`s�ddlmZmZmZeZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
mZddlmZddlmZddlmZddlmZmZmZddlmZdd	lmZdd
lmZddl m!Z!ddl"m#Z$dd
l%m&Z&m'Z'm(Z(ddl)m*Z*ddl+m,Z,m-Z-ddl.m/Z/ddl0m1Z1ddl2m3Z3ddl4m5Z5ddl6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<ddl=m>Z>ddl?m@Z@ddlAmBZByddlCmDZDWn*eEk
rBddlFmGZGeG�ZDnXdgZHdfd��YZIdfd��YZJeI�ZKd�ZLd �ZMdfd!��YZNd"eOfd#��YZPd$ejQfd%��YZRdS(&i(tabsolute_importtdivisiontprint_functionN(tdeque(tLock(tUndefinedError(t	constants(tAnsibleErrortAnsibleParserErrortAnsibleUndefinedVariable(taction_write_locks(t
WorkerProcess(t
TaskResult(tHost(tqueue(t	iteritemst
itervalueststring_types(tto_text(t
ConnectiontConnectionError(tload_list_of_blocks(tIncludedFile(tTaskInclude(tIncludeRole(t
action_loadertconnection_loadert
filter_loadert
lookup_loadert
module_loaderttest_loader(tTemplar(tcombine_vars(tstrip_internal_keys(tdisplay(tDisplaytStrategyBasetStrategySentinelcB`seZRS((t__name__t
__module__(((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR%?stSharedPluginLoaderObjcB`seZdZd�ZRS(ss
    A simple object to make pass the various plugin loaders to
    the forked processes over the queue easier
    cC`s:t|_t|_t|_t|_t|_t|_dS(N(RRRRRR(tself((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt__init__Ks					(R&R't__doc__R*(((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR(FscC`s�x�tr�yP|jj�}t|t�r.Pn*|jj�|jj|�|jj	�Wqt
tfk
rsPqtj
k
r�qXqWdS(N(tTruet_final_qtgett
isinstanceR%t
_results_locktacquiret_resultstappendtreleasetIOErrortEOFErrortQueuetEmpty(tstrategytresult((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytresults_thread_mainWs	
c`s(tj��td�fd��}|S(sVClosure to wrap ``StrategyBase._process_pending_results`` and invoke the task debuggerc`s4ddddf}|jj�}�||d	|d
|�}g}x�|D]�}|j}	|j}
|jj|
j|	jfd�}|d}|d}
y||
j}Wn t	k
r�|j
|
�}nXx_|jd
|j�rt
�}t|	|
||
||�}|j�|jt
jkr�|jj�||j|
j<xB|D]:\}}t||��rF|jjj||
j�qFqFW|jjjd|
j�|j|
|	||
�|jt��|||��Pq�|jt
jkr�|j|�Pq�|jt
jkr�tjd�q�q�W|j|�qIW|S(Nt	is_failedtfailurestis_unreachabletdarkt
is_changedtchangedt
is_skippedtskippedtone_passt
max_passest	task_varstplay_contexttglobally_enabledtokic(s	is_failedR=(sis_unreachableR?(s
is_changedschanged(s
is_skippedsskipped(t_host_statestcopyt_taskt_hostt_queued_task_cachetpoptnamet_uuidtNonetKeyErrortget_host_statetneeds_debuggertdebugger_activet
NextActiontDebuggertcmdloopR:tREDOt_tqmtclear_failed_hoststgetattrt_statst	decrementt_queue_tasktextendt
debug_closuretCONTINUER3tEXITtsystexit(R)titeratorRDREtstatus_to_stats_maptprev_host_statestresultst_processed_resultsR:ttaskthostt_queued_task_argsRFRGtprev_host_statetnext_actiontdbgtmethodtwhat(tfunc(sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytinnerisL	
		!


	

 
N(t	functoolstwrapstFalseRR(RtRu((RtsE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyRbgs7cB`s�eZdZd�Zd�Zdd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zee
ed��Zd�Zd
�Zd�Zd�Zd�Ze
d�Zd�Zed�Zd�Zed�Zd�Zd�Zd�Zd�ZRS(s�
    This is the base class for strategy plugins, which contains some common
    code useful to all strategies like running handlers, cleanup actions, etc.
    cC`sd||_|j�|_|j�|_|j|_|j|_|j�|_|j	�|_
|j|_t|j
dt�|_t|j
dt�|_t|j
dt�|_i|_t|_d|_d|_t�|_t�|_t�|_tjtj��|_tj dt!d|f�|_"t#|j"_$|j"j%�t�|_&t'j(|_)dS(Ntsteptdifftflush_cacheittargettargs(*R[t
get_inventoryt
_inventorytget_workerst_workerst_notified_handlerst_listening_handlerstget_variable_managert_variable_managert
get_loadert_loaderR-R]t_optionsRxt_stept_diffR{RNR"t_displayt_pending_resultst_cur_workertdictt_blocked_hostst_flushed_hostsRR2t	threadingt	ConditionRR0tThreadR;t_results_threadR,tdaemontstartt_active_connectionstCtENABLE_TASK_DEBUGGERRV(R)ttqm((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR*�s0					
cC`s|xXt|j�D]G}yt|�}|j�Wqtk
rV}tjd|�qXqW|jjt	�|j
j�dS(Ns4got an error while closing persistent connection: %s(RR�RtresetRR"tdebugR-tputt	_sentinelR�tjoin(R)tsocktconnte((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytcleanup�sic	C`sz|jj|jjd|jj�}g|D]*}|j|jjkr+|j|�^q+|j	�}|jjj
�}tjd�|j
||�}t|t�r�|r�||jjO}n|s�||O}nt|�j|j	��}t|�j|jjj
��}t|t�r4||jjkr4|St|�dkrP|jjSt|�dkrl|jjS|jjSdS(Ntordersrunning handlersi(Rt	get_hostst_playthostsR�RPR[t_unreachable_hoststget_next_task_for_hosttget_failed_hoststkeysR"R�trun_handlersR/tboolt	RUN_ERRORtsettuniontRUN_OKtlentRUN_UNREACHABLE_HOSTStRUN_FAILED_HOSTS(	R)RgRGR:t	inv_hostsRmtfailed_hoststunreachable_hoststhandler_result((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytrun�s&$5

!"

cC`sPg|jj|j�D]6}|j|jjkr|j|jjkr|^qS(N(RR�R�RPR[t
_failed_hostsR�(R)tplayRm((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytget_hosts_remaining
scC`s;g|jj|j�D]!}|j|jjkr|^qS(N(RR�R�RPR[R�(R)R�Rm((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR�scC`sVg|j|�D]}|j^q|d<g|j|�D]}|j^q9|d<dS(s�
        Base class method to add extra variables/information to the list of task
        vars sent through the executor engine regarding the task queue manager state.
        tansible_current_hoststansible_failed_hostsN(R�RPR�(R)tvarsR�th((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytadd_tqm_variabless)c

C`stjd|j|jf�|jtjkrYtjd|j�t�tj|j<nyft�}t}|j}x8t	r�|j
|j}|dks�|j�rOi|d6|d6|d6|d6|j
|j|jf<t|j|||||j|j|�}||j
|j<|j�tjd|jdt|j
�f�t	}n|jd7_|jt|j
�kr�d	|_n|r�Pqw|j|krwtjd
�qwqwW|jd7_Wn.tttfk
r�}	tjd|	�dSXtjd
|j|jf�dS(s5 handles queueing the task up to be sent to a worker s entering _queue_task() for %s/%ssCreating lock for %sRmRlRFRGs"worker is %d (out of %d available)iig-C��6?sgot an error while queuing: %sNsexiting _queue_task() for %s/%s(R"R�RPtactionR
RR(RxR�R,R�RRtis_aliveRNRQRR-R�R�R�R�ttimetsleepR�R6R5tAssertionError(
R)RmRlRFRGtshared_loader_objtqueuedtstarting_workert
worker_prcR�((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR`sB
			*
'	cC`sY|jrLg|jj|jj�D]!}|j|jjkr"|^q"}n	|g}|S(N(trun_onceRR�R�R�RPR[R�(R)Rgt	task_hostRlRmt	host_list((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytget_task_hostsTs	C	cC`sv|jdi�jdd�}|dk	r]|jj|�}|dkrotd|�}qontd|j�}|gS(Nt_ansible_delegated_varstansible_delegated_hostRP(R.RRRtget_hostR
tdelegate_to(R)R:Rlt	host_nametactual_host((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytget_delegated_hosts[sc+`s�g}�fd�}��fd�}d�}���fd��d}x�tr�z9y �jj��jj�}	Wntk
r�PnXWd�jj�X||	j�}
|
j|	j	f}�j
j|�d}|jdtd	t�}
|j
|
_
|
j|	j�|
|	_|
|	_	d
|	jkrC�jjd|	�qNn�d|	jkr�|	j�sj|	j�r��jjd
|	�qN|	j�r��jjd|	�qNd|	jkr��js�t|
dt�r��jjd|	�q�n�jjd|	�qNn|
jrr�j�|
|
�}t|	j�}d|krA|d=nx.|D]#}�jj|i||
j6�qHWnt}|	j�rtt}|
j}|stj d|
j�|
j!r7x��j"j#�j$j%�D]a}|j�jj&kr��j'|dt�\}}�j(|��j'|dt�\}}q�q�Wn
�j(|
��jj)j*d|
j��j'|
dt�\}}�j|
�r�|r�|j+�j,kr�t�jj-|
j<n|rX�j.|�j+�j/krX�jj|
t0d|
j1�d|	j��qXnQ�jj)j*d|
j�d|	jkrX|	jdrX�jj)j*d|
j�n�jjd|	d|�n�|	j�r|
j2}|s�t�jj&|
j<�j$j3j4|
j�n-�jj)j*d|
j�d|
j|	jd<�jj)j*d|
j��jjd |	�n�|	j�rR�jj)j*d|
j��jjd!|	�n�t}|
j5ry|	jjd"g�}n|	jg}x�|D]�}d#|kr�|	j6�r�x|d#D]}t}||�j$j7�}|dk	rVt}|j9�j:kr
g�j:|j9<n|
�j:|j9kr��j:|j9j4|
��jjd$||
�q�n�x��j:D]}||�j$j7�}|r`�||�r`t}|
�j:|j9kr��j:|j9j4|
��jjd$||
�q�q`q`W|�j;kr�x��j;|D]y}||�j$j7�}|dk	rt}nq|
�j:|j9kr�j:|j9j4|
��jjd$||
�qqWn|s�d%|} t<j=r�t>| ��q�tj?| �q�q�Wq�nd&|kr�|jd&t0��}!�j@|!��nd'|kr�jA|
|�nd(|krH	|
jBdk	rN|
jCrN�jD||
�}n�j�|
|
�}|
jEd)kr�x�tF|d(�D]3\}"}#x$|D]}�jjG||"|#�q�Wq�WqH	|jHd*t�}$xv|D]k}|
jEd+ks�|$r	�jjI||d(j��n|
jEd+kr��jj||d(j��q�q�Wnd,|kr�d-|d,kr�|d,d-r�d.|d,ks�	|d,d.r�	�j�|
|
�}n	dg}|d,d-}%d/|d,ko�	|d,d/}&xk|D]`}'xW|%jJ�D]I}(|&r#
�jj)jK|(|%|(|'�q�	�jj)jL|(|%|(|'�q�	Wq�	Wq�q�Wd|	jkr�
�jsy
t|
dt�r�
�jjd|	�q�
ntM|
tN�s�
�jj)j*d|
j�d|	jkr�
|	jdr�
�jj)j*d|
j�q�
n�jjd0|	��jOd18_O|
j�jPkr9�jP|
j=n|
jQdk	r�|r�xUtF�j$jR|
jQjS�D]4\})}*|*j9|
jQj9krkt|*jT|
j<qkqkWn|j4|	�|s�|dk	r�|d1|kr�Pn|d17}qNW|S(2s�
        Reads results off the final queue and takes appropriate action
        based on the result (executing callbacks, updating state, etc.).
        c`s@t|�}|�jjkr,�jj|S�jj|�SdS(N(RRR�R�(R�(R)(sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytget_original_hostosc`s�x�|D]�}x�|jD]�}|jr�jjd�jd|�}td�jd|�}yK|j|j�}||kr�|S|j|j��}||kr�|SWq�t	t
fk
r�qq�XqqWqWdS(NR�Rltloadert	variables(tblockRPR�tget_varsR�RR�ttemplatetget_nameRR	RR(thandler_namethandler_blockst
handler_blockthandler_taskthandler_varsttemplarttarget_handler_name(RgR)(sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytsearch_handler_blocks_by_namews
	cS`s<x5|D]-}x$|jD]}||jkr|SqWqWdS(N(R�RQRR(thandler_uuidR�R�R�((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytsearch_handler_blocks_by_uuid�s

c`s�|r�t|ttf�r�y��jjd�jd|�}td�jd|�}|j|j	�}||krvt
S|j|j��}||kr�t
SWq�tt
fk
r�q�Xn�|j|�StSdS(NR�RlR�R�(R/RRR�R�R�RR�R�RPR,R�RR	t_parentRx(ttarget_handlerR�R�R�R�(Rgtparent_handler_matchR)(sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR��siNRltexclude_parentt
exclude_taskst_ansible_retrytv2_runner_retryt_ansible_item_resulttv2_runner_item_on_failedtv2_runner_item_on_skippedRztv2_on_file_difftv2_runner_item_on_okt
invocationsmarking %s as failedtpeekR=tansible_failed_tasktansible_failed_resultRIRAtv2_runner_on_failedt
ignore_errorsRCsHost %s is unreachabletskip_reasonR?tv2_runner_on_unreachabletv2_runner_on_skippedRjt_ansible_notifytv2_playbook_on_notifyslThe requested handler '%s' was not found in either the main handlers list nor in the listening handlers listtadd_hostt	add_groupt
ansible_factstinclude_varst_ansible_facts_cacheabletset_factt
ansible_statstdatatper_hostt	aggregatetv2_runner_on_oki(UR,R0R1R2tpopleftt
IndexErrorR4RMRPRLRNR.RKR�t
from_attrst_task_fieldst_resultR[t
send_callbackR<R>RBR�R]RxtregisterR�R!R�tset_nonpersistent_factsR�R"R�R�RR�R�R�R�R�tmark_host_failedR^t	incrementt	run_statetITERATING_COMPLETER�tget_active_statetITERATING_RESCUER�t	serializetignore_unreachablet_removed_hostsR3tloopR@thandlersRRRQR�R�R�tERROR_ON_MISSING_HANDLERRtwarningt	_add_hostt
_add_groupR�tdelegate_factsR�R�Rtset_host_variableROtset_host_factsR�tupdate_custom_statstset_custom_statsR/RR�R�t_rolet
ROLE_CACHEt
_role_namet
_had_task_run(+R)RgRDREtret_resultsR�R�R�tcur_passttask_resultt
original_hosttqueue_cache_entryt
found_taskt
original_taskR�t
clean_copyttarget_hosttrole_ranR�R�tstatet_tnew_taskRtresult_itemstresult_itemR�tfoundR�ttarget_handler_uuidtlistening_handler_uuidtlistening_handlertmsgt
new_host_infotvar_namet	var_valuet	cacheableRRtmyhosttktentrytrole_obj((RgR�R)sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt_process_pending_resultsfsT		

				

$		
%
'!			
 	 	
!
 '*	
 ,)
"c	C`sg}d}tjd�x�|jdkr�|t|�kr�|jjr�|jj�rhtd��n|j|�}|j	|�|tg|D]0}|j
|kr�|j|jkr�|j
^q��7}|jdkrt
jtj�qqWtjd�|S(s�
        Wait for the handler tasks to complete, using a short sleep
        between checks to ensure we don't spin lock
        iswaiting for handler results...s"A worker was found in a dead states0no more pending handlers, returning what we have(R"R�R�R�R[t_terminatedthas_dead_workersRRERaRMt	task_nameRPR�R�R�tDEFAULT_INTERNAL_POLL_INTERVAL(R)Rgthandlertnotified_hostsR)thandler_resultsRjtr((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt_wait_on_handler_results�s"


%
cC`s�g}tjd�x||jdkr�|jjr�|jj�rPtd��n|j|�}|j|�|jdkrt	j
tj�qqWtjd�|S(s�
        Wait for the shared counter to drop to zero, using a short sleep
        between checks to ensure we don't spin lock
        swaiting for pending results...is"A worker was found in a dead states/no more pending results, returning what we have(
R"R�R�R[RFRGRRERaR�R�R�RI(R)RgR)Rj((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt_wait_on_pending_results�s


cC`s�|r�|jd�}||jjkr=|jj|d�n|jjj|�}t|j�|jdt���|_|jdg�}xZ|D]R}||jjkr�|jj	|�n|jj|}|j|jj|�q�W|jj
�ndS(sX
        Helper function to add a new host to inventory based on a task result.
        R�tallt	host_varstgroupsN(R.RR�R�R R�R�R�RRR�treconcile_inventory(R)t	host_infoRgR�tnew_hostt
new_groupst
group_namet	new_group((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR�s'
cC`svt}|jjj|j�}|dkrg|j|jjjkrQ|jj}qgtd|j��n|jd�}|jdg�}x@|g|D]1}||jjkr�|jj	|�t
}q�q�W|jj|}x+|D]#}	|jj|	}
|
j|�q�W|j|j�kr4|j
|�t
}n||j�kr\|j	|�t
}n|rr|jj�n|S(s�
        Helper function to add a group (if it does not exist), and to assign the
        specified host to that group.
        s!%s cannot be matched in inventoryR�t
parent_groupsN(RxRR�R.RPRRt	localhostRRRR�R,tadd_child_groupR�R�t
get_groupsRS(R)RmR7RAt	real_hostRWtparent_group_namesRPtgrouptparent_group_nametparent_group((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR�s2


	
	cC`sP|jjdt�}|jj|_|jj�}|j|j�||_|S(sW
        A proven safe and performant way to create a copy of an included file
        R�(RLRKR,R�R�tupdatet_args(R)t
included_filetti_copyt	temp_vars((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt_copy_included_files	cC`sJtjd|j�yh|jj|j�}|dkr<gSt|t�sZtd��n|j	|�}|j
jjdg�}t|t
�r�|jd�}nt|�dkr	t|j
j�dkr�tdd|j
j��ntjdd	d
�||j
_nt|d|jd|j�d
|j
jd|d|jd|j�}x*|jD]}|jjjd|j�qXWWn�tk
r%}	x�|jD]�}td|d|j
dtdt dt!|	���}
|j"|�t |jj#|j<|jjjd|j�|jj$d|
�q�WgSX|jj$d|�tjd�|S(s_
        Loads an included YAML file of tasks, applying the optional set of variables.
        sloading included file: %ss0included task files must contain a list of tasksttagst,is�Include tasks should not specify tags in more than one way (both via args and directly on the task). Mixing tag specify styles is prohibited for whole import hierarchy, not only for single import statementtobjsoYou should not specify tags in the include parameters. All tags should be specified using the task-level optiontversions2.12R�tparent_blocktroletuse_handlersR�tvariable_managerRIRmRltreturn_datatfailedtreasonR=R�tv2_playbook_on_includesdone processing included fileN(%R"R�t	_filenameR�tload_from_fileRRR/tlistRRgRLR�RORtsplitR�RhRt_dst
deprecatedRR�tbuild_parent_blockR%R�t_hostsR[R^RRPRR�R,RRR�R(R)RdRgt
is_handlerRReRht
block_listRmR�ttr((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt_load_included_file&sN			!3

c	
C`s�|jj}x�|jjD]�}x�|jD]�}|j|jkr)t|j|j�r)|jj	d|jd|�}t
d|jd|�}|j�}y|j
|�}Wnttfk
r�nX|j||d|d|�}|s�Pq�q)q)WqW|S(sH
        Runs handlers on those hosts which have been notified.
        R�RlR�R�RgRG(R[R�R�RR�RQR�R�R�R�RR�R�R�RR	t_do_handler_run(	R)RgRGR:R�RJR�R�R�((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR�bs(cC`sl|dkr|j|j}n|j|�}t|�dkrq|j}||_|jjd|�||_nt}y@t	j
|jdt�}|j
s�t|dt�r�t}nWntk
r�nXg}	x�|D]�}
|j|
�r�|j|
�s|jr�|jjd|jd|
d|�}|j|d|j�|j|
|||�|rdPqdq�q�W|j|||�}	y+tj|	d|d	|jd
|j�}Wntk
r�}
tSXt}t|�dkrxD|D]9}y�|j|d|dt�}x�|D]�}|jjj|�|j |�x�|j!D]u}|j"�}t#j$d||f�|j%|j|j<|j&d
|d|d|d|d|j%�}|s9Pq9q9Wq	WWq�tk
r}
x1|j%D]&}
|j'|
�t|jj(|
j<q�Wt#j)t*|
��q�q�Xq�Wng|j|jD]}||kr/|^q/|j|j<t#j$d|�|S(Nit!v2_playbook_on_handler_task_startt
class_onlytBYPASS_HOST_LOOPR�RmRlRgR�RoR|s)adding task '%s' included in handler '%s'RJR�RGRKs$done running handlers, result is: %s(+RRR�RQt_filter_notified_hostsR�RPR[RRxRR.R�R,R�R]RSt
has_triggeredR<tforce_handlersR�R�R�R�R`RNRtprocess_include_resultsR�RRRR3tcache_block_tasksR�R�R"R�R{R�RR�Rtstr(R)RJR�RgRGRKt
saved_nameR�R�thost_resultsRmRFtincluded_filesR�R:Rdt
new_blocksR�RlRHR�((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR�{s|		


)$	


	

"cC`s|S(s?
        Filter notified hosts accordingly to strategy
        ((R)RK((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR��scC`s�t}d|}|r'|d|7}n|d7}tj|�}|j�dkrhtjd�t}n>|j�dkr�tjd	�t|_t}n
tjd
�tj|�|S(
NuPerform task: %s uon %s u(N)o/(y)es/(c)ontinue: tytyess
User ran tasktctcontinues$User ran task and canceled step modesUser skipped task(R�syes(R�R�(RxR"tprompttlowerR�R,R�tbanner(R)RlRmtretR<tresp((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt
_take_step�s 


	
		

cC`stjd|�dS(Ns)%s task does not support when conditional(R"R(R)RH((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt_cond_not_supported_warn�sc`s/�jjd�}���fd�}t}d}|dkra�jrX�j|�nd}n�|dkr��jr��j|�nt�j|<�j�|�t�j|<d}n(|dks��jr��jr��j|�n�j	j
�d}n�|d	krf||�r]x<�j	j�jj
�D]"}	|	j�}
�jj|
�q.Wd
}q�t}n{|dkr�||�r�xh�j	j�jj
�D]N}	�jjj|	jt��jjj|	jt��j�j|	j_q�Wd}q�t}n�|d
krp||�r�xN�j	j�jj
�D]4}	|	j�jjkr,�j�j|	j_q,q,Wd}q�nq|dkr��jjd�jd|d��}td�jd|�}|jd�d|d|�}|jd|�|j s�|j!|_ n|j"|��jr$�j|�n|�j#krSt$�j#|�}
�j#|=n(t%j|j&|t'j(�}
|j)|
�|
r�y|
j*�d}Wq�t+k
r�}t,j-d|�q�Xq�d}nt.d|d�j/��i|d6}|rt|d<n
t|d<t,j0d|�t1|�|�gS(Nt_raw_paramsc`sL�jjd�jd|d��}td�jd|�}�j||�S(NR�RmRlR�R�(R�R�R�RR�tevaluate_conditional(R�tall_varsR�(RgR)Rl(sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt_evaluate_conditional�s$ttnooptflush_handlerssran handlerstrefresh_inventorys inventory successfully refreshedtclear_factss
facts clearedtclear_host_errorsscleared host errorstend_playsending playtreset_connectionR�RmRlR�R�R�sreset connections4got an error while closing persistent connection: %ssno connection, nothing to resets!invalid meta action requested: %sRjR<RCRAsMETA: %s(2R}R.RxtwhenR�R,R�R�R{RR�R�R�R�R�R�R�R[R�RORPR�tFAILED_NONERJt
fail_stateRRR�RR�tset_task_and_variable_overridet
post_validatetremote_addrtaddresstupdate_varsR�RRt
connectiontostdevnulltset_options_from_pluginR�RR"R�RRxtvvR(R)RlRGRgR1tmeta_actionR�RCR<RmthostnameR�R�R�R�R:((RgR)RlsE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt
_execute_meta�s�			

		
					$	
	



	


cC`s^g}xQ|jj|jjd|jj�D]+}|j|jjkr+|j|�q+q+W|S(sQ returns list of available hosts for this iterator by filtering out unreachables R�(	RR�R�R�R�RPR[R�R3(R)Rgt
hosts_leftRm((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytget_hosts_left`s
+cC`skxd|D]\}d|jkr|jdjd�}|rc|j|jkr`||j|j<q`qcqqWdS(s3 updates the current active persistent connections R}t_ansible_socketN(RR.RMR�(R)RjRMtsocket_path((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytupdate_active_connectionsis
(R&R'R+R*R�R�R�R�R�R`R�R�RbRxRRRERNRORRRgRR�R�R�R�R�R�R�R�(((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR$�s6	/	$				;		�9				+	<	W				k		RWcB`s,eZdZdZdZdZed�ZRS(s. The next action after an interpreter's exit. iiicC`s
||_dS(N(R:(R)R:((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR*ys(R&R'R+RZRcRdR*(((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyRWss
RXcB`s�eZdZd�Zd�ZejjZd�Z	d�Z
e
Zd�ZeZ
d�ZeZd�Zd�ZeZd	�Zd
�ZRS(s> cC`s�tjj|�d||f|_d|_i|_||jd<||jd<||jd<||jd<||jd<||_dS(Ns[%s] %s (debug)> RlRFRmRGR:(tcmdtCmdR*R�RRtintrotscopeRp(R)RlRmRFRGR:Rp((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR*�s		




cC`s,ytjj|�Wntk
r'nXdS(N(R�R�RYtKeyboardInterrupt(R)((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyRY�s
cC`s
|j|�S(tQuit(tdo_quit(R)R}((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytdo_EOF�scC`s tjd�tj|j_tS(R�sUser interrupted execution(R"RWRdRpR:R,(R)R}((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyR��s
cC`stj|j_tS(sContinue to next result(RWRcRpR:R,(R)R}((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytdo_continue�scC`stj|j_tS(sKSchedule task for re-execution. The re-execution may not be the next result(RWRZRpR:R,(R)R}((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytdo_redo�scC`s�yt|t�|j�SWnhtk
r�tj�d \}}t|t�rX|}n	|j}t	j	d|t
|�f��nXdS(Nis***%s:%s(tevaltglobalsR�t	ExceptionRetexc_infoR/R�R&R"trepr(R)R}tttvt
exc_type_name((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytevaluate�s
		cC`sAy)|j|�}tjtj|��Wntk
r<nXdS(sPretty PrintN(R�R"tpprinttpformatR�(R)R}R:((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt	do_pprint�s

cB`s�y1e|ddd�}|e�|jfdUWnhek
r�ej�d \}}e|e�ro|}n	|j}e	j	d|e
|�f��nXdS(Ns
s<stdin>tsingleis***%s:%s(tcompileR�R�R�ReR�R/R�R&R"R�(R)R}tcodeR�R�R�((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytexecute�s
		cC`s)y|j|�Wntk
r$nXdS(N(R�R�(R)tline((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pytdefault�s
(R&R'tprompt_continuousR*RYR�R�tdo_helptdo_hR�R�tdo_qR�tdo_cR�tdo_rR�R�tdo_pR�R�(((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyRX}s 									
(St
__future__RRRttypet
__metaclass__R�RvR�R�ReR�R�tcollectionsRtmultiprocessingRtjinja2.exceptionsRtansibleRR�tansible.errorsRRR	tansible.executorR
tansible.executor.process.workerRtansible.executor.task_resultRtansible.inventory.hostR
tansible.module_utils.six.movesRR7tansible.module_utils.sixRRRtansible.module_utils._textRtansible.module_utils.connectionRRtansible.playbook.helpersRtansible.playbook.included_fileRtansible.playbook.task_includeRtansible.playbook.role_includeRtansible.plugins.loaderRRRRRRtansible.templateRtansible.utils.varsR tansible.vars.cleanR!t__main__R"tImportErrortansible.utils.displayR#t__all__R%R(R�R;RbR$tobjectRWR�RX(((sE/usr/lib/python2.7/site-packages/ansible/plugins/strategy/__init__.pyt<module>s\.

				=����

Anon7 - 2022
AnonSec Team