X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fdoctor%2Fdoctor.yml;h=c677ef96e2254e56d1d6ae99f746a3cfa03a5173;hb=703f47ae905112518daa50b145be9d418fe4ca6d;hp=99bf3cd73a41654bf69219649b0897ba59e8b703;hpb=4b29397af50068f381324bb7b48875850ecfb6c3;p=releng.git diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml index 99bf3cd73..c677ef96e 100644 --- a/jjb/doctor/doctor.yml +++ b/jjb/doctor/doctor.yml @@ -1,122 +1,64 @@ - project: name: doctor - jobs: - - 'doctor-test' - - 'doctor-daily-{stream}' - - 'doctor-merge' - - 'doctor-verify' - # stream: branch with - in place of / (eg. stable-helium) - # branch: branch (eg. stable/helium) + project: '{name}' + stream: - master: - branch: 'master' - - project: 'doctor' - somevar: 'foo' - -- job-template: - name: doctor-test + branch: '{stream}' + gs-pathname: '' + docker-tag: 'latest' + disabled: false + - danube: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + docker-tag: 'stable' + disabled: false + + installer: + - apex: + slave-label: 'ool-virtual1' + pod: 'ool-virtual1' + - fuel: + slave-label: 'ool-virtual2' + pod: 'ool-virtual2' + #- joid: + # slave-label: 'ool-virtual3' + # pod: 'ool-virtual3' + + inspector: + - 'sample' + - 'congress' + + task: + - verify: + profiler: 'none' + auto-trigger-name: 'doctor-verify' + - profiling: + profiler: 'poc' + auto-trigger-name: 'experimental' - node: master - - project-type: freestyle - - logrotate: - daysToKeep: 30 - numToKeep: 10 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - - builders: - - shell: | - echo "Hello world from doctor" + jobs: + - 'doctor-verify-{stream}' + - 'doctor-{task}-{installer}-{inspector}-{stream}' - job-template: - name: 'doctor-daily-{stream}' - - node: master - - # Job template for daily builders - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) + name: 'doctor-verify-{stream}' - project-type: freestyle - varsetabove: '{somevar}' - - logrotate: - daysToKeep: '{build-days-to-keep}' - numToKeep: '{build-num-to-keep}' - artifactDaysToKeep: '{build-artifact-days-to-keep}' - artifactNumToKeep: '{build-artifact-num-to-keep}' + disabled: '{obj:disabled}' parameters: - project-parameter: project: '{project}' - - string: - name: GIT_BASE - default: 'https://gerrit.opnfv.org/gerrit/{project}' - description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." - - scm: - - git-scm: - credentials-id: '{ssh-credentials}' - refspec: '' branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' - wrappers: - - ssh-agent-credentials: - user: '{ssh-credentials}' - - triggers: - - timed: 'H H * * *' - - prebuilders: - - test-macro - - builders: - - shell: | - !include-raw docu-build.sh - - postbuilders: - - test-macro - -- job-template: - name: 'doctor-verify' - - node: master - - project-type: freestyle - - logrotate: - daysToKeep: 30 - numToKeep: 10 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: 'master' - - string: - name: GIT_BASE - default: 'https://gerrit.opnfv.org/gerrit/{project}' - description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." scm: - - gerrit-trigger-scm: - credentials-id: '{ssh-credentials}' - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' - - wrappers: - - ssh-agent-credentials: - user: '{ssh-credentials}' + - git-scm-gerrit triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -129,71 +71,130 @@ comment-contains-value: 'reverify' projects: - project-compare-type: 'ANT' - project-pattern: 'doctor' + project-pattern: '{project}' branches: - branch-compare-type: 'ANT' - branch-pattern: '**/master' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: 'tests/**' builders: - - shell: | - !include-raw docu-verify.sh + - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh" - job-template: - name: 'doctor-merge' - - node: master + name: 'doctor-{task}-{installer}-{inspector}-{stream}' - # builder-merge job to run JJB update - # - # This job's purpose is to update all the JJB - - project-type: freestyle - - logrotate: - daysToKeep: 30 - numToKeep: 40 - artifactDaysToKeep: -1 - artifactNumToKeep: 5 + node: '{slave-label}' parameters: - project-parameter: project: '{project}' - - gerrit-parameter: - branch: 'master' + branch: '{branch}' + - string: + name: OS_CREDS + default: /home/jenkins/openstack.creds + description: 'OpenStack credentials' + - '{slave-label}-defaults' + - '{installer}-defaults' + - 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: 'os-nosdn-nofeature-ha' + description: 'Scenario to deploy and test' + # functest-suite-parameter + - string: + name: FUNCTEST_SUITE_NAME + default: '{project}' + - string: + name: TESTCASE_OPTIONS + default: '-e INSPECTOR_TYPE={inspector} -e PROFILER_TYPE={profiler} -v $WORKSPACE:/home/opnfv/repos/doctor' + description: 'Addtional parameters specific to test case(s)' + # functest-parameter + - string: + name: GS_PATHNAME + default: '{gs-pathname}' + description: "Version directory where the opnfv documents will be stored in gs repository" - string: - name: GIT_BASE - default: 'https://gerrit.opnfv.org/gerrit/{project}' - description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." + 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" scm: - - gerrit-trigger-scm: - credentials-id: '{ssh-credentials}' - refspec: '' - choosing-strategy: 'default' + - git-scm-gerrit - wrappers: - - ssh-agent-credentials: - user: '{ssh-credentials}' + triggers: + - '{auto-trigger-name}': + project: '{project}' + branch: '{branch}' + builders: + - 'clean-workspace-log' + - 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 + - 'functest-suite-builder' + - shell: | + functest_log="$HOME/opnfv/functest/results/{stream}/{project}.log" + # NOTE: checking the test result, as the previous job could return + # 0 regardless the result of doctor test scenario. + grep -e ' OK$' $functest_log || exit 1 + + publishers: + - archive: + artifacts: 'tests/*.log' + - archive: + artifacts: 'functest_results/{project}.log' + + +##################################### +# trigger macros +##################################### +- trigger: + name: 'doctor-verify' triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - - change-merged-event + - 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: 'remerge' + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' projects: - project-compare-type: 'ANT' - project-pattern: 'doctor' + project-pattern: '{project}' branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/master' - - builders: - - shell: | - !include-raw docu-build.sh - - - - - - + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: 'tests/**' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true