Merge "Enable compass Arno scenario for master and stable/brahmaputra"
authorJun Li <matthew.lijun@huawei.com>
Sat, 9 Jan 2016 06:58:35 +0000 (06:58 +0000)
committerGerrit Code Review <gerrit@172.30.200.206>
Sat, 9 Jan 2016 06:58:35 +0000 (06:58 +0000)
13 files changed:
jjb/apex/apex.yml
jjb/fuel/fuel-build.sh
jjb/fuel/fuel-ci-jobs.yml
jjb/fuel/fuel-deploy-virtual.sh
jjb/fuel/fuel-project-jobs.yml
jjb/functest/functest-ci-jobs.yml
jjb/joid/joid-ci-jobs.yml
jjb/joid/joid-deploy.sh
jjb/opnfv/installer-params.yml
jjb/opnfv/slave-params.yml
jjb/qtip/qtip.yml
jjb/yardstick/yardstick-ci-jobs.yml
utils/test/result_collection_api/dashboard/dashboard_utils.py

index a5cc479..804adc8 100644 (file)
                 branches:
                   - branch-compare-type: 'ANT'
                     branch-pattern: '**/master'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'ci/**'
+                  - compare-type: ANT
+                    pattern: 'build/**'
+                  - compare-type: ANT
+                    pattern: 'lib/**'
+                  - compare-type: ANT
+                    pattern: 'config/**'
                 forbidden-file-paths:
                   - compare-type: ANT
                     pattern: 'docs/**'
@@ -67,6 +76,8 @@
             use-build-blocker: true
             blocking-jobs:
                 - "apex-daily.*"
+                - "apex-deploy.*"
+                - "apex-build.*"
 
     builders:
         - 'apex-build'
             refspec: ''
             branch: '{branch}'
 
+    properties:
+        - build-blocker:
+            use-build-blocker: true
+            blocking-jobs:
+                - "apex-deploy.*"
+
     builders:
         - 'apex-build'
         - 'apex-deploy-virtual'
         - apex-parameter:
             gs-pathname: '{gs-pathname}'
 
+    properties:
+        - build-blocker:
+            use-build-blocker: true
+            blocking-jobs:
+                - "apex-verify.*"
+                - "apex-deploy.*"
+                - "apex-build.*"
+                - "apex-daily.*"
+
     builders:
         - 'apex-deploy-virtual'
         - 'apex-workspace-cleanup'
         - apex-parameter:
             gs-pathname: '{gs-pathname}'
 
+    properties:
+        - build-blocker:
+            use-build-blocker: true
+            blocking-jobs:
+                - "apex-verify.*"
+                - "apex-deploy.*"
+                - "apex-build.*"
+                - "apex-daily.*"
+
     builders:
         - 'apex-deploy-baremetal'
         - 'apex-workspace-cleanup'
         - build-blocker:
             use-build-blocker: true
             blocking-jobs:
-                - "apex-daily.*"
+                - "apex-verify.*"
+                - "apex-deploy.*"
+                - "apex-build.*"
 
     triggers:
         - 'apex-{stream}'
             git-revision: true
             block: true
         - trigger-builds:
-          - project: 'apex-deploy-baremetal-{stream}'
+          - project: 'apex-deploy-virtual-{stream}'
             git-revision: true
             block: true
         - trigger-builds:
