disabled: false
installer:
- - apex:
- slave-label: 'doctor-apex-verify'
- - fuel:
- slave-label: 'doctor-fuel-verify'
- # - joid:
- # slave-label: 'ool-virtual3'
- # pod: 'ool-virtual3'
+ - 'apex'
+ - 'fuel'
+ # - 'joid'
+
+ arch:
+ - 'x86_64'
+ - 'aarch64'
inspector:
- 'sample'
task:
- verify:
auto-trigger-name: 'doctor-verify'
- is-python: false
- - python-verify:
- auto-trigger-name: 'doctor-verify'
- is-python: true
- pod:
- - armband-baremetal:
- slave-label: '{pod}'
- - armband-virtual:
- slave-label: '{pod}'
+ exclude:
+ - installer: 'apex'
+ arch: 'aarch64'
jobs:
- 'doctor-verify-{stream}'
- - 'doctor-{task}-{installer}-{inspector}-{pod}-{stream}'
- - 'doctor-{task}-{installer}-{inspector}-{stream}'
+ - 'doctor-verify-unit-test-{stream}'
+ - 'doctor-{task}-{inspector}-{stream}'
+ - 'doctor-{task}-{installer}-{inspector}-{arch}-{stream}'
- job-template:
name: 'doctor-verify-{stream}'
-
disabled: '{obj:disabled}'
-
+ project-type: 'multijob'
parameters:
- project-parameter:
project: '{project}'
branch: '{branch}'
- 'opnfv-build-ubuntu-defaults'
-
scm:
- git-scm-gerrit
-
triggers:
- gerrit:
server-name: 'gerrit.opnfv.org'
file-paths:
- compare-type: ANT
pattern: 'doctor_tests/**'
-
builders:
- - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
+ - shell: |
+ #!/bin/bash
+ # we do nothing here as the main stuff will be done
+ # in phase jobs
+ echo "Triggering phase jobs!"
+ - multijob:
+ name: 'doctor-build-and-unittest'
+ execution-type: PARALLEL
+ projects:
+ - name: 'doctor-verify-unit-test-{stream}'
+ predefined-parameters: |
+ PROJECT=$PROJECT
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ kill-phase-on: FAILURE
+ current-parameters: true
+ git-revision: true
- job-template:
- name: 'doctor-{task}-{installer}-{inspector}-{pod}-{stream}'
-
- node: '{slave-label}'
-
+ name: 'doctor-verify-unit-test-{stream}'
disabled: '{obj:disabled}'
-
+ wrappers:
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 60
parameters:
- project-parameter:
project: '{project}'
branch: '{branch}'
- 'opnfv-build-ubuntu-defaults'
-
scm:
- git-scm-gerrit
+ builders:
+ - 'doctor-verify-unit-test-builders-macro'
+ publishers:
+ - 'doctor-verify-unit-test-publishers-macro'
-
+- job-template:
+ name: 'doctor-{task}-{inspector}-{stream}'
+ disabled: '{obj:disabled}'
+ project-type: 'multijob'
+ scm:
+ - git-scm-gerrit
triggers:
- '{auto-trigger-name}':
project: '{project}'
branch: '{branch}'
files: 'doctor_tests/**'
-
builders:
- - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh"
-
+ - shell: |
+ #!/bin/bash
+ # we do nothing here as the main stuff will be done
+ # in phase jobs
+ echo "Triggering phase jobs!"
+ - multijob:
+ name: 'doctor-verify-apex-inspector'
+ execution-type: PARALLEL
+ projects:
+ - name: 'doctor-{task}-apex-{inspector}-x86_64-{stream}'
+ predefined-parameters: |
+ PROJECT=$PROJECT
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ kill-phase-on: FAILURE
+ current-parameters: true
+ git-revision: true
+ - multijob:
+ name: 'doctor-verify-fuel-inspector'
+ execution-type: PARALLEL
+ projects:
+ - name: 'doctor-{task}-fuel-{inspector}-x86_64-{stream}'
+ predefined-parameters: |
+ PROJECT=$PROJECT
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ kill-phase-on: FAILURE
+ current-parameters: true
+ git-revision: true
+ - multijob:
+ name: 'doctor-verify-fuel-inspector'
+ execution-type: PARALLEL
+ projects:
+ - name: 'doctor-{task}-fuel-{inspector}-aarch64-{stream}'
+ predefined-parameters: |
+ PROJECT=$PROJECT
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ kill-phase-on: FAILURE
+ current-parameters: true
+ git-revision: true
- job-template:
- name: 'doctor-{task}-{installer}-{inspector}-{stream}'
-
- node: '{slave-label}'
-
+ name: 'doctor-{task}-{installer}-{inspector}-{arch}-{stream}'
+ disabled: '{obj:disabled}'
+ node: 'doctor-{installer}-{arch}'
+ wrappers:
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 30
parameters:
- project-parameter:
project: '{project}'
branch: '{branch}'
+ - '{installer}-defaults'
+ - 'doctor-slave-parameter'
+ - 'doctor-parameter'
+ - 'doctor-functest-parameter'
+ scm:
+ - git-scm-gerrit
+ builders:
+ - 'doctor-verify-installer-inspector-builders-macro'
+ publishers:
+ - 'doctor-verify-publishers-macro'
+
+
+# -------------------------------
+# parameter macros
+# -------------------------------
+- parameter:
+ name: 'doctor-parameter'
+ parameters:
- string:
name: OS_CREDS
default: /home/jenkins/openstack.creds
description: 'OpenStack credentials'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
- string:
name: DOCKER_TAG
default: '{docker-tag}'
name: DEPLOY_SCENARIO
default: 'os-nosdn-nofeature-ha'
description: 'Scenario to deploy and test'
+
+- parameter:
+ name: 'doctor-functest-parameter'
+ parameters:
# functest-suite-parameter
- string:
name: FUNCTEST_MODE
default: 'doctor-notification'
- string:
name: TESTCASE_OPTIONS
- default: '-e INSPECTOR_TYPE={inspector} -e PYTHON_ENABLE={is-python} -v $WORKSPACE:/home/opnfv/repos/doctor'
+ # yamllint disable rule:line-length
+ default: '-e INSPECTOR_TYPE={inspector} -v $WORKSPACE:/home/opnfv/repos/doctor'
+ # yamllint enable rule:line-length
description: 'Addtional parameters specific to test case(s)'
# functest-parameter
- string:
name: GS_PATHNAME
default: '{gs-pathname}'
+ # yamllint disable rule:line-length
description: "Version directory where the opnfv documents will be stored in gs repository"
+ # yamllint enable rule:line-length
- string:
name: FUNCTEST_REPO_DIR
default: "/home/opnfv/repos/functest"
name: CI_DEBUG
default: 'true'
description: "Show debug output information"
+# -------------------------------
+# builder macros
+# -------------------------------
- scm:
- - git-scm-gerrit
-
- triggers:
- - '{auto-trigger-name}':
- project: '{project}'
- branch: '{branch}'
- files: 'doctor_tests/**'
+- builder:
+ name: 'doctor-verify-unit-test-builders-macro'
+ builders:
+ - shell: "tox -e pep8"
+- builder:
+ name: 'doctor-verify-installer-inspector-builders-macro'
builders:
- 'clean-workspace-log'
+ # yamllint disable rule:line-length
- shell: |
# NOTE: Create symbolic link, so that we can archive file outside
# of $WORKSPACE .
# NOTE: checking the test result, as the previous job could return
# 0 regardless the result of doctor test scenario.
grep -e 'doctor test successfully' $functest_log || exit 1
+ # yamllint enable rule:line-length
+# -------------------------------
+# publisher macros
+# -------------------------------
+- publisher:
+ name: 'doctor-verify-publishers-macro'
publishers:
- archive:
artifacts: 'doctor_tests/*.log'
artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log'
- email-jenkins-admins-on-failure
+- publisher:
+ name: 'doctor-verify-unit-test-publishers-macro'
+ publishers:
+ - email-jenkins-admins-on-failure
+ - archive:
+ artifacts: '.tox/'
+
#####################################
# trigger macros