Merge "Change path to reporting db"
authorYu Yang (Gabriel) <Gabriel.yuyang@huawei.com>
Thu, 3 Aug 2017 04:01:50 +0000 (04:01 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Thu, 3 Aug 2017 04:01:50 +0000 (04:01 +0000)
testsuites/posca/testcase_cfg/posca_factor_ping.yaml
testsuites/posca/testcase_script/posca_factor_ping.py
utils/infra_setup/runner/docker_env.py
utils/parser.py

index ed1e347..2565435 100644 (file)
@@ -16,8 +16,9 @@ load_manager:
     tool: ping
     test_times: 100
     package_size:
-    num_stack: 5, 10, 20
-    package_loss: 10%
+    num_stack: 20, 20
+    threshhold: 20
+    package_loss: 0%
 
   runners:
     stack_create: yardstick
index b212971..ae30417 100644 (file)
@@ -70,32 +70,31 @@ def do_test():
     LOG.info(stdout)
     out_value = 0
     loop_walue = 0
-    while loop_walue < 150:
+    while loop_walue < 60:
         time.sleep(2)
         loop_walue = loop_walue + 1
         with open(out_file) as f:
             data = json.load(f)
             if data["status"] == 1:
-                if data["result"]["criteria"] == "PASS":
-                    LOG.info("yardstick run success")
-                    out_value = 1
-                else:
-                    LOG.error("task error exit")
-                    out_value = 0
+                LOG.info("yardstick run success")
+                out_value = 1
                 break
             elif data["status"] == 2:
                 LOG.error("yardstick error exit")
+                out_value = 0
+                break
     q.put((out_value, func_name))
     return out_value
 
 
-def config_to_result(num, out_num, during_date):
+def config_to_result(num, out_num, during_date, result):
     testdata = {}
     test_result = {}
-    test_result["number_of_users"] = float(num)
+    test_result["number_of_stacks"] = float(num)
     test_result["success_times"] = out_num
     test_result["success_rate"] = out_num / num
     test_result["duration_time"] = during_date
+    test_result["result"] = result
     testdata["data_body"] = test_result
     testdata["testcase"] = testcase
     return testdata
@@ -149,15 +148,18 @@ def run(test_config):
         LOG.info("%s thread success %d times" % (num, out_num))
         during_date = (endtime - starttime).seconds
 
-        data_reply = config_to_result(num, out_num, during_date)
+        if out_num >= con_dic["scenarios"]['threshhold']:
+            criteria_result = "PASS"
+        else:
+            criteria_result = "FAIL"
+
+        data_reply = config_to_result(num, out_num, during_date,
+                                      criteria_result)
         if "dashboard" in test_config["contexts"].keys():
             DashBoard.dashboard_send_data(test_config['contexts'], data_reply)
         conf_parser.result_to_file(data_reply, test_config["out_file"])
 
-        if out_num < num:
-            success_rate = ('%d/%d' % (out_num, num))
-            LOG.error('error thread: %d '
-                      'the successful rate is %s'
-                      % (num - out_num, success_rate))
+        if criteria_result is "FAIL":
             break
     LOG.info('END POSCA stress ping test')
+    return criteria_result
index 1e8728e..64d049b 100644 (file)
@@ -45,7 +45,7 @@ def env_yardstick(docker_name):
     volume = get_self_volume()
     yardstick_tag = os.getenv("Yardstick_TAG")
     if yardstick_tag is None:
-        yardstick_tag = "latest"
+        yardstick_tag = "danube.3.1"
     env_docker = client.containers.run(image="opnfv/yardstick:%s"
                                              % yardstick_tag,
                                        privileged=True,
index 65072c0..2cdec57 100644 (file)
@@ -83,9 +83,15 @@ class Parser():
 
     @classmethod
     def testcase_out_dir(cls, testcase):
-        file_time = time.strftime('%H_%M', time.localtime(time.time()))
-        out_name = cls.bottlenecks_config["log_dir"] + testcase + file_time
-        outfile_name = out_name + ".out"
+        file_name = os.getenv("OUTPUT_FILE")
+        if file_name is None:
+            file_suffix = time.strftime('%H_%M', time.localtime(time.time()))
+            suffix_name = "_" + str(file_suffix)
+            out_name = cls.bottlenecks_config["log_dir"] + testcase
+            outfile_name = out_name + suffix_name + ".out"
+        else:
+            out_name = str(file_name)
+            outfile_name = cls.bottlenecks_config["log_dir"] + out_name
         return outfile_name
 
     @staticmethod