Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
dmapi / usr / lib / python2.7 / dist-packages / dmapi / rpc.pyc
Size: Mime:
ó
Éec@sdddddddddd	d
gZddlZdd
lmZddlZddlmZddl	m
Z
ddlmZddl
ZddlZddlmZejjZejeƒZdadadadaejjgZgZidd6dd6dd6Zd„Z ddl!m"Z"d„Z#d„Z$d„Z%d„Z&d„Z'd„Z(d ej)fd!„ƒYZ*dej+fd"„ƒYZ,dd#„Z-ddd$„Z.dd%„Z/ddd&„Z0d'„Z1d(„Z2d)e3fd*„ƒYZ4d+e3fd,„ƒYZ5d-e
j6fd.„ƒYZ7dS(/tinittcleanuptset_defaultstadd_extra_exmodstclear_extra_exmodstget_allowed_exmodstRequestContextSerializert
get_clientt
get_servertget_notifiertTRANSPORT_ALIASESiÿÿÿÿN(tlog(t	jsonutils(t
periodic_task(t	timeutils(t_trabbitsdmapi.rpc.impl_kombutqpidsdmapi.rpc.impl_qpidtzmqsdmapi.rpc.impl_zmqcCstj|ƒdS(N(t	messagingtset_transport_defaults(tcontrol_exchange((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR7s(tcfgc
Cs\tjdddddgddddd	d
ƒtjdd	dƒg}|}|j|ƒdS(
Ntnotification_formattchoicestunversionedt	versionedtbothtdefaulttdeprecated_grouptDEFAULTthelptthosts   (RtStrOpttHostAddressOptt
register_opts(tconftnotification_optstALL_OPTS((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR$=scCst|ƒtƒ}tj|d|ƒatj|d|ƒattƒƒ}|j	dkrŽtj
td|ƒatj
td|ddƒan~|j	dkrÓtj
td|ƒatj
td|ddgƒan9tj
td|ddƒatj
td|ddgƒadS(	Ntallowed_remote_exmodsRt
serializertdrivertnoopRttopicstversioned_notifications(
R$RRt
get_transportt	TRANSPORTtget_notification_transporttNOTIFICATION_TRANSPORTRtJsonPayloadSerializerRtNotifiertLEGACY_NOTIFIERtNOTIFIER(R%texmodsR)((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyROs.
				cCsrtdk	st‚tdk	s$t‚tdk	s6t‚tdk	sHt‚tjƒtjƒdaaaadS(N(R/tNonetAssertionErrorR1R4R5R(((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyRls

cGstj|ƒdS(N(tEXTRA_EXMODStextend(targs((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyRzscCst2dS(N(R9(((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR~scCsttS(N(tALLOWED_EXMODSR9(((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR‚sR2cBseZed„ƒZRS(cCstj|dtƒS(Ntconvert_instances(Rtto_primitivetTrue(tcontexttentity((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pytserialize_entity‡s(t__name__t
__module__tstaticmethodRB(((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR2†scBs5eZd„Zd„Zd„Zd„Zd„ZRS(cCs
||_dS(N(t_base(tselftbase((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyt__init__ŽscCs |js
|S|jj||ƒS(N(RFRB(RGR@RA((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyRB‘s	cCs |js
|S|jj||ƒS(N(RFtdeserialize_entity(RGR@RA((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyRJ–s	cCs
|jƒS(N(tto_dict(RGR@((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pytserialize_context›scCstjjj|ƒS(N(tdmapiR@tRequestContextt	from_dict(RGR@((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pytdeserialize_contextžs(RCRDRIRBRJRLRP(((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyRŒs
				cCstjjt|tƒS(N(RtTransportURLtparsetCONFR
(turl_str((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pytget_transport_url¢scCsntjj}tjjgg}tj|d|ƒ}|dk	sFt‚t	|ƒ}tj
||d|d|ƒS(NR(tversion_capR)(RMR%RSt	exceptionRCRR.R7R8Rt	RPCClient(ttargetRVR)R%R6R/((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR¦s	cCs=tdk	st‚t|ƒ}tjt||ddd|ƒS(NtexecutorteventletR)(R/R7R8RRtget_rpc_server(RYt	endpointsR)((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR³s	cCsJtdk	st‚|s4d||p*tjf}nttjd|ƒƒS(Ns%s.%stpublisher_id(R4R7R8RSR!tLegacyValidatingNotifiertprepare(tserviceR!R^((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR	½s
cCs"tdk	st‚tjd|ƒS(NR^(R5R7R8R`(R^((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pytget_versioned_notifierÅscCs"tƒ}tjtd|d|ƒS(NturlR((RRR.RS(RcR6((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pytcreate_transportÊs	R_cBsDeZdZeZdgZedƒZd„Zd„Z	d„Z
RS(sDWraps an oslo.messaging Notifier and checks for allowed event_types.saggregate.addhost.endse%(event_type)s is not a versioned notification and not whitelisted. See ./doc/source/notification.rstcCsL||_x<dddddgD]%}t||tj|j|ƒƒqWdS(Ntdebugtinfotwarnterrortcritical(tnotifiertsetattrt	functoolstpartialt_notify(RGRjtpriority((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyRIås		cCsddht|jƒƒkS(NRWR;(tsettkeys(RGtpayload((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyt_is_wrap_exception_notificationëscCs‚||jkrb|j|ƒrb|jrEt|ji|d6ƒ‚qbtj|ji|d6ƒnt|j|ƒ|||ƒdS(Nt
event_type(	t'allowed_legacy_notification_event_typesRstfatalR8tmessagetLOGtwarningtgetattrRj(RGRotctxtRtRr((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyRnôs	(RCRDt__doc__tFalseRvRuRRwRIRsRn(((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR_Ñs				t
ClientWrappercBs eZd„Zed„ƒZRS(cCs||_tjƒ|_dS(N(t_clientRtutcnowtlast_access_time(RGtclient((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyRIs	cCstjƒ|_|jS(N(RR€RR(RG((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR‚s(RCRDRItpropertyR‚(((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR~ÿs	tClientRoutercBs5eZdZd„Zdd„Zejd„ƒZRS(sËCreates and caches RPC clients that route to cells or the default.

    The default client connects to the API cell message queue. The rest of the
    clients connect to compute cell message queues.
    cCstt|ƒjtƒi|_t|ƒ|jd<|j|_|j|_t|ddƒ|_
|jtj
jdtƒƒdS(NRR)t	overwrite(tsuperR„RIRStclientsR~RYRVRzR7R)trun_periodic_tasksRMR@RNR}(RGtdefault_client((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyRIs	cCs|r|j}nd}y|j|j}WnZtk
rˆt|jƒ}tj||jd|j	d|j
ƒ}t|ƒ|j|<nX|S(NRRVR)(tuuidR‡R‚tKeyErrorRdt
transport_urlRRXRYRVR)R~(RGR@tcell_mappingt	client_idR‚t	transport((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyRs
	cspd‰‡fd†}t|jjƒƒ}x?|D]7\}}|dkr1|||jƒr1|j|=q1q1WdS(Ni<cs-tj|ˆƒr)tjd||ƒtStS(Ns;Removing stale RPC client: %s as it was last accessed at %s(Rt
is_older_thanRxReR?R}(RŽR(ttimeout(s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pytstale2s
	
R(tlistR‡titemsR(RGR@R’t
items_copyRŽtclient_wrapper((R‘s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyt_remove_stale_clients.sN(RCRDR|RIR7RR
R—(((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyR„
s	
(8t__all__Rltoslo_logRtloggingtoslo_messagingRtoslo_serializationRtoslo_serviceR
t
oslo_utilsRt
dmapi.confRMtdmapi.exceptiont
dmapi.i18nRR%RSt	getLoggerRCRxR7R/R4R1R5RWR<R9R
Rtoslo_configRR$RRRRRtNoOpSerializerR2t
SerializerRRURRR	RbRdtobjectR_R~t
PeriodicTasksR„(((s-/usr/lib/python2.7/dist-packages/dmapi/rpc.pyt<module>sd	
							

		.