]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Use built-in exception filtering for GreenletExit
authorZane Bitter <zbitter@redhat.com>
Wed, 6 Mar 2013 15:21:03 +0000 (16:21 +0100)
committerZane Bitter <zbitter@redhat.com>
Wed, 6 Mar 2013 15:21:03 +0000 (16:21 +0100)
Python handles this natively.

Change-Id: I440b87112826f44f4c9c3b4bbdd161d2e202341b

heat/engine/resource.py

index 7458e517ecdd096f9413aec03c96dfc7b7882b18..e3e1a2a1b73f2397df9b945a7ec3308adcd7b40c 100644 (file)
@@ -300,16 +300,12 @@ class Resource(object):
                 self.handle_create()
             while not self.check_active():
                 eventlet.sleep(1)
+        except greenlet.GreenletExit:
+            raise
         except Exception as ex:
-            # If we get a GreenletExit exception, the create thread has
-            # been killed so we should raise allowing this thread to exit
-            if type(ex) is greenlet.GreenletExit:
-                logger.warning('GreenletExit during create, exiting')
-                raise
-            else:
-                logger.exception('create %s', str(self))
-                self.state_set(self.CREATE_FAILED, str(ex))
-                return str(ex) or "Error : %s" % type(ex)
+            logger.exception('create %s', str(self))
+            self.state_set(self.CREATE_FAILED, str(ex))
+            return str(ex) or "Error : %s" % type(ex)
         else:
             self.state_set(self.CREATE_COMPLETE)