Merge "Deep-copy not always possible."

This commit is contained in:
Jenkins
2013-08-02 21:42:28 +00:00
committed by Gerrit Code Review

View File

@@ -17,7 +17,6 @@
# under the License. # under the License.
import collections import collections
import copy
import logging import logging
from taskflow.openstack.common import excutils from taskflow.openstack.common import excutils
@@ -194,18 +193,9 @@ class Flow(base.Flow):
# notifying others that the task has finished to # notifying others that the task has finished to
# avoid the case where a listener might throw an # avoid the case where a listener might throw an
# exception. # exception.
#
# Note(harlowja): Keep the original result in the
# accumulator only and give a duplicated copy to
# avoid the original result being altered by other
# tasks.
#
# This is due to python being by reference (which means
# some task could alter this result intentionally or not
# intentionally).
rb.result = result rb.result = result
runner.result = result runner.result = result
self.results[runner.uuid] = copy.deepcopy(result) self.results[runner.uuid] = result
self.task_notifier.notify(states.SUCCESS, details={ self.task_notifier.notify(states.SUCCESS, details={
'context': context, 'context': context,
'flow': self, 'flow': self,