%PDF- %PDF-
Mini Shell

Mini Shell

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

�
���^c@@s�dZddlmZmZmZddlZddlZddlmZej	dde
d�ej	dd	e
�ej	dd
e�ddlZ
ddlmZddljjZy<ddlmZddlZ
dd
lmZmZmZWn,ek
rZejddkr�qnXddlmZmZmZe
j j!j"j#e$�Z de%fd��YZ&de
jj'j(e&fd��YZ)de
jj'j*e&fd��YZ+de
jj'j,e&fd��YZ-de
jj'j.e&fd��YZ/dS(u
Make me some salt!
i(tabsolute_importtprint_functiontunicode_literalsN(t
verify_loguonceuu^(salt|salt\.(.*))$uignoreu>With-statements now directly support multiple context managersuV^Module backports was already imported from (.*), but (.*) is being added to sys.path$(t
migrations(t
ip_bracket(t
check_usert
verify_envt
verify_socketuNo module named _msgpack(tSaltSystemExittSaltClientErrortget_error_messagetDaemonsMixincB@s;eZdZd�Zd�Zd�Zd�Zd�ZRS(u1
    Uses the same functions for all daemons
    cC@s@|jdj�dkr<tjd|jd|jj�ndS(uq
        Verify and display a nag-messsage to the log if vulnerable hash-type is used.

        :return:
        u	hash_typeumd5usha1u_IMPORTANT: Do not use %s hashing algorithm! Please set "hash_type" to sha256 in Salt %s config!N(umd5usha1(tconfigtlowertlogtwarningt	__class__t__name__(tself((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pytverify_hash_typeAscC@stjd||jj�dS(uN
        Say daemon starting.

        :param action
        :return:
        u%s the Salt %sN(RtinfoRR(Rtaction((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pytaction_log_infoNscC@stjd|jj�dS(u8
        Say daemon starting.

        :return:
        uThe Salt %s is starting upN(RRRR(R((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pytstart_log_infoWscC@stjd|jj�dS(u=
        Say daemon shutting down.

        :return:
        uThe Salt %s is shut downN(RRRR(R((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pytshutdown_log_info_scC@s0tjd|jjt|��|j|�dS(u~
        Log environment failure for the daemon and exit with the error code.

        :param error:
        :return:
        u'Failed to create environment for %s: %sN(Rt	exceptionRRRtshutdown(Rterror((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pytenvironment_failuregs(Rt
__module__t__doc__RRRRR(((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR=s	
				tMastercB@s8eZdZd�Zd�Zd�Zddd�ZRS(u!
    Creates a master server
    cC@set|jd�rH|jjj�|jjj|�|jjj�ntt|�j||�dS(Nuprocess_manager(	thasattrtmastertprocess_managertstop_restartingtsend_signal_to_processest
kill_childrentsuperR t_handle_signals(Rtsignumtsigframe((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR(ys
cC@sxtt|�j�y+|jdr=|jdtjj|jdd�tjj|jdd�tjj|jdd�tjj|jdd�tjj|jdd�|jdtjj|jdd	�tjj|jdd
�|jd|jd|jd
|jdg
}|jjd�dkr�|jtjj|jdd��|jtjj|jdd��|jtjj|jdd��|jtjj|jdd��nt	||jdd|jdd|jdd|jd�xDtj
|jd
�D])}tjtjj|jd
|��q
WnWn tk
r`}|j
|�nX|j�t|j�|jd�|jdj�d$kr)t|jd|jd|jd�s�|jd d!�nt|jd�|jd<tj|j�d"d#l}|jj|j�|_n'd"d#l}|jjj|j�|_|j�|j�|jj j!�d#S(%u�
        Run the preparation sequence required to start a salt master server.

        If sub-classed, don't **ever** forget to run:

            super(YourSubClass, self).prepare()
        u
verify_envupki_diruminionsuminions_preuminions_denieduminions_autosignuminions_rejecteducachedirujobsuprocusock_diru	token_diru
syndic_dirusqlite_queue_diru	transporturaetuacceptedupendingurejecteduusert
permissiveupermissive_pki_accesstroot_diruroot_dirtpki_diru
Setting upuzeromqutcpu	interfaceupublish_porturet_portiu#The ports are not available to bindiN(uzeromqutcp("R'R tprepareR
tostpathtjointgettappendRtlistdirtremovetOSErrorRtsetup_logfile_loggerRRRRRRRt
migrate_pathstsalt.masterR"tsalt.daemons.flotdaemonstflotIofloMastertdaemonize_if_requiredtset_pidfiletutilstprocesstnotify_systemd(Rtv_dirstsyndic_fileRtsalt((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR.�sd





###&


.






cC@sQtt|�j�t|jd�rM|jd�|j�|jj�ndS(u�
        Start the actual master.

        If sub-classed, don't **ever** forget to run:

            super(YourSubClass, self).start()

        NOTE: Run any required code before calling `super()`.
        uuseruStarting upN(R'R tstartRR
RRR"(R((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyRF�s



icC@sR|j�d}|dk	r)||}n|j�}tt|�j||�dS(uM
        If sub-classed, run any shutdown operations on this method.
        uThe salt master is shutdown. N(RtNonetstripR'R R(Rtexitcodetexitmsgtmsg((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR�s

N(RRRR(R.RFRGR(((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR us
			G	tMinioncB@sJeZdZd�Zd�Zd�Zd�Zd�Zddd�Z	RS(	u 
    Create a minion server
    cC@sBt|jd�r%|jj|�ntt|�j||�dS(Nustop(R!tminiontstopR'RLR((RR)R*((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR(�sc
C@s]tt|�j�y�|jdr�|jjd�}|r�d|kr\tjj|�}ntjj|�s�tjj	tjj|jd�|�}q�n(tjj	tjj|jd�d�}|jd|jd|jd|jd	|g}|jjd
�dkr�|j
tjj	|jdd��|j
tjj	|jdd
��|j
tjj	|jdd��|j
tjj	|jdd��nt||jdd|jdd|jdd|jd�nWn tk
r�}|j
|�nX|j�t|j�tjd|jd�tj|j�|j�re|jd�|jd�n|jjd
�j�}|d!kr�ddl}|j�|j�|jjd�dkr�|jj|j�n|jj|j�|_ng|dkr<ddl}|j�|j�|jj j!|j�|_ntj"d |�|jd�dS("u�
        Run the preparation sequence required to start a salt minion.

        If sub-classed, don't **ever** forget to run:

            super(YourSubClass, self).prepare()
        u
verify_envudefault_includeu*u	conf_fileuminion.dupki_dirucachedirusock_diruextension_modulesu	transporturaetuacceptedupendingurejecteduuserR+upermissive_pki_accessR,uroot_dirR-uSetting up the Salt Minion "%s"uidu'An instance is already running. ExitingiuzeromqutcpudetectiNumaster_typeufuncu[The transport '%s' is not supported. Please use one of the following: tcp, raet, or zeromq.(uzeromqutcpudetect(#R'RLR.R
R2R/R0tdirnametisabsR1R3RR6RR7RRRRR8t
check_runningRRRtsalt.minionR>R?RMteval_master_funct
MinionManagerR:R;R<tIofloMinionR(RtconfdRCRt	transportRE((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR.�sl
	%	



	###&









cC@s[tt|�j�xAtrVy|j�Wn%tk
rQ}|jjrRqqRnXPqWdS(u�
        Start the actual minion.

        If sub-classed, don't **ever** forget to run:

            super(YourSubClass, self).start()

        NOTE: Run any required code before calling `super()`.
        N(R'RLRFtTruet_real_startR
toptionstdaemon(Rtexc((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyRFMs
	
cC@s�yYt|jd�rX|jd�|j�|jj�|jjrXtd��qXnWnltt	fk
r�}|jd�t
|t�r�tjd�|j
�q�tj|�|j
|j�nXdS(NuuseruStarting upu"Minion could not connect to MasteruStoppinguExiting on Ctrl-c(RR
RRRMttune_intrestartR
tKeyboardInterruptR	t
isinstanceRRRRtcode(RR((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyRYas






cC@s�y^|j�t|jd�r]tjtjj|jjd<||jjd<|jj	�nWnlt
tfk
r�}|jd�t
|t
�r�tjd�|j�q�tj|�|j|j�nXdS(u�
        Start the actual minion as a caller minion.

        cleanup_protecteds is list of yard host addresses that should not be
        cleaned up this is to fix race condition when salt-caller minion starts up

        If sub-classed, don't **ever** forget to run:

            super(YourSubClass, self).start()

        NOTE: Run any required code before calling `super()`.
        uuseru__roleuraet_cleanup_protectedsuStoppinguExiting on Ctrl-cN(R.RR
tkindstAPPL_KIND_NAMESt	applKindstcallerRMtoptstcall_inR_R	RR`RRRRRa(Rtcleanup_protectedsR\((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pytcallrs





icC@sy|jd�t|d�r>t|jd�r>|jj�ntt|�j|dj|jj	|phd�j
��dS(u}
        If sub-classed, run any shutdown operations on this method.

        :param exitcode
        :param exitmsg
        u
Shutting downuminionudestroyuThe Salt {0} is shutdown. {1}uN(RR!RMtdestroyR'RLRtformatRRRH(RRIRJ((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR�s
!	N(
RRRR(R.RFRYRiRGR(((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyRL�s		[			tProxyMinioncB@s8eZdZd�Zd�Zd�Zddd�ZRS(u&
    Create a proxy minion server
    cC@s-|jj|�tt|�j||�dS(N(RMRNR'RlR((RR)R*((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR(�sc
C@sHtt|�j�|jjs/|jd�ny�|jdr�|jjd�}|r�d|krxtj	j
|�}ntj	j|�s�tj	jtj	j
|jd�|�}q�n(tj	jtj	j
|jd�d�}|jd|jd|jd	|jd
|g}|jjd�dkr�|j
tj	j|jdd
��|j
tj	j|jdd��|j
tj	j|jdd��|j
tj	j|jdd��nt||jdd|jdd|jdd|jd�nWn tk
r}|j|�nX|j�t|j�|jdj|jd��tj|j�|j�r�|jd�|jd�n|jdj�d!kr	ddl}|j�|j�|jjd�d kr�|jj|j�n|jj|j�|_n;ddl }|j�|j�|j!j"j#|j�|_dS("u�
        Run the preparation sequence required to start a salt proxy minion.

        If sub-classed, don't **ever** forget to run:

            super(YourSubClass, self).prepare()
        usalt-proxy requires --proxyidu
verify_envudefault_includeu*u	conf_fileuproxy.dupki_dirucachedirusock_diruextension_modulesu	transporturaetuacceptedupendingurejecteduuserR+upermissive_pki_accessR,uroot_dirR-uSetting up "{0}"uidu'An instance is already running. ExitingiuzeromqutcpudetectiNumaster_typeufunc(uzeromqutcpudetect($R'RlR.tvaluestproxyidRR
R2R/R0RORPR1R3RR6RR7RRRkRR8RQRRRRR>R?RMRStProxyMinionManagerR:R;R<RU(RRVRCRRE((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR.�sd
	%	



	###&









cC@s�tt|�j�yYt|jd�rk|jd�|j�|jj�|jj	rkt
d��qknWnlttfk
r�}|jd�t
|t�r�tjd�|j�q�tj|�|j|j�nXdS(u�
        Start the actual proxy minion.

        If sub-classed, don't **ever** forget to run:

            super(YourSubClass, self).start()

        NOTE: Run any required code before calling `super()`.
        uuseruThe Proxy Minion is starting upu(Proxy Minion could not connect to MasteruProxy Minion StoppinguExiting on Ctrl-cN(R'RlRFRR
RRRMR]R^R
R_R	R`RRRRRa(RR\((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyRFs







icC@s�t|d�rYd|jjkrY|jjdjd}|jjd||jj�n|jd�tt|�j|dj|j	j
|p�d�j��dS(u}
        If sub-classed, run any shutdown operations on this method.

        :param exitcode
        :param exitmsg
        uminionuproxymoduleu	.shutdownu
Shutting downuThe Salt {0} is shutdown. {1}uN(R!RMRftloaded_base_nameRR'RlRRkRRRH(RRIRJtproxy_fn((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR%s!!
	N(RRRR(R.RFRGR(((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyRl�s
		^	tSyndiccB@s/eZdZd�Zd�Zddd�ZRS(u 
    Create a syndic server
    c
C@stt|�j�yw|jdr�t|jd|jd|jd|jdg|jdd|jdd	|jd
d|jd�nWn tk
r�}|j|�nX|j�t|j�|j	dj
|jd
��ddl}|j�|j
j|j�|_|j�dS(u�
        Run the preparation sequence required to start a salt syndic minion.

        If sub-classed, don't **ever** forget to run:

            super(YourSubClass, self).prepare()
        u
verify_envupki_dirucachedirusock_diruextension_modulesuuserR+upermissive_pki_accessR,uroot_dirR-uSetting up "{0}"uidiN(R'RrR.R
RR6RR7RRRkRRR>RMt
SyndicManagertsyndicR?(RRRE((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyR.;s*










cC@s�tt|�j�t|jd�r||jd�|j�y|jj�Wq|t	k
rx|jd�|j
�q|XndS(u�
        Start the actual syndic.

        If sub-classed, don't **ever** forget to run:

            super(YourSubClass, self).start()

        NOTE: Run any required code before calling `super()`.
        uuseruStarting upuStoppingN(R'RrRFRR
RRRtR]R_R(R((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyRF_s




icC@sH|jd�tt|�j|dj|jj|p7d�j��dS(u}
        If sub-classed, run any shutdown operations on this method.

        :param exitcode
        :param exitmsg
        u
Shutting downuThe Salt {0} is shutdown. {1}uN(RR'RrRRkRRRH(RRIRJ((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyRss
	N(RRRR.RFRGR(((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyRr6s	$	(0Rt
__future__RRRR/twarningstsalt.utils.verifyRtfilterwarningstDeprecationWarningtUserWarningtsalt.log.setupREt
salt.utilsRtsalt.utils.kindsR@Rbtsalt.utils.zeromqRtsalt.utils.parsersRRRtImportErrorR\targstsalt.exceptionsR	R
RRtsetuptloggingt	getLoggerRtobjectRtparserstMasterOptionParserR tMinionOptionParserRLtProxyMinionOptionParserRltSyndicOptionParserRr(((s4/usr/lib/python2.7/site-packages/salt/cli/daemons.pyt<module>sD 
8"q"�"�

Zerion Mini Shell 1.0