--- ###################################################################### # Add daily jobs, for buidoing, deploying and testing # TODO: # - [ ] Add yardstick and functest for test stage # - [x] Use daisy-baremetal-defauls for choosing baremetal deployment ###################################################################### ############################# # Job configuration for daisy ############################# - project: name: daisy-project-jobs project: 'daisy' installer: 'daisy' stream: - master: branch: '{stream}' gs-pathname: '' disabled: true - fraser: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: true phase: - 'build': slave-label: 'opnfv-build-centos' - 'deploy': slave-label: 'daisy-baremetal' - 'test': slave-label: 'opnfv-build-centos' jobs: - '{installer}-daily-{stream}' - '{installer}-{phase}-daily-{stream}' - '{installer}-kolla-build-{stream}' ############################# # docker build job templates ############################# - job-template: name: '{installer}-kolla-build-{stream}' disabled: false concurrent: true properties: - logrotate-default - throttle: enabled: true max-total: 4 option: 'project' - build-blocker: use-build-blocker: true # Note: Need to block all jobs which may create daisy VM. blocking-jobs: - '{installer}-kolla-build-.*' - 'daisy-deploy-.*' - 'daisy-daily-.*' blocking-level: 'NODE' scm: - git-scm triggers: - 'daisy-kolla-build-{stream}-trigger' parameters: - project-parameter: project: '{project}' branch: '{branch}' - 'daisy-virtual-defaults' - '{installer}-defaults' - '{installer}-project-parameter': gs-pathname: '{gs-pathname}' wrappers: - ssh-agent-wrapper - timeout: timeout: 720 fail: true builders: - description-setter: description: "Built on $NODE_NAME" - shell: !include-raw-escape: ./daisy4nfv-build-kolla-image.sh publishers: - '{installer}-recipients' - email-jenkins-admins-on-failure - trigger: name: 'daisy-kolla-build-fraser-trigger' triggers: - timed: '0 0 * * 0' - trigger: name: 'daisy-kolla-build-master-trigger' triggers: - timed: '0 12 * * 0' ######################## # job templates ######################## - job-template: name: '{installer}-daily-{stream}' project-type: multijob disabled: false concurrent: true properties: - logrotate-default - throttle: enabled: true max-total: 4 option: 'project' - build-blocker: use-build-blocker: true blocking-jobs: - '{installer}-daily-.*' - '{installer}-kolla-build-.*' - 'daisy4nfv-merge-build-.*' - 'daisy4nfv-verify-build-.*' blocking-level: 'NODE' scm: - git-scm triggers: - timed: '0 8 * * *' parameters: - project-parameter: project: '{project}' branch: '{branch}' - 'opnfv-build-centos-defaults' - '{installer}-defaults' - '{installer}-project-parameter': gs-pathname: '{gs-pathname}' wrappers: - ssh-agent-wrapper - timeout: timeout: 360 fail: true builders: - description-setter: description: "Built on $NODE_NAME" - multijob: name: build condition: SUCCESSFUL projects: - name: '{installer}-build-daily-{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: false kill-phase-on: FAILURE abort-all-job: true - multijob: name: deploy condition: SUCCESSFUL projects: - name: '{installer}-deploy-daily-{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: false kill-phase-on: FAILURE abort-all-job: true - multijob: name: test condition: SUCCESSFUL projects: - name: '{installer}-test-daily-{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: false kill-phase-on: FAILURE abort-all-job: true publishers: - '{installer}-recipients' - email-jenkins-admins-on-failure - job-template: name: '{installer}-{phase}-daily-{stream}' disabled: '{obj:disabled}' concurrent: true properties: - logrotate-default - throttle: enabled: true max-total: 6 option: 'project' - build-blocker: use-build-blocker: true blocking-jobs: - '{installer}-daily-(build|deploy|test)-(fraser|master)' - '{installer}-.*-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' - '(functest|yardstick)-{installer}-(baremetal|virtual|zte-pod3|zte-pod9)-daily-(fraser|master)' blocking-level: 'NODE' scm: - git-scm wrappers: - ssh-agent-wrapper - timeout: timeout: 360 fail: true parameters: - project-parameter: project: '{project}' branch: '{branch}' - '{installer}-defaults' - '{slave-label}-defaults' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' - string: name: DEPLOY_SCENARIO default: 'os-nosdn-nofeature-ha' - '{installer}-project-parameter': gs-pathname: '{gs-pathname}' builders: - description-setter: description: "Built on $NODE_NAME" - '{installer}-{phase}-daily-macro' ##################################### # builder macros ##################################### - builder: name: 'daisy-build-daily-macro' builders: - shell: !include-raw: ./daisy4nfv-basic.sh - shell: !include-raw: ./daisy4nfv-build.sh - shell: !include-raw: ./daisy4nfv-upload-artifact.sh - 'clean-workspace' - builder: name: 'daisy-deploy-daily-macro' builders: - shell: !include-raw: ./daisy4nfv-download-artifact.sh - shell: !include-raw: ./daisy-deploy.sh - builder: name: 'daisy-test-daily-macro' builders: - shell: | #!/bin/bash echo "Not activated!" ##################################### # parameter macros ##################################### - publisher: name: 'daisy-recipients' publishers: # yamllint disable rule:line-length - email: recipients: hu.zhijiang@zte.com.cn lu.yao135@zte.com.cn zhou.ya@zte.com.cn yangyang1@zte.com.cn julienjut@gmail.com # yamllint enable rule:line-length - email-jenkins-admins-on-failure - parameter: name: 'daisy-project-parameter' parameters: - string: name: BUILD_DIRECTORY default: $WORKSPACE/build_output description: "Directory where the build artifact will be located upon the completion of the build." - string: name: CACHE_DIRECTORY default: $HOME/opnfv/cache/$INSTALLER_TYPE description: "Directory where the cache to be used during the build is located." - string: name: GS_URL default: artifacts.opnfv.org/$PROJECT{gs-pathname} description: "URL to Google Storage."