system bandwidth testcase frame rebuild 93/39093/1 stable/danube
authorliyin <liyin11@huawei.com>
Fri, 4 Aug 2017 09:09:00 +0000 (17:09 +0800)
committerYu Yang (Gabriel) <Gabriel.yuyang@huawei.com>
Fri, 11 Aug 2017 01:32:28 +0000 (01:32 +0000)
JIRA: BOTTLENECK-177

This patch will debug some error in system bandwidth testcase.
use the new docker way to test this testcase.
Bug fix about dashboard and test framework.

Change-Id: I7167ffd75efab9a7780407aa5b9a4337ebb9b4c7
Signed-off-by: liyin <liyin11@huawei.com>
(cherry picked from commit 205156554daf981d01c4f43c6a79f6519525916e)

config/config.yaml
testsuites/posca/testcase_cfg/posca_factor_system_bandwidth.yaml
testsuites/posca/testcase_dashboard/posca_system_bandwidth_dashboard.json
testsuites/posca/testcase_dashboard/posca_system_bandwidth_line_char.json
testsuites/posca/testcase_dashboard/posca_system_bandwidth_line_data.json
testsuites/posca/testcase_dashboard/posca_system_bandwidth_local_cpu.json [new file with mode: 0644]
testsuites/posca/testcase_dashboard/posca_system_bandwidth_terms_data.json
testsuites/posca/testcase_dashboard/system_bandwidth.py
testsuites/posca/testcase_script/posca_factor_ping.py
testsuites/posca/testcase_script/posca_factor_system_bandwidth.py
utils/parser.py

index 14a44be..76e42b3 100644 (file)
@@ -10,6 +10,7 @@
 common_config:
   log_dir: '/tmp/'
   rc_dir: '/tmp/admin_rc.sh'
 common_config:
   log_dir: '/tmp/'
   rc_dir: '/tmp/admin_rc.sh'
+  pod_info: '/tmp/pod.yaml'
   yardstick_rc_dir: '/etc/yardstick/openstack.creds'
   releng_dir: '/home/opnfv/releng'
   fetch_os_file: 'utils/fetch_os_creds.sh'
\ No newline at end of file
   yardstick_rc_dir: '/etc/yardstick/openstack.creds'
   releng_dir: '/home/opnfv/releng'
   fetch_os_file: 'utils/fetch_os_creds.sh'