index d6a71e0..d51637a 100755 (executable)
@@ -56,7 +56,7 @@ if [[ "$JOB_NAME" =~ "verify" && "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "$NOCACHE_PA
     echo "The cache will not be used for this build!"
     NOCACHE_ARG="-f P"
 fi
-NOCACHE_ARG=${{NOCACHE_ARG:-}}
+NOCACHE_ARG=${NOCACHE_ARG:-}
 
 # start the build
 cd $WORKSPACE/ci
index 1b4b269..273d9a4 100644 (file)
 
     builders:
         - shell:
-            !include-raw ./fuel-download-artifact.sh
+            !include-raw-escape: ./fuel-download-artifact.sh
         - shell:
-            !include-raw ./fuel-deploy.sh
+            !include-raw-escape: ./fuel-deploy.sh
 
     publishers:
         - email:
index 8e92823..e7c83b7 100755 (executable)
@@ -24,7 +24,7 @@ chmod a+x $TMPDIR
 
 # get the lab name from SLAVE_NAME
 # we currently support ericsson and intel labs
-LAB_NAME=${{NODE_NAME%%-*}}
+LAB_NAME=${NODE_NAME%%-*}
 if [[ ! "$LAB_NAME" =~ (ericsson|intel) ]]; then
     echo "Unsupported/unidentified lab $LAB_NAME. Cannot continue!"
     exit 1
index 848fd0b..a04e4e6 100644 (file)
 
     builders:
         - shell:
-            !include-raw ./fuel-build.sh
+            !include-raw-escape: ./fuel-build.sh
         - shell:
-            !include-raw ./fuel-upload-artifact.sh
+            !include-raw-escape: ./fuel-upload-artifact.sh
         - shell:
-            !include-raw ./fuel-workspace-cleanup.sh
+            !include-raw-escape: ./fuel-workspace-cleanup.sh
 
     publishers:
         - email:
 
     builders:
         - shell:
-            !include-raw ./fuel-build.sh
+            !include-raw-escape: ./fuel-build.sh
         - shell:
-            !include-raw ./fuel-workspace-cleanup.sh
+            !include-raw-escape: ./fuel-workspace-cleanup.sh
 
 - job-template:
     name: 'fuel-merge-build-{stream}'
 
     builders:
         - shell:
-            !include-raw ./fuel-build.sh
+            !include-raw-escape: ./fuel-build.sh
         - shell:
-            !include-raw ./fuel-upload-artifact.sh
+            !include-raw-escape: ./fuel-upload-artifact.sh
         - shell:
-            !include-raw ./fuel-workspace-cleanup.sh
+            !include-raw-escape: ./fuel-workspace-cleanup.sh
 
 - job-template:
     name: 'fuel-merge-deploy-virtual-{stream}'
 
     builders:
         - shell:
-            !include-raw ./fuel-download-artifact.sh
+            !include-raw-escape: ./fuel-download-artifact.sh
         - shell:
-            !include-raw ./fuel-deploy-virtual.sh
+            !include-raw-escape: ./fuel-deploy-virtual.sh
         - shell:
-            !include-raw ./fuel-workspace-cleanup.sh
+            !include-raw-escape: ./fuel-workspace-cleanup.sh
 
     publishers:
         - email:
index f3bcd17..663702f 100644 (file)
             elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then
                 # If production lab then creds may be retrieved dynamically
                 # creds are on the jumphost, always in the same folder
-                labconfig="-v /var/lib/jenkins/joid_config/admin-openrc:/home/opnfv/functest/conf/openstack.creds"
+                labconfig="-v $LAB_CONFIG/admin-openrc:/home/opnfv/functest/conf/openstack.creds"
                 # If dev lab, credentials may not be the default ones, just provide a path to put them into docker
                 # replace the default one by the customized one provided by jenkins config
-                if [ -n "${LAB_CONFIG}" ]; then
-                    labconfig="-v ${LAB_CONFIG}:/home/opnfv/functest/conf/openstack.creds"
-                fi
             fi
             echo "Functest: Start Docker and prepare environment"
             envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}"
index 80e21f5..4a8b60d 100644 (file)
@@ -74,8 +74,8 @@
     parameters:
         - project-parameter:
             project: '{project}'
-        - '{pod}-defaults'
         - '{installer}-defaults'
+        - '{pod}-defaults'
         - string:
             name: SDN_CONTROLLER
             default: '{sdn-controller}'
             branch: '{branch}'
 
     builders:
-        - '{installer}-multijob-{pod}-builder':
-            pod: '{pod}'
-            stream: '{stream}'
+        - multijob:
+            name: deploy
+            condition: SUCCESSFUL
+            projects:
+                - name: 'joid-deploy-{pod}-daily-{stream}'
+                  current-parameters: true
+                  git-revision: true
+                  kill-phase-on: FAILURE
+        - multijob:
+            name: functest
+            condition: COMPLETED
+            projects:
+                - name: 'functest-joid-{pod}-daily-{stream}'
+                  current-parameters: true
+                  kill-phase-on: NEVER
+        - multijob:
+            name: yardstick
+            condition: COMPLETED
+            projects:
+                - name: 'yardstick-joid-{pod}-daily-{stream}'
+                  current-parameters: true
+                  kill-phase-on: NEVER
 
 - job-template:
     name: 'joid-deploy-{pod}-daily-{stream}'
     parameters:
         - project-parameter:
             project: '{project}'
-        - '{pod}-defaults'
         - '{installer}-defaults'
+        - '{pod}-defaults'
 
     scm:
         - git-scm:
             branch: '{branch}'
 
     builders:
-        - '{pod}-builder'
+        - 'builder-macro'
 
 ########################
-# multijob builder macros
-########################
-# intel-pod5 is CI POD so full CI will run on it
-# deploy, functest, yardstick
-- builder:
-    name: joid-multijob-intel-pod5-builder
-    builders:
-        - multijob:
-            name: deploy
-            condition: SUCCESSFUL
-            projects:
-                - name: 'joid-deploy-{pod}-daily-{stream}'
-                  current-parameters: true
-                  git-revision: true
-                  kill-phase-on: FAILURE
-        - multijob:
-            name: functest
-            condition: COMPLETED
-            projects:
-                - name: 'functest-joid-{pod}-daily-{stream}'
-                  current-parameters: true
-                  kill-phase-on: NEVER
-        - multijob:
-            name: yardstick
-            condition: COMPLETED
-            projects:
-                - name: 'yardstick-joid-{pod}-daily-{stream}'
-                  current-parameters: true
-                  kill-phase-on: NEVER
-# intel-pod6 is CI POD so full CI will run on it
-# deploy, functest, yardstick
-- builder:
-    name: joid-multijob-intel-pod6-builder
-    builders:
-        - multijob:
-            name: deploy
-            condition: SUCCESSFUL
-            projects:
-                - name: 'joid-deploy-{pod}-daily-{stream}'
-                  current-parameters: true
-                  git-revision: true
-                  kill-phase-on: FAILURE
-        - multijob:
-            name: functest
-            condition: COMPLETED
-            projects:
-                - name: 'functest-joid-{pod}-daily-{stream}'
-                  current-parameters: true
-                  kill-phase-on: NEVER
-        - multijob:
-            name: yardstick
-            condition: COMPLETED
-            projects:
-                - name: 'yardstick-joid-{pod}-daily-{stream}'
-                  current-parameters: true
-                  kill-phase-on: NEVER
-# yardstick placeholder
-#        - multijob:
-#            name: yardstick
-#            condition: COMPLETED
-#            projects:
-#                - name: 'yardstick-joid-{pod}-daily-{stream}'
-#                  current-parameters: true
-#                  kill-phase-on: NEVER
-
-# orange-pod2 is NOT a CI POD so only the selected jobs will run
-# deploy and functest currently
-- builder:
-    name: joid-multijob-orange-pod2-builder
-    builders:
-        - multijob:
-            name: deploy
-            condition: SUCCESSFUL
-            projects:
-                - name: 'joid-deploy-{pod}-daily-{stream}'
-                  current-parameters: true
-                  git-revision: true
-                  kill-phase-on: FAILURE
-        - multijob:
-            name: functest
-            condition: COMPLETED
-            projects:
-                - name: 'functest-joid-{pod}-daily-{stream}'
-                  current-parameters: true
-                  kill-phase-on: NEVER
-########################
 # builder macros
 ########################
 - builder:
-    name: intel-pod5-builder
+    name: 'builder-macro'
     builders:
         - shell: |
             #!/bin/bash
             echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
             echo
-            echo "Executing clean.sh"
-            cd $WORKSPACE/ci
-            ./clean.sh
-            echo
-            echo "Executing 02-maasdeploy.sh intelpod5"
-            ./02-maasdeploy.sh intelpod5
-            echo
-            echo "Executing deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod5"
-            ./deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod5
-
-- builder:
-    name: intel-pod6-builder
-    builders:
-        - shell: |
-            #!/bin/bash
-            echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
-            echo
-            echo "Executing clean.sh"
-            cd $WORKSPACE/ci
-            ./clean.sh
-            echo
-            echo "Executing 02-maasdeploy.sh intelpod6"
-            ./02-maasdeploy.sh intelpod6
-            echo
-            echo "Executing deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod6"
-            ./deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod6
-
-- builder:
-    name: orange-pod2-builder
-    builders:
-        - shell: |
-            #!/bin/bash
-            echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
-            echo "Please note that this is WIP generic builder"
-            echo
-            echo "Executing clean.sh"
+            echo "------ First Executing clean.sh ------"
             cd $WORKSPACE/ci
             ./clean.sh
         - shell:
             !include-raw ./joid-deploy.sh
+
 ########################
 # trigger macros
 ########################
index c7e5ba8..53255a3 100644 (file)
@@ -2,51 +2,58 @@
 set +e
 set -o nounset
 
-JOID_LOCAL_CONFIG_FOLDER=$HOME/joid_config
-JOID_ADMIN_OPENRC=$JOID_LOCAL_CONFIG_FOLDER/admin-openrc
+PWD_FILENAME="passwords.sh"
 
 ##
-## Load local config or defaults
+## Create LAB_CONFIG folder if not exists
 ##
+mkdir -p $LAB_CONFIG
 
-if [ -e "$JOID_LOCAL_CONFIG_FOLDER/config.sh" ]; then
-    echo "------ Load local config ------"
-    source $JOID_LOCAL_CONFIG_FOLDER/config.sh
+##
+## Override default passwords with local settings if needed
+##
+
+if [ -e "$LAB_CONFIG/$PWD_FILENAME" ]; then
+    echo "------ Load local passwords ------"
+    source $LAB_CONFIG/$PWD_FILENAME
 else
-    echo "------ No local config, load default ------"
-    # link NODE_NAME to joid node config names
+    export MAAS_USER=ubuntu
+    export MAAS_PASSWORD=ubuntu
+    export OS_ADMIN_PASSWORD=openstack
+fi
+
+##
+## Set Joid pod config name
+##
+    # This part will be removed when pod names will be synced between jenkins and joid config
     case $NODE_NAME in
         orange-fr-pod2)
             POD=orange-pod2 ;;
         *)
             POD=$NODE_NAME ;;
     esac
