Merge "prototypes: xci: Update SHAs for OSA and its roles"
authorMarkos Chandras <mchandras@suse.de>
Mon, 3 Jul 2017 21:34:08 +0000 (21:34 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Mon, 3 Jul 2017 21:34:08 +0000 (21:34 +0000)
14 files changed:
jjb/barometer/barometer-upload-artifact.sh
jjb/barometer/barometer.yml
jjb/ci_gate_security/opnfv-ci-gate-security.yml
jjb/dovetail/dovetail-ci-jobs.yml
jjb/dovetail/dovetail-run.sh
jjb/functest/functest-loop.sh
jjb/functest/functest-suite.sh
jjb/functest/set-functest-env.sh
jjb/xci/bifrost-periodic-jobs.yml
jjb/xci/osa-periodic-jobs.yml
utils/jenkins-jnlp-connect.sh
utils/test/reporting/pages/app/scripts/controllers/testvisual.controller.js
utils/test/reporting/pages/app/views/commons/testCaseVisual.html
utils/test/testapi/opnfv_testapi/resources/handlers.py

index 887c492..817cc57 100644 (file)
@@ -17,12 +17,12 @@ echo "Uploading the barometer RPMs to artifacts.opnfv.org"
 echo "---------------------------------------------------"
 echo
 
-gsutil -m cp -r $RPM_DIR/* $OPNFV_ARTIFACT_URL > $WORKSPACE/gsutil.log 2>&1
+gsutil -m cp -r $RPM_DIR/* gs://$OPNFV_ARTIFACT_URL > $WORKSPACE/gsutil.log 2>&1
 
 # Check if the RPMs were pushed
-gsutil ls $OPNFV_ARTIFACT_URL > /dev/null 2>&1
+gsutil ls gs://$OPNFV_ARTIFACT_URL > /dev/null 2>&1
 if [[ $? -ne 0 ]]; then
-  echo "Problem while uploading barometer RPMs to $OPNFV_ARTIFACT_URL!"
+  echo "Problem while uploading barometer RPMs to gs://$OPNFV_ARTIFACT_URL!"
   echo "Check log $WORKSPACE/gsutil.log on the appropriate build server"
   exit 1
 fi
index c8fb9e2..2d3e972 100644 (file)
         - shell: |
             pwd
             cd src
-            ./install_build_deps.sh
             make clobber
             make
 
         - project-parameter:
             project: '{project}'
             branch: '{branch}'
+        - barometer-project-parameter:
+            gs-pathname: '{gs-pathname}'
         - 'opnfv-build-centos-defaults'
 
     scm:
index 489dbc5..e2f6ceb 100644 (file)
@@ -77,7 +77,7 @@
                     comment-contains-value: 'reverify'
             projects:
               - project-compare-type: 'REG_EXP'
-                project-pattern: 'sandbox|releng|octopus|pharos|functest'
+                project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cooper|functest|octopus|pharos|releng|sandbox'
                 branches:
                   - branch-compare-type: 'ANT'
                     branch-pattern: '**/{branch}'
             !include-raw:
                 - ./anteater-clone-all-repos.sh
                 - ./anteater-security-audit-weekly.sh
+
index 9fdce31..6bcaea2 100644 (file)
             name: DOVETAIL_REPO_DIR
             default: "/home/opnfv/dovetail"
             description: "Directory where the dovetail repository is cloned"
+        - string:
+            name: SUT_BRANCH
+            default: '{branch}'
+            description: "SUT branch"
 
     scm:
         - git-scm
index d423e9d..85bc54d 100755 (executable)
@@ -52,7 +52,12 @@ releng_repo=${WORKSPACE}/releng
 git clone https://gerrit.opnfv.org/gerrit/releng ${releng_repo} >/dev/null
 
 if [[ ${INSTALLER_TYPE} != 'joid' ]]; then
+    echo "SUT branch is $SUT_BRANCH"
+    echo "dovetail branch is $BRANCH"
+    BRANCH_BACKUP=$BRANCH
+    export BRANCH=$SUT_BRANCH
     ${releng_repo}/utils/fetch_os_creds.sh -d ${OPENRC} -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} >${redirect}