\ No newline at end of file
index de2966b..04115ed 100644 (file)
@@ -7,18 +7,22 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 
-test_config:
-  tool: netperf
-  protocol: tcp
-  test_time: 20
-  tx_pkt_sizes: 64, 256, 1024, 4096, 8192, 16384, 32768, 65536
-  rx_pkt_sizes: 64, 256, 1024, 4096, 8192, 16384, 32768, 65536
-  cpu_load: 0.9
-  latency: 100000
-runner_config:
-  dashboard: "y"
-  dashboard_ip:
-  stack_create: yardstick
-  yardstick_test_ip:
-  yardstick_test_dir: "samples"
-  yardstick_testcase: "netperf_bottlenecks"
+load_manager:
+  scenarios:
+    tool: netperf
+    test_times: 20
+    tx_pkt_sizes: 64, 256, 1024, 4096, 8192, 16384, 32768, 65536
+    rx_pkt_sizes: 64, 256, 1024, 4096, 8192, 16384, 32768, 65536
+    cpu_load: 0.9
+    latency: 100000
+
+  runners:
+    stack_create: yardstick
+    flavor:
+    yardstick_test_dir: "samples"
+    yardstick_testcase: "netperf_bottlenecks"
+
+contexts:
+  dashboard: "Bottlenecks-ELK"
+  yardstick: "Bottlenecks-Yardstick"
+  yardstick_envpre: Flase
\ No newline at end of file
index 3ef86b7..2dc640b 100644 (file)
@@ -1,12 +1,13 @@
 {
 {
-    "title": "system_bandwidth_dashboard",
-    "hits": 0,
-    "description": "",
-    "panelsJSON": "[{\"id\":\"system_bandwidth_line-char\",\"type\":\"visualization\",\"panelIndex\":3,\"size_x\":7,\"size_y\":4,\"col\":1,\"row\":1},{\"id\":\"system_bandwidth_line-date\",\"type\":\"visualization\",\"panelIndex\":4,\"size_x\":7,\"size_y\":4,\"col\":1,\"row\":5},{\"id\":\"system_bandwidth_terms_data\",\"type\":\"visualization\",\"panelIndex\":5,\"size_x\":5,\"size_y\":8,\"col\":8,\"row\":1}]",
-    "optionsJSON": "{\"darkTheme\":false}",
-    "uiStateJSON": "{}",
-    "version": 1,
-    "kibanaSavedObjectMeta": {
-        "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}}}]}"
-    }
+        "title": "system_bandwidth_dashboard",
+        "hits": 0,
+        "description": "",
+        "panelsJSON": "[{\"col\":1,\"id\":\"system_bandwidth_line-char\",\"panelIndex\":3,\"row\":1,\"size_x\":7,\"size_y\":3,\"type\":\"visualization\"},{\"col\":1,\"id\":\"system_bandwidth_line-date\",\"panelIndex\":4,\"row\":4,\"size_x\":7,\"size_y\":3,\"type\":\"visualization\"},{\"col\":8,\"id\":\"system_bandwidth_terms_data\",\"panelIndex\":5,\"row\":1,\"size_x\":5,\"size_y\":9,\"type\":\"visualization\"},{\"id\":\"system_bandwidth_local_cpu\",\"type\":\"visualization\",\"panelIndex\":7,\"size_x\":7,\"size_y\":3,\"col\":1,\"row\":7}]",
+        "optionsJSON": "{\"darkTheme\":false}",
+        "uiStateJSON": "{}",
+        "version": 1,
+        "timeRestore": false,
+        "kibanaSavedObjectMeta": {
+            "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}]}"
+        }
 }
 }
index 13acf16..828c229 100644 (file)
@@ -1,10 +1,10 @@
 {
 {
-    "title": "system_bandwidth_line-char",
-    "visState": "{\"title\":\"system_bandwidth_line-char\",\"type\":\"line\",\"params\":{\"shareYAxis\":true,\"addTooltip\":true,\"addLegend\":true,\"showCircles\":true,\"smoothLines\":false,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"yAxis\":{}},\"aggs\":[{\"id\":\"1\",\"type\":\"sum\",\"schema\":\"metric\",\"params\":{\"field\":\"throughput\"}},{\"id\":\"2\",\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"rx_msg_size\",\"size\":30,\"order\":\"asc\",\"orderBy\":\"_term\"}},{\"id\":\"3\",\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"tx_msg_size\",\"size\":30,\"order\":\"desc\",\"orderBy\":\"_term\"}}],\"listeners\":{}}",
-    "uiStateJSON": "{}",
-    "description": "",
-    "version": 1,
-    "kibanaSavedObjectMeta": {
-        "searchSourceJSON": "{\"index\":\"bottlenecks\",\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"filter\":[]}"
-    }
+        "visState": "{\"title\":\"system_bandwidth_line-char\",\"type\":\"line\",\"params\":{\"shareYAxis\":true,\"addTooltip\":true,\"addLegend\":true,\"showCircles\":true,\"smoothLines\":false,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"yAxis\":{}},\"aggs\":[{\"id\":\"1\",\"type\":\"sum\",\"schema\":\"metric\",\"params\":{\"field\":\"throughput\"}},{\"id\":\"2\",\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"rx_msg_size\",\"size\":30,\"order\":\"asc\",\"orderBy\":\"_term\"}},{\"id\":\"3\",\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"tx_msg_size\",\"size\":30,\"order\":\"desc\",\"orderBy\":\"_term\"}}],\"listeners\":{}}",
+        "description": "",
+        "title": "system_bandwidth_line-char",
+        "uiStateJSON": "{}",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+            "searchSourceJSON": "{\"index\":\"bottlenecks\",\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"filter\":[]}"
+        }
 }
 }
