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    
idna / lib / python2.7 / site-packages / nova / compute / claims.pyc
Size: Mime:
ó
±EYc@s»dZddlmZddlmZddlmZddlmZddlm	Z	ddl
mZeje
ƒZdefd	„ƒYZd
efd„ƒYZdefd
„ƒYZdS(s/
Claim objects for use with resource tracking.
iÿÿÿÿ(tlog(t	exception(t_(t_LI(tobjects(thardwaretNopClaimcBsheZdZd„Zed„ƒZed„ƒZed„ƒZd„Zd„Z	d„Z
d„ZRS(	sCFor use with compute drivers that do not support resource tracking.cOs"|jddƒ|_d|_dS(Nt	migration(tpoptNoneRtclaimed_numa_topology(tselftargstkwargs((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyt__init__#scCsdS(Ni((R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pytdisk_gb'scCsdS(Ni((R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyt	memory_mb+scCsdS(Ni((R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pytvcpus/scCs|S(N((R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyt	__enter__3scCs|dk	r|jƒndS(N(R	tabort(Rtexc_typetexc_valtexc_tb((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyt__exit__6scCsdS(N((R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyR:scCsd|j|jfS(Ns![Claim: %d MB memory, %d GB disk](RR(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyt__str__=s	(t__name__t
__module__t__doc__RtpropertyRRRRRRR(((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyR s				tClaimcBs¤eZdZddd„Zed„ƒZed„ƒZed„ƒZed„ƒZ	d„Z
dd„Zd„Zd	„Z
d
„Zd„Zd„Zd
„ZRS(sÊA declaration that a compute host operation will require free resources.
    Claims serve as marker objects that resources are being held until the
    update_available_resource audit process runs to do a full reconciliation
    of resource usage.

    This information will be used to help keep the local compute hosts's
    ComputeNode model in sync to aid the scheduler in making efficient / more
    correct decisions with respect to host selection.
    cCs€tt|ƒjƒ|jƒ|_t|_||_||_|sZidd6dd6}n||_	||_
|j||ƒdS(NiRR(tsuperRRt	obj_clonetinstancetFalset_numa_topology_loadedttrackert
_pci_requeststoverheadtcontextt_claim_test(RR&R R#t	resourcestpci_requestsR%tlimits((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRMs			

		cCs-|jjj|jjj|jjddƒS(NRi(R tflavortroot_gbtephemeral_gbR%tget(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRascCs|jjj|jdS(NR(R R+RR%(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRgscCs
|jjjS(N(R R+R(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRkscCs*|jr|jS|jj|_|jSdS(N(R"t_numa_topologyR t
numa_topology(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyR0os	cCs6tjd|d|jƒ|jj|j|jƒdS(sZCompute operation requiring claimed resources has failed or
        been aborted.
        sAborting claim: %sR N(tLOGtdebugR R#tabort_instance_claimR&(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRwsc	CsH|si}n|jdƒ}|jdƒ}|jdƒ}|jdƒ}tjtdƒi|jd6|jd6|jd6d|jƒ|j||ƒ|j	||ƒ|j
||ƒ|j||ƒ|jƒg}g|D]}|dk	rÚ|^qÚ}t|ƒdkr(tjd	d
j|ƒƒ‚ntjtdƒd|jƒdS(
svTest if this claim can be satisfied given available resources and
        optional oversubscription limits

        This should be called before the compute node actually consumes the
        resources required to execute the claim.

        :param resources: available local compute node resources
        :returns: Return true if resources are available to claim.
        RRtvcpuR0sSAttempting claim: memory %(memory_mb)d MB, disk %(disk_gb)d GB, vcpus %(vcpus)d CPURR itreasons; sClaim successfulN(R.R1tinfoRRRRR t_test_memoryt
_test_diskt_test_vcpust_test_numa_topologyt	_test_pciR	tlenRtComputeResourcesUnavailabletjoin(	RR(R*tmemory_mb_limitt
disk_gb_limittvcpus_limittnuma_topology_limittreasonstr((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyR'~s&
	%	cCsItdƒ}d}|j}|j}|j}|j||||||ƒS(NtmemorytMB(RRtmemory_mb_usedt_test(RR(tlimitttype_tunitttotaltusedt	requested((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyR7£s			cCsItdƒ}d}|j}|j}|j}|j||||||ƒS(NtdisktGB(Rtlocal_gbt
local_gb_usedRRH(RR(RIRJRKRLRMRN((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyR8¬s			cCsItdƒ}d}|j}|j}|j}|j||||||ƒS(NR4tVCPU(RRt
vcpus_usedRH(RR(RIRJRKRLRMRN((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyR9µs			cCsD|j}|jr@|jjj}|j|jƒs@tdƒSndS(NsClaim pci failed.(R$trequestsR#tpci_trackertstatstsupport_requestsR(RR)RW((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyR;¾s
		c	CsÓd|kr|jnd}|j}|rÏtjj|ƒ}|j}d}|jrf|jjj	}nt
j||d|d|jd|ƒ}|rº|rº|jr­tdƒStdƒSqÏ|rÏ||_
qÏndS(NR0R*R)t	pci_statsslRequested instance NUMA topology together with requested PCI devices cannot fit the given host NUMA topologysHRequested instance NUMA topology cannot fit the given host NUMA topology(R0R	RtNUMATopologytobj_from_db_objR$RUR#RVRWRtnuma_fit_instance_to_hostRR
(RR(RIt
host_topologytrequested_topologyR)RYtinstance_topology((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyR:Ås(								
	

cCsðtjtdƒi|d6|d6|d6|d6d|jƒ|dkrqtjtdƒi|d6d|jƒdS||}tjtd	ƒi|d6|d
6|d6|d6d|jƒ||krìtdƒi|d6|d6|d6|d
6SdS(s_Test if the given type of resource needed for a claim can be safely
        allocated.
        s>Total %(type)s: %(total)d %(unit)s, used: %(used).02f %(unit)sttypeRLRKRMR s5%(type)s limit not specified, defaulting to unlimitedNsA%(type)s limit: %(limit).02f %(unit)s, free: %(free).02f %(unit)sRItfreesEFree %(type)s %(free).02f %(unit)s < requested %(requested)d %(unit)sRN(R1R6RR R	R(RRJRKRLRMRNRIRa((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRHãs"

"
	N(RRRR	RRRRRR0RR'R7R8R9R;R:RH(((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRBs		%								t	MoveClaimcBsbeZdZddd„Zed„ƒZed„ƒZed„ƒZed„ƒZ	d„Z
RS(s–Claim used for holding resources for an incoming move operation.

    Move can be either a migrate/resize, live-migrate or an evacuate operation.
    c


Csz||_||_t|tƒr6tjj|ƒ}n||_tt	|ƒj
|||||d|d|	ƒd|_dS(NR%R*(
R&t
instance_typet
isinstancetdictRt	ImageMetat	from_dictt
image_metaRRbRR	R(
RR&R RcRhR#R(R)R%R*((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRs				
cCs'|jj|jj|jjddƒS(NRi(RcR,R-R%R.(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRscCs|jj|jdS(NR(RcRR%(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRscCs
|jjS(N(RcR(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRscCstj|j|jƒS(N(Rtnuma_get_constraintsRcRh(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyR0 scCsLtjd|d|jƒ|jj|j|jd|jƒ|jjƒdS(sZCompute operation requiring claimed resources has failed or
        been aborted.
        sAborting claim: %sR RcN(R1R2R R#tdrop_move_claimR&Rctdrop_migration_context(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyR%s
	N(RRRR	RRRRRR0R(((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyRbsN(Rtoslo_logRtloggingtnovaRt	nova.i18nRRRt	nova.virtRt	getLoggerRR1tobjectRRRb(((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/compute/claims.pyt<module>s"¿