vmware-nsx/neutron
armando-migliaccio cf69c5b4c3 Fix session's InvalidRequestError because of nested rollback
This patch addresses the issue by removing the extra nesting
(which is effectively redundant).

The longer story about this patch is the following:

Race conditions may cause DBDuplicateEntry exceptions that
require a transaction to be rollbacked back, and yet make
the whole operation succeed. A classic example is what has
been solved in commit fbc6b99. If the rollback is done in a
nested transaction, the above mentioned exception is raised.

To address the problem, we could use savepoints by means of
sqlalchemy's begin_nested(); Even though this approach is
preferable, it causes quite a bit of changes in the unit
tests (because of sqlite); it may also require that certain
DBMS, or certain DB backend configurations, support savepoints.

In the end, the simpler approach was chosen.

Closes-bug: #1354072

Change-Id: Ic9393319e55f71d681124bd3052e939724ebab6b
2014-08-08 16:01:49 -07:00
..
agent Remove redundant topic from rpc calls 2014-08-05 10:14:20 +00:00
api Remove redundant topic from rpc calls 2014-08-05 10:14:20 +00:00
cmd Move ARP responder test to sanity command 2014-07-29 18:44:07 +03:00
common Merge "Make sure that gateway is in CIDR range by default" 2014-08-05 07:54:22 +00:00
db Merge "Make sure that gateway is in CIDR range by default" 2014-08-05 07:54:22 +00:00
debug Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
extensions Add L3 Scheduler Changes for Distributed Routers 2014-07-29 23:10:17 -07:00
hacking Add missing translation support 2014-05-19 12:16:56 +02:00
locale Imported Translations from Transifex 2014-08-02 06:05:43 +00:00
notifiers Fix spelling mistakes 2014-08-01 16:10:23 +00:00
openstack Fix spelling mistakes 2014-08-01 16:10:23 +00:00
plugins Merge "Remove redundant topic from rpc calls" 2014-08-05 13:42:13 +00:00
scheduler Fix session's InvalidRequestError because of nested rollback 2014-08-08 16:01:49 -07:00
server Configure agents using neutron.common.config.init (formerly .parse) 2014-06-17 21:56:24 +02:00
services Merge "Radware: When a pip is needed, reuse the Port" 2014-08-05 13:43:32 +00:00
tests Merge "Radware: When a pip is needed, reuse the Port" 2014-08-05 13:43:32 +00:00
__init__.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
auth.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
context.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
hooks.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
manager.py Moved rpc_compat.py code back into rpc.py 2014-06-24 10:35:39 +02:00
neutron_plugin_base_v2.py Renamed start_rpc_listener -> start_rpc_listeners 2014-06-19 12:58:01 +02:00
policy.py Allow to import _LC, _LE, _LI and _LW functions directly 2014-07-17 14:56:19 +00:00
quota.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
service.py Moved rpc_compat.py code back into rpc.py 2014-06-24 10:35:39 +02:00
version.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00
wsgi.py Remove the useless vim modelines 2014-06-21 15:07:31 +08:00