diff options
Diffstat (limited to 'jjb/daisy4nfv')
-rw-r--r-- | jjb/daisy4nfv/daisy-daily-jobs.yml | 312 | ||||
-rw-r--r-- | jjb/daisy4nfv/daisy-project-jobs.yml | 286 | ||||
-rwxr-xr-x | jjb/daisy4nfv/daisy4nfv-build.sh | 2 | ||||
-rw-r--r-- | jjb/daisy4nfv/daisy4nfv-merge-jobs.yml | 309 | ||||
-rwxr-xr-x | jjb/daisy4nfv/daisy4nfv-upload-artifact.sh | 4 | ||||
-rw-r--r-- | jjb/daisy4nfv/daisy4nfv-verify-jobs.yml | 328 |
6 files changed, 662 insertions, 579 deletions
diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yml b/jjb/daisy4nfv/daisy-daily-jobs.yml index 9a680e7b8..b3c37b88f 100644 --- a/jjb/daisy4nfv/daisy-daily-jobs.yml +++ b/jjb/daisy4nfv/daisy-daily-jobs.yml @@ -1,3 +1,4 @@ +--- # jenkins job templates for Daisy # TODO # [ ] enable baremetal jobs after baremetal deployment finish @@ -11,47 +12,66 @@ project: '{name}' installer: '{name}' -#-------------------------------- -# BRANCH ANCHORS -#-------------------------------- + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- master: &master - stream: master - branch: '{stream}' - disabled: false - gs-pathname: '' -#-------------------------------- -# POD, INSTALLER, AND BRANCH MAPPING -#-------------------------------- -# CI PODs -#-------------------------------- + stream: master + branch: '{stream}' + disabled: false + gs-pathname: '' + euphrates: &euphrates + stream: euphrates + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- + # CI PODs + # ------------------------------- pod: - - baremetal: - slave-label: daisy-baremetal - <<: *master - - virtual: - slave-label: daisy-virtual - <<: *master -#-------------------------------- -# None-CI PODs -#-------------------------------- - -#-------------------------------- -# scenarios -#-------------------------------- + # - baremetal: + # slave-label: daisy-baremetal + # <<: *master + - virtual: + slave-label: daisy-virtual + <<: *master + - baremetal: + slave-label: daisy-baremetal + <<: *euphrates + - virtual: + slave-label: daisy-virtual + <<: *euphrates + # ------------------------------- + # None-CI PODs + # ------------------------------- + - baremetal: + slave-label: zte-pod3 + <<: *master + + # ------------------------------- + # None-CI PODs + # ------------------------------- + + # ------------------------------- + # scenarios + # ------------------------------- scenario: - # HA scenarios - - 'os-nosdn-nofeature-ha': - auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' - # NOHA scenarios - - 'os-nosdn-nofeature-noha': - auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' - # ODL_L3 scenarios - - 'os-odl-nofeature-ha': - auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' + # HA scenarios + - 'os-nosdn-nofeature-ha': + auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' + # NOHA scenarios + - 'os-nosdn-nofeature-noha': + auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' + # ODL_L3 scenarios + - 'os-odl-nofeature-ha': + auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' jobs: - - '{project}-{scenario}-{pod}-daily-{stream}' - - '{project}-deploy-{pod}-daily-{stream}' + - '{project}-{scenario}-{pod}-daily-{stream}' + - '{project}-deploy-{pod}-daily-{stream}' ######################## # job templates @@ -64,59 +84,59 @@ concurrent: false properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'daisy-daily-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'daisy-daily-.*' + block-level: 'NODE' wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' triggers: - - '{auto-trigger-name}' + - '{auto-trigger-name}' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults': - installer: '{installer}' - - string: - name: DEPLOY_SCENARIO - default: '{scenario}' - - 'daisy-project-parameter': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults': + installer: '{installer}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + - 'daisy-project-parameter': + gs-pathname: '{gs-pathname}' builders: - - description-setter: - description: "POD: $NODE_NAME" - - trigger-builds: - - project: 'daisy-deploy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - same-node: true - block: true - - trigger-builds: - - project: 'functest-daisy-{pod}-daily-{stream}' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - same-node: true - block: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' + - description-setter: + description: "POD: $NODE_NAME" + - trigger-builds: + - project: 'daisy-deploy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + same-node: true + block: true + - trigger-builds: + - project: 'functest-daisy-{pod}-daily-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + same-node: true + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' - job-template: name: '{project}-deploy-{pod}-daily-{stream}' @@ -126,87 +146,125 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'daisy.*-deploy-({pod})?-daily-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'daisy.*-deploy-({pod})?-daily-.*' + block-level: 'NODE' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults': - installer: '{installer}' - - string: - name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-ha' - - 'daisy-project-parameter': - gs-pathname: '{gs-pathname}' - - string: - name: DEPLOY_TIMEOUT - default: '150' - description: 'Deployment timeout in minutes' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults': + installer: '{installer}' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + - 'daisy-project-parameter': + gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_TIMEOUT + default: '150' + description: 'Deployment timeout in minutes' scm: - - git-scm + - git-scm wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' builders: - - description-setter: - description: "POD: $NODE_NAME" - - shell: - !include-raw-escape: ./daisy4nfv-download-artifact.sh - - shell: - !include-raw-escape: ./daisy-deploy.sh - + - description-setter: + description: "POD: $NODE_NAME" + - shell: + !include-raw-escape: ./daisy4nfv-download-artifact.sh + - shell: + !include-raw-escape: ./daisy-deploy.sh ######################## # trigger macros ######################## -#----------------------------------------------- +# ---------------------------------------------- # Triggers for job running on daisy-baremetal against master branch -#----------------------------------------------- +# ---------------------------------------------- # Basic HA Scenarios - trigger: name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-master-trigger' triggers: - - timed: '0 16 * * *' + - timed: '0 16 * * *' # Basic NOHA Scenarios - trigger: name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger' triggers: - - timed: '' + - timed: '' # ODL Scenarios - trigger: name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger' triggers: - - timed: '0 12 * * *' -#----------------------------------------------- + - timed: '0 12 * * *' + +# ---------------------------------------------- # Triggers for job running on daisy-virtual against master branch -#----------------------------------------------- +# ---------------------------------------------- # Basic HA Scenarios - trigger: name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-master-trigger' triggers: - - timed: '0 16 * * *' + - timed: '0 16 * * *' # Basic NOHA Scenarios - trigger: name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger' triggers: - - timed: '' + - timed: '' # ODL Scenarios - trigger: name: 'daisy-os-odl-nofeature-ha-virtual-daily-master-trigger' triggers: - - timed: '0 12 * * *' + - timed: '0 12 * * *' + +# ---------------------------------------------- +# Triggers for job running on daisy-baremetal against euphrates branch +# ---------------------------------------------- +# Basic HA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-euphrates-trigger' + triggers: + - timed: '0 0 * * *' +# Basic NOHA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-euphrates-trigger' + triggers: + - timed: '' +# ODL Scenarios +- trigger: + name: 'daisy-os-odl-nofeature-ha-baremetal-daily-euphrates-trigger' + triggers: + - timed: '0 20 * * *' + +# ---------------------------------------------- +# Triggers for job running on daisy-virtual against euphrates branch +# ---------------------------------------------- +# Basic HA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-euphrates-trigger' + triggers: + - timed: '0 0 * * *' +# Basic NOHA Scenarios +- trigger: + name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-euphrates-trigger' + triggers: + - timed: '' +# ODL Scenarios +- trigger: + name: 'daisy-os-odl-nofeature-ha-virtual-daily-euphrates-trigger' + triggers: + - timed: '0 20 * * *' diff --git a/jjb/daisy4nfv/daisy-project-jobs.yml b/jjb/daisy4nfv/daisy-project-jobs.yml index bcb89105e..b6e9526e3 100644 --- a/jjb/daisy4nfv/daisy-project-jobs.yml +++ b/jjb/daisy4nfv/daisy-project-jobs.yml @@ -1,3 +1,4 @@ +--- ###################################################################### # Add daily jobs, for buidoing, deploying and testing # TODO: @@ -16,21 +17,26 @@ installer: 'daisy' stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false phase: - - 'build': - slave-label: 'opnfv-build-centos' - - 'deploy': - slave-label: 'daisy-baremetal' - - 'test': - slave-label: 'opnfv-build-centos' + - '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}-daily-{stream}' + - '{installer}-{phase}-daily-{stream}' ######################## # job templates @@ -45,89 +51,89 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - '{installer}-daily-.*' - - 'daisy4nfv-merge-build-.*' - - 'daisy4nfv-verify-build-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - '{installer}-daily-.*' + - 'daisy4nfv-merge-build-.*' + - 'daisy4nfv-verify-build-.*' + block-level: 'NODE' scm: - - git-scm + - git-scm triggers: - - timed: '0 8 * * *' + - timed: '0 8 * * *' parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-centos-defaults' - - '{installer}-defaults' - - '{installer}-project-parameter': - gs-pathname: '{gs-pathname}' + - 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 + - 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 + - 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 + - '{installer}-recipients' + - email-jenkins-admins-on-failure - job-template: name: '{installer}-{phase}-daily-{stream}' @@ -137,41 +143,41 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 6 - option: 'project' + - logrotate-default + - throttle: + enabled: true + max-total: 6 + option: 'project' scm: - - git-scm + - git-scm wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - 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}' + - 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' + - description-setter: + description: "Built on $NODE_NAME" + - '{installer}-{phase}-daily-macro' ##################################### # builder macros @@ -179,29 +185,29 @@ - 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' + - 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 + - shell: + !include-raw: ./daisy4nfv-download-artifact.sh + - shell: + !include-raw: ./daisy-deploy.sh - builder: name: 'daisy-test-daily-macro' builders: - - shell: | - #!/bin/bash + - shell: | + #!/bin/bash - echo "Not activated!" + echo "Not activated!" ##################################### # parameter macros @@ -209,22 +215,24 @@ - publisher: name: 'daisy-recipients' publishers: - - email: - recipients: hu.zhijiang@zte.com.cn lu.yao135@zte.com.cn zhou.ya@zte.com.cn yangyang1@zte.com.cn julienjut@gmail.com - - email-jenkins-admins-on-failure + # 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." + - 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." diff --git a/jjb/daisy4nfv/daisy4nfv-build.sh b/jjb/daisy4nfv/daisy4nfv-build.sh index 925f68e18..a081b3bc6 100755 --- a/jjb/daisy4nfv/daisy4nfv-build.sh +++ b/jjb/daisy4nfv/daisy4nfv-build.sh @@ -31,6 +31,8 @@ cd $WORKSPACE echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)" echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin" echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $OUTPUT_DIR/opnfv-$OPNFV_ARTIFACT_VERSION.bin | cut -d' ' -f1)" + echo "OPNFV_ARTIFACT_URL_ISO=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso" + echo "OPNFV_ARTIFACT_SHA512SUM_ISO=$(sha512sum $OUTPUT_DIR/opnfv-$OPNFV_ARTIFACT_VERSION.iso | cut -d' ' -f1)" echo "OPNFV_BUILD_URL=$BUILD_URL" ) > $WORKSPACE/opnfv.properties diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml index 97d830f9f..f304d0b95 100644 --- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml @@ -1,3 +1,4 @@ +--- - project: name: 'daisy4nfv-merge-jobs' @@ -5,37 +6,39 @@ installer: 'daisy' -########################################################### -# use alias to keep the jobs'name existed already unchanged -########################################################### + ########################################################### + # use alias to keep the jobs'name existed already unchanged + ########################################################### alias: 'daisy4nfv' -##################################### -# branch definitions -##################################### + ##################################### + # branch definitions + ##################################### stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: true -##################################### -# patch merge phases -##################################### + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + ##################################### + # patch merge phases + ##################################### phase: - - 'build': - slave-label: 'opnfv-build-centos' - - 'deploy-virtual': - slave-label: 'daisy-virtual' -##################################### -# jobs -##################################### + - 'build': + slave-label: 'opnfv-build-centos' + - 'deploy-virtual': + slave-label: 'daisy-virtual' + + ##################################### + # jobs + ##################################### jobs: - - '{alias}-merge-{stream}' - - '{alias}-merge-{phase}-{stream}' + - '{alias}-merge-{stream}' + - '{alias}-merge-{phase}-{stream}' + ##################################### # job templates ##################################### @@ -49,93 +52,93 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - '{alias}-merge-(master|danube)' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - '{alias}-merge-(master|euphrates)' + block-level: 'NODE' scm: - - git-scm + - git-scm wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - 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: 'code/**' - - compare-type: ANT - pattern: 'deploy/**' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' - - compare-type: ANT - pattern: '.gitignore' - readable-message: true + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - change-merged-event + - comment-added-contains-event: + comment-contains-value: 'remerge' + 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: 'code/**' + - compare-type: ANT + pattern: 'deploy/**' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' + - compare-type: ANT + pattern: '.gitignore' + readable-message: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-centos-defaults' - - '{alias}-merge-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-centos-defaults' + - '{alias}-merge-defaults': + gs-pathname: '{gs-pathname}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: build - condition: SUCCESSFUL - projects: - - name: '{alias}-merge-build-{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-virtual - condition: SUCCESSFUL - projects: - - name: '{alias}-merge-deploy-virtual-{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 + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: '{alias}-merge-build-{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-virtual + condition: SUCCESSFUL + projects: + - name: '{alias}-merge-deploy-virtual-{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 - job-template: name: '{alias}-merge-{phase}-{stream}' @@ -145,40 +148,40 @@ concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - '{alias}-merge-{phase}-.*' - - '{installer}-daily-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - '{alias}-merge-{phase}-.*' + - '{installer}-daily-.*' + block-level: 'NODE' scm: - - git-scm + - git-scm wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults' - - '{alias}-merge-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults' + - '{alias}-merge-defaults': + gs-pathname: '{gs-pathname}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-merge-{phase}-macro' + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-merge-{phase}-macro' ##################################### # builder macros @@ -186,22 +189,22 @@ - builder: name: 'daisy-merge-build-macro' builders: - - shell: - !include-raw: ./daisy4nfv-basic.sh - - shell: - !include-raw: ./daisy4nfv-build.sh - - shell: - !include-raw: ./daisy4nfv-upload-artifact.sh - - 'clean-workspace' + - shell: + !include-raw: ./daisy4nfv-basic.sh + - shell: + !include-raw: ./daisy4nfv-build.sh + - shell: + !include-raw: ./daisy4nfv-upload-artifact.sh + - 'clean-workspace' - builder: name: 'daisy-merge-deploy-virtual-macro' builders: - - shell: - !include-raw: ./daisy4nfv-download-artifact.sh - - shell: - !include-raw: ./daisy-deploy.sh - - 'clean-workspace' + - shell: + !include-raw: ./daisy4nfv-download-artifact.sh + - shell: + !include-raw: ./daisy-deploy.sh + - 'clean-workspace' ##################################### # parameter macros @@ -209,15 +212,15 @@ - parameter: name: 'daisy4nfv-merge-defaults' 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." + - 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." diff --git a/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh b/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh index 6b0aec54f..def4f6a75 100755 --- a/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh +++ b/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh @@ -50,13 +50,15 @@ cd $WORKSPACE # upload artifact and additional files to google storage gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.bin \ gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin > gsutil.bin.log 2>&1 +gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso \ + gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso >> gsutil.bin.log 2>&1 gsutil cp $WORKSPACE/opnfv.properties \ gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1 if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then gsutil cp $WORKSPACE/opnfv.properties \ gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1 elif [[ "$JOB_NAME" =~ "merge" ]]; then - echo "Uploaded Daisy4nfv BIN for a merged change" + echo "Uploaded Daisy4nfv artifacts for a merged change" fi gsutil -m setmeta \ diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml index 1828ce459..4100990d4 100644 --- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml @@ -1,38 +1,42 @@ +--- - project: name: 'daisy4nfv-verify-jobs' project: 'daisy' installer: 'daisy' -########################################################## -# use alias to keep the jobs'name existed alread unchanged -########################################################## + ########################################################## + # use alias to keep the jobs'name existed alread unchanged + ########################################################## alias: 'daisy4nfv' -##################################### -# branch definitions -##################################### + ##################################### + # branch definitions + ##################################### stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false -##################################### -# patch verification phases -##################################### + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - euphrates: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false + + ##################################### + # patch verification phases + ##################################### phase: - - unit: - slave-label: 'opnfv-build' - - build: - slave-label: 'opnfv-build-centos' -##################################### -# jobs -##################################### + - unit: + slave-label: 'opnfv-build' + - build: + slave-label: 'opnfv-build-centos' + + ##################################### + # jobs + ##################################### jobs: - - '{alias}-verify-{stream}' - - '{alias}-verify-{phase}-{stream}' + - '{alias}-verify-{stream}' + - '{alias}-verify-{phase}-{stream}' + ##################################### # job templates ##################################### @@ -42,136 +46,142 @@ disabled: false concurrent: true properties: - - logrotate-default - - throttle: - enabled: true - max-total: 4 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - '{alias}-merge-build-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 4 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - '{alias}-merge-build-.*' + block-level: 'NODE' scm: - - git-scm-gerrit + - git-scm-gerrit + wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + 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: 'ci/**' - - compare-type: ANT - pattern: 'code/**' - - compare-type: ANT - pattern: 'deploy/**' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' - - compare-type: ANT - pattern: '.gitignore' - readable-message: true + - 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: 'ci/**' + - compare-type: ANT + pattern: 'code/**' + - compare-type: ANT + pattern: 'deploy/**' + - compare-type: ANT + pattern: 'tests/**' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' + - compare-type: ANT + pattern: '.gitignore' + readable-message: true parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-centos-defaults' - - '{alias}-verify-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-centos-defaults' + - '{alias}-verify-defaults': + gs-pathname: '{gs-pathname}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: unit - condition: SUCCESSFUL - projects: - - name: '{alias}-verify-unit-{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: build - condition: SUCCESSFUL - projects: - - name: '{alias}-verify-build-{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 + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: unit + condition: SUCCESSFUL + projects: + - name: '{alias}-verify-unit-{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: build + condition: SUCCESSFUL + projects: + - name: '{alias}-verify-build-{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 - job-template: name: '{alias}-verify-{phase}-{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: - - '{alias}-merge-build-.*' - - '{alias}-verify-build-.*' - - '{installer}-daily-.*' - block-level: 'NODE' + - logrotate-default + - throttle: + enabled: true + max-total: 6 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - '{alias}-merge-build-.*' + - '{alias}-verify-build-.*' + - '{installer}-daily-.*' + block-level: 'NODE' scm: - - git-scm-gerrit + - git-scm-gerrit + wrappers: - - ssh-agent-wrapper - - timeout: - timeout: 360 - fail: true + - ssh-agent-wrapper + - timeout: + timeout: 360 + fail: true + parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{slave-label}-defaults' - - '{alias}-verify-defaults': - gs-pathname: '{gs-pathname}' + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{installer}-defaults' + - '{slave-label}-defaults' + - '{alias}-verify-defaults': + gs-pathname: '{gs-pathname}' builders: - - description-setter: - description: "Built on $NODE_NAME" - - '{project}-verify-{phase}-macro' + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' ##################################### # builder macros @@ -179,21 +189,21 @@ - builder: name: 'daisy-verify-build-macro' builders: - - shell: - !include-raw: ./daisy4nfv-basic.sh - - shell: - !include-raw: ./daisy4nfv-build.sh - - 'clean-workspace' + - shell: + !include-raw: ./daisy4nfv-basic.sh + - shell: + !include-raw: ./daisy4nfv-build.sh + - 'clean-workspace' - builder: name: daisy-verify-unit-macro builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - set -o xtrace - tox -e py27 + - shell: | + #!/bin/bash + set -o errexit + set -o pipefail + set -o xtrace + tox -e py27 ##################################### # parameter macros @@ -201,15 +211,15 @@ - parameter: name: 'daisy4nfv-verify-defaults' 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." + - 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." |