-    export POD_DC=$(echo $POD |cut -d\- -f1)
-    export POD_NUM=$(echo $POD |cut -d\- -f2)
-    export POD_NAME=$POD_DC$POD_NUM
-    export MAAS_REINSTALL=true
-    export MAAS_USER=ubuntu
-    export MAAS_PASSWORD=ubuntu
-    export OS_ADMIN_PASSWORD=openstack
-    export CEPH_DISKS=/srv
-    export CEPH_REFORMAT=no
-fi
+    export POD_NAME=${POD/-}
 
 ##
 ## Redeploy MAAS or recover the previous config
 ##
 
 cd $WORKSPACE/ci
-if [ -e "$JOID_LOCAL_CONFIG_FOLDER/environments.yaml" ] && [ "$MAAS_REINSTALL" == "false" ]; then
+if [ -e "$LAB_CONFIG/environments.yaml" ] && [ "$MAAS_REINSTALL" == "false" ]; then
     echo "------ Recover Juju environment to use MAAS ------"
-    cp $JOID_LOCAL_CONFIG_FOLDER/environments.yaml .
+    cp $LAB_CONFIG/environments.yaml .
 else
-    MAASCONFIG=$WORKSPACE/ci/maas/$POD_DC/$POD_NUM/deployment.yaml
+    MAASCONFIG=$WORKSPACE/ci/maas/${POD/-*}/${POD/*-}/deployment.yaml
     echo "------ Set MAAS password ------"
     sed -i -- "s/user: ubuntu/user: $MAAS_USER/" $MAASCONFIG
     sed -i -- "s/password: ubuntu/password: $MAAS_PASSWORD/" $MAASCONFIG
     echo "------ Redeploy MAAS ------"
     ./02-maasdeploy.sh $POD_NAME
+    RES=$?
+    if [ $RES != 0 ]; then
+        echo "MAAS Deploy FAILED"
+        exit $RES
+    fi
 fi
 
 ##
@@ -66,7 +73,13 @@ echo "------ Set openstack password ------"
 sed -i -- "s/\"admin-password\": openstack/\"admin-password\": $OS_ADMIN_PASSWORD/" $SRCBUNDLE
 
 echo "------ Set ceph disks ------"
-sed -i -- "s@osd-devices: /srv@osd-devices: $CEPH_DISKS@" $SRCBUNDLE
+if [ -z "$CEPH_DISKS_CONTROLLERS" ]; then
+    CEPH_DISKS_CONTROLLERS=$CEPH_DISKS
+fi
+#Find the first line of osd-devices to change the one for ceph, then the other for ceph-osd
+CEPH_DEV_LINE=$(grep -nr osd-devices $SRCBUNDLE |head -n1|cut -d: -f1)
+sed -i -- "${CEPH_DEV_LINE}s@osd-devices: /srv@osd-devices: $CEPH_DISKS@" $SRCBUNDLE
+sed -i -- "s@osd-devices: /srv@osd-devices: $CEPH_DISKS_CONTROLLERS@" $SRCBUNDLE
 sed -i -r -- "s/^(\s+osd-reformat: )'no'/\1'$CEPH_REFORMAT'/" $SRCBUNDLE
 
 ##
@@ -77,20 +90,19 @@ echo "------ Deploy with juju ------"
 echo "Execute: ./deploy.sh -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME"
 
 ./deploy.sh -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME
+RES=$?
+if [ $RES != 0 ]; then
+    echo "Deploy FAILED"
+    exit $RES
+fi
 
 ##
 ## Set Admin RC
 ##
-
+JOID_ADMIN_OPENRC=$LAB_CONFIG/admin-openrc
 echo "------ Create OpenRC file [$JOID_ADMIN_OPENRC] ------"
 KEYSTONE=$(cat bundles.yaml |shyaml get-value openstack-phase2.services.keystone.options.vip)
 
-# create the folder if needed
-JOID_ADMIN_OPENRC_FOLDER=$(echo $JOID_ADMIN_OPENRC | perl -pe "s|^(.*/).*?$|\1|")
-if [ ! -d "$JOID_ADMIN_OPENRC_FOLDER" ]; then
-    mkdir -p $JOID_ADMIN_OPENRC_FOLDER
-fi
-
 # export the openrc file
 cat << EOF > $JOID_ADMIN_OPENRC
 export OS_USERNAME=admin
