Merge "support ODT format creation in docs-build.sh"
[releng.git] / jjb / qtip / qtip.yml
index 0b863f7..c442c6c 100644 (file)
 - project:
     name: qtip
-    jobs:
-        - 'qtip-test'
-        - 'qtip-daily-{stream}'
-        - 'qtip-merge'
-        - 'qtip-verify'
-        - 'qtip-dhrystone-serial-{pod}'
-        - 'qtip-ssl-parallel-{pod}'
-
 
-    # stream:    branch with - in place of / (eg. stable-helium)
-    # branch:    branch (eg. stable/helium)
+    project: '{name}'
 
+    jobs:
+        - 'qtip-verify-{stream}'
+        - '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-bm3:
+           node: 'dell-us-deploying-bm3'
+           installer_type: 'fuel'
+           installer_ip: '10.20.0.2'
 
-
+# only master branch is enabled at the moment to keep no of jobs sane
     stream:
         - master:
             branch: 'master'
-
-    project: 'qtip'
-    somevar: 'foo'
+            gs-pathname: ''
+#        - brahmaputra:
+#            branch: 'stable/brahmaputra'
+#            gs-pathname: '/brahmaputra'
 
 - job-template:
-    name: qtip-test
-
-    project-type: freestyle
-
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 10
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
-
-    builders:
-        - shell: |
-            echo "Hello world from qtip"
-
-- job-template:
-    name: 'qtip-daily-{stream}'
-
-    # Job template for daily builders
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable)
-    #     branch:    branch (eg. stable)
-
-    project-type: freestyle
-    varsetabove: '{somevar}'
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
+    name: 'qtip-verify-{stream}'
 
     parameters:
         - project-parameter:
             project: '{project}'
-
-
-    scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
+        - gerrit-parameter:
             branch: '{branch}'
+        - 'opnfv-build-defaults'
 
-    triggers:
-        - timed: 'H H * * *'
-
-    prebuilders:
-        - test-macro
-
-    builders:
-        - shell: |
-            pwd
-            find .
-            echo "Hello world from qtip {somevar} daily"
-
-    postbuilders:
-        - test-macro
-
-- job-template:
-    name: 'qtip-verify'
-
-    project-type: freestyle
-
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 10
-        artifactDaysToKeep: -1
-        artifactNumToKeep: -1
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-        - gerrit-parameter:
-            branch: 'master'
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
                     comment-contains-value: 'reverify'
             projects:
               - project-compare-type: 'ANT'
-                project-pattern: 'qtip'
+                project-pattern: '{project}'
                 branches:
                   - branch-compare-type: 'ANT'
-                    branch-pattern: '**/master'
+                    branch-pattern: '**/{branch}'
+                forbidden-file-paths:
+                  - compare-type: ANT
+                    pattern: 'docs/**|.gitignore'
 
     builders:
         - shell: |
-            pwd
-            find .
-            echo "verify logic goes here"
+            echo "Nothing to verify!"
 
 - job-template:
-    name: 'qtip-merge'
-
-    # builder-merge job to run JJB update
-    #
-    # This job's purpose is to update all the JJB
-
-    project-type: freestyle
-
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 40
-        artifactDaysToKeep: -1
-        artifactNumToKeep: 5
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-        - gerrit-parameter:
-            branch: 'master'
-
-    scm:
-        - gerrit-trigger-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            choosing-strategy: 'default'
-
-    triggers:
-        - gerrit:
-            trigger-on:
-                - change-merged-event
-                - comment-added-contains-event:
-                    comment-contains-value: 'remerge'
-            projects:
-              - project-compare-type: 'ANT'
-                project-pattern: 'qtip'
-                branches:
-                    - branch-compare-type: 'ANT'
-                      branch-pattern: '**/master'
-
-    builders:
-        - shell: |
-            pwd
-            find .
-            echo "merge logic goes here"
-
-- job-template:
-    name: 'qtip-dhrystone-serial-{pod}'
-
-    project-type: freestyle
+    name: 'qtip-{installer_type}-{pod}-daily-{stream}'
 
     disabled: false
 
     node: '{node}'
 
-    logrotate:
-      daysToKeep: 30
-      numToKeep: 10
-      artifactDaysToKeep: -1
-      artifactNumToKeep: -1
-
     parameters:
       - project-parameter:
           project: '{project}'
           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}'
-
-
-    project-type: freestyle
-
-    disabled: false
-
-    node: '{node}'
-
-    logrotate:
-      daysToKeep: 30
-      numToKeep: 10
-      artifactDaysToKeep: -1
-      artifactNumToKeep: -1
-
-    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: "@midnight"
+      - timed: '0 0,13,15,20 * * *'
+
 
 ###########################
 #biuilder macros
 ###########################
 - builder:
-    name: qtip-dhrystone-serial
-
+    name: qtip-set-env
     builders:
         - shell: |
-            #! /bin/bash
-            if [[ ! -f $HOME/opnfv-openrc.sh ]]; then
-               echo "Unable to access file $HOME/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 $HOME/opnfv-openrc.sh
-            cd $WORKSPACE
-            echo "Running QTIP dhrystone with First Test case"
-            python qtip.py -s compute -b dhrystone_serial.yaml
+- builder:
+    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-ssl-parallel
-
+    name: qtip-cleanup
     builders:
         - shell: |
             #!/bin/bash
-            if [[ ! -f $HOME/opnfv-openrc.sh ]]; then
-               echo "Unable to access file $HOME/opnfv-openrc.sh"
-               exit 1
+
+            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
-            source $HOME/opnfv-openrc.sh
-            cd $WORKSPACE
-            echo "Running QTIP dhrystone with Second Test case"
-            python qtip.py -s compute -b ssl_parallel.yaml
 
+            # 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:
-            !include-raw ../../utils/fetch_os_creds.sh
+        - shell: |
+            #!/bin/bash
+
+            echo $HOME
+            echo $WORKSPACE
+            cd $WORKSPACE
+            git clone https://gerrit.opnfv.org/gerrit/releng
+            cd $WORKSPACE/releng/utils
+            #./fetch_os_creds.sh                  #To test the problem with creating the file in $HOME
+            ./fetch_os_creds.sh -d $WORKSPACE/opnfv-stack.sh    #To test if  the file can be created in $WORKSPACE