diff --git a/kernelci/api/helper.py b/kernelci/api/helper.py index 5c78807fef..dd7d78186e 100644 --- a/kernelci/api/helper.py +++ b/kernelci/api/helper.py @@ -551,9 +551,12 @@ def submit_results(self, results, root): root_node = merge(root_from_db, root) root_node = root.copy() root_node['result'] = results['node']['result'] + root_node['state'] = results['node'].get('state', 'done') root_node['artifacts'].update(results['node']['artifacts']) root_node['data'].update(results['node'].get('data', {})) root_node['processed_by_kcidb_bridge'] = False + if 'holdoff' in results['node']: + root_node['holdoff'] = results['node']['holdoff'] if root_node['result'] != 'incomplete': data = root_node.get('data', {}) if data.get('error_code') == 'node_timeout': @@ -577,7 +580,6 @@ def submit_results(self, results, root): 'runtime': root['data'].get('runtime'), }, 'group': root['name'], - 'state': 'done', 'processed_by_kcidb_bridge': False, } data = self._prepare_results(root_results, parent, base) diff --git a/kernelci/kbuild.py b/kernelci/kbuild.py index ce60740a5a..d291597b42 100644 --- a/kernelci/kbuild.py +++ b/kernelci/kbuild.py @@ -24,6 +24,7 @@ - kselftest: false - do not build kselftest """ +from datetime import datetime, timedelta import os import sys import re @@ -1058,12 +1059,18 @@ def submit(self, retcode, dry_run=False): kselftest_result = 'pass' break + if job_result == 'pass': + job_state = 'available' + else: + job_state = 'done' + results = { 'node': { 'name': self._apijobname, 'result': job_result, - 'state': 'done', + 'state': job_state, 'artifacts': af_uri, + 'holdoff': str(datetime.utcnow() + timedelta(minutes=10)), }, 'child_nodes': [] }