OpenStack Networking (Neutron)
Go to file
Kevin Benton fe59efd1d6 Don't eagerly load ranges from IPAllocationPool
The subnet object eagerly loads the IPAllocationPools
associated with it. Each of these was eagerly loading
the IPAvailabilityRange objects associated with it.
On a large subnet with lots of churn, this could be
thousands of records. All of these records were being
loaded for every call to get_subnet, which means all
get_subnets, get_networks, and so-on. icky

This patch changes the relationship between IPAllocationPool
and available_ranges to a 'select' load, so they won't be
loaded until referenced. On my test system with a subnet
that contained 10k ports, this changed the subnet-show time
from 4.7 seconds to 0.56 seconds.

There is no performance downside to this in the upstream
code. At the time of this patch, there were no references
to 'available_ranges' on an IPAllocationPool result. The
logic that deals with the available ranges queries them
explicitly using join statements.

Change-Id: Ia94ce9437ad21e4f21526ba84213fd673693db34
Closes-Bug: #1437131
(cherry picked from commit abc12279f7)
2015-03-27 18:04:39 +00:00
bin Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
doc Stop using intersphinx 2014-09-13 09:29:37 +02:00
etc CSCO:Tenants not to access unshared n/w profiles 2015-03-10 15:17:48 -07:00
neutron Don't eagerly load ranges from IPAllocationPool 2015-03-27 18:04:39 +00:00
rally-scenarios Add config for performance gate job 2014-06-26 14:27:15 +03:00
tools Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
.coveragerc fix some missing change from quantum to neutron 2013-07-08 12:11:04 +08:00
.gitignore Ignore emacs checkpoint files 2014-06-18 13:48:41 -05:00
.gitreview Opening stable/juno 2014-10-16 16:57:56 +02:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc Remove duplicate module-rgx line in .pylintrc 2014-05-06 22:57:33 +00:00
.testr.conf Add an explicit tox job for functional tests 2014-02-05 17:11:52 +00:00
CONTRIBUTING.rst Add CONTRIBUTING.rst 2014-07-08 23:49:07 +08:00
HACKING.rst Make sure we don't introduce oslo_* imports during backports 2015-02-11 13:51:40 +01:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
MANIFEST.in Rename Quantum to Neutron 2013-07-06 15:02:43 -04:00
README.rst Make readme reference git.openstack.org not github 2014-07-17 10:57:12 +02:00
TESTING.rst Merge "Add a gate-specific tox env for functional tests" 2014-07-19 02:48:16 +00:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
openstack-common.conf Switch to using of oslo.db 2014-06-30 14:07:59 +03:00
requirements.txt Updated from global requirements 2015-02-27 20:15:25 +00:00
run_tests.sh Provide a quick way to run flake8 2014-08-30 21:30:17 +09:00
setup.cfg Bump stable/juno version to 2014.2.3 2015-02-09 10:17:49 -08:00
setup.py Updated from global requirements 2014-04-30 02:41:29 +00:00
test-requirements.txt Updated from global requirements 2015-02-16 20:57:05 +00:00
tox.ini Set dsvm-functional job to use system packages 2014-09-17 19:57:41 +00:00

README.rst

# -- Welcome!

You have come across a cloud computing network fabric controller. It has identified itself as "Neutron." It aims to tame your (cloud) networking!

# -- External Resources:

The homepage for Neutron is: http://launchpad.net/neutron. Use this site for asking for help, and filing bugs. Code is available on git.openstack.org at <http://git.openstack.org/cgit/openstack/neutron>.

The latest and most in-depth documentation on how to use Neutron is available at: <http://docs.openstack.org>. This includes:

Neutron Administrator Guide http://docs.openstack.org/trunk/openstack-network/admin/content/

Neutron API Reference: http://docs.openstack.org/api/openstack-network/2.0/content/

The start of some developer documentation is available at: http://wiki.openstack.org/NeutronDevelopment

For help using or hacking on Neutron, you can send mail to <mailto:openstack-dev@lists.openstack.org>.