aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/orchestrator
diff options
context:
space:
mode:
authorRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>2018-02-15 11:42:11 +0000
committerRodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>2018-02-15 11:55:08 +0000
commit009140f8947fc42f4d049c6d414ad7b18f32be35 (patch)
treeaf7f137ba728ed633a917b0b347b4c268d461c6e /yardstick/orchestrator
parent89566a29278fbef60ca14cba76b2ca6c1a57c32c (diff)
Workaround to fix Heat stack deletion bug in Shade
There is a bug in Shade, in the function "event_utils.poll_for_events". While Shade is waiting for the Heat stack to be deleted, retrieves periodically the status of this Heat stack. When the stack is deleted, the function "get_stack" [1] returns None; then L90 tries to access to a key of this None object. [1]https://github.com/openstack-infra/shade/blob/e5bcb705c5b32334cdc1dd9807126298c87b0622/shade/_heat/event_utils.py#L89-L90 Shade function JIRA: YARDSTICK-1015 Change-Id: I56ea853be41bfd7f63e094d7a3696d97ba078ba4 Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Diffstat (limited to 'yardstick/orchestrator')
-rw-r--r--yardstick/orchestrator/heat.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/yardstick/orchestrator/heat.py b/yardstick/orchestrator/heat.py
index 754482e4f..558b5d2a6 100644
--- a/yardstick/orchestrator/heat.py
+++ b/yardstick/orchestrator/heat.py
@@ -74,7 +74,14 @@ class HeatStack(object):
if self.uuid is None:
return
- ret = self._cloud.delete_stack(self.uuid, wait=wait)
+ try:
+ ret = self._cloud.delete_stack(self.uuid, wait=wait)
+ except TypeError:
+ # NOTE(ralonsoh): this exception catch solves a bug in Shade, which
+ # tries to retrieve and read the stack status when it's already
+ # deleted.
+ ret = True
+
_DEPLOYED_STACKS.pop(self.uuid)
self._stack = None
return ret