Merge "Update release tags for Docker builds"
authorTrevor Bramwell <tbramwell@linuxfoundation.org>
Thu, 19 Oct 2017 17:34:07 +0000 (17:34 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Thu, 19 Oct 2017 17:34:07 +0000 (17:34 +0000)
jjb/functest/functest-alpine.sh
jjb/moon/moon.yml
utils/test/reporting/reporting/functest/reporting-status.py
utils/test/reporting/reporting/reporting.yaml
utils/test/reporting/reporting/utils/reporting_utils.py

index f5f39b8..bd2bdf4 100755 (executable)
@@ -15,7 +15,7 @@ run_tiers() {
         FUNCTEST_IMAGE=opnfv/functest-${tier}:${DOCKER_TAG}
         echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
         docker pull ${FUNCTEST_IMAGE}>/dev/null
-        cmd="docker run --privileged=true ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
+        cmd="docker run --privileged=true ${envs} ${volumes} ${TESTCASE_OPTIONS} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
         echo "Running Functest tier '${tier}'. CMD: ${cmd}"
         eval ${cmd}
         ret_value=$?
@@ -31,7 +31,7 @@ run_tiers() {
 
 run_test() {
     test_name=$1
-    cmd_opt="prepare_env start && run_tests -r -t ${test_name}"
+    cmd_opt="prepare_env start && run_tests -t ${test_name}"
     [[ $BUILD_TAG =~ "suite" ]] && cmd_opt="prepare_env start && run_tests -t ${test_name}"
     ret_val_file="${HOME}/opnfv/functest/results/${BRANCH##*/}/return_value"
     echo 0 > ${ret_val_file}
@@ -56,7 +56,7 @@ run_test() {
     esac
     echo "Functest: Pulling Functest Docker image ${FUNCTEST_IMAGE} ..."
     docker pull ${FUNCTEST_IMAGE}>/dev/null
-    cmd="docker run --privileged=true ${envs} ${volumes} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
+    cmd="docker run --privileged=true ${envs} ${volumes} ${TESTCASE_OPTIONS} ${FUNCTEST_IMAGE} /bin/bash -c '${cmd_opt}'"
     echo "Running Functest test case '${test_name}'. CMD: ${cmd}"
     eval ${cmd}
     ret_value=$?
index d254129..73b0fc7 100644 (file)
       - master:
           branch: '{stream}'
           gs-pathname: ''
+          disabled: true
       - euphrates:
           branch: 'stable/{stream}'
           gs-pathname: '/{stream}'
+          disabled: true
 
 - job-template:
     name: 'moon-verify-{stream}'
@@ -55,4 +57,4 @@
       - shell: |
           #!/bin/bash
           echo "launch Moon unit tests"
-          nosetest $WORKSPACE/keystone-moon/keystone/tests/moon/unit
+          #nosetest $WORKSPACE/keystone-moon/keystone/tests/moon/unit
index c71e00f..592f929 100755 (executable)
@@ -172,8 +172,13 @@ for version in versions:
                             nb_test_runnable_for_this_scenario += 1
                             LOGGER.info(" Searching results for case %s ",
                                         displayName)
-                            result = rp_utils.getResult(name, installer,
-                                                        s, version)
+                            if "fuel" in installer:
+                                result = rp_utils.getCaseScoreFromBuildTag(
+                                    name,
+                                    s_result)
+                            else:
+                                result = rp_utils.getCaseScore(name, installer,
+                                                               s, version)
                             # if no result set the value to 0
                             if result < 0:
                                 result = 0
@@ -204,8 +209,13 @@ for version in versions:
                             project = test_case.getProject()
                             LOGGER.info(" Searching results for case %s ",
                                         displayName)
-                            result = rp_utils.getResult(name, installer,
-                                                        s, version)
+                            if "fuel" in installer:
+                                result = rp_utils.getCaseScoreFromBuildTag(
+                                    name,
+                                    s_result)
+                            else:
+                                result = rp_utils.getCaseScore(name, installer,
+                                                               s, version)
                             # at least 1 result for the test
                             if result > -1:
                                 test_case.setCriteria(result)
@@ -240,6 +250,8 @@ for version in versions:
                 # 2 iterations : max score = 20 (10x2)
                 # 3 iterations : max score = 20
                 # 4 or more iterations : max score = 30 (1x30)
+                LOGGER.info("Number of iterations for this scenario: %s",
+                            len(s_result))
                 if len(s_result) > 3:
                     k_score = 3
                 elif len(s_result) < 2:
index 1e2e9a4..8123d01 100644 (file)
@@ -10,7 +10,6 @@ general:
     versions:
         - master
         - euphrates
-        - danube
 
     log:
         log_file: reporting.log
@@ -38,6 +37,8 @@ functest:
     blacklist:
         - odl_netvirt
         - juju_epc
+        - tempest_full_parallel
+        - rally_full
     max_scenario_criteria: 50
     test_conf: https://git.opnfv.org/cgit/functest/plain/functest/ci/testcases.yaml
     log_level: ERROR
index 65267ca..8dc4f09 100644 (file)
@@ -6,7 +6,6 @@
 #
 # http://www.apache.org/licenses/LICENSE-2.0
 #
-from urllib2 import Request, urlopen, URLError
 import logging
 import json
 import os
@@ -14,6 +13,8 @@ import requests
 import pdfkit
 import yaml
 
+from urllib2 import Request, urlopen, URLError
+
 
 # ----------------------------------------------------------
 #
@@ -284,7 +285,7 @@ def getNbtestOk(results):
     return nb_test_ok
 
 
-def getResult(testCase, installer, scenario, version):
+def getCaseScore(testCase, installer, scenario, version):
     """
     Get Result  for a given Functest Testcase
     """
@@ -343,6 +344,41 @@ def getResult(testCase, installer, scenario, version):
     return test_result_indicator
 
 
+def getCaseScoreFromBuildTag(testCase, s_results):
+    """
+    Get Results for a given Functest Testcase with arch filtering
+    """
+    url_base = get_config('testapi.url')
+    nb_tests = get_config('general.nb_iteration_tests_success_criteria')
+    test_result_indicator = 0
+    # architecture is not a result field...so we cannot use getResult as it is
+    res_matrix = []
+    try:
+        for s_result in s_results:
+            build_tag = s_result['build_tag']
+            d = s_result['start_date']
+            res_matrix.append({'date': d,
+                               'build_tag': build_tag})
+        # sort res_matrix
+        filter_res_matrix = sorted(res_matrix, key=lambda k: k['date'],
+                                   reverse=True)[:nb_tests]
+        for my_res in filter_res_matrix:
+            url = ("http://" + url_base + "?case=" + testCase +
+                   "&build_tag=" + my_res['build_tag'])
+            request = Request(url)
+            response = urlopen(request)
+            k = response.read()
+            results = json.loads(k)
+            if "PASS" in results['results'][0]['criteria']:
+                test_result_indicator += 1
+    except:
+        print "No results found for this case"
+    if test_result_indicator > 3:
+        test_result_indicator = 3
+
+    return test_result_indicator
+
+
 def getJenkinsUrl(build_tag):
     """
     Get Jenkins url_base corespoding to the last test CI run