@@ -104,14 +116,14 @@ EOF
 ## Backup local juju env
 ##
 
-if [ -d "$JOID_LOCAL_CONFIG_FOLDER" ]; then
-    echo "------ Backup Juju environment ------"
-    cp environments.yaml $JOID_LOCAL_CONFIG_FOLDER/
-fi
+echo "------ Backup Juju environment ------"
+cp environments.yaml $LAB_CONFIG/
 
 ##
 ## Basic test to return a realistic result to jenkins
 ##
+
+echo "------ Do basic test ------"
 source $JOID_ADMIN_OPENRC
 curl -i -sw '%{http_code}' -H "Content-Type: application/json"   -d "
 { \"auth\": {
@@ -119,18 +131,18 @@ curl -i -sw '%{http_code}' -H "Content-Type: application/json"   -d "
       \"methods\": [\"password\"],
       \"password\": {
         \"user\": {
-          \"name\": \"$OS_TENANT_NAME\",
+          \"name\": \"admin\",
           \"domain\": { \"id\": \"default\" },
-          \"password\": \"$OS_PASSWORD\"
+          \"password\": \"$OS_ADMIN_PASSWORD\"
         }
       }
     }
   }
-}"   http://$KEYSTONE:5000/v3/auth/tokens |grep "HTTP/1.1 20" 2>&1 >/dev/null; echo $?;
+}"   http://$KEYSTONE:5000/v3/auth/tokens |grep "HTTP/1.1 20" 2>&1 >/dev/null;
 RES=$?
 if [ $RES == 0 ]; then
     echo "Deploy SUCCESS"
 else
