heat/heat/db/sqlalchemy
Zane Bitter c9792b96d2 Create replacement resource atomically
Use a single transaction to create the replacement resource and set it as
the replaced_by link in the old resource. Also, ensure that no other
traversal has taken a lock on the old resource before we modify it.

If we end up bailing out and not creating a replacement or sending an RPC
message to check it, make sure we retrigger any new traversal.

Change-Id: I23db4f06a4060f3d26a78f7b26700de426f355e3
Closes-Bug: #1727128
2017-11-03 09:14:46 +05:30
..
migrate_repo Adds 5 backport db migration place holder for Pike 2017-08-22 19:07:16 +08:00
__init__.py Stub out the database access API 2012-03-29 18:02:16 +02:00
api.py Create replacement resource atomically 2017-11-03 09:14:46 +05:30
filters.py replace dict.iteritems() with six.iteritems(dict) 2014-08-06 10:56:09 +08:00
migration.py Squash database patches 2017-03-14 15:52:46 +08:00
models.py Data migration enabling storage of resource attributes 2017-02-16 16:08:31 -05:00
types.py Remove usage of sqlalchemy mutables 2015-06-26 11:02:03 +02:00
utils.py Replace retrying with tenacity 2016-11-15 04:34:17 +00:00