Merge "[Functest] Add push-logs to functest-suite job"
authorJose Lausuch <jose.lausuch@ericsson.com>
Wed, 8 Feb 2017 12:24:40 +0000 (12:24 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Wed, 8 Feb 2017 12:24:40 +0000 (12:24 +0000)
29 files changed:
jjb/apex/apex-snapshot-create.sh
jjb/bottlenecks/bottlenecks-ci-jobs.yml
jjb/bottlenecks/bottlenecks-project-jobs.yml
jjb/compass4nfv/compass-ci-jobs.yml
jjb/compass4nfv/compass-deploy.sh
jjb/compass4nfv/compass-dovetail-jobs.yml
jjb/compass4nfv/compass-verify-jobs.yml
jjb/daisy4nfv/daisy-project-jobs.yml [new file with mode: 0644]
jjb/daisy4nfv/daisy4nfv-deploy.sh [new file with mode: 0755]
jjb/daisy4nfv/daisy4nfv-merge-jobs.yml
jjb/daisy4nfv/daisy4nfv-verify-jobs.yml
jjb/daisy4nfv/daisy4nfv-virtual-deploy.sh
jjb/global/installer-params.yml
jjb/global/releng-macros.yml
jjb/global/slave-params.yml
jjb/kvmfornfv/kvmfornfv-upload-artifact.sh
jjb/kvmfornfv/kvmfornfv.yml
jjb/qtip/helpers/cleanup-deploy.sh [moved from jjb/qtip/qtip-cleanup.sh with 100% similarity]
jjb/qtip/helpers/validate-deploy.sh [moved from jjb/qtip/qtip-daily-ci.sh with 86% similarity]
jjb/qtip/helpers/validate-setup.sh [new file with mode: 0644]
jjb/qtip/qtip-ci-jobs.yml [deleted file]
jjb/qtip/qtip-validate-jobs.yml [new file with mode: 0644]
jjb/qtip/qtip-verify-jobs.yml [moved from jjb/qtip/qtip-project-jobs.yml with 93% similarity]
jjb/releng/opnfv-docker.yml
jjb/releng/testapi-automate.yml
prototypes/bifrost/scripts/destroy-env.sh
utils/test/reporting/functest/reporting-status.py
utils/test/reporting/reporting.yaml
utils/test/reporting/utils/reporting_utils.py

index 09c6a11..5725ac6 100644 (file)
@@ -26,10 +26,10 @@ mkdir -p ${tmp_dir}
 pushd ${tmp_dir} > /dev/null
 echo "Copying overcloudrc and ssh key from Undercloud..."
 # Store overcloudrc
-UNDERCLOUD=$(sudo virsh domifaddr undercloud | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]')
-scp ${SSH_OPTIONS[@]} stack@${UNDERCLOUD}:overcloudrc ./
+UNDERCLOUD=$(sudo virsh domifaddr undercloud | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')
+sudo scp ${SSH_OPTIONS[@]} stack@${UNDERCLOUD}:overcloudrc ./
 # Copy out ssh key of stack from undercloud
-scp ${SSH_OPTIONS[@]} stack@${UNDERCLOUD}:.ssh/id_rsa ./
+sudo scp ${SSH_OPTIONS[@]} stack@${UNDERCLOUD}:.ssh/id_rsa ./
 popd > /dev/null
 
 echo "Gathering introspection information"
index 582f40c..a9ccd69 100644 (file)
@@ -72,6 +72,7 @@
     suite:
         - 'rubbos'
         - 'vstf'
+        - 'posca'
 
     jobs:
         - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'
index 535edaf..12ea31b 100644 (file)
@@ -29,6 +29,7 @@
     suite:
         - 'rubbos'
         - 'vstf'
+        - 'posca'
 
 ################################
 # job templates
index 6c9686a..b749ea6 100644 (file)
         - shell:
             !include-raw-escape: ./compass-deploy.sh
 
-    publishers:
-        - archive:
-            artifacts: 'ansible.log'
-            allow-empty: 'true'
-            fingerprint: true
-
 ########################
 # parameter macros
 ########################
index f89d04e..6696e4b 100644 (file)
@@ -65,7 +65,4 @@ echo
 echo "--------------------------------------------------------"
 echo "Done!"
 
-ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
-sshpass -p root scp 2>/dev/null $ssh_options root@${INSTALLER_IP}:/var/ansible/run/openstack_${OPENSTACK_VERSION}-opnfv2/ansible.log ./  &> /dev/null
-
 exit $deploy_ret
index 0fd2f9e..d49d0ec 100644 (file)
@@ -28,7 +28,7 @@
     scenario:
         - 'os-nosdn-nofeature-ha':
             disabled: false
-            auto-trigger-name: 'dovetail-weekly-trigger'
+            auto-trigger-name: 'compass-{scenario}-{pod}-weekly-{stream}-trigger'
 
     jobs:
         - 'compass-{scenario}-{pod}-weekly-{stream}'
@@ -63,7 +63,7 @@
         - project-parameter:
             project: '{project}'
             branch: '{branch}'
-        - compass-ci-parameter:
+        - compass-dovetail-parameter:
             installer: '{installer}'
             gs-pathname: '{gs-pathname}'
         - string:
         - project-parameter:
             project: '{project}'
             branch: '{branch}'
-        - compass-ci-parameter:
+        - compass-dovetail-parameter:
             installer: '{installer}'
             gs-pathname: '{gs-pathname}'
         - '{slave-label}-defaults'
         - shell:
             !include-raw-escape: ./compass-deploy.sh
 
-    publishers:
-        - archive:
-            artifacts: 'ansible.log'
-            allow-empty: 'true'
-            fingerprint: true
-
 ########################
 # parameter macros
 ########################
 - trigger:
     name: 'compass-os-nosdn-nofeature-ha-baremetal-weekly-colorado-trigger'
     triggers:
-        - timed: ''
+        - timed: 'H H * * 0'
+
+- trigger:
+    name: 'dovetail-weekly-trigger'
+    triggers:
+        - timed: 'H H * * 0'
index f4df670..d581380 100644 (file)
             description: "Built on $NODE_NAME"
         - '{project}-verify-{phase}-macro'
 
-    publishers:
-        - archive:
-            artifacts: 'ansible.log'
-            allow-empty: 'true'
-            fingerprint: true
 #####################################
 # builder macros
 #####################################
diff --git a/jjb/daisy4nfv/daisy-project-jobs.yml b/jjb/daisy4nfv/daisy-project-jobs.yml
new file mode 100644 (file)
index 0000000..f712adb
--- /dev/null
@@ -0,0 +1,232 @@
+######################################################################
+# Add daily jobs, for buidoing, deploying and testing
+# TODO:
+# - [ ] Add yardstick and functest for test stage
+# - [x] Use daisy-baremetal-defauls for choosing baremetal deployment
+######################################################################
+
+#############################
+# Job configuration for daisy
+#############################
+- project:
+    name: daisy-project-jobs
+
+    project: 'daisy'
+
+    installer: 'daisy'
+
+    stream:
+        - master:
+            branch: '{stream}'
+            gs-pathname: ''
+            disabled: false
+        - danube:
+            branch: 'stable/{stream}'
+            gs-pathname: '/{stream}'
+            disabled: true
+
+    phase:
+        - 'build':
+            slave-label: 'opnfv-build-centos'
+        - 'deploy':
+            slave-label: 'daisy-baremetal'
+        - 'test':
+            slave-label: 'opnfv-build-centos'
+    jobs:
+        - '{installer}-daily-{stream}'
+        - '{installer}-{phase}-daily-{stream}'
+
+########################
+# job templates
+########################
+- job-template:
+    name: '{installer}-daily-{stream}'
+
+    project-type: multijob
+
+    disabled: false
+
+    concurrent: true
+
+    properties:
+        - logrotate-default
+        - throttle:
+            enabled: true
+            max-total: 4
+            option: 'project'
+
+    scm:
+        - git-scm
+
+    triggers:
+        - timed: '0 H/8 * * *'
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+            branch: '{branch}'
+        - 'opnfv-build-centos-defaults'
+        - 'daisy-defaults'
+        - '{installer}-project-parameter':
+            gs-pathname: '{gs-pathname}'
+
+    wrappers:
+        - ssh-agent-wrapper
+        - timeout:
+            timeout: 360
+            fail: true
+
+    builders:
+        - description-setter:
+            description: "Built on $NODE_NAME"
+        - multijob:
+            name: build
+            condition: SUCCESSFUL
+            projects:
+                - name: '{installer}-build-daily-{stream}'
+                  current-parameters: false
+                  predefined-parameters: |
+                    BRANCH=$BRANCH
+                    GERRIT_REFSPEC=$GERRIT_REFSPEC
+                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                  node-parameters: false
+                  kill-phase-on: FAILURE
+                  abort-all-job: true
+        - multijob:
+            name: deploy
+            condition: SUCCESSFUL
+            projects:
+                - name: '{installer}-deploy-daily-{stream}'
+                  current-parameters: false
+                  predefined-parameters: |
+                    BRANCH=$BRANCH
+                    GERRIT_REFSPEC=$GERRIT_REFSPEC
+                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                  node-parameters: false
+                  kill-phase-on: FAILURE
+                  abort-all-job: true
+        - multijob:
+            name: test
+            condition: SUCCESSFUL
+            projects:
+                - name: '{installer}-test-daily-{stream}'
+                  current-parameters: false
+                  predefined-parameters: |
+                    BRANCH=$BRANCH
+                    GERRIT_REFSPEC=$GERRIT_REFSPEC
+                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+                  node-parameters: false
+                  kill-phase-on: FAILURE
+                  abort-all-job: true
+
+    publishers:
+        - '{installer}-recipients'
+
+- job-template:
+    name: '{installer}-{phase}-daily-{stream}'
+
+    disabled: '{obj:disabled}'
+
+    concurrent: true
+
+    properties:
+        - logrotate-default
+        - throttle:
+            enabled: true
+            max-total: 6
+            option: 'project'
+        - build-blocker:
+            use-build-blocker: true
+            blocking-jobs:
+                - '{installer}-.*deploy-.*'
+            block-level: 'NODE'
+
+    scm:
+        - git-scm
+
+    wrappers:
+        - ssh-agent-wrapper
+        - timeout:
+            timeout: 360
+            fail: true
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+            branch: '{branch}'
+        - 'daisy-defaults'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on this Jenkins Slave'
+        - string:
+            name: DEPLOY_SCENARIO
+            default: 'os-nosdn-nofeature-ha'
+        - 'daisy-defaults'
+        - '{slave-label}-defaults'
+        - '{installer}-project-parameter':
+            gs-pathname: '{gs-pathname}'
+
+    builders:
+        - description-setter:
+              description: "Built on $NODE_NAME"
+        - '{installer}-{phase}-daily-macro'
+
+#####################################
+# builder macros
+#####################################
+- builder:
+    name: 'daisy-build-daily-macro'
+    builders:
+        - shell:
+            !include-raw-escape: ./daisy4nfv-basic.sh
+        - shell:
+            !include-raw-escape: ./daisy4nfv-build.sh
+        - shell:
+            !include-raw-escape: ./daisy4nfv-upload-artifact.sh
+        - shell:
+            !include-raw-escape: ./daisy4nfv-workspace-cleanup.sh
+
+- builder:
+    name: 'daisy-deploy-daily-macro'
+    builders:
+        - shell:
+            !include-raw-escape: ./daisy4nfv-download-artifact.sh
+        - shell:
+            !include-raw-escape: ./daisy4nfv-deploy.sh
+
+- builder:
+    name: 'daisy-test-daily-macro'
+    builders:
+        - shell: |
+            #!/bin/bash
+
+            echo "Not activated!"
+
+#####################################
+# parameter macros
+#####################################
+- publisher:
+    name: 'daisy-recipients'
+    publishers:
+        - email:
+            recipients: hu.zhijiang@zte.com.cn lu.yao135@zte.com.cn zhou.ya@zte.com.cn yangyang1@zte.com.cn julienjut@gmail.com
+
+- parameter:
+    name: 'daisy-project-parameter'
+    parameters:
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+            description: "Directory where the build artifact will be located upon the completion of the build."
+        - string:
+            name: CACHE_DIRECTORY
+            default: $HOME/opnfv/cache/$INSTALLER_TYPE
+            description: "Directory where the cache to be used during the build is located."
+        - string:
+            name: GS_URL
+            default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+            description: "URL to Google Storage."
diff --git a/jjb/daisy4nfv/daisy4nfv-deploy.sh b/jjb/daisy4nfv/daisy4nfv-deploy.sh
new file mode 100755 (executable)
index 0000000..cc2c103
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+echo "Daisy deployment WIP"
index 72e25b2..11cdc1b 100644 (file)
@@ -2,6 +2,14 @@
     name: 'daisy4nfv-merge-jobs'
 
     project: 'daisy'
+
+    installer: 'daisy'
+
+###########################################################
+# use alias to keep the jobs'name existed already unchanged
+###########################################################
+    alias: 'daisy4nfv'
+
 #####################################
 # branch definitions
 #####################################
             branch: '{stream}'
             gs-pathname: ''
             disabled: false
+        - danube:
+            branch: 'stable/{stream}'
+            gs-pathname: '/{stream}'
+            disabled: true
 #####################################
 # patch merge phases
 #####################################
     phase:
-        - 'basic':
-            slave-label: 'opnfv-build-centos'
         - 'build':
             slave-label: 'opnfv-build-centos'
         - 'deploy-virtual':
             slave-label: 'opnfv-build-centos'
-        - 'smoke-test':
-            slave-label: 'opnfv-build-centos'
-        - 'promote':
-            slave-label: 'opnfv-build-centos'
 #####################################
 # jobs
 #####################################
     jobs:
-        - 'daisy4nfv-merge-{stream}'
-        - 'daisy4nfv-merge-{phase}-{stream}'
+        - '{alias}-merge-{stream}'
+        - '{alias}-merge-{phase}-{stream}'
 #####################################
 # job templates
 #####################################
 - job-template:
-    name: 'daisy4nfv-merge-{stream}'
+    name: '{alias}-merge-{stream}'
 
     project-type: multijob
 
                 - comment-added-contains-event:
                     comment-contains-value: 'remerge'
             projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{project}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
-                forbidden-file-paths:
-                  - compare-type: ANT
-                    pattern: 'docs/**|.gitignore'
+                - project-compare-type: 'ANT'
+                  project-pattern: '{project}'
+                  branches:
+                      - branch-compare-type: 'ANT'
+                        branch-pattern: '**/{branch}'
+                  file-paths:
+                      - compare-type: ANT
+                        pattern: 'ci/**'
+                      - compare-type: ANT
+                        pattern: 'code/**'
+                      - compare-type: ANT
+                        pattern: 'deploy/**'
+                  forbidden-file-paths:
+                      - compare-type: ANT
+                        pattern: 'docs/**'
+                      - compare-type: ANT
+                        pattern: '.gitignore'
             readable-message: true
 
     parameters:
         - project-parameter:
             project: '{project}'
             branch: '{branch}'
-        - 'opnfv-build-defaults'
-        - 'daisy4nfv-merge-defaults':
+        - 'opnfv-build-centos-defaults'
+        - '{alias}-merge-defaults':
             gs-pathname: '{gs-pathname}'
 
     builders:
         - description-setter:
             description: "Built on $NODE_NAME"
-        - multijob:
-            name: basic
-            condition: SUCCESSFUL
-            projects:
-                - name: 'daisy4nfv-merge-basic-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                  node-parameters: false
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
         - multijob:
             name: build
             condition: SUCCESSFUL
             projects:
-                - name: 'daisy4nfv-merge-build-{stream}'
+                - name: '{alias}-merge-build-{stream}'
                   current-parameters: false
                   predefined-parameters: |
                     BRANCH=$BRANCH
             name: deploy-virtual
             condition: SUCCESSFUL
             projects:
-                - name: 'daisy4nfv-merge-deploy-virtual-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                  node-parameters: false
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: smoke-test
-            condition: SUCCESSFUL
-            projects:
-                - name: 'daisy4nfv-merge-smoke-test-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                  node-parameters: false
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: promote
-            condition: SUCCESSFUL
-            projects:
-                - name: 'daisy4nfv-merge-promote-{stream}'
+                - name: '{alias}-merge-deploy-virtual-{stream}'
                   current-parameters: false
                   predefined-parameters: |
                     BRANCH=$BRANCH
                   abort-all-job: true
 
 - job-template:
-    name: 'daisy4nfv-merge-{phase}-{stream}'
+    name: '{alias}-merge-{phase}-{stream}'
 
     disabled: '{obj:disabled}'
 
         - logrotate-default
         - throttle:
             enabled: true
-            max-total: 6
+            max-total: 4
             option: 'project'
         - build-blocker:
             use-build-blocker: true
             blocking-jobs:
-                - 'daisy4nfv-merge-deploy-.*'
-                - 'daisy4nfv-merge-test-.*'
+                - '{alias}-merge-deploy-.*'
             block-level: 'NODE'
 
     scm:
             project: '{project}'
             branch: '{branch}'
         - '{slave-label}-defaults'
-        - 'daisy4nfv-merge-defaults':
+        - '{alias}-merge-defaults':
             gs-pathname: '{gs-pathname}'
 
     builders:
         - description-setter:
             description: "Built on $NODE_NAME"
         - '{project}-merge-{phase}-macro'
+
 #####################################
 # builder macros
 #####################################
-- builder:
-    name: 'daisy-merge-basic-macro'
-    builders:
-        - shell:
-            !include-raw: ./daisy4nfv-basic.sh
-
 - builder:
     name: 'daisy-merge-build-macro'
     builders:
         - shell:
-            !include-raw:
-                - ./daisy4nfv-build.sh
-                - ./daisy4nfv-upload-artifact.sh
-                - ./daisy4nfv-workspace-cleanup.sh
+            !include-raw-escape: ./daisy4nfv-basic.sh
+        - shell:
+            !include-raw-escape: ./daisy4nfv-build.sh
+        - shell:
+            !include-raw-escape: ./daisy4nfv-upload-artifact.sh
+        - shell:
+            !include-raw-escape: ./daisy4nfv-workspace-cleanup.sh
 
 - builder:
     name: 'daisy-merge-deploy-virtual-macro'
     builders:
         - shell:
-            !include-raw:
-                - ./daisy4nfv-download-artifact.sh
-                - ./daisy4nfv-virtual-deploy.sh
-                - ./daisy4nfv-workspace-cleanup.sh
-
-- builder:
-    name: 'daisy-merge-smoke-test-macro'
-    builders:
-        - shell: |
-            #!/bin/bash
-
-            echo "Not activated!"
-
-- builder:
-    name: 'daisy-merge-promote-macro'
-    builders:
-        - shell: |
-            #!/bin/bash
+            !include-raw-escape: ./daisy4nfv-download-artifact.sh
+        - shell:
+            !include-raw-escape: ./daisy4nfv-virtual-deploy.sh
+        - shell:
+            !include-raw-escape: ./daisy4nfv-workspace-cleanup.sh
 
-            echo "Not activated!"
 #####################################
 # parameter macros
 #####################################
index fd36d20..febce6f 100644 (file)
@@ -2,6 +2,14 @@
     name: 'daisy4nfv-verify-jobs'
 
     project: 'daisy'
+
+    installer: 'daisy'
+
+##########################################################
+# use alias to keep the jobs'name existed alread unchanged
+##########################################################
+    alias: 'daisy4nfv'
+
 #####################################
 # branch definitions
 #####################################
             branch: '{stream}'
             gs-pathname: ''
             disabled: false
+        - danube:
+            branch: 'stable/{stream}'
+            gs-pathname: '/{stream}'
+            disabled: true
 #####################################
 # patch verification phases
 #####################################
     phase:
-        - 'basic':
-            slave-label: 'opnfv-build-centos'
         - 'build':
             slave-label: 'opnfv-build-centos'
-        - 'deploy-virtual':
-            slave-label: 'opnfv-build'
-        - 'smoke-test':
-            slave-label: 'opnfv-build'
 #####################################
 # jobs
 #####################################
     jobs:
-        - 'daisy4nfv-verify-{stream}'
-        - 'daisy4nfv-verify-{phase}-{stream}'
+        - '{alias}-verify-{stream}'
+        - '{alias}-verify-{phase}-{stream}'
 #####################################
 # job templates
 #####################################
 - job-template:
-    name: 'daisy4nfv-verify-{stream}'
+    name: '{alias}-verify-{stream}'
 
     project-type: multijob
 
@@ -48,7 +54,7 @@
             option: 'project'
 
     scm:
-        - git-scm-gerrit
+        - git-scm
 
     wrappers:
         - ssh-agent-wrapper
                 - comment-added-contains-event:
                     comment-contains-value: 'reverify'
             projects:
-              - project-compare-type: 'ANT'
-                project-pattern: '{project}'
-                branches:
-                  - branch-compare-type: 'ANT'
-                    branch-pattern: '**/{branch}'
-                forbidden-file-paths:
-                  - compare-type: ANT
-                    pattern: 'docs/**|.gitignore'
+                - project-compare-type: 'ANT'
+                  project-pattern: '{project}'
+                  branches:
+                      - branch-compare-type: 'ANT'
+                        branch-pattern: '**/{branch}'
+                  file-paths:
+                      - compare-type: ANT
+                        pattern: 'ci/**'
+                      - compare-type: ANT
+                        pattern: 'code/**'
+                      - compare-type: ANT
+                        pattern: 'deploy/**'
+                  forbidden-file-paths:
+                      - compare-type: ANT
+                        pattern: 'docs/**'
+                      - compare-type: ANT
+                        pattern: '.gitignore'
             readable-message: true
 
     parameters:
         - project-parameter:
             project: '{project}'
             branch: '{branch}'
-        - 'opnfv-build-defaults'
-        - 'daisy4nfv-verify-defaults':
+        - 'opnfv-build-centos-defaults'
+        - '{alias}-verify-defaults':
             gs-pathname: '{gs-pathname}'
 
     builders:
         - description-setter:
             description: "Built on $NODE_NAME"
-        - multijob:
-            name: basic
-            condition: SUCCESSFUL
-            projects:
-                - name: 'daisy4nfv-verify-basic-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                  node-parameters: false
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
         - multijob:
             name: build
             condition: SUCCESSFUL
             projects:
-                - name: 'daisy4nfv-verify-build-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                  node-parameters: false
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: deploy-virtual
-            condition: SUCCESSFUL
-            projects:
-                - name: 'daisy4nfv-verify-deploy-virtual-{stream}'
-                  current-parameters: false
-                  predefined-parameters: |
-                    BRANCH=$BRANCH
-                    GERRIT_REFSPEC=$GERRIT_REFSPEC
-                    GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
-                    GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-                  node-parameters: false
-                  kill-phase-on: FAILURE
-                  abort-all-job: true
-        - multijob:
-            name: smoke-test
-            condition: SUCCESSFUL
-            projects:
-                - name: 'daisy4nfv-verify-smoke-test-{stream}'
+                - name: '{alias}-verify-build-{stream}'
                   current-parameters: false
                   predefined-parameters: |
                     BRANCH=$BRANCH
                   abort-all-job: true
 
 - job-template:
-    name: 'daisy4nfv-verify-{phase}-{stream}'
+    name: '{alias}-verify-{phase}-{stream}'
 
     disabled: '{obj:disabled}'
 
         - build-blocker:
             use-build-blocker: true
             blocking-jobs:
-                - 'daisy4nfv-verify-deploy-.*'
-                - 'daisy4nfv-verify-test-.*'
+                - '{alias}-verify-deploy-.*'
             block-level: 'NODE'
 
     scm:
-        - git-scm-gerrit
+        - git-scm
 
     wrappers:
         - ssh-agent-wrapper
             project: '{project}'
             branch: '{branch}'
         - '{slave-label}-defaults'
-        - 'daisy4nfv-verify-defaults':
+        - '{alias}-verify-defaults':
             gs-pathname: '{gs-pathname}'
 
     builders:
         - description-setter:
             description: "Built on $NODE_NAME"
         - '{project}-verify-{phase}-macro'
+
 #####################################
 # builder macros
 #####################################
-- builder:
-    name: 'daisy-verify-basic-macro'
-    builders:
-        - shell:
-            !include-raw: ./daisy4nfv-basic.sh
-
 - builder:
     name: 'daisy-verify-build-macro'
     builders:
         - shell:
-            !include-raw: ./daisy4nfv-build.sh
-
-- builder:
-    name: 'daisy-verify-deploy-virtual-macro'
-    builders:
+            !include-raw-escape: ./daisy4nfv-basic.sh
         - shell:
-            !include-raw: ./daisy4nfv-virtual-deploy.sh
-
-- builder:
-    name: 'daisy-verify-smoke-test-macro'
-    builders:
-        - shell: |
-            #!/bin/bash
+            !include-raw-escape: ./daisy4nfv-build.sh
+        - shell:
+            !include-raw-escape: ./daisy4nfv-workspace-cleanup.sh
 
-            echo "Not activated!"
 #####################################
 # parameter macros
 #####################################
index 4aa7b0b..ef4a07b 100755 (executable)
@@ -15,7 +15,7 @@ else
     exit 0
 fi
 
-./ci/deploy/deploy.sh ${DHA_CONF} ${NETWORK_CONF}
+sudo ./ci/deploy/deploy.sh -d ${DHA_CONF} -n ${NETWORK_CONF} -p ${NODE_NAME:-"zte-virtual1"}
 
 if [ $? -ne 0 ]; then
     echo "depolyment failed!"
index 6e965a9..c3e7756 100644 (file)
             name: CPU_ARCHITECTURE
             default: 'amd64'
             description: "CPU Architecture to use for Ubuntu distro "
+
+- parameter:
+    name: 'daisy-defaults'
+    parameters:
+        - string:
+            name: INSTALLER_IP
+            default: '10.20.0.2'
+            description: 'IP of the installer'
+        - string:
+            name: INSTALLER_TYPE
+            default: daisy
+            description: 'Installer used for deploying OPNFV on this POD'
+
 - parameter:
     name: 'infra-defaults'
     parameters:
index 06152fe..23c2435 100644 (file)
@@ -68,9 +68,9 @@
         - timed: ''
 
 - trigger:
-    name: 'dovetail-weekly-trigger'
+    name: 'weekly-trigger-disabled'
     triggers:
-        - timed: 'H H * * 0'
+        - timed: ''
 
 # NOTE: unused macro, but we may use this for some jobs.
 - trigger:
@@ -93,7 +93,6 @@
                   - branch-compare-type: 'ANT'
                     branch-pattern: '**/{branch}'
 
-# NOTE: unused macro, but we may use this for some jobs.
 - trigger:
     name: gerrit-trigger-patch-merged
     triggers:
                     comment-contains-value: 'remerge'
             projects:
               - project-compare-type: 'ANT'
-                project-pattern: '{name}'
+                project-pattern: '{project}'
                 branches:
                   - branch-compare-type: 'ANT'
                     branch-pattern: '**/{branch}'
index c87fc28..8fc0207 100644 (file)
             name: EXTERNAL_NETWORK
             default: ext-net
             description: "External network floating ips"
+- parameter:
+    name: 'daisy-baremetal-defaults'
+    parameters:
+        - node:
+            name: SLAVE_NAME
+            description: 'Slave name on Jenkins'
+            allowed-slaves:
+                - zte-pod2
+            default-slaves:
+                - zte-pod2
+        - label:
+            name: SLAVE_LABEL
+            default: 'daisy-baremetal'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on this Jenkins Slave'
 #####################################################
 # Parameters for CI virtual PODs
 #####################################################
             name: GIT_BASE
             default: https://gerrit.opnfv.org/gerrit/$PROJECT
             description: 'Git URL to use on this Jenkins Slave'
+- parameter:
+    name: 'daisy-virtual-defaults'
+    parameters:
+        - node:
+            name: SLAVE_NAME
+            description: 'Slave name on Jenkins'
+            allowed-slaves:
+                - zte-virtual1
+                - zte-virtual2
+            default-slaves:
+                - zte-virtual1
+        - label:
+            name: SLAVE_LABEL
+            default: 'daisy-virtual'
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/$PROJECT
+            description: 'Git URL to use on this Jenkins Slave'
 #####################################################
 # Parameters for build slaves
 #####################################################
index 6f8fff3..56fb4f9 100755 (executable)
@@ -11,16 +11,17 @@ fi
 
 case "$JOB_TYPE" in
     verify)
-        OPNFV_ARTIFACT_VERSION="gerrit-$GERRIT_CHANGE_NUMBER"
-        GS_UPLOAD_LOCATION="gs://artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER"
-        echo "Removing outdated artifacts produced for the previous patch for the change $GERRIT_CHANGE_NUMBER"
-        gsutil ls $GS_UPLOAD_LOCATION > /dev/null 2>&1 && gsutil rm -r $GS_UPLOAD_LOCATION
-        echo "Uploading artifacts for the change $GERRIT_CHANGE_NUMBER. This could take some time..."
-        ;;
+       OPNFV_ARTIFACT_VERSION="gerrit-$GERRIT_CHANGE_NUMBER"
+       GS_UPLOAD_LOCATION="gs://artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER"
+       echo "Removing outdated artifacts produced for the previous patch for the change $GERRIT_CHANGE_NUMBER"
+       gsutil ls $GS_UPLOAD_LOCATION > /dev/null 2>&1 && gsutil rm -r $GS_UPLOAD_LOCATION
+       echo "Uploading artifacts for the change $GERRIT_CHANGE_NUMBER. This could take some time..."
+       ;;
     daily)
         echo "Uploading daily artifacts This could take some time..."
         OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
         GS_UPLOAD_LOCATION="gs://$GS_URL/$OPNFV_ARTIFACT_VERSION"