-    echo "Deploy FAILED"
+    echo "Deploy FAILED to auth to openstack"
 fi
 exit $RES
index 3e5c0ff..b8d7297 100644 (file)
             name: EXTERNAL_NETWORK
             default: 'net04_ext'
             description: 'external network for test'
+        - string:
+            name: CEPH_DISKS
+            default: '/srv'
+            description: "Disks to use by ceph by default (space separated list)"
+        - string:
+            name: CEPH_DISKS_CONTROLLERS
+            default: ''
+            description: "Disks to use by ceph by controllers (empty if same as CEPH_DISKS)"
+        - string:
+            name: LAB_CONFIG
+            default: "$HOME/joid_config"
+            description: "Local lab config and Openstack openrc location"
+        - string:
+            name: CEPH_REFORMAT
+            default: 'false'
+            description: "Format or not disk before using ceph [true/false] (must be done the first time)"
+        - string:
+            name: MAAS_REINSTALL
+            default: 'false'
+            description: "Reinstall MAAS and Bootstrap before deploy [true/false]"
index 4e169a8..8c86032 100644 (file)
             name: GIT_BASE
             default: https://gerrit.opnfv.org/gerrit/$PROJECT
             description: 'Git URL to use on this Jenkins Slave'
+        - string:
+            name: CEPH_DISKS
+            default: /srv
+            description: "Disks to use by ceph (comma separated list)"
 
 - parameter:
     name: 'intel-pod6-defaults'
             name: GIT_BASE
             default: https://gerrit.opnfv.org/gerrit/$PROJECT
             description: 'Git URL to use on this Jenkins Slave'
