TransactionManager Utility

Registered by Alexei Kornienko on 2013-06-17

In Openstack we have a lot of code that is creating/allocating some resources (networks, volumes, quotas, etc.) but we don't have a clear way to release such resources in case of failure. Release is currently done manually in "except" block. Such approach leads to more complicated error handling and potential resource leak.
We could implement a utility that will help us to manage such resources and will allow us to simplify existing error handling and fix resource leak issues.

Please see Specification URL for details

Blueprint information

Status:
Not started
Approver:
Russell Bryant
Priority:
Undefined
Drafter:
Alexei Kornienko
Direction:
Needs approval
Assignee:
Alexei Kornienko
Definition:
Drafting
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Discussion from IRC:

<markmc> Alexei_987, with something like this, I think it would make sense to go into Nova first
<markmc> Alexei_987, i.e. give nova-core reviewers the opportunity to give feedback on both the transaction manager itself and how nova uses it
<Alexei_987> markmc: I can also be used in other projects
<markmc> Alexei_987, then, once it's had a bit of use there, we can move it to oslo-incubator and have other projects re-use it
<markmc> Alexei_987, basically, I think nova-core would be a better group to first review the transaction manager
<markmc6> Alexei_987, would be good to double check that other projects don't already have something similar

Gerrit topic: https://review.openstack.org/#q,topic:bug/1173413,n,z

Addressed by: https://review.openstack.org/33459
    Added TransactionManager utility

Addressed by: https://review.openstack.org/33460
    Added transactional annotation to _build_instance
Discussion from IRC:

<markmc> Alexei_987, with something like this, I think it would make sense to go into Nova first
<markmc> Alexei_987, i.e. give nova-core reviewers the opportunity to give feedback on both the transaction manager itself and how nova uses it
<Alexei_987> markmc: I can also be used in other projects
<markmc> Alexei_987, then, once it's had a bit of use there, we can move it to oslo-incubator and have other projects re-use it
<markmc> Alexei_987, basically, I think nova-core would be a better group to first review the transaction manager
<markmc6> Alexei_987, would be good to double check that other projects don't already have something similar

Gerrit topic: https://review.openstack.org/#q,topic:bug/1173413,n,z

Addressed by: https://review.openstack.org/33459
    Added TransactionManager utility

Addressed by: https://review.openstack.org/33460
    Added transactional annotation to _build_instance

Marking this blueprint as definition: Drafting. If you are still working on this, please re-submit via nova-specs. If not, please mark as obsolete, and add a quick comment to describe why. --johnthetubaguy (20th April 2014)

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.