Report vPing timeouts to the DB with duration = 0 and test status=NOK 37/9037/1
authorjose.lausuch <jose.lausuch@ericsson.com>
Tue, 2 Feb 2016 12:59:56 +0000 (13:59 +0100)
committerMorgan Richomme <morgan.richomme@orange.com>
Tue, 2 Feb 2016 14:03:41 +0000 (14:03 +0000)
JIRA: FUNCTEST-132

Change-Id: Ida0c485504fd07db29b0c33ac59da6944da303a9
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
(cherry picked from commit 5bb53025a593bbda834ef6ad325faba5aa073f7f)

testcases/vPing/CI/libraries/vPing.py
testcases/vPing/CI/libraries/vPing2.py

index 0b09b6d..1368bbe 100644 (file)
@@ -270,6 +270,20 @@ def cleanup(nova, neutron, image_id, network_dic, port_id1, port_id2):
 
     return True
 
+def push_results(start_time_ts, duration, test_status):
+    try:
+        logger.debug("Pushing result into DB...")
+        scenario = functest_utils.get_scenario(logger)
+        pod_name = functest_utils.get_pod_name(logger)
+        functest_utils.push_results_to_db(TEST_DB,
+                                          "vPing_userdata",
+                                          logger, pod_name, scenario,
+                                          payload={'timestart': start_time_ts,
+                                                   'duration': duration,
+                                                   'status': test_status})
+    except:
+        logger.error("Error pushing results into Database '%s'" % sys.exc_info()[0])
+
 
 def main():
 
@@ -466,31 +480,17 @@ def main():
         logger.info("vPing OK")
         test_status = "OK"
     elif EXIT_CODE == -2:
+        duration = 0
         logger.info("Userdata is not supported in nova boot. Aborting test...")
     else:
+        duration = 0
         logger.error("vPing FAILED")
 
     cleanup(nova_client, neutron_client, image_id, network_dic,
             port_id1, port_id2)
 
-    try:
-        if args.report and EXIT_CODE != -2:
-            # Don't report if userdata is not supported
-            logger.debug("Push result into DB")
-            # TODO check path result for the file
-            scenario = functest_utils.get_scenario(logger)
-            pod_name = functest_utils.get_pod_name(logger)
-            functest_utils.push_results_to_db(TEST_DB,
-                                              "vPing_userdata",
-                                              logger, pod_name, scenario,
-                                              payload={'timestart': start_time_ts,
-                                                       'duration': duration,
-                                                       'status': test_status})
-            # with open("vPing-result.json", "w") as outfile:
-            # json.dump({'timestart': start_time_ts, 'duration': duration,
-            # 'status': test_status}, outfile, indent=4)
-    except:
-        logger.error("Error pushing results into Database '%s'" % sys.exc_info()[0])
+    if args.report:
+        push_results(start_time_ts, duration, test_status)
 
     exit(EXIT_CODE)
 
index a60ae00..c14be43 100644 (file)
@@ -276,6 +276,20 @@ def cleanup(nova, neutron, image_id, network_dic, port_id1, port_id2):
 
     return True
 
+def push_results(start_time_ts, duration, test_status):
+    try:
+        logger.debug("Pushing result into DB...")
+        scenario = functest_utils.get_scenario(logger)
+        pod_name = functest_utils.get_pod_name(logger)
+        functest_utils.push_results_to_db(TEST_DB,
+                                          "vPing",
+                                          logger, pod_name, scenario,
+                                          payload={'timestart': start_time_ts,
+                                                   'duration': duration,
+                                                   'status': test_status})
+    except:
+        logger.error("Error pushing results into Database '%s'" % sys.exc_info()[0])
+
 
 def main():
 
@@ -530,33 +544,20 @@ def main():
         logger.debug("Pinging %s. Waiting for response..." % IP_1)
         sec += 1
 
-    cleanup(nova_client, neutron_client, image_id, network_dic,
-            port_id1, port_id2)
 
     test_status = "NOK"
     if EXIT_CODE == 0:
         logger.info("vPing OK")
         test_status = "OK"
     else:
+        duration = 0
         logger.error("vPing FAILED")
 
-    try:
-        if args.report:
-            logger.debug("Push result into DB")
-            # TODO check path result for the file
-            scenario = functest_utils.get_scenario(logger)
-            pod_name = functest_utils.get_pod_name(logger)
-            functest_utils.push_results_to_db(TEST_DB,
-                                              "vPing",
-                                              logger, pod_name, scenario,
-                                              payload={'timestart': start_time_ts,
-                                                       'duration': duration,
-                                                       'status': test_status})
-            # with open("vPing-result.json", "w") as outfile:
-            # json.dump({'timestart': start_time_ts, 'duration': duration,
-            # 'status': test_status}, outfile, indent=4)
-    except:
-        logger.error("Error pushing results into Database '%s'" % sys.exc_info()[0])
+    cleanup(nova_client, neutron_client, image_id, network_dic,
+            port_id1, port_id2)
+
+    if args.report:
+        push_results(start_time_ts, duration, test_status)
 
     exit(EXIT_CODE)