+        - string:
+            name: CEPH_DISKS
+            default: /srv
+            description: "Disks to use by ceph (comma separated list)"
 
 - parameter:
     name: 'intel-pod8-defaults'
             default: https://gerrit.opnfv.org/gerrit/$PROJECT
             description: 'Git URL to use on this Jenkins Slave'
         - string:
-            name: LAB_CONFIG
-            default: "/home/opnfv/repos/functest"
-            description: "Openstack credentials on the dev lab"
-
+            name: CEPH_DISKS
+            default: /dev/sdb /dev/sdc
+            description: "Disks to use by ceph by default (space separated list)"
+        - string:
+            name: CEPH_DISKS_CONTROLLERS
+            default: /dev/sdb
+            description: "Disks to use by ceph on controler nodes (space separated list)"
 
 - parameter:
     name: 'orange-test1-defaults'
index fac9c33..f211763 100644 (file)
@@ -5,14 +5,17 @@
 
     jobs:
         - 'qtip-verify-{stream}'
-        - 'qtip-dhrystone-serial-{pod}'
-        - 'qtip-ssl-parallel-{pod}'
+        - 'qtip-{installer_type}-{pod}-daily-{stream}'
 
     pod:
-        - dell-build:
+        - dell-us-testing-bm-1:
            node: 'dell-us-testing-bm-1'
            installer_type: 'fuel'
            installer_ip: '10.20.0.2'
+        - dell-us-deploying-bm-3:
+           node: 'dell-us-deploying-bm-3'
+           installer_type: 'fuel'
+           installer_ip: '10.20.0.2'
 
 # only master branch is enabled at the moment to keep no of jobs sane
     stream:
@@ -66,7 +69,7 @@
             echo "Nothing to verify!"
 
 - job-template:
-    name: 'qtip-dhrystone-serial-{pod}'
+    name: 'qtip-{installer_type}-{pod}-daily-{stream}'
 
     disabled: false
 
           default: '{installer_ip}'
           description: "Installer IP"
       - string:
-          name: GIT_BASE
-          default: https://gerrit.opnfv.org/gerrit/$PROJECT
-          description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
-
-    scm:
-       - git-scm:
-           credentials-id: '{ssh-credentials}'
-           refspec: ''
-           branch: master
-
-    builders:
-        - 'qtip-fetch-os-cred'
-        - 'qtip-dhrystone-serial'
-
-    triggers:
-      - timed: '0 20 * * *'
-
-- job-template:
-    name: 'qtip-ssl-parallel-{pod}'
-
-    disabled: false
-
-    node: '{node}'
-
-    parameters:
-      - project-parameter:
-          project: '{project}'
-      - string:
-          name: INSTALLER_TYPE
-          default: '{installer_type}'
-          description: "Installer name that is used for deployment."
-      - string:
-          name: INSTALLER_IP
-          default: '{installer_ip}'
-          description: "IP address of the installer"
+          name: NODE_NAME
+          default: '{node}'
+          description: "Name of the POD"
       - string:
           name: GIT_BASE
           default: https://gerrit.opnfv.org/gerrit/$PROJECT
            branch: master
 
     builders:
-      - 'qtip-fetch-os-cred'
-      - 'qtip-ssl-parallel'
+        - 'qtip-cleanup'
+        - 'qtip-set-env'
+        - 'qtip-run-suite'
 
     triggers:
-      - timed: '0 0,11,18 * * *'
+      - timed: '0 0,13,15,20 * * *'
+
 
 ###########################
 #biuilder macros
 ###########################
 - builder:
-    name: qtip-dhrystone-serial
-
+    name: qtip-set-env
     builders:
         - shell: |