+    export BRANCH=$BRANCH_BACKUP
 fi
 
 if [[ -f $OPENRC ]]; then
index 6768906..a590d9f 100755 (executable)
@@ -2,7 +2,7 @@
 set +e
 
 [[ "$PUSH_RESULTS_TO_DB" == "true" ]] && flags+="-r"
-cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/run_tests.py -t all ${flags}"
+cmd="run_tests -t all ${flags}"
 
 container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
 docker exec $container_id $cmd
index 5d1ed28..469a577 100755 (executable)
@@ -10,7 +10,7 @@ global_ret_val=0
 
 tests=($(echo $FUNCTEST_SUITE_NAME | tr "," "\n"))
 for test in ${tests[@]}; do
-    cmd="python /home/opnfv/repos/functest/functest/ci/run_tests.py -t $test"
+    cmd="run_tests -t $test"
     docker exec $container_id $cmd
     let global_ret_val+=$?
 done
index 558e248..01cab5e 100755 (executable)
@@ -90,7 +90,7 @@ if [ $(docker ps | grep "${FUNCTEST_IMAGE}:${DOCKER_TAG}" | wc -l) == 0 ]; then
     exit 1
 fi
 
-cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/prepare_env.py start"
+cmd="prepare_env start"
 
 echo "Executing command inside the docker: ${cmd}"
 docker exec ${container_id} ${cmd}
index 3e9ff67..9773cfd 100644 (file)
     # trigger is disabled until we know which jobs we will have
     # and adjust stuff accordingly
     triggers:
-        - timed: '#@midnight'
+        - timed: ''  # '@midnight'
 
     builders:
         - description-setter:
index 56a4b18..722b077 100644 (file)
     # trigger is disabled until we know which jobs we will have
     # and adjust stuff accordingly
     triggers:
-        - timed: '#@midnight'
+        - timed: ''  # '@midnight'
 
     builders:
         - description-setter:
index 8fce2e0..c46ca89 100755 (executable)
@@ -61,8 +61,8 @@ main () {
     #make pid dir
     pidfile="/var/run/$jenkinsuser/jenkins_jnlp_pid"
     if ! [ -d /var/run/$jenkinsuser/ ]; then
-        mkdir /var/run/$jenkinsuser/
-        chown $jenkinsuser:$jenkinsuser /var/run/$jenkinsuser/
+        sudo mkdir /var/run/$jenkinsuser/
+        sudo chown $jenkinsuser:$jenkinsuser /var/run/$jenkinsuser/
     fi
 
     if [[ $skip_monit != true ]]; then
index def8e72..ae51e4a 100644 (file)
@@ -16,7 +16,7 @@ angular.module('opnfvApp')
             $scope.vsperf = "542,185,640,414";
             $scope.stor = "658,187,750,410";
             $scope.qtip = "769,190,852,416";
-            $scope.bootleneck = "870,192,983,419";
+            $scope.bottlenecks = "870,192,983,419";
             $scope.noPopArea1 = "26,8,1190,180";
             $scope.noPopArea2 = "1018,193,1190,590";
             $scope.noPopArea3 = "37,455,1003,584";
index 74eb56e..4de4e18 100644 (file)
@@ -20,7 +20,7 @@
                  <area shape="rect" coords={{vsperf}} alt="test" href="{{vsperfurl}}" onmouseover="pop(event)" ng-mouseover="myTrigger('vsperf')" />
                   <area shape="rect" coords={{stor}} alt="test" href="{{storperfurl}}" onmouseover="pop(event)" ng-mouseover="myTrigger('storperf')"/>
                    <area shape="rect" coords={{qtip}} alt="test" href="{{qtipurl}}"  onmouseover="pop(event)" ng-mouseover="myTrigger('qtip')" />
-                    <area shape="rect" coords={{bootleneck}} alt="test"  href="{{bottlenecksurl}}" onmouseover="pop(event)" ng-mouseover="myTrigger('bootlenecks')" />
+                    <area shape="rect" coords={{bottlenecks}} alt="test"  href="{{bottlenecksurl}}" onmouseover="pop(event)" ng-mouseover="myTrigger('bottlenecks')" />
                      <area shape="rect" coords={{noPopArea1}} alt="test" onmouseover="pophide(event)"  />
                       <area shape="rect" coords={{noPopArea2}} alt="test"  onmouseover="pophide(event)"  />
                        <area shape="rect" coords={{noPopArea3}} alt="test"  onmouseover="pophide(event)"  />
             $('#popup').hide();
             return true;
         }