index 8a98ce9..c13cadc 100644 (file)
@@ -1,10 +1,10 @@
 {
 {
-    "title": "system_bandwidth_line-date",
-    "visState": "{\"title\":\"system_bandwidth_line-date\",\"type\":\"line\",\"params\":{\"shareYAxis\":true,\"addTooltip\":true,\"addLegend\":true,\"showCircles\":true,\"smoothLines\":false,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"yAxis\":{}},\"aggs\":[{\"id\":\"1\",\"type\":\"sum\",\"schema\":\"metric\",\"params\":{\"field\":\"throughput\"}},{\"id\":\"2\",\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"time\",\"size\":100,\"order\":\"asc\",\"orderBy\":\"_term\"}},{\"id\":\"3\",\"type\":\"sum\",\"schema\":\"metric\",\"params\":{\"field\":\"rx_msg_size\"}}],\"listeners\":{}}",
-    "uiStateJSON": "{}",
-    "description": "",
-    "version": 1,
-    "kibanaSavedObjectMeta": {
-        "searchSourceJSON": "{\"index\":\"bottlenecks\",\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"filter\":[]}"
-    }
+        "title": "system_bandwidth_line-date",
+        "visState": "{\"aggs\":[{\"id\":\"1\",\"params\":{\"field\":\"mean_latency\"},\"schema\":\"metric\",\"type\":\"sum\"},{\"id\":\"2\",\"params\":{\"field\":\"rx_msg_size\",\"order\":\"asc\",\"orderBy\":\"_term\",\"size\":100},\"schema\":\"segment\",\"type\":\"terms\"},{\"id\":\"4\",\"params\":{\"field\":\"tx_msg_size\",\"order\":\"asc\",\"orderBy\":\"1\",\"size\":100},\"schema\":\"group\",\"type\":\"terms\"}],\"listeners\":{},\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"defaultYExtents\":false,\"drawLinesBetweenPoints\":true,\"interpolate\":\"linear\",\"radiusRatio\":9,\"scale\":\"linear\",\"setYExtents\":false,\"shareYAxis\":true,\"showCircles\":true,\"smoothLines\":false,\"times\":[],\"yAxis\":{}},\"title\":\"system_bandwidth_line-date\",\"type\":\"line\"}",
+        "uiStateJSON": "{}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+            "searchSourceJSON": "{\"index\":\"bottlenecks\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"filter\":[]}"
+        }
 }
 }
