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 / objects / instance_numa_topology.pyc
Size: Mime:
ó
±EYc@sÊddlmZddlmZddlmZddlmZddlmZddlm	Z
ddlmZej
jdejejfd	„ƒYƒZej
jd
ejejfd„ƒYƒZdS(
iÿÿÿÿ(t	jsonutils(tversionutils(tdb(t	exception(tbase(tfields(thardwaretInstanceNUMACellcBseZdZd„Ziejƒd6ejƒd6ejƒd6ejdeƒd6ejddeƒd6ej	deƒd	6ej
deƒd
6ejdeƒd6Zej
d	ƒZd„Zd
„Zd„Zed„ƒZed„ƒZed„ƒZd„Zd„Zd„ZRS(s1.3cCs[tt|ƒj||ƒtj|ƒ}|dkrW|jddƒ|jddƒndS(Niit
cpu_policytcpu_thread_policy(ii(tsuperRtobj_make_compatibleRtconvert_version_to_tupletpoptNone(tselft	primitivettarget_version((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyR#stidtcpusettmemorytnullabletpagesizetVirtCPUTopologytcpu_topologytcpu_pinning_rawRR	cKsâtt|ƒj|d|kr>d|_|jdgƒnd|krfd|_|jdgƒnd|krŽd|_|jdgƒnd|kr¶d|_|jdgƒnd|krÞd|_	|jdgƒndS(NRRtcpu_pinningRRR	(
R
Rt__init__RRtobj_reset_changesRRRR	(Rtkwargs((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyR:s 					cCs
t|jƒS(N(tlenR(R((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyt__len__LscCsBitj|jdtƒd6i|jd6d6|jd6|jd6S(Ntallow_rangestcpusttotaltmemRR(Rtformat_cpu_specRtFalseRRR(R((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyt_to_dictOs


c	Csvtj|jddƒƒ}|jdiƒjddƒ}|jdƒ}|jdƒ}|d|d|d	|d|ƒS(
NR!tR#R"iRRRR(Rtparse_cpu_spectget(tclst	data_dictRRtcell_idR((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyt
_from_dictXscCsntt|jƒƒ}d}|jr3|jj}n|dkrHd}nttttt|ƒg|ŒƒƒS(Nii(	tsortedtlistRRtthreadstmaptsettziptiter(Rtcpu_listR0((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pytsiblingscs		cCs|jtjjkS(N(Rt
obj_fieldstCPUAllocationPolicyt	DEDICATED(R((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pytcpu_pinning_requestedoscCs9||jkrdS|jpi}|||<||_dS(N(RR(Rtvcputpcputpinning_dict((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pytpinss

cGs+x$|D]\}}|j||ƒqWdS(N(R>(Rt	cpu_pairsR;R<((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyt	pin_vcpuszscCsd|_i|_|S(s˜Clear any data related to how this cell is pinned to the host.

        Needed for aborting claims as we do not want to keep stale data around.
        iÿÿÿÿ(RR(R((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pytclear_host_pinning~s		(t__name__t
__module__tVERSIONRR7tIntegerFieldtSetOfIntegersFieldtTruetObjectFieldtDictOfIntegersFieldtCPUAllocationPolicyFieldtCPUThreadAllocationPolicyFieldRtDictProxyFieldRRRR&tclassmethodR-tpropertyR6R:R>R@RA(((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyRs.	



	
						tInstanceNUMATopologycBsÅeZdZiejƒd6ejƒd6ejdƒd6Zedd„ƒZ
ed„ƒZej
d„ƒZejd„ƒZd	„Zd
„Zd„Zed„ƒZed
„ƒZd„ZRS(s1.2Rt
instance_uuidRtcellscCsId|kr-tt|ƒj|ddƒ}ntj|ƒ}d|_|S(Nsnova_object.nametcontexti(R
ROtobj_from_primitiveRR-R(R*RRRtobj_topology((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyRS™s	cCsDtj|ƒ}|j|ƒ}d|kr@||_|jƒn|S(Nsnova_object.name(RtloadsRSRPR(R*RPtdb_objRRT((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pytobj_from_db_obj¦s	
cCs:i|jƒd6}tj|j|j|ƒ|jƒdS(Nt
numa_topology(t_to_jsonRtinstance_extra_update_by_uuidt_contextRPR(Rtvalues((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pytcreate³scCs^tj||ddgƒ}|s6tjd|ƒ‚n|ddkrJdS|j||dƒS(NtcolumnsRXRP(Rt#instance_extra_get_by_instance_uuidRtNumaTopologyNotFoundRRW(R*RRRPtdb_extra((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pytget_by_instance_uuidºscCstj|jƒƒS(N(Rtdumpstobj_to_primitive(R((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyRYÆscCs
t|jƒS(s<Defined so that boolean testing works the same as for lists.(RRQ(R((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyRÉscCs'ig|jD]}|jƒ^q
d6S(NRQ(RQR&(Rtcell((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyR&ÍscCs5|dg|jdgƒD]}tj|ƒ^qƒS(NRQ(R)RR-(R*R+t	cell_dict((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyR-ÒscCstd„|jDƒƒS(Ncss|]}|jVqdS(N(R:(t.0Re((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pys	<genexpr>Üs(tallRQ(R((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyR:ÚscCs"x|jD]}|jƒq
W|S(s—Clear any data related to how instance is pinned to the host.

        Needed for aborting claims as we do not want to keep stale data around.
        (RQRA(RRe((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyRAÞsN(RBRCRDR7REt	UUIDFieldtListOfObjectsFieldRRMRRSRWRt	remotableR]tremotable_classmethodRbRYRR&R-RNR:RA(((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyRO‰s 


			N(toslo_serializationRt
oslo_utilsRtnovaRRtnova.objectsRRR7t	nova.virtRtNovaObjectRegistrytregistert
NovaObjecttNovaObjectDictCompatRRO(((sX/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/instance_numa_topology.pyt<module>sm