[[ https://docs.qadevel.cloud.fedoraproject.org/libtaskotron/latest/docs/library.html#module-libtaskotron.check | Taskotron documentation ]] says that when check crashes, outcome should be CRASHED. But when I tried to submit that into resultsdb, it shows:
outcome
CRASHED
[libtaskotron] 15:07:29 INFO Posting 1 results to ResultsDB... [resultsdb_api] 15:07:29 WARNING Received HTTP failure status code 400 for request: http://192.168.122.1:5001/api/v1.0/results [libtaskotron] 15:07:29 ERROR u"outcome must be one of ('PASSED', 'INFO', 'FAILED', 'ERROR', 'WAIVED', 'NEEDS_INSPECTION', 'ABORTED') (HTTP 400)" [libtaskotron] 15:07:29 ERROR Failed to store ResulsDB: `docker-1.10.2-6.git0f5ac89.fc23` `dockerautotest` `CRASHED`
If I instead try to set outcome to ERROR, libtaskotron fails with:
ERROR
[libtaskotron] 15:51:46 CRITICAL Traceback (most recent call last): File "/usr/bin/runtask", line 9, in <module> load_entry_point('libtaskotron==0.4.10', 'console_scripts', 'runtask')() File "/usr/lib/python2.7/site-packages/libtaskotron/main.py", line 163, in main overlord.start() File "/usr/lib/python2.7/site-packages/libtaskotron/overlord.py", line 95, in start runner.execute() File "/usr/lib/python2.7/site-packages/libtaskotron/executor.py", line 56, in execute self._run() File "/usr/lib/python2.7/site-packages/libtaskotron/executor.py", line 89, in _run self._do_actions() File "/usr/lib/python2.7/site-packages/libtaskotron/executor.py", line 127, in _do_actions self._do_single_action(action) File "/usr/lib/python2.7/site-packages/libtaskotron/executor.py", line 148, in _do_single_action self.arg_data) File "/usr/lib/python2.7/site-packages/libtaskotron/directives/python_directive.py", line 214, in process output = self.execute(task, method_name, input_data) File "/usr/lib/python2.7/site-packages/libtaskotron/directives/python_directive.py", line 155, in execute output = task_method(**kwargs) File "run_dockerautotest.py", line 97, in runtest details = parser.to_check_detail(json_data) File "run_dockerautotest.py", line 140, in to_check_detail details.append(self.parse_single_result(operation)) File "run_dockerautotest.py", line 126, in parse_single_result detail.outcome = self.status_map[result['status_code']] File "/usr/lib/python2.7/site-packages/libtaskotron/check.py", line 131, in outcome raise exc.TaskotronValueError('Unknown outcome keyword: %s' % value) TaskotronValueError: Unknown outcome keyword: ERROR [libtaskotron] 15:51:49 CRITICAL Traceback (most recent call last): File "/usr/bin/runtask", line 9, in <module> load_entry_point('libtaskotron==0.4.10', 'console_scripts', 'runtask')() File "/usr/lib/python2.7/site-packages/libtaskotron/main.py", line 163, in main overlord.start() File "/usr/lib/python2.7/site-packages/libtaskotron/overlord.py", line 95, in start runner.execute() File "/usr/lib/python2.7/site-packages/libtaskotron/minion.py", line 198, in execute self._run() File "/usr/lib/python2.7/site-packages/libtaskotron/minion.py", line 125, in _run self.exitcode = self.ssh.cmd(' '.join(task_cmd)) File "/usr/lib/python2.7/site-packages/libtaskotron/remote_exec.py", line 150, in cmd (cmd, self.username, self.hostname, retcode)) TaskotronRemoteProcessError: Command "cd /var/tmp/taskotron/taskdir && runtask --arch x86_64 --item docker-1.9.1-6.git6ec29ef.fc23 --jobid -1 --type koji_build --uuid 20160303_151136_397995 --local dockerautotest.yml" on root@192.168.122.58 exited with code 1
Decide what erroneous state to use and unify that in libtasktotron and resultsdb.
This ticket is a duplicate of https://pagure.io/taskotron/resultsdb/issue/61
This ticket had assigned some Differential requests: D771 D770
We don't have ERROR in libtaskotron. @jskladan, what is the purpose of that?
I believe @jsedlak is correct in setting CRASHED when the test suite crashes and he captures that in his python wrapper. Which means we should implement that in #resultsdb. Thoughts?
Closing, more info in this ticket
Log in to comment on this ticket.