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    
Size: Mime:
ó
±EYc@sãddlmZddlmZddlmZddl	m
Z
ddlmZddl
mZddlmZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZddlmZddlmZddlmZddlmZddl m!Z!ddl m"Z"ej#e$ƒZ%ddgZ&ddgZ'd„Z(ej)j*d„ƒZ+ej)j,d„ƒZ-ej)j,d„ƒZ.ej)j,dd„ƒZ/ej)j,d„ƒZ0ej)j,d„ƒZ1ej)j,e2e2d„ƒZ3ej4j*d „ƒZ5e!j6j7d!e!j8e!j9e!j:fd"„ƒYƒZ;ej)j*d#„ƒZ<e!j6j7d$e!j=e!j9fd%„ƒYƒZ>ej4j*d&„ƒZ?ej4j,d'„ƒZ@eAd(„ZBd)„ZCej)j*d*„ƒZDd+„ZEd,S(-iÿÿÿÿ(t	exception(tutils(tlog(tor_(t
joinedload(tasc(tfunc(ttext(ttrue(tdb(tapi(trequire_context(t
api_models(tmodels(t_LW(tobjects(tbase(tfieldstextra_specstprojectstdeletedt
deleted_atcCs$d„|dDƒ}t|d|ƒS(NcSs!i|]}|d|d“qS(tvaluetkey((t.0tx((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pys
<dictcomp>+s	R(tdict(tflavor_modelR((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_dict_with_extra_specs*scCsp|jjtjƒjd|ƒjtdƒƒjƒ}|sQtj	d|ƒ‚ng|dD]}|d^q\S(NtflavoridRt	flavor_idt
project_id(
tsessiontqueryRtFlavorst	filter_bytoptionsRtfirstRtFlavorNotFound(tcontextRt	db_flavorR((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_get_projects_from_db4s	cCsntjƒ}|ji|d6|d6ƒy|j|jƒWn,tjk
ritjd|d|ƒ‚nXdS(NRR(	RtFlavorProjectstupdatetsaveR tdb_exctDBDuplicateEntryRtFlavorAccessExists(R'RRtproject((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_flavor_add_project?scCs^|jjtjƒjd|ƒjd|ƒjƒ}|dkrZtjd|d|ƒ‚ndS(NRRi(R R!RR*R#tdeleteRtFlavorAccessNotFound(R'RRtresult((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_flavor_del_projectKsi
c
Csžtjj}x‹t|ƒD]}}y5|jjtjƒjd|ƒj	tjj
j|jƒƒƒj
ƒ}tƒ}xV|D]N}|d}	|j|	ƒ|jj|ƒ|ji||	d6ƒWdQXqwWxƒ|jƒD]u\}	}
|	|krôqÖntjƒ}|jj|ƒ7|ji|	d6|
d6|d6ƒ|jj|ƒWdQXqÖW|SWqtjk
r•||dkr–tjd|d|ƒ‚q–qXqWdS(NRRRitidtretries(tdb_apitapi_context_managertwritertrangeR R!RtFlavorExtraSpecsR#tfilterRtin_tkeystalltsettaddt	savepointtusingR+titemsR-R.Rt!FlavorExtraSpecUpdateCreateFailed(R'Rtspecstmax_retriesR:tattemptt	spec_refst
existing_keystspec_refRR((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_flavor_extra_specs_addVs6			


"	cCs^|jjtjƒjd|ƒjd|ƒjƒ}|dkrZtjd|d|ƒ‚ndS(NRRitextra_specs_key(R R!RR<R#R2RtFlavorExtraSpecsNotFound(R'RRR4((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_flavor_extra_specs_del{s	c
Csƒ|jdƒ}g}|rhxJ|jƒD]9\}}tjƒ}||d<||d<|j|ƒq(Wn|jdƒ}g}|rÀx:t|ƒD])}	tjƒ}
|	|
d<|j|
ƒqWn||d<||d<tjƒ}|j|ƒy|j	|j
ƒWnutjk
rW}d|j
kr>tjd|dƒ‚ntjd|dƒ‚n"tk
rx}tj|ƒ‚nXt|ƒS(	NRRRRRRRtname(tgetRERR<tappendRAR*R"R+R,R R-R.tcolumnsRtFlavorIdExiststFlavorExistst	ExceptiontDBErrorR(
R'tvaluesRGtdb_specstktvtdb_specRtdb_projectsR0t
db_projectR(te((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_flavor_create†s8





cCsë|jjtjƒ}|dk	r?|jtjj|kƒ}n|jtjj|kƒ}|jƒ}|s‡t	j
d|p~|ƒ‚n|jjtjƒjd|jƒj
ƒ|jjtjƒjd|jƒj
ƒ|jj
|ƒdS(NR(R R!RR"tNoneR=R6RR%RR&R*R#R2R<(R'RRR!R4((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_flavor_destroyªscCsW|jjtjƒjddƒjƒ}|rMtjtdƒi|d6ƒn|dkS(NRis3Main database contains %(count)i unmigrated flavorstcount(	R R!tmain_modelst
InstanceTypesR#RdtLOGtwarningR(R'R4((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_ensure_migrated¾stFlavorcBsõeZdZiejƒd6ejdeƒd6ejƒd6ejƒd6ejƒd6ejƒd6ejƒd6ejƒd	6ejded
dƒd6ejdeƒd
6ejƒd6ejƒd6ej	ƒd6ej
ƒd6Zd„Zed„ƒZ
ed3d„ƒZeejjd„ƒƒZeed„ƒƒZeed„ƒƒZeed„ƒƒZed„ƒZejd„ƒZd„Zd3ed„Zd„Z e!d„ƒZ"ej#d„ƒZ$ej#d „ƒZ%ej#d3d!„ƒZ&ed"„ƒZ'ed#„ƒZ(d$„Z)ejd%„ƒZ*d&„Z+ejd'„ƒZ,ed(„ƒZ-ed)„ƒZ.ejd*„ƒZ/ejd3d3d+„ƒZ0ed,d-„ƒZ1ed.„ƒZ2ejd3d3d/„ƒZ3d0„Z4ed3d3d1„ƒZ5ejd2„ƒZ6RS(4s1.1R6tnullableRQt	memory_mbtvcpustroot_gbtephemeral_gbRtswaptdefaultgð?trxtx_factortvcpu_weighttdisabledt	is_publicRRcOs8tt|ƒj||Ži|_g|_t|_dS(N(tsuperRjt__init__t_orig_extra_specst_orig_projectstFalset_in_api(tselftargstkwargs((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyRwâs		cCs†|jr
tSyWd|kr5|j|j|jƒn%|j|j|jƒ}|d|_t|_Wntjk
rznX|jSdS(NR6(	R{tTruet_flavor_get_from_dbt_contextR6t _flavor_get_by_flavor_id_from_dbRRR&(R|tflavor((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pytin_apiès	

csW|dkrg}n||_xŽ|jjƒD]}\}}|tkrLq.n|tkrj|ˆkrjq.nˆ|}t|tjƒr¡|dk	r˜|nd}n|||<q.Wt‡fd†tDƒƒràd|_	t
|_nd|krüˆd|_nd|krIdˆkr<gˆdD]}|d^q|d<qI|j
ƒn|jƒ|S(Nic3s|]}|ˆkVqdS(N((Rtf(R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pys	<genexpr>sRRR(RbRRREtOPTIONAL_FIELDStDEPRECATED_FIELDSt
isinstancetIntegerFieldtanyRRzRRt_load_projectstobj_reset_changes(R'RƒR(texpected_attrsRQtfieldRR((R(sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_from_db_objectûs0		
	%

cCs†|jjtjƒjtdƒƒ}|js‚tjjtƒkg}|j	tjj
jd|jƒgƒ|j
t|Œƒ}n|S(NRR(R R!RR"R$Rtis_adminRuRtextendRRŠRR=R(R'R!t
the_filter((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_flavor_get_query_from_dbs	cCsItj|ƒjd|ƒjƒ}|s<tjd|ƒ‚ntj|ƒS(s*Returns a dict describing specific flavor.R6R(RjR“R#R%RR&R8R(R'R6R4((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyR€,s
cCsItj|ƒjd|ƒjƒ}|s<tjd|ƒ‚ntj|ƒS(s*Returns a dict describing specific flavor.RQtflavor_name(RjR“R#R%RtFlavorNotFoundByNameR8R(R'RQR4((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_flavor_get_by_name_from_db7s
cCs^tj|ƒjd|ƒjttjjƒƒjƒ}|sQt	j
d|ƒ‚ntj|ƒS(s-Returns a dict describing specific flavor_id.RR(
RjR“R#torder_byRRR"R6R%RR&R8R(R'RR4((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyR‚Bs	cCs
t||ƒS(N(R)(R'R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyR)NscCs|y|j|j|jƒ|_WnFtjk
rggtj|j|jƒD]}|d^qK|_nX|jdgƒdS(NRR(	R)RRRRR&R	tflavor_access_get_by_flavor_idRŒ(R|R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyR‹Rs'cCs9|dkr+tjdddd|ƒ‚n|jƒdS(NRtactiont
obj_load_attrtreasonsunable to load %s(RtObjectActionErrorR‹(R|tattrname((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyRš]s	cCs§tt|ƒjd|d|ƒ|dks7d|kra|jdƒrUt|jƒni|_n|dksyd|kr£|jdƒr—t|j	ƒng|_
ndS(NRt	recursiveRR(RvRjRŒRbtobj_attr_is_setRRRxtlistRRy(R|RRž((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyRŒescCsutt|ƒjƒ}d|krC|j|jkrC|jdƒnd|krq|j|jkrq|jdƒn|S(NRR(RvRjtobj_what_changedRRxRBRRy(R|tchanges((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyR¡qscCsštt|ƒj|||ƒ}|jƒ}d|kr`|jdƒrTt|jƒni|_nd|kr–|jdƒrŠt|j	ƒng|_
n|S(NRR(RvRjt_obj_from_primitiveR¡RŸRRRxR RRy(tclsR'tobjvert	primitiveR|R¢((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyR£zs	cCsay|j||ƒ}Wn&tjk
r>tj||ƒ}nX|j|||ƒ|ddgƒS(NRR(R€RR&R	t
flavor_getR(R¤R'R6R(((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt	get_by_id‹scCsay|j||ƒ}Wn&tjk
r>tj||ƒ}nX|j|||ƒ|ddgƒS(NRR(R–RR•R	tflavor_get_by_nameR(R¤R'RQR(((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pytget_by_name”scCsdy|j||ƒ}Wn)tjk
rAtj|||ƒ}nX|j|||ƒ|ddgƒS(NRR(R‚RR&R	tflavor_get_by_flavor_idR(R¤R'Rtread_deletedR(((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pytget_by_flavor_ids	

cCst|||ƒS(N(R1(R'RR((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyR1¨scCst|||ƒS(N(R5(R'RR((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyR5¬scCsB|jr%|j|j|j|ƒntj|j|j|ƒdS(N(R„R1RR6R	tflavor_access_addR(R|R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_add_access°s	cCsHd|jƒkr-tjddddƒ‚n|j|ƒ|jƒdS(NRR™t
add_accessR›sprojects modified(R¡RRœR¯R‹(R|R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyR°¶s

cCsB|jr%|j|j|j|ƒntj|j|j|ƒdS(N(R„R5RR6R	tflavor_access_removeR(R|R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_remove_access¾s	cCsHd|jƒkr-tjddddƒ‚n|j|ƒ|jƒdS(NRR™t
remove_accessR›sprojects modified(R¡RRœR²R‹(R|R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyR³Äs

cCs
t||ƒS(N(Ra(R'tupdates((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyRaÌscCs
t|ƒS(N(Ri(R'((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyRiÐscCsË|jdƒr*tjddddƒ‚n|j|jƒsWtjddddƒ‚n|jƒ}g}x*tD]"}||krp|j|ƒqpqpW|j|j|ƒ}|j	|j||d|ƒdS(NR6R™tcreateR›salready createds$main database still contains flavorsR(
RŸRRœRiRtobj_get_changesR†RSRaR(R|R´RtattrR(((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyRµÔs	
cCs€|dk	r|ng}|dk	r*|ng}x|D]}|j|ƒq7Wx|D]}|j|ƒqUW|jdgƒdS(s‰Add or delete projects.

        :param:to_add: A list of projects to add
        :param:to_delete: A list of projects to remove
        RN(RbR¯R²RŒ(R|tto_addt	to_deleteR((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt
save_projectsës

i
cCst||||ƒS(N(RM(R'RRGRH((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyRMüscCst|||ƒS(N(RP(R'RR((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyRPscCsÆ|jr'|j}|j}|j}ntj}tj}|j}|dk	rT|ni}|dk	rl|ng}|rŽ||j	||ƒnx!|D]}||j	||ƒq•W|j
dgƒdS(sAdd or delete extra_specs.

        :param:to_add: A dict of new keys to add/update
        :param:to_delete: A list of keys to remove
        RN(R„RMRPR6R	t#flavor_extra_specs_update_or_createtflavor_extra_specs_deleteRRbRRŒ(R|R¸R¹tadd_fntdel_fntidentR((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pytsave_extra_specss						
cCs(|jƒ}|jddƒ}|jddƒ}|rQtjddddƒ‚n|dk	rŽt|jjƒƒt|jƒƒ}|j}n
d}}|dk	rÙt|j	ƒt|ƒ}t|ƒt|j	ƒ}n
d}}|sï|r|j
|j|ƒn|s|r$|j||ƒndS(NRRR™R,R›sread-only fields were changed(R¶tpopRbRRœRARxR?RRyRÀRº(R|R´RRtdeleted_keyst
added_keystdeleted_projectstadded_projects((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyR,s&	

cCst|d|d|ƒS(NRR(Rc(R'RR((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyRc?scCsvyEd|kr+|j|jd|jƒn|j|jd|jƒWn*tjk
rqtj|j|jƒnXdS(NR6RR(RcRR6RRR&R	tflavor_destroy(R|((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pytdestroyCsN(7t__name__t
__module__tVERSIONRR‰tStringFieldRt
FloatFieldtBooleanFieldtDictOfStringsFieldtListOfStringsFieldRwtpropertyR„tstaticmethodRbRR8R9treaderR“RR€R–R‚R)Rt	remotableR‹RšRzRŒR¡tclassmethodR£tremotable_classmethodR¨RªR­R1R5R¯R°R²R³RaRiRµRºRMRPRÀR,RcRÇ(((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyRjÉst









	#

					
			 cCsü|p	i}tj|ƒ}d|krI|jtjj|dkƒ}nd|krw|jtjj|dkƒ}nd|kr¥|jtjj|dkƒ}nd|kr[|ddk	r[tjj	|dkg}|dr|j
dk	r|jtjjj
d|j
ƒgƒnt|ƒdkrE|jt|Œƒ}q[|j|dƒ}nd}	|dk	r¬tj|ƒjd|ƒjƒ}	|	s¬tjd	|ƒ‚q¬ntj|tj||d
gd	|	d|ƒ}g|jƒD]}
t|
ƒ^qæS(
sReturns all flavors.
    t
min_memory_mbtmin_root_gbRtRuRiiRtmarkerR6tsort_dirN(RjR“R=RR"RlRnRtRbRuRR‘RRŠtlenRR#R%RtMarkerNotFoundtsqlalchemyutilstpaginate_queryR@R(R'tinactivetfilterstsort_keyRÙtlimitRØR!R’t
marker_rowti((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_flavor_get_all_from_dbTs>	t
FlavorListcBsHeZdZiejdƒd6Zejedddddd„ƒZ	RS(s1.1RjRRRcCsüy:t|d|d|d|d|d|d|ƒ}d}Wntjk
rVg}nX|dk	rv|t|ƒ}	nd}	|	dks”|	dkrÊtj|d|d|d|d|d|	d|ƒ}
ng}
tj|||ƒt	j
||
dd	gƒS(
NRÞRßRàRÙRáRØiRR(RäRbRRÛRÚR	tflavor_get_allRt
obj_make_listRRj(R¤R'RÞRßRàRÙRáRØtapi_db_flavorst
limit_moret
db_flavors((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pytget_allŠs.		


N(
RÈRÉRÊRtListOfObjectsFieldRRÕRzRbRë(((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyRå‚scCsRddlm}g|jj|jjƒjddƒj|ƒD]}|d^q>S(Niÿÿÿÿ(R
Ri(tnova.db.sqlalchemyR
R R!RfR6R#Rá(R'RáR
R((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_get_main_db_flavor_ids­s	cCs9ddlm}|jj|jƒjd|ƒjƒdS(Niÿÿÿÿ(R
RQ(RíR
R R!RfR#R2(R'RQR
((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_destroy_flavor_hard·sc	s t||ƒ}|sdSt|ƒ}d}xè|D]à}yutj||ƒ‰‡fd†ˆjDƒ}ˆj||ƒ|d7}|r™t|ˆjƒntj	|ˆj
ƒWq2tjk
ràt
jtdƒi|d6ƒq2tjtjfk
r}t
jt|ƒƒq2Xq2W||fS(Nics"i|]}tˆ|ƒ|“qS((tgetattr(RRŽ(Rƒ(sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pys
<dictcomp>Ês	is-Flavor id %(id)i disappeared during migrationR6(ii(RîRÚRjR¨RRaRïRQR	RÆRRR&RgRhRRVRUterrortstr(	tctxtRdthard_deletetmain_db_idst	count_allt	count_hitRt
flavor_valuesR`((RƒsH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pytmigrate_flavors¿s*


cCs9tjƒ}|jdkr5|jtd|ƒƒndS(Nt
postgresqls.ALTER SEQUENCE flavors_id_seq RESTART WITH %i;(R8tget_api_engineRQtexecuteR(R'Rtengine((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_adjust_autoincrementÛs
cCs5|jjtjtjjƒƒjƒd}|p4dS(Ni(R R!RtmaxRR"R6tone(R'tmax_id((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt_get_max_flavor_idçs+cCs!t|ƒ}t||dƒdS(Nii(ii(RRþ(RóRdR((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt"migrate_flavor_reset_autoincrementísN(Ftoslo_dbRR-toslo_db.sqlalchemyRRÜtoslo_logRtloggingt
sqlalchemyRtsqlalchemy.ormRtsqlalchemy.sql.expressionRtsqlalchemy.sqlRRRtnovaR	RíR
R8tnova.db.sqlalchemy.apiRRR
Ret	nova.i18nRRtnova.objectsRRt	getLoggerRÈRgR†R‡RR9RÒR)R:R1R5RMRPRaRbRctmain_context_managerRitNovaObjectRegistrytregistertNovaPersistentObjectt
NovaObjecttNovaObjectDictCompatRjRätObjectListBaseRåRîRïRzRùRþRR(((sH/home/tvault/.virtenv/lib/python2.7/site-packages/nova/objects/flavor.pyt<module>sZ	
	$$	ÿŠ.*