diff --git a/testsuites/posca/testcase_dashboard/posca_system_bandwidth_local_cpu.json b/testsuites/posca/testcase_dashboard/posca_system_bandwidth_local_cpu.json
new file mode 100644 (file)
index 0000000..46724da
--- /dev/null
@@ -0,0 +1,11 @@
+{
+        "title": "posca_system_bandwidth_local_cpu",
+        "visState": "{\"title\":\"New Visualization\",\"type\":\"line\",\"params\":{\"shareYAxis\":true,\"addTooltip\":true,\"addLegend\":true,\"showCircles\":true,\"smoothLines\":false,\"interpolate\":\"linear\",\"scale\":\"linear\",\"drawLinesBetweenPoints\":true,\"radiusRatio\":9,\"times\":[],\"addTimeMarker\":false,\"defaultYExtents\":false,\"setYExtents\":false,\"yAxis\":{}},\"aggs\":[{\"id\":\"1\",\"type\":\"sum\",\"schema\":\"metric\",\"params\":{\"field\":\"local_cpu_util\"}},{\"id\":\"2\",\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"rx_msg_size\",\"size\":100,\"order\":\"asc\",\"orderBy\":\"_term\"}},{\"id\":\"3\",\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"tx_msg_size\",\"size\":100,\"order\":\"asc\",\"orderBy\":\"_term\"}}],\"listeners\":{}}",
+        "uiStateJSON": "{}",
+        "description": "",
+        "savedSearchId": "system_bandwidth",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+            "searchSourceJSON": "{\"filter\":[]}"
+        }
+}
index 5e8e787..2e6666a 100644 (file)
@@ -1,10 +1,10 @@
 {
 {
-    "title": "system_bandwidth_terms_data",
-    "visState": "{\"title\":\"system_bandwidth_terms_data\",\"type\":\"table\",\"params\":{\"perPage\":80,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false},\"aggs\":[{\"id\":\"1\",\"type\":\"sum\",\"schema\":\"metric\",\"params\":{\"field\":\"throughput\"}},{\"id\":\"4\",\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"tx_msg_size\",\"size\":200,\"order\":\"asc\",\"orderBy\":\"_term\"}},{\"id\":\"5\",\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"rx_msg_size\",\"size\":200,\"order\":\"asc\",\"orderBy\":\"_term\"}},{\"id\":\"6\",\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"mean_latency\",\"size\":5,\"order\":\"asc\",\"orderBy\":\"_term\"}},{\"id\":\"7\",\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"local_cpu_util\",\"size\":20,\"order\":\"desc\",\"orderBy\":\"_term\"}},{\"id\":\"8\",\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"remote_cpu_util\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"_term\"}}],\"listeners\":{}}",
-    "uiStateJSON": "{}",
-    "description": "",
-    "version": 1,
-    "kibanaSavedObjectMeta": {
-        "searchSourceJSON": "{\"index\":\"bottlenecks\",\"query\":{\"query_string\":{\"query\":\"*\",\"analyze_wildcard\":true}},\"filter\":[]}"
-    }
+        "title": "system_bandwidth_terms_data",
+        "visState": "{\"aggs\":[{\"id\":\"1\",\"params\":{\"field\":\"throughput\"},\"schema\":\"metric\",\"type\":\"sum\"},{\"id\":\"4\",\"params\":{\"field\":\"local_cpu_util\"},\"schema\":\"metric\",\"type\":\"sum\"},{\"id\":\"2\",\"params\":{\"field\":\"tx_msg_size\",\"order\":\"asc\",\"orderBy\":\"_term\",\"size\":100},\"schema\":\"bucket\",\"type\":\"terms\"},{\"id\":\"3\",\"params\":{\"field\":\"rx_msg_size\",\"order\":\"asc\",\"orderBy\":\"_term\",\"size\":100},\"schema\":\"bucket\",\"type\":\"terms\"},{\"id\":\"5\",\"params\":{\"field\":\"mean_latency\"},\"schema\":\"metric\",\"type\":\"sum\"},{\"id\":\"6\",\"params\":{\"field\":\"remote_cpu_util\"},\"schema\":\"metric\",\"type\":\"sum\"}],\"listeners\":{},\"params\":{\"perPage\":80,\"showMeticsAtAllLevels\":false,\"showPartialRows\":false},\"title\":\"system_bandwidth_terms_data\",\"type\":\"table\"}",
+        "uiStateJSON": "{}",
+        "description": "",
+        "version": 1,
+        "kibanaSavedObjectMeta": {
+            "searchSourceJSON": "{\"index\":\"bottlenecks\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"filter\":[]}"
+        }
 }
 }
index 155ca2d..4501dee 100755 (executable)
@@ -75,7 +75,6 @@ def dashboard_system_bandwidth(runner_config):
     else:
         LOG.info("system_bandwidth search has existed")
 
     else:
         LOG.info("system_bandwidth search has existed")
 
-    # Create testing data in line graph
     # Create testing data in line graph
     with open(dashboard_dir + 'posca_system_bandwidth_line_data.json')\
             as line_data:
     # Create testing data in line graph
     with open(dashboard_dir + 'posca_system_bandwidth_line_data.json')\
             as line_data:
@@ -104,6 +103,20 @@ def dashboard_system_bandwidth(runner_config):
     else:
         LOG.info("system_bandwidth_line-char visualization has existed")
 
     else:
         LOG.info("system_bandwidth_line-char visualization has existed")
 
