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ÈddlZddlZddlmZddlZddlmZddlmZddlm	Z	d„Z
dZdZd	Z
d
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,dZ-d)Z.d*Z/e,e-e.fZ0d+Z1d,Z2d-Z3d.Z4d/Z5d0Z6d1Z7d2Z8d3Z9d4Z:d5Z;e1e2e3e4e5e6e7e8e9e:e;fZ<d6Z=d7e>fd8„ƒYZ?d9e?fd:„ƒYZ@d;e@fd<„ƒYZAd=e?fd>„ƒYZBd?e?fd@„ƒYZCdAe?fdB„ƒYZDdCe?fdD„ƒYZEdEe?fdF„ƒYZFdGe?fdH„ƒYZGdI„ZHdJeIfdK„ƒYZJdLeJfdM„ƒYZKdS(NiÿÿÿÿN(t	jsonutils(t	exception(t_(tutilscCsd„tj|ƒDƒS(NcSs%i|]\}}|t|ƒ“qS((tstr(t.0tktv((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pys
<dictcomp>s	(tsixt	iteritems(td((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytensure_string_keysstovstivstdvstiovisortbridges802.1qbgs802.1qbhthw_vebthostdev_physicalt
ib_hostdevtmidonett	vhostusertvroutertotherttaptmacvtaptbinding_failedtport_filtertovs_hybrid_plugtphysical_networktbridge_namet	profileidtvlantmacvtap_sourcetmacvtap_modetphysical_interfacetvhostuser_modetvhostuser_sockettvhostuser_ovs_plugtvhostuser_fp_plugt
dpdkvhostusertmac_addresstnormaltdirectsdirect-physicalt	baremetaltvirtiotne2k_pcitpcnettrtl8139te1000te1000etnetfronts
spapr-vlantsriovtvmxnettvmxnet3itModelcBs,eZdZd„Zd„Zdd„ZRS(sADefines some necessary structures for most of the network models.cCs
tj|ƒS(N(Rtdumps(tself((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyt__repr__ŠscCs+|jdiƒ|d<|dj|ƒdS(Ntmeta(tpoptupdate(R9tkwargs((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyt	_set_metascCs|dj||ƒS(s(calls get(key, default) on self['meta'].R;(tget(R9tkeytdefault((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytget_meta“sN(t__name__t
__module__t__doc__R:R?tNoneRC(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR7ˆs		tIPcBsGeZdZddd„Zd„Zd„Zd„Zed„ƒZ	RS(s!Represents an IP address in Nova.cKs¾tt|ƒjƒ||d<||d<|jddƒ|d<|j|ƒ|drº|drºytj|dƒj|d<Wqºtj	k
r¶t
dƒ|d}tj|ƒ‚qºXndS(NtaddressttypetversionsInvalid IP format %s(
tsuperRHt__init__R<RGR?tnetaddrt	IPAddressRKtAddrFormatErrorRRtInvalidIpAddressError(R9RIRJR>tmsg((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRMšs


cs,dddg}t‡‡fd†|DƒƒS(NRIRJRKc3s#|]}ˆ|ˆ|kVqdS(N((RR(RR9(sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pys	<genexpr>­s(tall(R9Rtkeys((RR9sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyt__eq__«scCs|j|ƒS(N(RU(R9R((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyt__ne__¯scCs@|dr8|dr8tj|dƒtj|dƒkStSdS(NRItcidr(RNROt	IPNetworktFalse(R9tsubnet((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytis_in_subnet²scCs|r|t|ƒSdS(N(RRG(tclstip((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pythydrate¹sN(
RDRERFRGRMRURVR[tclassmethodR^(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRH˜s			tFixedIPcBsMeZdZdd„Zd„Zd„Zed„ƒZd„Z	d„Z
RS(s&Represents a Fixed IP address in Nova.cKsAtt|ƒj||pg|d<|ds=d|d<ndS(Ntfloating_ipsRJtfixed(RLR`RM(R9RaR>((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRMÂs
cCs(||dkr$|dj|ƒndS(NRa(tappend(R9tfloating_ip((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytadd_floating_ipÉscCsg|dD]}|d^qS(NRaRI((R9R]((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytfloating_ip_addressesÍscCs@tt|ƒ}g|dD]}tj|ƒ^q|d<|S(NRa(R`RRHR^(tfixed_ipRd((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR^Ðs'cs/ddddg}t‡‡fd†|DƒƒS(NRIRJRKRac3s#|]}ˆ|ˆ|kVqdS(N((RR(RR9(sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pys	<genexpr>Ùs(RS(R9RRT((RR9sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRU×scCs|j|ƒS(N(RU(R9R((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRVÛsN(RDRERFRGRMReRftstaticmethodR^RURV(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR`Às			tRoutecBs/eZdZdddd„Zed„ƒZRS(sRepresents an IP Route in Nova.cKsBtt|ƒjƒ||d<||d<||d<|j|ƒdS(NRWtgatewayt	interface(RLRiRMR?(R9RWRjRkR>((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRMás



cCs-|t|ƒ}tj|dƒ|d<|S(NRj(RRHR^(R\troute((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR^ësN(RDRERFRGRMR_R^(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRißs
tSubnetcBskeZdZd	d	d	d	d	d„Zd„Zd„Zd„Zd„Zd„Z	d„Z
ed„ƒZRS(
sRepresents a Subnet in Nova.cKs°tt|ƒjƒ||d<|p&g|d<||d<|p@g|d<|pPg|d<|jddƒ|d<|j|ƒ|dr¬|dr¬tj|dƒj|d<ndS(NRWtdnsRjtipstroutesRK(	RLRmRMR<RGR?RNRXRK(R9RWRnRjRoRpR>((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRMôs


cs5ddddddg}t‡‡fd†|DƒƒS(NRWRnRjRoRpRKc3s#|]}ˆ|ˆ|kVqdS(N((RR(RR9(sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pys	<genexpr>s(RS(R9RRT((RR9sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRUscCs|j|ƒS(N(RU(R9R((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRVscCs(||dkr$|dj|ƒndS(NRp(Rc(R9t	new_route((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyt	add_routescCs(||dkr$|dj|ƒndS(NRn(Rc(R9Rn((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytadd_dnsscCs(||dkr$|dj|ƒndS(NRo(Rc(R9R]((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytadd_ipscCstj|dƒS(s4Convenient function to get cidr as a netaddr object.RW(RNRX(R9((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyt
as_netaddrscCs«|t|ƒ}g|dD]}tj|ƒ^q|d<g|dD]}tj|ƒ^qG|d<g|dD]}tj|ƒ^qq|d<tj|dƒ|d<|S(NRnRoRpRj(RRHR^R`Ri(R\RZRnR]Rl((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR^s***N(
RDRERFRGRMRURVRrRsRtRuR_R^(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRmòs						tNetworkcBsMeZdZddddd„Zd„Zed„ƒZd„Zd„Z	RS(sRepresents a Network in Nova.cKsRtt|ƒjƒ||d<||d<||d<|p:g|d<|j|ƒdS(NtidRtlabeltsubnets(RLRvRMR?(R9RwRRxRyR>((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRM's


cCs(||dkr$|dj|ƒndS(NRy(Rc(R9RZ((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyt
add_subnet2scCsI|rE|t|ƒ}g|dD]}tj|ƒ^q#|d<n|S(NRy(RRmR^(R\tnetworkRZ((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR^6s
*cs/ddddg}t‡‡fd†|DƒƒS(NRwRRxRyc3s#|]}ˆ|ˆ|kVqdS(N((RR(RR9(sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pys	<genexpr>@s(RS(R9RRT((RR9sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRU>scCs|j|ƒS(N(RU(R9R((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRVBsN(
RDRERFRGRMRzR_R^RURV(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRv%s	
		tVIF8021QbgParamscBseZdZd„ZRS(s-Represents the parameters for a 802.1qbg VIF.cCs?tt|ƒjƒ||d<||d<||d<||d<dS(Nt	manageridttypeidt
typeidversiont
instanceid(RLR|RM(R9R}R~RR€((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRMIs



(RDRERFRM(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR|FstVIF8021QbhParamscBseZdZd„ZRS(s-Represents the parameters for a 802.1qbh VIF.cCs!tt|ƒjƒ||d<dS(NR(RLRRM(R9R((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRMUs(RDRERFRM(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRRstVIFcBs•eZdZdddddddddeeded„
Zd„Zd„Zd„Z	d„Z
d„Zd„Zd„Z
d	„Zed
„ƒZRS(s'Represents a Virtual Interface in Nova.cKs²tt|ƒjƒ||d<||d<|p0d|d<||d<|pJi|d<||d<||d<||d<|	|d	<|
|d
<||d<||d<|
|d
<|j|ƒdS(NRwRIR{RJtdetailstdevnametovs_interfaceidt
qbh_paramst
qbg_paramstactivet	vnic_typetprofiletpreserve_on_delete(RLR‚RMRGR?(R9RwRIR{RJRƒR„R…R†R‡RˆR‰RŠR‹R>((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRM]s










c
sJddddddddd	d
ddd
g
}t‡‡fd†|DƒƒS(NRwRIR{R‰RJRŠRƒR„R…R†R‡RˆR‹c3s#|]}ˆ|ˆ|kVqdS(N((RR(RR9(sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pys	<genexpr>zs(RS(R9RRT((RR9sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRUus
	cCs|j|ƒS(N(RU(R9R((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRV|scCs0g|ddD]}|dD]}|^qqS(NR{RyRo((R9RZRg((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyt	fixed_ipsscCs.g|jƒD]}|dD]}|^qq
S(NRa(RŒ(R9RgRd((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRaƒscCs‘|drg|jƒD]}tt|ƒ^q}x|D]}|dd=q<W|j|jƒƒi|ddd6|ddd6|d6SgS(	s²Returns the list of all IPs

        The return value looks like this flat structure::

            {'network_label': 'my_network',
             'network_id': 'n8v29837fn234782f08fjxk3ofhb84',
             'ips': [{'address': '123.123.123.123',
                      'version': 4,
                      'type: 'fixed',
                      'meta': {...}},
                     {'address': '124.124.124.124',
                      'version': 4,
                      'type': 'floating',
                      'meta': {...}},
                     {'address': 'fe80::4',
                      'version': 6,
                      'type': 'fixed',
                      'meta': {...}}]
        R{R;RaRxt
network_labelRwt
network_idRo(RŒRHRtextendRa(R9R]Ro((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytlabeled_ips‡s
+
cCs|djttƒS(NRƒ(R@tVIF_DETAILS_OVS_HYBRID_PLUGRY(R9((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytis_hybrid_plug_enabled©scCs|djttƒS(NRƒ(R@tVIF_DETAILS_PORT_FILTERRY(R9((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytis_neutron_filtering_enabled¬scCs7|ddjdƒ}|s3|djtƒ}n|S(NR{R;RRƒ(R@tVIF_DETAILS_PHYSICAL_NETWORK(R9tphy_network((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytget_physical_network¯scCs-|t|ƒ}tj|dƒ|d<|S(NR{(RRvR^(R\tvif((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR^µsN(RDRERFRGRYtVNIC_TYPE_NORMALRMRURVRŒRaRR’R”R—R_R^(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR‚[s							"			cCs0|ddkr#t|jƒjƒS|jƒjS(s;Returns the netmask appropriate for injection into a guest.RKi(RRutnetmaskt
_prefixlen(R]RZ((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytget_netmask¼stNetworkInfocBsDeZdZd„Zd„Zed„ƒZed„Zd„Z	RS(s?Stores and manipulates network information for a Nova instance.cCs*g|D]}|jƒD]}|^qqS(s4Returns all fixed_ips without floating_ips attached.(RŒ(R9R˜R]((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRŒÈscCs*g|D]}|jƒD]}|^qqS(sReturns all floating_ips.(Ra(R9R˜R]((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRaÌscCsJt|tjƒr$tj|ƒ}n|g|D]}tj|ƒ^q.ƒS(N(t
isinstanceRtstring_typesRtloadsR‚R^(R\tnetwork_infoR˜((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR^ÐscCsdS(s%Wait for asynchronous call to finish.N((R9tdo_raise((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytwaitÖscCs
tj|ƒS(N(RR8(R9((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pytjsonßs(
RDRERFRŒRaR_R^tTrueR£R¤(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRÃs			tNetworkInfoAsyncWrappercBsYeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	e
d„ZRS(	s¿Wrapper around NetworkInfo that allows retrieving NetworkInfo
    in an async manner.

    This allows one to start querying for network information before
    you know you will need it.  If you have a long-running
    operation, this allows the network model retrieval to occur in the
    background.  When you need the data, it will ensure the async
    operation has completed.

    As an example:

    def allocate_net_info(arg1, arg2)
        return call_neutron_to_allocate(arg1, arg2)

    network_info = NetworkInfoAsyncWrapper(allocate_net_info, arg1, arg2)
    [do a long running operation -- real network_info will be retrieved
    in the background]
    [do something with network_info]
    cOs“tt|ƒjƒtj|||Ž|_dddg}xR|D]J}t||ƒ}tj|j	|ƒ}tj
||ƒt|||ƒqAWdS(NR¤RŒRa(RLR¦RMRtspawnt_gttgetattrt	functoolstpartialt
_sync_wrappertupdate_wrappertsetattr(R9tasync_methodtargsR>tmethodstmethodtfntwrapper((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyRMøs
cOs|jƒ|||ŽS(s.Synchronize the model before running a method.(R£(R9twrappedR°R>((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR¬s
cOs%tt|ƒj}|j|||ŽS(N(RLR¦t__getitem__R¬(R9R°R>R³((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR¶scOs%tt|ƒj}|j|||ŽS(N(RLR¦t__iter__R¬(R9R°R>R³((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR·scOs%tt|ƒj}|j|||ŽS(N(RLR¦t__len__R¬(R9R°R>R³((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR¸scOs%tt|ƒj}|j|||ŽS(N(RLR¦t__str__R¬(R9R°R>R³((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR¹scOs%tt|ƒj}|j|||ŽS(N(RLR¦R:R¬(R9R°R>R³((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR:scCs[|jdk	rWz8y|jjƒ|(Wntk
rE|rF‚qFnXWdd|_XndS(s%Wait for asynchronous call to finish.N(R¨RGR£t	Exception(R9R¢((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR£s
(RDRERFRMR¬R¶R·R¸R¹R:R¥R£(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyR¦ãs							(LRªRNtoslo_serializationRRtnovaRt	nova.i18nRRRtVIF_TYPE_OVStVIF_TYPE_IVStVIF_TYPE_DVStVIF_TYPE_IOVISORtVIF_TYPE_BRIDGEtVIF_TYPE_802_QBGtVIF_TYPE_802_QBHtVIF_TYPE_HW_VEBtVIF_TYPE_HOSTDEVtVIF_TYPE_IB_HOSTDEVtVIF_TYPE_MIDONETtVIF_TYPE_VHOSTUSERtVIF_TYPE_VROUTERtVIF_TYPE_OTHERtVIF_TYPE_TAPtVIF_TYPE_MACVTAPtVIF_TYPE_BINDING_FAILEDR“R‘R•tVIF_DETAILS_BRIDGE_NAMEtVIF_DETAILS_PROFILEIDtVIF_DETAILS_VLANtVIF_DETAILS_MACVTAP_SOURCEtVIF_DETAILS_MACVTAP_MODEtVIF_DETAILS_PHYS_INTERFACEtVIF_DETAILS_VHOSTUSER_MODEtVIF_DETAILS_VHOSTUSER_SOCKETtVIF_DETAILS_VHOSTUSER_OVS_PLUGtVIF_DETAILS_VHOSTUSER_FP_PLUGtOVS_VHOSTUSER_INTERFACE_TYPEtVIF_DETAILS_TAP_MAC_ADDRESSR™tVNIC_TYPE_DIRECTtVNIC_TYPE_MACVTAPtVNIC_TYPE_DIRECT_PHYSICALtVNIC_TYPE_BAREMETALtVNIC_TYPES_SRIOVtVIF_MODEL_VIRTIOtVIF_MODEL_NE2K_PCItVIF_MODEL_PCNETtVIF_MODEL_RTL8139tVIF_MODEL_E1000tVIF_MODEL_E1000EtVIF_MODEL_NETFRONTtVIF_MODEL_SPAPR_VLANtVIF_MODEL_SRIOVtVIF_MODEL_VMXNETtVIF_MODEL_VMXNET3t
VIF_MODEL_ALLtNIC_NAME_LENtdictR7RHR`RiRmRvR|RR‚RœtlistRR¦(((sG/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/model.pyt<module>s¢			(3!	a