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 / network / base_api.pyc
Size: Mime:
ó
±EYc@súddlZddlZddlmZddlmZddlmZddl	m
Z
ddlmZddl
mZmZddlmZdd	lmZejeƒZejd
ƒded„ƒZd„ZeƒZd
e
jfd„ƒYZdS(iÿÿÿÿN(t	lockutils(tlog(texcutils(tbase(thooks(t_t_LE(tmodel(tobjectstinstance_network_infocCsËy‡t|tjƒsd}n|dkr?|j||ƒ}ntjd|d|ƒtjj	||j
ƒ}||_|jd|ƒWn=t
k
rÆtjƒtjtdƒd|ƒWdQXnXdS(Ns2Updating instance_info_cache with network_info: %stinstancetupdate_cellssFailed storing info cache(t
isinstancet
network_modeltNetworkInfotNonet_get_instance_nw_infotLOGtdebugRtInstanceInfoCachetnewtuuidtnetwork_infotsavet	ExceptionRtsave_and_reraise_exceptiont	exceptionR(timpltcontextR
tnw_infoRtic((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyt"update_instance_cache_with_nw_info!s		
	

cs4tjˆƒ‰tjˆƒ‡‡fd†ƒ}|S(sdDecorator to update the instance_info_cache

    Requires context and instance as function args
    c
s®y6|jdƒ}|s5|ˆjjdƒd}nWn)tk
ratdƒ}t|ƒ‚nXtjd|jƒ0ˆ||||Ž}t	|||d|ƒWdQX|S(NR
is5instance is a required argument to use @refresh_cachesrefresh_cache-%sR(
tgettargstindext
ValueErrorRRRtlockRR(tselfRR!tkwargsR
tmsgtres(targspectf(sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytwrapper?s!

(tinspectt
getargspect	functoolstwraps(R*R+((R)R*sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyt
refresh_cache8s!t
NetworkAPIcBsôeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd1d„Zed„Zd„Zed„Zed„Zd1d1d1d1d„Zd1d„Zd1d1d1d„Zd„Zd„Zd„Zd„Zd„Zd1d„Z e!e!d„Z"d„Z#d„Z$d „Z%d!„Z&d"„Z'd#„Z(d$„Z)d%„Z*d&„Z+d'„Z,d(„Z-d)„Z.d1d*„Z/d1ed+„Z0d,„Z1d-„Z2d.„Z3d/„Z4d0„Z5RS(2sƒBase Network API for doing networking operations.
    New operations available on specific clients must be added here as well.
    cCs
tƒ‚dS(s Get all the networks for client.N(tNotImplementedError(R%R((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_all\scCs
tƒ‚dS(s Get specific network for client.N(R2(R%Rtnetwork_uuid((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyR `scKs
tƒ‚dS(sCreate a network.N(R2(R%RR&((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytcreatedscCs
tƒ‚dS(sDelete a specific network.N(R2(R%RR4((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytdeletehscCs
tƒ‚dS(s"Disassociate a network for client.N(R2(R%RR4((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytdisassociatelscCs
tƒ‚dS(sGet fixed IP by id.N(R2(R%Rtid((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_fixed_ippscCs
tƒ‚dS(sGet fixed IP by address.N(R2(R%Rtaddress((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_fixed_ip_by_addresstscCs
tƒ‚dS(sGet floating IP by id.N(R2(R%RR8((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_floating_ipxscCs
tƒ‚dS(sGet floating IP pools.N(R2(R%R((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_floating_ip_pools|scCs
tƒ‚dS(sGet floating IP by address.N(R2(R%RR:((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_floating_ip_by_address€scCs
tƒ‚dS(sGet floating IPs by project.N(R2(R%R((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_floating_ips_by_project„scCs
tƒ‚dS(s$Get instance id by floating address.N(R2(R%RR:((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyt#get_instance_id_by_floating_addressˆscCs
tƒ‚dS(s@Get vifs by instance.

        :param context: nova.context.RequestContext
        :param instance: nova.objects.instance.Instance
        :returns: nova.objects.virtual_interface.VirtualInterfaceList; the
        fields address, uuid and net_uuid should be set for each VIF object
        in the returned list.
        N(R2(R%RR
((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_vifs_by_instanceŒs	cCs
tƒ‚dS(sGet vif mac address.N(R2(R%Rtmac_address((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_vif_by_mac_address—scCs
tƒ‚dS(s5Adds (allocate) floating IP to a project from a pool.N(R2(R%Rtpool((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytallocate_floating_ip›scCs
tƒ‚dS(s@Removes (deallocates) a floating IP with address from a project.N(R2(R%RR:taffect_auto_assigned((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytrelease_floating_ipŸscCs
tƒ‚dS(s2Removes (deallocates) and deletes the floating IP.N(R2(R%RR
tfloating_ip((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyt$disassociate_and_release_floating_ip¤scCs
tƒ‚dS(s)Associates a floating IP with a fixed IP.N(R2(R%RR
tfloating_addresst
fixed_addressRF((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytassociate_floating_ip©scCs
tƒ‚dS(s@Disassociates a floating IP from fixed IP it is associated with.N(R2(R%RR
R:RF((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytdisassociate_floating_ip¯sc		Cs
tƒ‚dS(s²Allocates all network structures for an instance.

        :param context: The request context.
        :param instance: nova.objects.instance.Instance object.
        :param vpn: A boolean, if True, indicate a vpn to access the instance.
        :param requested_networks: A list of requested_networks,
            Optional value containing network_id, fixed_ip, and port_id.
        :param macs: None or a set of MAC addresses that the instance
            should use. macs is supplied by the hypervisor driver (contrast
            with requested_networks which is user supplied).
        :param security_groups: None or security groups to allocate for
            instance.
        :param dhcp_options: None or a set of key/value pairs that should
            determine the DHCP BOOTP response, eg. for PXE booting an instance
            configured with the baremetal hypervisor. It is expected that these
            are already formatted for the neutron v2 api.
            See nova/virt/driver.py:dhcp_options_for_instance for an example.
        :param bind_host_id: the host ID to attach to the ports being created.
        :returns: network info as from get_instance_nw_info() below
        N(R2(	R%RR
tvpntrequested_networkstmacstsecurity_groupstdhcp_optionstbind_host_id((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytallocate_for_instance´scCs
tƒ‚dS(s7Deallocates all network structures related to instance.N(R2(R%RR
RO((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytdeallocate_for_instanceÎscCs
tƒ‚dS(sAllocate port for instance.N(R2(R%RR
tport_idt
network_idtrequested_ipRS((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytallocate_port_for_instanceÓscCs
tƒ‚dS(sDeallocate port for instance.N(R2(R%RR
RV((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytdeallocate_port_for_instanceÙscOs
tƒ‚dS(sList ports.N(R2(R%R!R&((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyt
list_portsÝscOs
tƒ‚dS(sShow specific port.N(R2(R%R!R&((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyt	show_portáscCs
tƒ‚dS(s3Adds a fixed IP to instance from specified network.N(R2(R%RR
RW((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytadd_fixed_ip_to_instanceåscCs
tƒ‚dS(s8Removes a fixed IP from instance from specified network.N(R2(R%RR
R:((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytremove_fixed_ip_from_instanceéscCs
tƒ‚dS(s(Force adds another network to a project.N(R2(R%Rt
project_idR4((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytadd_network_to_projectíscCs
tƒ‚dS(s5Associate or disassociate host or project to network.N(R2(R%RR4thosttproject((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyt	associateñscKsdtjd|jƒH|j|||}|jdtƒ}t|||d|d|ƒWdQX|S(s0Returns all network info related to an instance.srefresh_cache-%sRRN(RR$RRR tFalseR(R%RR
R&tresultR((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_instance_nw_infoös
cKs
tƒ‚dS(sATemplate method, so a subclass can implement for neutron/network.N(R2(R%RR
R&((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyRscCs
tƒ‚dS(sÓCheck requested networks for any SR-IOV port request.

        Create a PCI request object for each SR-IOV port, and add it to the
        pci_requests object that contains a list of PCI request object.
        N(R2(R%Rtpci_requestsRO((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyt#create_pci_requests_for_sriov_portsscCs
tƒ‚dS(sÎvalidate the networks passed at the time of creating
        the server.

        Return the number of instances that can be successfully allocated
        with the requested network configuration.
        N(R2(R%RROt
num_instances((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytvalidate_networksscCs
tƒ‚dS(ssReturns a list of available dns domains.
        These can be used to create DNS entries for floating IPs.
        N(R2(R%R((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_dns_domainsscCs
tƒ‚dS(s'Create specified DNS entry for address.N(R2(R%RR:tnametdns_typetdomain((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyt
add_dns_entry!scCs
tƒ‚dS(s'Create specified DNS entry for address.N(R2(R%RRlR:Rn((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytmodify_dns_entry%scCs
tƒ‚dS(sDelete the specified dns entry.N(R2(R%RRlRn((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytdelete_dns_entry)scCs
tƒ‚dS(s Delete the specified dns domain.N(R2(R%RRn((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytdelete_dns_domain-scCs
tƒ‚dS(s#Get entries for address and domain.N(R2(R%RR:Rn((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_dns_entries_by_address1scCs
tƒ‚dS(s Get entries for name and domain.N(R2(R%RRlRn((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytget_dns_entries_by_name5scCs
tƒ‚dS(s8Create a private DNS domain with nova availability zone.N(R2(R%RRntavailability_zone((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytcreate_private_dns_domain9scCs
tƒ‚dS(s6Create a public DNS domain with optional nova project.N(R2(R%RRnRb((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytcreate_public_dns_domain=scCs
tƒ‚dS(sZSetup or teardown the network structures on hosts related to
           instance.
        N(R2(R%RR
Ratteardown((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytsetup_networks_on_hostAscCs
tƒ‚dS(s,Start to migrate the network of an instance.N(R2(R%RR
t	migration((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytmigrate_instance_startHscCs
tƒ‚dS(s,Finish migrating the network of an instance.N(R2(R%RR
Rz((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytmigrate_instance_finishLscCs
tƒ‚dS(sîSetup network for specified instance on host.

        :param context: The request context.
        :param instance: nova.objects.instance.Instance object.
        :param host: The host which network should be setup for instance.
        N(R2(R%RR
Ra((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytsetup_instance_network_on_hostPscCs
tƒ‚dS(sòCleanup network for specified instance on host.

        :param context: The request context.
        :param instance: nova.objects.instance.Instance object.
        :param host: The host which network should be cleanup for instance.
        N(R2(R%RR
Ra((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyt cleanup_instance_network_on_hostYscCsdS(sªUpdate instance vnic index.

        When the 'VNIC index' extension is supported this method will update
        the vnic index of the instance on the port. A instance may have more
        than one vnic.

        :param context: The request context.
        :param instance: nova.objects.instance.Instance object.
        :param vif: The VIF in question.
        :param index: The index on the instance for the VIF.
        N((R%RR
tvifR"((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pytupdate_instance_vnic_indexbsN(6t__name__t
__module__t__doc__R3R R5R6R7R9R;R<R=R>R?R@RARCRRERdRGRIRLRMRTRURYRZR[R\R]R^R`tSENTINELRcRfRRhRjRkRoRpRqRrRsRtRvRwRyR{R|R}R~R€(((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyR1Xsl																							
																( R.R,toslo_concurrencyRtoslo_logRtloggingt
oslo_utilsRtnova.dbRtnovaRt	nova.i18nRRtnova.networkRR
Rt	getLoggerRRtadd_hookRtTrueRR0tobjectR„tBaseR1(((sJ/home/tvault/.virtenv/lib/python2.7/site-packages/nova/network/base_api.pyt<module>s