heat/heat/objects
Anant Patil fe119a89f6 Convergence: Stack concurrent update
The stack update API needs to know the expected traversal ID of the
stack (each update is associated with a unique traversal ID) it is
updating.

When two updates are triggered simultaneously - for example, in a case
where two resources at same level try to rollback the stack when they
fail at same time - then the updates need to give the traversal ID they
intend to update. If it happens that the resource A triggers the
rollback immediately after the rollback of A has started, but before A
has persisted in DB, then the system is in erroneous state.

Steps to describe the problem:
1. Resource A and B of a Stack S fail.
2. Resource A loads the stack.
3. Resource B loads the stack.
4. Resource A triggers rollback - it takes the previous template as
current template, updates the DB.
5. Resource B now again triggers the rollback. It is not aware of update
triggered by resource A.

If the updates triggered by A and B give the stack traversal they
expect to be updated, then update from resource B will fail, since the
expected traversal ID will not be found in DB as a result of resource A
already updating it.

Change-Id: I13b2f5afe8cadf9a2d9ab4139a14718a5481dec4
2015-09-04 12:00:37 +05:30
..
__init__.py Fix some files permissions 2015-08-26 12:11:27 +03:00
event.py Cleans default declaration nullable=False from heat objects 2015-04-06 10:33:48 +05:30
fields.py Add extra columns for resource table 2015-03-17 06:09:26 -04:00
raw_template.py Add a new crypt method using cryptography 2015-07-07 10:06:47 +02:00
resource.py Fix some files permissions 2015-08-26 12:11:27 +03:00
resource_data.py Make the objects behave more consistently 2015-06-19 11:42:04 +10:00
service.py Make the objects behave more consistently 2015-06-19 11:42:04 +10:00
snapshot.py Make sure snapshot belongs to stack for actions 2015-04-10 18:37:08 +08:00
software_config.py Support to list software configs 2015-06-26 08:19:05 +00:00
software_deployment.py Make the objects behave more consistently 2015-06-19 11:42:04 +10:00
stack.py Convergence: Stack concurrent update 2015-09-04 12:00:37 +05:30
stack_lock.py Set stack status to FAILED when engine is down 2015-04-02 11:54:05 +08:00
stack_tag.py Database API and engine changes for stack tags 2015-04-08 15:23:50 -05:00
sync_point.py Fix some files permissions 2015-08-26 12:11:27 +03:00
user_creds.py Make the objects behave more consistently 2015-06-19 11:42:04 +10:00
watch_data.py Cleans default declaration nullable=False from heat objects 2015-04-06 10:33:48 +05:30
watch_rule.py Cleans default declaration nullable=False from heat objects 2015-04-06 10:33:48 +05:30