+    # Create local cpu results in line chart
+    with open(dashboard_dir + 'posca_system_bandwidth_local_cpu.json')\
+            as line_cpu:
+        doc = json.load(line_cpu)
+    res = es.index(
+        index=".kibana",
+        doc_type="visualization",
+        id="system_bandwidth_local_cpu",
+        body=doc)
+    if res['created'] == "True":
+        LOG.info("system_bandwidth_local_cpu visualization has created")
+    else:
+        LOG.info("system_bandwidth_local_cpu visualization has existed")
+
     # Create monitoring data in table
     with open(dashboard_dir + 'posca_system_bandwidth_terms_data.json')\
             as terms_char:
     # Create monitoring data in table
     with open(dashboard_dir + 'posca_system_bandwidth_terms_data.json')\
             as terms_char:
index ae30417..3a2277c 100644 (file)
@@ -53,7 +53,7 @@ def env_pre(test_config):
     stack_prepare._prepare_env_daemon(test_yardstick)
     quota_prepare.quota_env_prepare()
     cmd = ('yardstick env prepare')
     stack_prepare._prepare_env_daemon(test_yardstick)
     quota_prepare.quota_env_prepare()
     cmd = ('yardstick env prepare')
-    LOG.info("yardstick envrionment prepare!")
+    LOG.info("yardstick environment prepare!")
     if(test_config["contexts"]['yardstick_envpre']):
         yardstick_container = docker_env.yardstick_info['container']
         stdout = docker_env.docker_exec_cmd(yardstick_container, cmd)
     if(test_config["contexts"]['yardstick_envpre']):
         yardstick_container = docker_env.yardstick_info['container']
         stdout = docker_env.docker_exec_cmd(yardstick_container, cmd)
@@ -69,10 +69,10 @@ def do_test():
     stdout = docker_env.docker_exec_cmd(yardstick_container, cmd)
     LOG.info(stdout)
     out_value = 0
     stdout = docker_env.docker_exec_cmd(yardstick_container, cmd)
     LOG.info(stdout)
     out_value = 0
-    loop_walue = 0
-    while loop_walue < 60:
+    loop_value = 0
+    while loop_value < 60:
         time.sleep(2)
         time.sleep(2)
-        loop_walue = loop_walue + 1
+        loop_value = loop_value + 1
         with open(out_file) as f:
             data = json.load(f)
             if data["status"] == 1:
         with open(out_file) as f:
             data = json.load(f)
             if data["status"] == 1:
@@ -119,9 +119,8 @@ def run(test_config):
         LOG.info("Create Dashboard data")
         DashBoard.posca_stress_ping(test_config["contexts"])
 
         LOG.info("Create Dashboard data")
         DashBoard.posca_stress_ping(test_config["contexts"])
 
-    LOG.info("bottlenecks envrionment prepare!")
     env_pre(test_config)
     env_pre(test_config)
-    LOG.info("yardstick envrionment prepare done!")
+    LOG.info("yardstick environment prepare done!")
 
     for value in test_num:
         result = []
 
     for value in test_num:
         result = []
