OpenStack Networking (Neutron)
Go to file
Ann Kamyshnikova 229856666a Make object creation methods in l3_hamode_db atomic
Methods _create_ha_network, add_ha_port don't have wrapping
transaction in them, so they are prone to race conditions.
This commit adds a transaction to them. To avoid problem with
rolling back outmost transaction during exception handling,
internal methods have been wrapped in nested transaction.

Nested transaction is required in places like this:

def create():
      create_something()
      try:
            _do_other_thing()
      except Exception:
             with excutils.save_and_reraise_exception():
                     delete_something()

def _do_other_thing():
     with context.session.begin(subtransactions=True):
         ....

When exception is raised in _do_other_thing it
is caught in except block, but the object cannot be deleted in
except section because internal transaction has been rolled back.

A new method safe_creation and has been added
that provides a common way of handling such situations.

Closes-bug: #1501686

Change-Id: I952f6f7f8684743aa7f829bd92b1dc41b2c6aecf
(cherry picked from commit 924f19e8f1)
2016-01-21 18:35:45 +03:00
bin Replace 'import json' with oslo_serialization 2015-08-11 06:05:37 -07:00
devstack SR-IOV: devstack support for SR-IOV agent 2015-09-09 15:06:37 +03:00
doc Make object creation methods in l3_hamode_db atomic 2016-01-21 18:35:45 +03:00
etc Fix default RBAC policy quota 2015-12-03 23:34:30 -08:00
neutron Make object creation methods in l3_hamode_db atomic 2016-01-21 18:35:45 +03:00
rally-jobs Changes in rally-jobs/README.rst 2015-06-04 10:34:15 -04:00
releasenotes Fix incomprehensible releasenotes 2015-11-25 18:47:42 -06:00
tools Run functional gate jobs in a constrained environment 2016-01-08 16:31:11 -08:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:31:29 +00:00
.gitignore Add reno for release notes management 2015-11-11 23:21:50 -08:00
.gitreview Update default branch in .gitreview to stable/liberty 2015-09-24 15:58:53 +00: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 Workaround test stream corruption issue. 2015-09-05 04:19:40 +00: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
README.rst Update the URLs to the Cloud Admin Guide 2015-08-24 17:24:34 +02:00
TESTING.rst Add testing coverage .rst, missing test infrastructure to-dos 2015-08-10 20:37:23 -04:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
openstack-common.conf Switch to the oslo_utils.fileutils 2015-07-15 08:09:26 +03:00
requirements.txt Updated from global requirements 2015-12-20 17:23:45 +00:00
run_tests.sh Remove check for bash usage 2015-04-07 15:15:33 +00:00
setup.cfg move usage_audit to cmd/eventlet package 2015-12-18 16:19:20 +00:00
setup.py Updated from global requirements 2015-09-21 18:56:49 +00:00
test-requirements.txt Updated from global requirements 2015-11-17 03:15:49 +00:00
tox.ini Run functional gate jobs in a constrained environment 2016-01-08 16:31:11 -08: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/admin-guide-cloud/networking.html

Networking Guide

http://docs.openstack.org/networking-guide/

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.