diff --git a/heat/engine/scheduler.py b/heat/engine/scheduler.py index 36a808ae30..fd2245321b 100644 --- a/heat/engine/scheduler.py +++ b/heat/engine/scheduler.py @@ -166,8 +166,8 @@ class TaskRunner(object): self.start(timeout=timeout) # ensure that zero second sleep is applied only if task # has not completed. - if not self.done() and wait_time: - self._sleep(0) + if not self.done(): + self._sleep(0 if wait_time is not None else None) self.run_to_completion(wait_time=wait_time) def start(self, timeout=None): @@ -420,7 +420,8 @@ class DependencyTaskGroup(object): if not r: del self._graph[k] - yield + if self._graph: + yield for k, r in self._running(): if r.step(): diff --git a/heat/tests/test_stack_update.py b/heat/tests/test_stack_update.py index 2b2d3e86a2..139d3ba3a5 100644 --- a/heat/tests/test_stack_update.py +++ b/heat/tests/test_stack_update.py @@ -854,7 +854,7 @@ class StackUpdateTest(common.HeatTestCase): tmpl2 = {'HeatTemplateFormatVersion': '2012-12-12', 'Resources': { 'AResource': {'Type': 'GenericResourceType'}, - 'BResource': {'Type': 'GenericResourceType'}}} + 'BResource': {'Type': 'MultiStepResourceType'}}} updated_stack = stack.Stack(self.ctx, 'updated_stack', template.Template(tmpl2), disable_rollback=disable_rollback)