+        GS_LOG_LOCATION="gs://$GS_URL/logs-$(date -u +"%Y-%m-%d")"/
         ;;
     *)
         echo "Artifact upload is not enabled for $JOB_TYPE jobs"
@@ -38,10 +39,23 @@ esac
 source $WORKSPACE/opnfv.properties
 
 # upload artifacts
-gsutil cp -r $WORKSPACE/build_output/* $GS_UPLOAD_LOCATION > $WORKSPACE/gsutil.log 2>&1
-gsutil -m setmeta -r \
-    -h "Cache-Control:private, max-age=0, no-transform" \
-    $GS_UPLOAD_LOCATION > /dev/null 2>&1
+if [[ "$PHASE" == "build" ]]; then
+    gsutil cp -r $WORKSPACE/build_output/* $GS_UPLOAD_LOCATION > $WORKSPACE/gsutil.log 2>&1
+    gsutil -m setmeta -r \
+        -h "Cache-Control:private, max-age=0, no-transform" \
+        $GS_UPLOAD_LOCATION > /dev/null 2>&1
+else
+    if [[ "$JOB_TYPE" == "daily" ]]; then
+        log_dir=$WORKSPACE/build_output/log
+        if [[ -d "$log_dir" ]]; then
+            #Uploading logs to artifacts
+            echo "Uploading artifacts for future debugging needs...."
+            gsutil cp -r $WORKSPACE/build_output/log-*.tar.gz $GS_LOG_LOCATION > $WORKSPACE/gsutil.log 2>&1
+        else
+            echo "No test logs/artifacts available for uploading"
+        fi
+    fi
+fi
 
 # upload metadata file for the artifacts built by daily job
 if [[ "$JOB_TYPE" == "daily" ]]; then
index 157f2dc..a782ee0 100644 (file)
         - '{slave-label}-defaults'
         - 'kvmfornfv-defaults':
             gs-pathname: '{gs-pathname}'
+        - string:
+            name: PHASE
+            default: '{phase}'
+            description: "Execution of kvmfornfv daily '{phase}' job ."
 
     builders:
         - description-setter:
             name: TEST_NAME
             default: '{testname}'
             description: "Daily job to execute kvmfornfv '{testname}' testcase."
+        - string:
+            name: PHASE
+            default: '{phase}'
+            description: "Execution of kvmfornfv daily '{phase}' job ."
 
     builders:
         - description-setter:
             !include-raw: ./kvmfornfv-download-artifact.sh
         - shell:
             !include-raw: ./kvmfornfv-test.sh
+        - shell:
+            !include-raw: ./kvmfornfv-upload-artifact.sh
 - builder:
     name: 'kvmfornfv-packet_forward-daily-build-macro'
     builders:
similarity index 86%
rename from jjb/qtip/qtip-daily-ci.sh
rename to jjb/qtip/helpers/validate-deploy.sh
index 4fdc043..1645537 100644 (file)
@@ -27,12 +27,7 @@ if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then
 else
     echo "The container ID is: ${container_id}"
     QTIP_REPO=/home/opnfv/repos/qtip
-
-    echo "Run Qtip test"
-    docker exec -t ${container_id} $QTIP_REPO/docker/run_qtip.sh
-
-    echo "Pushing available results to DB"
-    docker exec -t ${container_id} $QTIP_REPO/docker/push_db.sh
+# TODO(yujunz): execute benchmark plan for compute-qpi
 fi
 
 echo "Qtip done!"
diff --git a/jjb/qtip/helpers/validate-setup.sh b/jjb/qtip/helpers/validate-setup.sh
new file mode 100644 (file)
index 0000000..8d84e12
--- /dev/null
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+##############################################################################
+# Copyright (c) 2017 ZTE and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+set -e
+
+# setup virtualenv
+sudo pip install -u virtualenv virtualenvwrapper
+export WORKON_HOME=$HOME/.virtualenvs
+source /usr/local/bin/virtualenvwrapper.sh
+mkvirtualenv qtip
+workon qtip
+
+# setup qtip
+sudo pip install $HOME/repos/qtip
+
+# testing
+qtip --version
+qtip --help
diff --git a/jjb/qtip/qtip-ci-jobs.yml b/jjb/qtip/qtip-ci-jobs.yml
deleted file mode 100644 (file)
index 38f9955..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-####################################
-# job configuration for qtip
-####################################
-- project:
-    name: qtip
-
-    project: 'qtip'
-
-#--------------------------------
-# BRANCH ANCHORS
-#--------------------------------
-    master: &master
-        stream: master
-        branch: '{stream}'
-        gs-pathname: ''
-        docker-tag: 'latest'
-#--------------------------------
-# POD, INSTALLER, AND BRANCH MAPPING
-#--------------------------------
-#        master
-#--------------------------------
-    pod:
-        - zte-pod2:
-            installer: fuel
-            auto-trigger-name: 'qtip-daily-zte-pod2-trigger'
-            <<: *master
-        - zte-pod3:
-            installer: fuel
-            auto-trigger-name: 'qtip-daily-zte-pod3-trigger'
-            <<: *master
-
-#--------------------------------
-    jobs:
-        - 'qtip-{installer}-{pod}-daily-{stream}'
-
-################################
-# job templates
-################################
-- job-template:
-    name: 'qtip-{installer}-{pod}-daily-{stream}'
-
-    disabled: false
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-            branch: '{branch}'
-        - '{installer}-defaults'
-        - '{pod}-defaults'
-        - string:
-            name: DEPLOY_SCENARIO
-            default: 'os-nosdn-nofeature-ha'
-        - string:
-            name: DOCKER_TAG
-            default: '{docker-tag}'
-            description: 'Tag to pull docker image'
-
-    scm:
-        - git-scm
-
-    triggers:
-        - '{auto-trigger-name}'
-
-    builders:
-        - description-setter:
-            description: "POD: $NODE_NAME"
-        - 'qtip-cleanup'
-        - 'qtip-daily-ci'
-
-    publishers:
-        - email:
-            recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn
-
-###########################
-#biuilder macros
-###########################
-- builder:
-    name: qtip-daily-ci
-    builders:
-        - shell:
-            !include-raw: ./qtip-daily-ci.sh
-
-- builder:
-    name: qtip-cleanup
-    builders:
-        - shell:
-            !include-raw: ./qtip-cleanup.sh
-
-#################
-#trigger macros
-#################
-- trigger:
-    name: 'qtip-daily-zte-pod2-trigger'
-    triggers:
-        - timed: '0 7 * * *'
-
-- trigger:
-    name: 'qtip-daily-zte-pod3-trigger'
-    triggers:
-        - timed: '0 1 * * *'
diff --git a/jjb/qtip/qtip-validate-jobs.yml b/jjb/qtip/qtip-validate-jobs.yml
new file mode 100644 (file)
index 0000000..161acb1
--- /dev/null
@@ -0,0 +1,136 @@
+#######################
+# validate after MERGE
+#######################
+- project:
+    name: qtip
+    project: qtip
+
+#--------------------------------
+# BRANCH ANCHORS
+#--------------------------------
+    master: &master
+        stream: master
+        branch: '{stream}'
+        gs-pathname: ''
+        docker-tag: latest
+#--------------------------------
+# JOB VARIABLES
+#--------------------------------
+    pod:
+        - zte-pod2:
+            installer: fuel
+            <<: *master
+        - zte-pod3:
+            installer: fuel
+            <<: *master
+    task:
+        - daily:
+            auto-builder-name: qtip-validate-deploy
+            auto-trigger-name: 'qtip-daily-{pod}-trigger'
+        - validate:
+            auto-builder-name: qtip-validate-setup
+            auto-trigger-name: qtip-validate-trigger
+#--------------------------------
+# JOB LIST
+#--------------------------------
+    jobs:
+        - 'qtip-{task}-{installer}-{pod}-{stream}'
+
+################################
+# job templates
+################################
+- job-template:
+    name: 'qtip-{task}-{installer}-{pod}-{stream}'
+    disabled: false
+    parameters:
+        - qtip-common-parameters:
+            project: '{project}'
+            <<: *master
+        - '{installer}-defaults'
+        - '{pod}-defaults'
+    scm:
+        - git-scm
+    triggers:
+        - '{auto-trigger-name}'
+    builders:
+        - qtip-common-builders
+        - '{auto-builder-name}'
+    publishers:
+        - qtip-common-publishers
+
+################
+# MARCOS
+################
+
+#---------
+# builder
+#---------
+
+- builder:
+    name: qtip-common-builders
+    builders:
+        - description-setter:
+            description: "POD: $NODE_NAME"
+
+- builder:
+    name: qtip-validate-deploy
+    builders:
+        - shell:
+            !include-raw: ./helpers/validate-deploy.sh
+        - shell:
+            !include-raw: ./helpers/cleanup-deploy.sh
+
+- builder:
+    name: qtip-validate-setup
+    builders:
+        - shell:
+            !include-raw: ./helpers/validate-setup.sh
+
+#-----------
+# parameter
+#-----------
+
+- parameter:
+    name: qtip-common-parameters
+    parameters:
+        - project-parameter:
+            project: '{project}'
+            branch: '{branch}'
+        - string:
+            name: DEPLOY_SCENARIO
+            default: 'os-nosdn-nofeature-ha'
+        - string:
+            name: DOCKER_TAG
+            default: '{docker-tag}'
+            description: 'Tag to pull docker image'
+
+#-----------
+# publisher
+#-----------
+
+- publisher:
+    name: qtip-common-publishers
+    publishers:
+        - email:
+            recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn
+
+#---------
+# trigger
+#---------
+
+- trigger:
+    name: qtip-daily-zte-pod2-trigger
+    triggers:
+        - timed: '0 7 * * *'
+
+- trigger:
+    name: qtip-daily-zte-pod3-trigger
+    triggers:
+        - timed: '0 1 * * *'
+
+- trigger:
+    name: qtip-validate-trigger
+    triggers:
+        - gerrit-trigger-patch-merged:
+            project: '{project}'
+            branch: '{branch}'
similarity index 93%
rename from jjb/qtip/qtip-project-jobs.yml
rename to jjb/qtip/qtip-verify-jobs.yml
index 00455f8..d1fc34d 100644 (file)
@@ -1,11 +1,12 @@
-- project:
-    name: qtip-project-jobs
-
-    project: 'qtip'
+######################
+# verify before MERGE
+######################
 
+- project:
+    name: qtip-verify-jobs
+    project: qtip
     jobs:
         - 'qtip-verify-{stream}'
-
     stream:
         - master:
             branch: '{stream}'
index cb9b4d4..70d38f2 100644 (file)
@@ -72,6 +72,8 @@
         # projects with jobs for master
         - 'daisy':
             <<: *master
+        - 'escalator':
+            <<: *master
 
     jobs:
         - '{project}-docker-build-push-monitor-{stream}'
index b06072b..53e074b 100644 (file)
             projects:
                 - name: 'testapi-automate-docker-deploy-{stream}'
                   current-parameters: false
+                  predefined-parameters: |
+                    GIT_BASE=$GIT_BASE
                   node-label-name: SLAVE_LABEL
                   node-label: testresults
                   kill-phase-on: FAILURE
     name: 'email-publisher'
     publishers:
         - email:
-            recipients: rohitsakala@gmail.com serena.feng.711@gmail.com
+            recipients: rohitsakala@gmail.com feng.xiaowei@zte.com.cn
             notify-every-unstable-build: false
             send-to-individuals: true
index 14869b0..b73092b 100755 (executable)
@@ -14,12 +14,12 @@ if [[ $(whoami) != "root" ]]; then
     exit 1
 fi
 
-virsh destroy jumphost.opnfvlocal || true
-virsh destroy controller00.opnfvlocal || true
-virsh destroy compute00.opnfvlocal || true
-virsh undefine jumphost.opnfvlocal || true
-virsh undefine controller00.opnfvlocal || true
-virsh undefine compute00.opnfvlocal || true
+# Delete all VMs on the slave since proposed patchsets
+# may leave undesired VM leftovers
+for vm in $(virsh list --all --name); do
+    virsh destroy $vm || true
+    virsh undefine $vm || true
+done
 
 service ironic-conductor stop || true
 
index 66bdd57..158ee59 100755 (executable)
@@ -40,6 +40,9 @@ versions = rp_utils.get_config('general.versions')
 installers = rp_utils.get_config('general.installers')
 blacklist = rp_utils.get_config('functest.blacklist')
 log_level = rp_utils.get_config('general.log.log_level')
+exclude_noha = rp_utils.get_config('functest.exclude_noha')
+exclude_virtual = rp_utils.get_config('functest.exclude_virtual')
+
 response = requests.get(cf)
 
 functest_yaml_config = yaml.safe_load(response.text)
@@ -48,7 +51,10 @@ logger.info("*******************************************")
 logger.info("*                                         *")
 logger.info("*   Generating reporting scenario status  *")
 logger.info("*   Data retention: %s days               *" % period)
-logger.info("*   Log level: %s                       *" % log_level)
+logger.info("*   Log level: %s                         *" % log_level)
+logger.info("*                                         *")
+logger.info("*   Virtual PODs exluded: %s              *" % exclude_virtual)
+logger.info("*   NOHA scenarios excluded: %s           *" % exclude_noha)
 logger.info("*                                         *")
 logger.info("*******************************************")
 
@@ -90,7 +96,6 @@ for version in versions:
         scenario_stats = rp_utils.getScenarioStats(scenario_results)
         items = {}
         scenario_result_criteria = {}
-
         scenario_file_name = ("./display/" + version +
                               "/functest/scenario_history.txt")
         # initiate scenario file if it does not exist
index fa98626..9db0890 100644 (file)
@@ -2,13 +2,13 @@ general:
     installers:
         - apex
         - compass
+        - daisy
         - fuel
         - joid
-        - daisy
 
     versions:
         - master
-        - colorado
+
     log:
         log_file: reporting.log
         log_level: ERROR
@@ -30,17 +30,19 @@ general:
 
 testapi:
     url: testresults.opnfv.org/test/api/v1/results
-    
+
 functest:
     blacklist:
         - ovno
         - security_scan
+        - rally_sanity
     max_scenario_criteria: 50
     test_conf: https://git.opnfv.org/cgit/functest/plain/functest/ci/testcases.yaml
     log_level: ERROR
-    jenkins_url: https://build.opnfv.org/ci/view/functest/job
-    
-    
+    jenkins_url: https://build.opnfv.org/ci/view/functest/job/
+    exclude_noha: False
+    exclude_virtual: True
+
 yardstick:
     test_conf: https://git.opnfv.org/cgit/yardstick/plain/tests/ci/report_config.yaml
     log_level: ERROR
index 0af60c7..da97953 100644 (file)
@@ -127,7 +127,15 @@ def getScenarios(case, installer, version):
             # Retrieve all the scenarios per installer
             if not r['scenario'] in scenario_results.keys():
                 scenario_results[r['scenario']] = []
-            scenario_results[r['scenario']].append(r)
+            # Do we consider results from virtual pods ...
+            # Do we consider results for non HA scenarios...
+            exclude_virtual_pod = get_config('functest.exclude_virtual')
+            exclude_noha = get_config('functest.exclude_noha')
+            if ((exclude_virtual_pod and "virtual" in r['pod_name']) or
+               (exclude_noha and "noha" in r['scenario'])):
+                    print "exclude virtual pod results..."
+            else:
+                scenario_results[r['scenario']].append(r)
 
     return scenario_results
 
@@ -254,13 +262,14 @@ def getResult(testCase, installer, scenario, version):
 def getJenkinsUrl(build_tag):
     # e.g. jenkins-functest-apex-apex-daily-colorado-daily-colorado-246
     # id = 246
+    # jenkins-functest-compass-huawei-pod5-daily-master-136
+    # id = 136
     # note it is linked to jenkins format
     # if this format changes...function to be adapted....
     url_base = get_config('functest.jenkins_url')
     try:
         build_id = [int(s) for s in build_tag.split("-") if s.isdigit()]
-        jenkins_path = filter(lambda c: not c.isdigit(), build_tag)
-        url_id = jenkins_path[8:-1] + "/" + str(build_id[0])
+        url_id = build_tag[8:-(len(build_id)+3)] + "/" + str(build_id[0])
         jenkins_url = url_base + url_id + "/console"
     except:
         print 'Impossible to get jenkins url:'