Protect vs TypeErrors when cleaning stacks 57/61457/2
authorCédric Ollivier <cedric.ollivier@orange.com>
Tue, 28 Aug 2018 09:29:35 +0000 (11:29 +0200)
committerCédric Ollivier <cedric.ollivier@orange.com>
Tue, 28 Aug 2018 09:33:23 +0000 (11:33 +0200)
It protects vs exceptions raised by shade when cleaning stacks.

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/functest/opnfv_tests/vnf/ims/heat_ims.py", line 226, in clean
    self.cloud.delete_stack(self.stack.id, wait=True)
  File "/usr/lib/python2.7/site-packages/shade/openstackcloud.py", line 1416, in delete_stack
    marker=marker)
  File "/usr/lib/python2.7/site-packages/shade/_heat/event_utils.py", line 90, in poll_for_events
    stack_status = stack['stack_status']
TypeError: 'NoneType' object has no attribute '__getitem__'

Change-Id: I1a0ed0cd669d5234ca1ff3b6bbc9d1b13f14b02f
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
functest/opnfv_tests/vnf/ims/heat_ims.py

index 7ad1e96..3d32b88 100644 (file)
@@ -217,6 +217,9 @@ class HeatIms(singlevm.VmReady2):
         try:
             if self.stack:
                 self.cloud.delete_stack(self.stack.id, wait=True)
+        except TypeError:
+            # shade raises TypeError exceptions when checking stack status
+            pass
         except Exception:  # pylint: disable=broad-except
             self.__logger.exception("Cannot clean stack ressources")
         super(HeatIms, self).clean()