[node-patches] Change in ovirt-node[master]: Allow nested transactions
rbarry at redhat.com
rbarry at redhat.com
Mon Sep 23 21:03:41 UTC 2013
Ryan Barry has uploaded a new change for review.
Change subject: Allow nested transactions
......................................................................
Allow nested transactions
Allow Transactions to be nested as transaction elements.
Implementation didn't require the consumer pattern, as the code
was already structured to allow with minimal changes.
Change-Id: Ia74e1dff22827f0b5fb47ba57eaa72c304998474
Signed-off-by: Ryan Barry <rbarry at redhat.com>
---
M src/ovirt/node/utils/__init__.py
1 file changed, 7 insertions(+), 3 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/ovirt-node refs/changes/93/19493/1
diff --git a/src/ovirt/node/utils/__init__.py b/src/ovirt/node/utils/__init__.py
index 22cabdd..035260f 100644
--- a/src/ovirt/node/utils/__init__.py
+++ b/src/ovirt/node/utils/__init__.py
@@ -203,11 +203,15 @@
self._prepared_elements = []
for element in self:
self.logger.debug("Preparing element '%s'" % element)
- if Transaction.Element not in element.__class__.mro():
+ if Transaction in element.__class__.mro():
+ for idx, tx_element in element.step():
+ self._prepared_elements.append(tx_element)
+ elif Transaction.Element not in element.__class__.mro():
raise exceptions.PreconditionError(("%s is no Transaction." +
"Element") % element)
- self._prepared_elements.append(element)
- element.prepare()
+ else:
+ self._prepared_elements.append(element)
+ element.prepare()
return True
def commit(self):
--
To view, visit http://gerrit.ovirt.org/19493
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia74e1dff22827f0b5fb47ba57eaa72c304998474
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-node
Gerrit-Branch: master
Gerrit-Owner: Ryan Barry <rbarry at redhat.com>
More information about the node-patches
mailing list