diff options
author | liyin <liyin11@huawei.com> | 2017-02-18 22:24:18 +0800 |
---|---|---|
committer | Ace Lee <liyin11@huawei.com> | 2017-02-20 11:00:13 +0000 |
commit | bffdc13b667abc6eb8bccdcc1aa82cf963a5dfa8 (patch) | |
tree | b8fdcc9be40e622e5a8a1ddb859eb03a53b10cbc /testsuites/posca/testcase_dashboard/posca_stress_ping.py | |
parent | 58c97253eaaf72f73924837fca4ddcb5cb8a5d94 (diff) |
stress_test_dashboard_code
JIRA:BOTTLENECK-138
Those codes will create dashboard for stress test.
And we have fixed a bug, that we will increace env prepare in this patch
besides: we also add some code of how to yardstick api.
Change-Id: I64bb249ee0df9fe37e998a784ba346719bf25197
Signed-off-by: liyin <liyin11@huawei.com>
Diffstat (limited to 'testsuites/posca/testcase_dashboard/posca_stress_ping.py')
-rw-r--r-- | testsuites/posca/testcase_dashboard/posca_stress_ping.py | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/testsuites/posca/testcase_dashboard/posca_stress_ping.py b/testsuites/posca/testcase_dashboard/posca_stress_ping.py new file mode 100644 index 00000000..7a5a8fb8 --- /dev/null +++ b/testsuites/posca/testcase_dashboard/posca_stress_ping.py @@ -0,0 +1,119 @@ +#!/usr/bin/python +############################################################################## +# Copyright (c) 2015 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +'''This file realize a function of creating dashboard of stress ping test''' +import ConfigParser +from elasticsearch import Elasticsearch +import json +import os +import utils.logger as log +from utils.parser import Parser as conf_parser + +LOG = log.Logger(__name__).getLogger() +config = ConfigParser.ConfigParser() +es = Elasticsearch() +dashboard_path = os.path.join(conf_parser.test_dir, + "posca", + "testcase_dashboard") +dashboard_dir = dashboard_path + "/" + + +def dashboard_send_data(runner_config, test_data): + global es + es_ip = runner_config['dashboard_ip'].split(':') + es = Elasticsearch([{'host': es_ip[0]}]) + res = es.index(index="bottlenecks", + doc_type=test_data["testcase"], + body=test_data["data_body"]) + if res['created'] == "False": + LOG.error("date send to kibana have errors ", test_data["data_body"]) + + +def posca_stress_ping(runner_config): + global es + es_ip = runner_config['dashboard_ip'].split(':') + es = Elasticsearch([{'host': es_ip[0]}]) + # Create bottlenecks index + with open(dashboard_dir + 'posca_stress_ping_index_pattern.json')\ + as index_pattern: + doc = json.load(index_pattern) + res = es.index( + index=".kibana", + doc_type="index-pattern", + id="bottlenecks", + body=doc) + if res['created'] == "True": + LOG.info("bottlenecks index-pattern has created") + else: + LOG.info("bottlenecks index-pattern has existed") + + with open(dashboard_dir + 'posca_system_bandwidth_config.json')\ + as index_config: + doc = json.load(index_config) + res = es.index(index=".kibana", doc_type="config", id="4.6.1", body=doc) + if res['created'] == "True": + LOG.info("bottlenecks config has created") + else: + LOG.info("bottlenecks config has existed") + + # Configure discover panel + with open(dashboard_dir + 'posca_stress_ping_discover.json')\ + as index_discover: + doc = json.load(index_discover) + res = es.index( + index=".kibana", + doc_type="search", + id="posca_stress_ping", + body=doc) + if res['created'] == "True": + LOG.info("posca_stress_ping search has created") + else: + LOG.info("posca_stress_ping search has existed") + + # Create testing data in line graph + with open(dashboard_dir + 'posca_stress_ping_histogram.json')\ + as line_data: + doc = json.load(line_data) + res = es.index( + index=".kibana", + doc_type="visualization", + id="posca_stress_ping_histogram", + body=doc) + if res['created'] == "True": + LOG.info("posca_stress_ping visualization has created") + else: + LOG.info("posca_stress_ping visualization has existed") + + # Create comparison results in line chart + with open(dashboard_dir + 'posca_stress_ping_table.json')\ + as line_char: + doc = json.load(line_char) + res = es.index( + index=".kibana", + doc_type="visualization", + id="posca_stress_ping_table", + body=doc) + if res['created'] == "True": + LOG.info("posca_stress_ping visualization has created") + else: + LOG.info("posca_stress_ping visualization has existed") + + # Create dashboard + with open(dashboard_dir + 'posca_stress_ping_dashboard.json')\ + as dashboard: + doc = json.load(dashboard) + res = es.index( + index=".kibana", + doc_type="dashboard", + id="posca_stress_ping", + body=doc) + if res['created'] == "True": + LOG.info("posca_stress_ping dashboard has created") + else: + LOG.info("posca_stress_ping dashboard has existed") |