name: doctor
project: '{name}'
+ project-name: '{name}'
+ project-pattern: '{project}'
stream:
- master:
branch: '{stream}'
gs-pathname: ''
- docker-tag: 'latest'
disabled: false
- - fraser: &fraser
+ - gambia: &gambia
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - fraser:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
- docker-tag: 'stable'
disabled: false
- # feature projects' tests are not triggered by functest
- # doctor verify Pods need to deploy with these scenario
installer:
- - 'apex':
- scenario: 'os-nosdn-kvm-ha'
- - 'fuel':
- scenario: 'os-nosdn-ovs-ha'
- - 'daisy':
- scenario: 'os-nosdn-ovs_dpdk-noha'
+ - 'apex'
+ - 'fuel'
arch:
- 'x86_64'
exclude:
- installer: 'apex'
arch: 'aarch64'
- - installer: 'daisy'
- arch: 'aarch64'
jobs:
- - 'doctor-verify-{inspector}-{stream}'
- - 'doctor-verify-{installer}-{inspector}-{arch}-{stream}'
+ - 'doctor-verify-{stream}'
+ - 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
+ - 'doctor-verify-maintenance-{installer}-{inspector}-{arch}-{stream}'
+ - 'doctor-verify-all-{installer}-{inspector}-{arch}-{stream}'
- job-template:
- name: 'doctor-verify-{inspector}-{stream}'
+ name: 'doctor-verify-{stream}'
disabled: '{obj:disabled}'
project-type: 'multijob'
parameters:
# in phase jobs
echo "Triggering phase jobs!"
- multijob:
- name: 'doctor-verify'
+ name: 'doctor-verify-sample'
execution-type: PARALLEL
projects:
- - name: 'doctor-verify-apex-{inspector}-x86_64-{stream}'
+ - name: 'doctor-verify-all-apex-sample-x86_64-{stream}'
predefined-parameters: |
PROJECT=$PROJECT
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
kill-phase-on: FAILURE
git-revision: true
- - name: 'doctor-verify-fuel-{inspector}-x86_64-{stream}'
+ - name: 'doctor-verify-fault_management-fuel-sample-x86_64-{stream}'
predefined-parameters: |
PROJECT=$PROJECT
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
kill-phase-on: FAILURE
git-revision: true
- - name: 'doctor-verify-fuel-{inspector}-aarch64-{stream}'
- predefined-parameters: |
- 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
- git-revision: true
- - name: 'doctor-verify-daisy-{inspector}-x86_64-{stream}'
+ - multijob:
+ name: 'doctor-verify-congress'
+ execution-type: PARALLEL
+ projects:
+ - name: 'doctor-verify-fault_management-apex-congress-x86_64-{stream}'
predefined-parameters: |
PROJECT=$PROJECT
GERRIT_BRANCH=$GERRIT_BRANCH
git-revision: true
- job-template:
- name: 'doctor-verify-{installer}-{inspector}-{arch}-{stream}'
+ name: 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
disabled: '{obj:disabled}'
node: 'doctor-{installer}-{arch}'
wrappers:
- '{installer}-defaults'
- 'doctor-slave-parameter'
- 'doctor-parameter':
- docker-tag: '{docker-tag}'
- scenario: '{scenario}'
- - 'doctor-functest-parameter':
- gs-pathname: '{gs-pathname}'
inspector: '{inspector}'
+ test_case: 'fault_management'
+ scm:
+ - git-scm-gerrit
+ builders:
+ - 'doctor-verify-installer-inspector-builders-macro'
+ publishers:
+ - 'doctor-verify-publishers-macro'
+
+- job-template:
+ name: 'doctor-verify-maintenance-{installer}-{inspector}-{arch}-{stream}'
+ disabled: '{obj:disabled}'
+ node: 'nokia-pod1'
+ wrappers:
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 40
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - 'doctor-slave-parameter'
+ - 'doctor-parameter':
+ inspector: '{inspector}'
+ test_case: 'maintenance'
+ scm:
+ - git-scm-gerrit
+ builders:
+ - 'doctor-verify-installer-inspector-builders-macro'
+ publishers:
+ - 'doctor-verify-publishers-macro'
+
+- job-template:
+ name: 'doctor-verify-all-{installer}-{inspector}-{arch}-{stream}'
+ disabled: '{obj:disabled}'
+ node: 'doctor-{installer}-{arch}'
+ wrappers:
+ - ssh-agent-wrapper
+ - build-timeout:
+ timeout: 50
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - 'doctor-slave-parameter'
+ - 'doctor-parameter':
+ inspector: '{inspector}'
+ test_case: 'all'
scm:
- git-scm-gerrit
builders:
name: 'doctor-parameter'
parameters:
- string:
- name: OS_CREDS
- default: /home/jenkins/openstack.creds
- description: 'OpenStack credentials'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: CLEAN_DOCKER_IMAGES
- default: 'false'
- description: 'Remove downloaded docker images (opnfv/functest:*)'
+ name: INSPECTOR_TYPE
+ default: '{inspector}'
+ description: 'inspector component'
- string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- description: 'Scenario to deploy and test'
+ name: TEST_CASE
+ default: '{test_case}'
+ description: 'test case: all, fault_management or maintenance'
+
-- parameter:
- name: 'doctor-functest-parameter'
- parameters:
- # functest-suite-parameter
- - string:
- name: FUNCTEST_MODE
- default: 'testcase'
- - string:
- name: FUNCTEST_SUITE_NAME
- default: 'doctor-notification'
- - string:
- name: TESTCASE_OPTIONS
- # 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"
- description: "Directory where the Functest repository is cloned"
- - string:
- name: PUSH_RESULTS_TO_DB
- default: "true"
- description: "Push the results of all the tests to the resultDB"
- - string:
- name: CI_DEBUG
- default: 'true'
- description: "Show debug output information"
# -------------------------------
# builder macros
# -------------------------------
- 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: We are printing all logs under 'tests/' during test run,
- # so this symbolic link should not be in 'tests/'. Otherwise,
- # we'll have the same log twice in jenkins console log.
- ln -sfn $HOME/opnfv/functest/results/{stream} functest_results
- # NOTE: Get functest script in $WORKSPACE. This functest script is
- # needed to perform VM image download in set-functest-env.sh
- # from E release cycle.
- mkdir -p functest/ci
- wget https://git.opnfv.org/functest/plain/functest/ci/download_images.sh -O functest/ci/download_images.sh
- - 'functest-suite-builder'
+ # yamllint disable rule:indentation
+ - shell:
+ !include-raw:
+ - ./doctor-env-presetup.sh
+ - ../../utils/fetch_os_creds.sh
- shell: |
- functest_log="$HOME/opnfv/functest/results/{stream}/$FUNCTEST_SUITE_NAME.log"
- # 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
+ # prepare the env for test
+ source $HOME/opnfv-openrc.sh
+ if [ -f $HOME/os_cacert ]; then
+ export OS_CACERT=$HOME/os_cacert
+ fi
+ source $HOME/opnfv-installer.sh
+
+ # run tox to trigger the test
+ # As Jenkins user, it has no permission to send ICMP package
+ sudo -E tox -e py34
+
# -------------------------------
# publisher macros
publishers:
- archive:
artifacts: 'doctor_tests/*.log'
- - archive:
- artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log'
- email-jenkins-admins-on-failure
-
+ - workspace-cleanup
#####################################
# trigger macros