X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=yardstick%2Fcmd%2Fcommands%2Ftask.py;h=e2e8bf67d86353cb8d475338bcc86fc75575beaf;hb=refs%2Fchanges%2F35%2F41835%2F5;hp=20ab086e587e6a6f5e9bdc9f61ccaa7a967dbf62;hpb=0c99c83ffaa58757dd8d9c0bb3adef783f5cb037;p=yardstick.git diff --git a/yardstick/cmd/commands/task.py b/yardstick/cmd/commands/task.py index 20ab086e5..e2e8bf67d 100644 --- a/yardstick/cmd/commands/task.py +++ b/yardstick/cmd/commands/task.py @@ -11,20 +11,24 @@ from __future__ import print_function from __future__ import absolute_import +import logging + from yardstick.benchmark.core.task import Task from yardstick.common.utils import cliargs from yardstick.common.utils import write_json_to_file -from yardstick.common import constants as consts from yardstick.cmd.commands import change_osloobj_to_paras output_file_default = "/tmp/yardstick.out" -class TaskCommands(object): +LOG = logging.getLogger(__name__) + + +class TaskCommands(object): # pragma: no cover """Task commands. Set of commands to manage benchmark tasks. - """ + """ @cliargs("inputfile", type=str, help="path to task or suite file", nargs=1) @cliargs("--task-args", dest="task_args", @@ -44,18 +48,22 @@ class TaskCommands(object): action="store_true") def do_start(self, args, **kwargs): param = change_osloobj_to_paras(args) + self.output_file = param.output_file - self._init_result_file() - + result = {} + LOG.info('Task START') try: - Task().start(param) + result = Task().start(param, **kwargs) except Exception as e: self._write_error_data(e) + LOG.exception("") - def _init_result_file(self): - data = {'status': 0, 'result': []} - write_json_to_file(consts.DEFAULT_OUTPUT_FILE, data) + if result.get('result', {}).get('criteria') == 'PASS': + LOG.info('Task SUCCESS') + else: + LOG.info('Task FAILED') + raise RuntimeError('Task Failed') def _write_error_data(self, error): data = {'status': 2, 'result': str(error)} - write_json_to_file(consts.DEFAULT_OUTPUT_FILE, data) + write_json_to_file(self.output_file, data)