summaryrefslogtreecommitdiffstats
path: root/jjb/apex
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/apex')
-rwxr-xr-xjjb/apex/apex-fetch-logs.sh25
-rw-r--r--jjb/apex/apex-verify-jobs.yml17
-rw-r--r--jjb/apex/apex.yml65
-rw-r--r--jjb/apex/apex.yml.j265
4 files changed, 166 insertions, 6 deletions
diff --git a/jjb/apex/apex-fetch-logs.sh b/jjb/apex/apex-fetch-logs.sh
new file mode 100755
index 000000000..bdb2252b3
--- /dev/null
+++ b/jjb/apex/apex-fetch-logs.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+set -o errexit
+set -o nounset
+set -o pipefail
+
+# log info to console
+echo "Fetching logs from overcloud. This could take some time..."
+echo "--------------------------------------------------------"
+echo
+
+if sudo opnfv-pyutil --fetch-logs; then
+ LOG_LOCATION=$(cat apex_util.log | grep 'Log retrieval complete' | grep -Eo '/tmp/.+$')
+ if [ -z "$LOG_LOCATION" ]; then
+ echo "WARNING: Unable to determine log location. Logs will not be uploaded"
+ exit 0
+ else
+ sudo chmod 777 ${LOG_LOCATION}
+ UPLOAD_LOCATION="${GS_URL}/logs/${JOB_NAME}/${BUILD_NUMBER}/"
+ gsutil -m cp -r ${LOG_LOCATION} gs://${UPLOAD_LOCATION} > gsutil.latest_logs.log
+ echo -e "Logs available at: \n$(find ${LOG_LOCATION} -type f | sed -n 's#^/tmp/#http://'$UPLOAD_LOCATION'#p')"
+ fi
+else
+ echo "WARNING: Log retrieval failed. No logs will be uploaded"
+ exit 0
+fi
diff --git a/jjb/apex/apex-verify-jobs.yml b/jjb/apex/apex-verify-jobs.yml
index 3a693c87e..79b358815 100644
--- a/jjb/apex/apex-verify-jobs.yml
+++ b/jjb/apex/apex-verify-jobs.yml
@@ -32,7 +32,7 @@
- job-template:
name: 'apex-verify-unit-tests-{stream}'
- node: 'apex-build-{stream}'
+ node: 'apex-build-master'
concurrent: true
@@ -342,7 +342,7 @@
properties-file: detected_scenario
- multijob:
name: functest-smoke
- condition: SUCCESSFUL
+ condition: ALWAYS
projects:
- name: 'functest-apex-virtual-suite-{stream}'
current-parameters: false
@@ -358,6 +358,19 @@
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
+ - multijob:
+ name: apex-fetch-logs
+ projects:
+ - name: 'apex-fetch-logs-{stream}'
+ current-parameters: true
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
########################
# builder macros
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml
index a4c68600f..80ba50b71 100644
--- a/jjb/apex/apex.yml
+++ b/jjb/apex/apex.yml
@@ -3,6 +3,7 @@
name: 'apex'
project: 'apex'
jobs:
+ - 'apex-fetch-logs-{stream}'
- 'apex-runner-cperf-{stream}'
- 'apex-virtual-{stream}'
- 'apex-deploy-{platform}-{stream}'
@@ -234,6 +235,34 @@
- 'pike'
- 'queens'
- 'master'
+
+
+# Fetch Logs Job
+- job-template:
+ name: 'apex-fetch-logs-{stream}'
+
+ concurrent: true
+
+ disabled: false
+ scm:
+ - git-scm-gerrit
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ # yamllint enable rule:line-length
+ properties:
+ - logrotate-default
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
+
+ builders:
+ - 'apex-fetch-logs'
+
- job-template:
name: 'apex-runner-cperf-{stream}'
@@ -427,7 +456,7 @@
git-revision: true
- multijob:
name: functest-smoke
- condition: SUCCESSFUL
+ condition: ALWAYS
projects:
- name: 'functest-apex-virtual-suite-{stream}'
current-parameters: false
@@ -442,6 +471,20 @@
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
+ - multijob:
+ name: apex-fetch-logs
+ projects:
+ - name: 'apex-fetch-logs-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
# Baremetal Deploy and Test
- job-template:
@@ -503,6 +546,7 @@
git-revision: false
- multijob:
name: 'OPNFV Test Suite'
+ condition: ALWAYS
projects:
- name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
node-parameters: true
@@ -512,7 +556,18 @@
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
-
+ - multijob:
+ name: apex-fetch-logs
+ projects:
+ - name: 'apex-fetch-logs'
+ current-parameters: true
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
publishers:
- groovy-postbuild:
script:
@@ -1826,6 +1881,12 @@
- shell:
!include-raw: ./apex-deploy.sh
+- builder:
+ name: 'apex-fetch-logs'
+ builders:
+ - shell:
+ !include-raw: ./apex-fetch-logs.sh
+
#######################
# trigger macros
########################
diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2
index 25b9cd9d7..29a93b4d0 100644
--- a/jjb/apex/apex.yml.j2
+++ b/jjb/apex/apex.yml.j2
@@ -3,6 +3,7 @@
name: 'apex'
project: 'apex'
jobs:
+ - 'apex-fetch-logs-{stream}'
- 'apex-runner-cperf-{stream}'
- 'apex-virtual-{stream}'
- 'apex-deploy-{platform}-{stream}'
@@ -76,6 +77,34 @@
- 'pike'
- 'queens'
- 'master'
+
+
+# Fetch Logs Job
+- job-template:
+ name: 'apex-fetch-logs-{stream}'
+
+ concurrent: true
+
+ disabled: false
+ scm:
+ - git-scm-gerrit
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ # yamllint enable rule:line-length
+ properties:
+ - logrotate-default
+ - throttle:
+ max-per-node: 1
+ max-total: 10
+ option: 'project'
+
+ builders:
+ - 'apex-fetch-logs'
+
- job-template:
name: 'apex-runner-cperf-{stream}'
@@ -269,7 +298,7 @@
git-revision: true
- multijob:
name: functest-smoke
- condition: SUCCESSFUL
+ condition: ALWAYS
projects:
- name: 'functest-apex-virtual-suite-{stream}'
current-parameters: false
@@ -284,6 +313,20 @@
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
+ - multijob:
+ name: apex-fetch-logs
+ projects:
+ - name: 'apex-fetch-logs-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
# Baremetal Deploy and Test
- job-template:
@@ -345,6 +388,7 @@
git-revision: false
- multijob:
name: 'OPNFV Test Suite'
+ condition: ALWAYS
projects:
- name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
node-parameters: true
@@ -354,7 +398,18 @@
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
-
+ - multijob:
+ name: apex-fetch-logs
+ projects:
+ - name: 'apex-fetch-logs'
+ current-parameters: true
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=
+ node-parameters: true
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
publishers:
- groovy-postbuild:
script:
@@ -997,6 +1052,12 @@
- shell:
!include-raw: ./apex-deploy.sh
+- builder:
+ name: 'apex-fetch-logs'
+ builders:
+ - shell:
+ !include-raw: ./apex-fetch-logs.sh
+
#######################
# trigger macros
########################