--- - project: name: 'fuel-verify-jobs' project: 'fuel' installer: 'fuel' ##################################### # branch definitions ##################################### stream: - master: branch: '{stream}' gs-pathname: '' disabled: false functest_docker_tag: iruya - hunter: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false functest_docker_tag: '{stream}' ##################################### # cluster architectures ##################################### # Note: arm64 was removed since it was basically a no-op arch_tag: - 'amd64': slave-label: 'fuel' functest-suite-label: 'fuel' ##################################### # cluster types ##################################### type: - 'virtual' - 'baremetal' ##################################### # patch verification phases ##################################### phase: - 'docker-build' - 'deploy' ##################################### # jobs ##################################### jobs: - 'fuel-verify-{type}-{arch_tag}-{stream}' - 'fuel-verify-{phase}-{type}-{arch_tag}-{stream}' ##################################### # job templates ##################################### - job-template: name: 'fuel-verify-{type}-{arch_tag}-{stream}' project-type: multijob disabled: '{obj:disabled}' concurrent: true properties: - logrotate-default - throttle: enabled: true max-total: 4 option: 'project' - build-blocker: use-build-blocker: true blocking-jobs: - 'fuel-(os|k8)-.*?-daily-.*' - 'fuel-verify-.*' blocking-level: 'NODE' scm: - git-scm-gerrit wrappers: - ssh-agent-wrapper - timeout: timeout: 360 fail: true triggers: - 'fuel-verify-{type}-{arch_tag}-trigger': project: '{project}' branch: '{branch}' parameters: - project-parameter: project: '{project}' branch: '{branch}' - '{slave-label}-{type}-defaults': installer: '{installer}' - '{installer}-defaults': gs-pathname: '{gs-pathname}' builders: - 'fuel-verify-set-scenario-macro' - inject: properties-file: "/tmp/$GERRIT_CHANGE_NUMBER/scenario.properties" - description-setter: description: "Scenario: $DEPLOY_SCENARIO | Node: $NODE_NAME" - multijob: name: docker-build condition: SUCCESSFUL projects: - name: 'fuel-verify-docker-build-{type}-{arch_tag}-{stream}' current-parameters: false predefined-parameters: | BRANCH=$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: FAILURE abort-all-job: true - multijob: name: deploy condition: SUCCESSFUL projects: - name: 'fuel-verify-deploy-{type}-{arch_tag}-{stream}' current-parameters: false predefined-parameters: | MCP_DOCKER_TAG={arch_tag}-verify DEPLOY_SCENARIO=$DEPLOY_SCENARIO BRANCH=$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: FAILURE abort-all-job: true - multijob: name: smoke-test condition: SUCCESSFUL projects: # Use Functest job definition from jjb/functest/functest-daily-jobs - name: 'functest-{functest-suite-label}-{type}-suite-{stream}' current-parameters: false predefined-parameters: | FUNCTEST_MODE=tier FUNCTEST_TIER=healthcheck DEPLOY_SCENARIO=$DEPLOY_SCENARIO BRANCH=$BRANCH GERRIT_REFSPEC=$GERRIT_REFSPEC GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE DOCKER_TAG={functest_docker_tag} node-parameters: true enable-condition: "def m = ! ('$NODE_LABELS' =~ /armband-virtual/)" kill-phase-on: NEVER abort-all-job: true - job-template: name: 'fuel-verify-{phase}-{type}-{arch_tag}-{stream}' disabled: '{obj:disabled}' concurrent: true properties: - logrotate-default - throttle: enabled: true max-total: 2 max-per-node: 1 option: 'project' - build-blocker: use-build-blocker: true blocking-jobs: - 'fuel-verify-docker-build-.*' - 'fuel-verify-deploy-.*' blocking-level: 'NODE' scm: - git-scm-gerrit wrappers: - ssh-agent-wrapper - timeout: timeout: 360 fail: true parameters: - project-parameter: project: '{project}' branch: '{branch}' - '{slave-label}-{type}-defaults': installer: '{installer}' - '{installer}-defaults': gs-pathname: '{gs-pathname}' builders: - description-setter: description: "Built on $NODE_NAME" - '{project}-verify-{phase}-macro' ######################## # trigger macros ######################## - trigger: name: 'fuel-verify-virtual-amd64-trigger' triggers: - gerrit: &fuel_verify_virtual_amd64_trigger 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|reverify)(\s|$|:\s*[-\w]+-noha)' projects: - project-compare-type: 'ANT' project-pattern: '{project}' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: ANT pattern: 'ci/**' - compare-type: ANT pattern: 'mcp/**' disable-strict-forbidden-file-verification: 'true' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**' readable-message: true - trigger: name: 'fuel-verify-virtual-arm64-trigger' triggers: - gerrit: <<: *fuel_verify_virtual_amd64_trigger - trigger: name: 'fuel-verify-baremetal-amd64-trigger' triggers: - gerrit: &fuel_verify_baremetal_amd64_trigger <<: *fuel_verify_virtual_amd64_trigger trigger-on: - comment-added-contains-event: comment-contains-value: '(recheck|reverify):\s*[-\w]+-ha' - trigger: name: 'fuel-verify-baremetal-arm64-trigger' triggers: - gerrit: <<: *fuel_verify_baremetal_amd64_trigger skip-vote: successful: true failed: true unstable: true notbuilt: true ##################################### # builder macros ##################################### - builder: name: 'fuel-verify-set-scenario-macro' builders: - shell: !include-raw: ./fuel-set-scenario.sh - builder: name: 'fuel-verify-deploy-macro' builders: - shell: !include-raw: ./fuel-deploy.sh - builder: name: 'fuel-verify-docker-build-macro' builders: - shell: | #!/bin/bash -ex sudo -E ./ci/build.sh 'verify' ''