OpenStack Networking (Neutron)
Go to file
Salvatore Orlando 3c584084c3 Introduce usage data tracking for Neutron
This patch introduces application logic support for tracking
Neutron resource usage data, thus introducing a different
way of enforcing quota limits, which now relies on records
tracking resource usage for each tenant.

When these records go "out-of-sync" with actual resource usage,
the quota usage table entry is marked "dirty".
And it will be resynchronized the next time a resource count is
requested. Changes in resource utilization are detected using
SQLAlchemy events.

This patch however does not automatically enable resource usage
tracking for any plugin. Plugins must explicitly declare for which
resources they wish to enable tracking. To this aim, this patch
provides the @tracked_resources decorator.

As some operators might wish to not use resource usage tracking, this
patch adds the track_quota_usage configuration option. If set to
False, DB-level usage tracking will not be performed, and
resources will be counted as before, ie: invoking a plugin method.

Usage tracking is performed using a new resource type,
TrackedResource, which can work side by side with CountableResource,
the one Neutron used so far. To this aim a ResourceRegistry class
has been introduced for registering and managing resources. Most
of the resource management code previously embedded in the
QuotaEngine class is being moved to ResourceRegistry as a part of
this patch.

Partially implements blueprint better-quota

Change-Id: If461399900973a38d7b82e0b3ac54fc052f09529
2015-07-28 11:55:03 -07:00
bin Allow users to run 'tox -epy34' 2015-05-11 16:09:51 +02:00
doc Add Cathy Zhang as networking-sfc Lieutenant 2015-07-24 14:07:26 +00:00
etc Create packages for quota modules 2015-07-28 11:55:01 -07:00
neutron Introduce usage data tracking for Neutron 2015-07-28 11:55:03 -07:00
rally-jobs Changes in rally-jobs/README.rst 2015-06-04 10:34:15 -04:00
tools Consolidate sriov agent and driver code 2015-06-26 19:51:58 +00:00
.coveragerc Update .coveragerc after the removal of Cisco Nexus monolithic plugin 2015-03-31 02:25:06 +00:00
.gitignore Remove quantum untracked files from .gitignore 2015-06-25 11:59:37 +00:00
.gitreview Rename quantum to neutron in .gitreview. 2013-07-06 12:25:09 -04:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc pylint: enable duplicate-key check 2015-06-04 13:10:44 +10:00
.testr.conf Add an explicit tox job for functional tests 2014-02-05 17:11:52 +00:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:37 +00:00
HACKING.rst Python3: use six.iteritems() instead of dict.iteritems() 2015-06-01 23:13:42 +02: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
openstack-common.conf Switch to the oslo_utils.fileutils 2015-07-15 08:09:26 +03:00
README.rst Updated the README.rst 2014-12-02 14:33:30 -06:00
requirements.txt Updated from global requirements 2015-07-23 12:50:58 +00:00
run_tests.sh Remove check for bash usage 2015-04-07 15:15:33 +00:00
setup.cfg Decompose Apic ML2 mechanism driver 2015-07-24 19:32:49 +00:00
setup.py Updated from global requirements 2015-07-18 16:06:06 +00:00
test-requirements.txt Updated from global requirements 2015-07-23 12:50:58 +00:00
TESTING.rst Prepare for full stack CI job 2015-06-22 11:47:54 -04:00
tox.ini Create packages for quota modules 2015-07-28 11:55:01 -07:00

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/admin-guide-cloud/content/ch_networking.html

Neutron API Reference:

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

Current Neutron developer documentation is available at:

http://wiki.openstack.org/NeutronDevelopment

For help on usage and hacking of Neutron, please send mail to <mailto:openstack-dev@lists.openstack.org>.

For information on how to contribute to Neutron, please see the contents of the CONTRIBUTING.rst file.