Add a flag to push the results to the DB optionaly 55/4455/1
authorjose.lausuch <jose.lausuch@ericsson.com>
Mon, 14 Dec 2015 15:41:24 +0000 (16:41 +0100)
committerjose.lausuch <jose.lausuch@ericsson.com>
Mon, 14 Dec 2015 15:41:24 +0000 (16:41 +0100)
By default, it will NOT push, only if specified by -r
The parameter must be taken from a Jenkins job set to TRUE

JIRA: FUNCTEST-84

Change-Id: Iee3b293e90b052b88de2d4f1d337f5ec5e3b3941
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
docker/run_tests.sh
testcases/VIM/OpenStack/CI/libraries/run_tempest.py
testcases/vIMS/CI/vIMS.py

index 55a6d90..081fe02 100755 (executable)
@@ -15,6 +15,7 @@ usage:
 where:
     -o|--offline      optional offline mode (experimental)
     -h|--help         show this help text
+    -r|--report       push results to database (false by default)
     -t|--test         run specific set of tests
       <test_name>     one or more of the following: vping,odl,rally,tempest,vims. Separated by comma.
 
@@ -28,6 +29,7 @@ examples:
 # Support for Functest offline
 # NOTE: Still not 100% working when running the tests
 offline=false
+report=""
 arr_test=(vping odl tempest vims rally)
 
 
@@ -39,7 +41,8 @@ function run_test(){
     case $test_name in
         "vping")
             info "Running vPing test..."
-            python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing.py --debug ${FUNCTEST_REPO_DIR}/ -r
+            python ${FUNCTEST_REPO_DIR}/testcases/vPing/CI/libraries/vPing.py \
+                --debug ${FUNCTEST_REPO_DIR}/ ${report}
         ;;
         "odl")
             info "Running ODL test..."
@@ -75,7 +78,8 @@ function run_test(){
         ;;
         "tempest")
             info "Running Tempest smoke tests..."
-            python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_tempest.py --debug ${FUNCTEST_REPO_DIR}/ -m smoke
+            python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_tempest.py \
+                --debug ${FUNCTEST_REPO_DIR}/ -m smoke ${report}
             # save tempest.conf for further troubleshooting
             tempest_conf="${RALLY_VENV_DIR}/tempest/for-deployment-*/tempest.conf"
             if [ -f ${tempest_conf} ]; then
@@ -84,11 +88,13 @@ function run_test(){
         ;;
         "vims")
             info "Running vIMS test..."
-            python ${FUNCTEST_REPO_DIR}/testcases/vIMS/CI/vIMS.py --debug ${FUNCTEST_REPO_DIR}/
+            python ${FUNCTEST_REPO_DIR}/testcases/vIMS/CI/vIMS.py \
+                --debug ${FUNCTEST_REPO_DIR}/ ${report}
         ;;
         "rally")
             info "Running Rally benchmark suite..."
-            python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_rally.py --debug ${FUNCTEST_REPO_DIR}/ all
+            python ${FUNCTEST_REPO_DIR}/testcases/VIM/OpenStack/CI/libraries/run_rally.py \
+                --debug ${FUNCTEST_REPO_DIR}/ all ${report}
         ;;
     esac
 }
@@ -107,6 +113,9 @@ while [[ $# > 0 ]]
         -o|--offline)
             offline=true
         ;;
+        -r|--report)
+            report="-r"
+        ;;
         -t|--test|--tests)
             TEST="$2"
             shift
index 2d65df4..f80f4ae 100644 (file)
@@ -28,6 +28,9 @@ parser.add_argument("repo_path", help="Path to the Functest repository")
 parser.add_argument("-d", "--debug", help="Debug mode",  action="store_true")
 parser.add_argument("-m", "--mode", help="Tempest test mode [smoke, all]",
                     default="smoke")
+parser.add_argument("-r", "--report",
+                    help="Create json result file",
+                    action="store_true")
 
 args = parser.parse_args()
 
@@ -131,7 +134,11 @@ def run_tempest(OPTION):
                     "tests": int(num_tests), "failures": int(num_failures)}
     logger.info("Results: "+str(json_results))
     pod_name = functest_utils.get_pod_name(logger)
-    push_results_to_db(json_results, MODE, pod_name)
+
+    # Push results in payload of testcase
+    if args.report:
+        logger.debug("Push result into DB")
+        push_results_to_db(json_results, MODE, pod_name)
 
 
 def main():
index 05afa89..91bec1f 100644 (file)
@@ -25,6 +25,9 @@ pp = pprint.PrettyPrinter(indent=4)
 parser = argparse.ArgumentParser()
 parser.add_argument("repo_path", help="Path to the repository")
 parser.add_argument("-d", "--debug", help="Debug mode",  action="store_true")
+parser.add_argument("-r", "--report",
+                    help="Create json result file",
+                    action="store_true")
 args = parser.parse_args()
 
 sys.path.append(args.repo_path + "testcases/")
@@ -385,7 +388,8 @@ def test_clearwater():
         except:
             logger.error("Unable to retrieve test results")
 
-        if vims_test_result != "":
+        if vims_test_result != "" & args.report:
+            logger.debug("Push result into DB")
             logger.debug("Pushing results to DB....")
             git_version = functest_utils.get_git_branch(args.repo_path)
             functest_utils.push_results_to_db(db_url=TEST_DB, case_name="vIMS",
@@ -413,4 +417,4 @@ def main():
     cleanup_deployments()
 
 if __name__ == '__main__':
-    main()
\ No newline at end of file
+    main()