index 01c5dab..05ea61e 100644 (file)
@@ -14,10 +14,13 @@ This test is using yardstick as a tool to begin test.'''
 
 import os
 import time
 
 import os
 import time
+import uuid
+import json
 import utils.logger as log
 import utils.logger as log
-import utils.infra_setup.runner.yardstick as Runner
 from utils.parser import Parser as conf_parser
 from utils.parser import Parser as conf_parser
+import utils.env_prepare.stack_prepare as stack_prepare
 import testsuites.posca.testcase_dashboard.system_bandwidth as DashBoard
 import testsuites.posca.testcase_dashboard.system_bandwidth as DashBoard
+import utils.infra_setup.runner.docker_env as docker_env
 # --------------------------------------------------
 # logging configuration
 # --------------------------------------------------
 # --------------------------------------------------
 # logging configuration
 # --------------------------------------------------
@@ -37,40 +40,76 @@ testcase, file_format = os.path.splitext(testfile)
 
 
 def env_pre(con_dic):
 
 
 def env_pre(con_dic):
-    Runner.Create_Incluxdb(con_dic['runner_config'])
+    LOG.info("yardstick environment prepare!")
+    stack_prepare._prepare_env_daemon(True)
 
 
 def config_to_result(test_config, test_result):
     testdata = {}
 
 
 def config_to_result(test_config, test_result):
     testdata = {}
-    test_result["throughput"] = float(test_result["throughput"])
+    parser_result = test_result["benchmark"]["data"]
     test_result.update(test_config)
     test_result.update(test_config)
+    test_result.update(parser_result)
+    test_result["throughput"] = float(test_result["throughput"])
+    test_result["remote_cpu_util"] = float(test_result["remote_cpu_util"])
+    test_result["local_cpu_util"] = float(test_result["local_cpu_util"])
+    test_result["mean_latency"] = float(test_result["mean_latency"])
     testdata["data_body"] = test_result
     testdata["testcase"] = testcase
     return testdata
 
 
     testdata["data_body"] = test_result
     testdata["testcase"] = testcase
     return testdata
 
 
-def do_test(test_config, con_dic):
-    test_dict['args']['opts']['task-args'] = test_config
-    Task_id = Runner.Send_Data(test_dict, con_dic['runner_config'])
-    time.sleep(con_dic['test_config']['test_time'])
-    Data_Reply = Runner.Get_Reply(con_dic['runner_config'], Task_id)
-    try:
-        test_date =\
-            Data_Reply[con_dic['runner_config']['yardstick_testcase']][0]
-    except IndexError:
-        test_date = do_test(test_config, con_dic)
+def testcase_parser(out_file="yardstick.out", **parameter_info):
+    cmd = ('yardstick task start /home/opnfv/repos/yardstick/'
+           'samples/netperf_bottlenecks.yaml --output-file ' + out_file)
+    cmd = cmd + " --task-args " + '"' + str(parameter_info) + '"'
+    LOG.info("yardstick test cmd is: %s" % cmd)
+    return cmd
+
+
+def do_test(test_config, Use_Dashboard, context_conf):
+    yardstick_container = docker_env.yardstick_info['container']
+    out_file = ("/tmp/yardstick_" + str(uuid.uuid4()) + ".out")
+    cmd = testcase_parser(out_file=out_file, **test_config)
+    stdout = docker_env.docker_exec_cmd(yardstick_container, cmd)
+    LOG.info(stdout)
+    loop_value = 0
+    while loop_value < 60:
+        time.sleep(2)
+        loop_value = loop_value + 1
+        with open(out_file) as f:
+            data = json.load(f)
+            if data["status"] == 1:
+                LOG.info("yardstick run success")
+                break
+            elif data["status"] == 2:
+                LOG.error("yardstick error exit")
+                exit()
 
 
-    save_data = config_to_result(test_config, test_date)
-    if con_dic['runner_config']['dashboard'] == 'y':
-        DashBoard.dashboard_send_data(con_dic['runner_config'], save_data)
+    save_data = config_to_result(test_config, data['result'][1])
+    if Use_Dashboard is True:
+        DashBoard.dashboard_send_data(context_conf, save_data)
 
     return save_data["data_body"]
 
 
 
     return save_data["data_body"]
 
 
-def run(con_dic):
+def run(test_config):
+    con_dic = test_config["load_manager"]
+    env_pre(None)
+    if test_config["contexts"]["yardstick_ip"] is None:
+        con_dic["contexts"]["yardstick_ip"] =\
+            conf_parser.ip_parser("yardstick_test_ip")
+
+    if "dashboard" in test_config["contexts"].keys():
+        if test_config["contexts"]["dashboard_ip"] is None:
+            test_config["contexts"]["dashboard_ip"] =\
+                conf_parser.ip_parser("dashboard")
+        LOG.info("Create Dashboard data")
+        Use_Dashboard = True
+        DashBoard.dashboard_system_bandwidth(test_config["contexts"])
+
     data = {}
     data = {}
-    rx_pkt_a = con_dic['test_config']['rx_pkt_sizes'].split(',')
-    tx_pkt_a = con_dic['test_config']['tx_pkt_sizes'].split(',')
+    rx_pkt_a = con_dic['scenarios']['rx_pkt_sizes'].split(',')
+    tx_pkt_a = con_dic['scenarios']['tx_pkt_sizes'].split(',')
     data["rx_pkt_sizes"] = rx_pkt_a
     data["tx_pkt_sizes"] = tx_pkt_a
     con_dic["result_file"] = os.path.dirname(
     data["rx_pkt_sizes"] = rx_pkt_a
     data["tx_pkt_sizes"] = tx_pkt_a
     con_dic["result_file"] = os.path.dirname(
@@ -82,30 +121,20 @@ def run(con_dic):
     data_max = {}
     data_return["throughput"] = 1
 
     data_max = {}
     data_return["throughput"] = 1
 
-    if con_dic["runner_config"]["yardstick_test_ip"] is None:
-        con_dic["runner_config"]["yardstick_test_ip"] =\
-            conf_parser.ip_parser("yardstick_test_ip")
-
-    env_pre(con_dic)
-
-    if con_dic["runner_config"]["dashboard"] == 'y':
-        if con_dic["runner_config"]["dashboard_ip"] is None:
-            con_dic["runner_config"]["dashboard_ip"] =\
-                conf_parser.ip_parser("dashboard")
-        LOG.info("Create Dashboard data")
-        DashBoard.dashboard_system_bandwidth(con_dic["runner_config"])
-
     for test_x in data["tx_pkt_sizes"]:
         data_max["throughput"] = 1
         bandwidth_tmp = 1
         for test_y in data["rx_pkt_sizes"]:
     for test_x in data["tx_pkt_sizes"]:
         data_max["throughput"] = 1
         bandwidth_tmp = 1
         for test_y in data["rx_pkt_sizes"]:
-            test_config = {
+            case_config = {
                 "tx_msg_size": float(test_x),
                 "rx_msg_size": float(test_y),
                 "tx_msg_size": float(test_x),
                 "rx_msg_size": float(test_y),
-                "test_time": con_dic['test_config']['test_time']
+                "test_time": con_dic['scenarios']['test_times'],
+                "pod_info": conf_parser.bottlenecks_config["pod_info"]
             }
             }
-            data_reply = do_test(test_config, con_dic)
-            conf_parser.result_to_file(data_reply, con_dic["out_file"])
+            data_reply = do_test(case_config, Use_Dashboard,
+                                 test_config["contexts"])
+
+            conf_parser.result_to_file(data_reply, test_config["out_file"])
             bandwidth = data_reply["throughput"]
             if (data_max["throughput"] < bandwidth):
                 data_max = data_reply
             bandwidth = data_reply["throughput"]
             if (data_max["throughput"] < bandwidth):
                 data_max = data_reply
index 2cdec57..ecd6bad 100644 (file)
@@ -42,6 +42,7 @@ class Parser():
             cls.bottlenecks_config["fetch_os"] = common_config["fetch_os_file"]
             cls.bottlenecks_config["log_dir"] = common_config['log_dir']
             cls.bottlenecks_config["rc_dir"] = common_config['rc_dir']
             cls.bottlenecks_config["fetch_os"] = common_config["fetch_os_file"]
             cls.bottlenecks_config["log_dir"] = common_config['log_dir']
             cls.bottlenecks_config["rc_dir"] = common_config['rc_dir']
+            cls.bottlenecks_config["pod_info"] = common_config['pod_info']
             cls.bottlenecks_config["yardstick_rc_dir"] = \
                 common_config['yardstick_rc_dir']
             cls.config_dir_check(cls.bottlenecks_config["log_dir"])
             cls.bottlenecks_config["yardstick_rc_dir"] = \
                 common_config['yardstick_rc_dir']
             cls.config_dir_check(cls.bottlenecks_config["log_dir"])