diff --git a/heat/engine/resources.py b/heat/engine/resources.py index 1f1361beec..e42c7238ae 100644 --- a/heat/engine/resources.py +++ b/heat/engine/resources.py @@ -137,11 +137,14 @@ class Resource(object): except Exception as ex: logger.warn('db error %s' % str(ex)) - elif new_state is not self.CREATE_IN_PROGRESS: - rs = db_api.resource_get(None, self.id) - rs.update_and_save({'state': new_state}) - if rs.stack: - rs.stack.update_and_save({'updated_at': datetime.utcnow()}) + elif self.id is not None: + try: + rs = db_api.resource_get(self.stack.context, self.id) + rs.update_and_save({'state': new_state}) + if rs.stack: + rs.stack.update_and_save({'updated_at': datetime.utcnow()}) + except Exception as ex: + logger.warn('db error %s' % str(ex)) if new_state != self.state: ev = {}