--- - project: name: doctor project: '{name}' stream: - master: branch: '{stream}' gs-pathname: '' docker-tag: 'latest' disabled: false - fraser: &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' arch: - 'x86_64' - 'aarch64' inspector: - 'sample' - 'congress' exclude: - installer: 'apex' arch: 'aarch64' - installer: 'daisy' arch: 'aarch64' # disabling the following tests due to limitation of PoD owners # these would beenabled again once the PoDs are ready - installer: 'fuel' arch: 'x86_64' - installer: 'daisy' arch: 'x86_64' jobs: - 'doctor-verify-{inspector}-{stream}' - 'doctor-verify-{installer}-{inspector}-{arch}-{stream}' - job-template: name: 'doctor-verify-{inspector}-{stream}' disabled: '{obj:disabled}' project-type: 'multijob' parameters: - project-parameter: project: '{project}' branch: '{branch}' - 'doctor-slave-parameter' scm: - git-scm-gerrit triggers: - 'doctor-verify': project: '{project}' branch: '{branch}' files: 'doctor_tests/**' builders: - 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' execution-type: PARALLEL projects: - name: 'doctor-verify-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 git-revision: true - name: 'doctor-verify-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 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}' 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 git-revision: true - job-template: name: 'doctor-verify-{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': docker-tag: '{docker-tag}' scenario: '{scenario}' - 'doctor-functest-parameter': gs-pathname: '{gs-pathname}' inspector: '{inspector}' 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' - 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:*)' - string: name: DEPLOY_SCENARIO default: '{scenario}' description: 'Scenario to deploy and test' - 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' - 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 # ------------------------------- # publisher macros # ------------------------------- - publisher: name: 'doctor-verify-publishers-macro' publishers: - archive: artifacts: 'doctor_tests/*.log' - archive: artifacts: 'functest_results/$FUNCTEST_SUITE_NAME.log' - email-jenkins-admins-on-failure ##################################### # trigger macros ##################################### - trigger: name: 'doctor-verify' triggers: - gerrit: server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' exclude-trivial-rebase: 'false' exclude-no-code-change: 'false' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck' - comment-added-contains-event: comment-contains-value: 'reverify' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: ANT pattern: '{files}' skip-vote: successful: true failed: true unstable: true notbuilt: true