-    </script>
\ No newline at end of file
+    </script>
index 5c98c48..c7fed8f 100644 (file)
@@ -101,55 +101,71 @@ class GenericApiHandler(web.RequestHandler):
     @web.asynchronous
     @gen.coroutine
     def _list(self, query=None, res_op=None, *args, **kwargs):
-        if query is None:
-            query = {}
-        data = []
         sort = kwargs.get('sort')
         page = kwargs.get('page', 0)
         last = kwargs.get('last', 0)
         per_page = kwargs.get('per_page', 0)
-
+        if query is None:
+            query = {}
         cursor = self._eval_db(self.table, 'find', query)
         records_count = yield cursor.count()
-        records_nr = records_count
-        if (records_count > last) and (last > 0):
-            records_nr = last
-
-        pipelines = list()
-        if query:
-            pipelines.append({'$match': query})
-        if sort:
-            pipelines.append({'$sort': sort})
-
-        if page > 0:
-            total_pages, remainder = divmod(records_nr, per_page)
-            if remainder > 0:
-                total_pages += 1
-            pipelines.append({'$skip': (page - 1) * per_page})
-            pipelines.append({'$limit': per_page})
-        elif last > 0:
-            pipelines.append({'$limit': last})
-
+        total_pages = self._calc_total_pages(records_count,
+                                             last,
+                                             page,
+                                             per_page)
+        pipelines = self._set_pipelines(query, sort, last, page, per_page)
         cursor = self._eval_db(self.table,
                                'aggregate',
                                pipelines,
                                allowDiskUse=True)
-
+        data = list()
         while (yield cursor.fetch_next):
             data.append(self.format_data(cursor.next_object()))
         if res_op is None:
             res = {self.table: data}
         else:
             res = res_op(data, *args)
-        if page:
+        if total_pages > 0:
             res.update({
                 'pagination': {
-                    'current_page': page,
+                    'current_page': kwargs.get('page'),
                     'total_pages': total_pages
                 }
             })
         self.finish_request(res)
 
+    @staticmethod
+    def _calc_total_pages(records_count, last, page, per_page):
+        records_nr = records_count
+        if (records_count > last) and (last > 0):
+            records_nr = last
+
+        total_pages = 0
+        if page > 0:
+            total_pages, remainder = divmod(records_nr, per_page)
+            if remainder > 0:
+                total_pages += 1
+        if page > total_pages:
+            raises.BadRequest(
+                'Request page > total_pages [{}]'.format(total_pages))
+        return total_pages
+
+    @staticmethod
+    def _set_pipelines(query, sort, last, page, per_page):
+        pipelines = list()
+        if query:
+            pipelines.append({'$match': query})
+        if sort:
+            pipelines.append({'$sort': sort})
+
+        if page > 0:
+            pipelines.append({'$skip': (page - 1) * per_page})
+            pipelines.append({'$limit': per_page})
+        elif last > 0:
+            pipelines.append({'$limit': last})
+
+        return pipelines
+
     @web.asynchronous
     @gen.coroutine
     @check.not_exist