-            #! /bin/bash
-            if [[ ! -f $WORKSPACE/opnfv-stack.sh ]]; then
-               echo "Unable to access file $WO:qRKSPACE/opnfv-openrc.sh"
-               exit 1
+            #!/bin/bash
+            echo "Qtip: Start Docker and prepare environment"
+            envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}"
+            suite="TEST_CASE=all"
+            docker pull opnfv/qtip:latest
+
+            cmd=" docker run -id -e $envs -e $suite opnfv/qtip:latest /bin/bash"
+            echo "Qtip: Running docker run command: ${cmd}"
+            ${cmd}
+            docker ps -a
+            container_id=$(docker ps | grep 'opnfv/qtip:latest' | awk '{print $1}' | head -1)
+             if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then
+                echo "The container opnfv/qtip with ID=${container_id} has not been properly started. Exiting..."
+                exit 1
             fi
-            source $WORKSPACE/opnfv-stack.sh
-            cd $WORKSPACE
-            echo "Running QTIP dhrystone with First Test case"
-            python qtip.py -s compute -b dhrystone_serial.yaml
-
 - builder:
-    name: qtip-ssl-parallel
+    name: qtip-run-suite
+    builders:
+        - shell: |
+            #! /bin/bash
+            QTIP_REPO=/home/opnfv/repos/qtip
+            docker exec -t ${container_id} $QTIP_REPO/docker/run_qtip.sh
 
+
+- builder:
+    name: qtip-cleanup
     builders:
         - shell: |
-            #!/bin/bash
-            if [[ ! -f $WORKSPACE/opnfv-stack.sh ]]; then
-               echo "Unable to access file $WORKSPACE/opnfv-openrc.sh"
-               exit 1
-            fi
-            source $WORKSPACE/opnfv-stack.sh
-            cd $WORKSPACE
-            echo "Running QTIP dhrystone with Second Test case"
-            python qtip.py -s compute -b ssl_parallel.yaml
+            #! /bin/bash
+
+             echo "Cleaning up QTIP  docker containers/images..."
+              # Remove previous running containers if exist
+             if [[ ! -z $(docker ps -a | grep opnfv/qtip) ]]; then
+                 echo "Removing existing opnfv/qtip containers..."
+                 running_containers= $(docker ps | grep opnfv/qtip | awk '{print $1}')
+                 docker stop ${running_containers}
+                 all_containers= $(docker ps -a | grep opnfv/qtip | awk '{print $1}')
+                 docker rm ${all_containers}
+             fi
+
+             # Remove existing images if exist
+             if [[ ! -z $(docker images | grep opnfv/qtip) ]]; then
+                 echo "Docker images to remove:"
+                 docker images | head -1 && docker images | grep opnfv/qtip
+                 image_tags=($(docker images | grep opnfv/qtip | awk '{print $2}'))
+                 for tag in "${image_tags[@]}"; do
+                     echo "Removing docker image opnfv/qtip:$tag..."
+                     docker rmi opnfv/qtip:$tag
+                 done
+             fi
 
 - builder:
     name: qtip-fetch-os-cred
     builders:
         - shell: |
+
+
             echo $HOME
             echo $WORKSPACE
             cd $WORKSPACE
index ef26ed5..87485c4 100644 (file)
@@ -50,6 +50,9 @@
         - zte-build-1:
             installer: fuel
             <<: *master
+        - orange-pod2:
+            installer: joid
+            <<: *master
 #--------------------------------
     loop:
         - daily
             default: ''
             description: 'Arguments to use in order to choose the backend DB'
 
+- parameter:
+    name: 'yardstick-params-orange-pod2'
+    parameters:
+        - string:
+            name: YARDSTICK_DB_BACKEND
+            default: ''
+            description: 'Arguments to use in order to choose the backend DB'
index 06c90ac..dccfe4f 100644 (file)
@@ -18,6 +18,12 @@ import os
 import re
 from functest2Dashboard import format_functest_for_dashboard, \
     check_functest_case_exist
+from yardstick2Dashboard import format_yardstick_for_dashboard, \
+    check_yardstick_case_exist
+from vsperf2Dashboard import format_vsperf_for_dashboard, \
+    check_vsperf_case_exist
+from bottlenecks2Dashboard import format_bottlenecks_for_dashboard, \
+    check_bottlenecks_case_exist
 
 # any project test project wishing to provide dashboard ready values
 # must include at least 2 methods