From f18a9a8f3d3b3908348604930f543953e4c5f341 Mon Sep 17 00:00:00 2001 From: SerenaFeng Date: Wed, 14 Dec 2016 17:07:59 +0800 Subject: make qtip-server installable JIRA: QTIP-189 Change-Id: I8de0fa1ff3033fd37c499e75f35a5387f5345f8f Signed-off-by: SerenaFeng --- qtip/api/handler/result_handler.py | 40 ++++++++++++++++++++++++++++++++++++-- setup.cfg | 1 + 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/qtip/api/handler/result_handler.py b/qtip/api/handler/result_handler.py index de91cd2c..3d1d592e 100644 --- a/qtip/api/handler/result_handler.py +++ b/qtip/api/handler/result_handler.py @@ -6,13 +6,49 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +import importlib import json -import scripts.ref_results.suite_result as suite_result +from os.path import expanduser + import qtip.utils.dashboard.pushtoDB as push_to_db +from qtip.utils import logger_utils + +logger = logger_utils.QtipLogger('suite_result').get + + +def get_benchmark_result(benchmark_name, suite_name): + benchmark_indices = importlib.import_module('scripts.ref_results' + '.{0}_benchmarks_indices'.format(suite_name)) + methodToCall = getattr(benchmark_indices, '{0}_index'.format(benchmark_name)) + return methodToCall() def dump_suite_result(suite_name): - return suite_result.get_suite_result(suite_name) + suite_dict = {} + suite_bench_list = {'compute': ['DPI', 'Dhrystone', 'Whetstone', 'SSL', 'RamSpeed'], + 'storage': ['FIO'], + 'network': ['IPERF']} + temp = 0 + l = len(suite_bench_list[suite_name]) + for benchmark in suite_bench_list[suite_name]: + try: + suite_dict[benchmark] = get_benchmark_result(benchmark.lower(), suite_name) + temp = temp + float(suite_dict[benchmark]['index']) + except OSError: + l = l - 1 + pass + + if l == 0: + logger.info("No {0} suite results found".format(suite_name)) + return False + else: + suite_index = temp / l + suite_dict_f = {'index': suite_index, + 'suite_results': suite_dict} + result_path = expanduser('~') + '/qtip/results' + with open('{0}/{1}_result.json'.format(result_path, suite_name), 'w+') as result_json: + json.dump(suite_dict_f, result_json, indent=4, sort_keys=True) + return True def push_suite_result_to_db(suite_name, test_db_url, installer_type, node_name): diff --git a/setup.cfg b/setup.cfg index b7f81408..17606ff5 100644 --- a/setup.cfg +++ b/setup.cfg @@ -14,6 +14,7 @@ setup-hooks = [entry_points] console_scripts = qtip = qtip.cli.entry:cli + qtip-server = qtip.api.cmd.server:main [files] packages = -- cgit 1.2.3-korg