diff --git a/qinling/engine/utils.py b/qinling/engine/utils.py index e61e8c46..e1ef85fb 100644 --- a/qinling/engine/utils.py +++ b/qinling/engine/utils.py @@ -151,4 +151,6 @@ def handle_execution_exception(execution_id, exc_str): LOG.error( 'Error running execution %s: %s', execution_id, exc_str ) - db_set_execution_status(execution_id, status.ERROR, '', {}) + db_set_execution_status( + execution_id, status.ERROR, '', {'EngineError': exc_str} + ) diff --git a/qinling/tests/unit/engine/test_default_engine.py b/qinling/tests/unit/engine/test_default_engine.py index ff37c2ad..c23b9935 100644 --- a/qinling/tests/unit/engine/test_default_engine.py +++ b/qinling/tests/unit/engine/test_default_engine.py @@ -324,7 +324,8 @@ class TestDefaultEngine(base.DbTestCase): execution = db_api.get_execution(execution_id) self.assertEqual(execution.status, status.ERROR) self.assertEqual(execution.logs, '') - self.assertEqual(execution.result, {}) + self.assertEqual(execution.result, + {'EngineError': 'Exception in prepare_execution'}) @mock.patch('qinling.utils.etcd_util.get_service_url') def test_create_execution_package_type_function( @@ -385,7 +386,8 @@ class TestDefaultEngine(base.DbTestCase): self.assertEqual(execution.status, status.ERROR) self.assertEqual(execution.logs, '') - self.assertEqual(execution.result, {}) + self.assertEqual(execution.result, + {'EngineError': 'Exception in scaleup_function'}) @mock.patch('qinling.engine.utils.get_request_data') @mock.patch('qinling.engine.utils.url_request')