diff options
-rw-r--r-- | jjb/armband/armband-ci-jobs.yml | 28 | ||||
-rw-r--r-- | jjb/armband/armband-verify-jobs.yml | 40 | ||||
-rw-r--r-- | jjb/fuel/fuel-daily-jobs.yml | 25 | ||||
-rwxr-xr-x | jjb/fuel/fuel-deploy.sh | 10 | ||||
-rwxr-xr-x | jjb/fuel/fuel-download-artifact.sh | 39 | ||||
-rw-r--r-- | jjb/fuel/fuel-project-jobs.yml | 88 | ||||
-rw-r--r-- | jjb/fuel/fuel-verify-jobs.yml | 40 | ||||
-rw-r--r-- | jjb/fuel/fuel-weekly-jobs.yml | 21 | ||||
-rw-r--r-- | jjb/global/installer-params.yml | 6 | ||||
-rw-r--r-- | jjb/global/slave-params.yml | 15 |
10 files changed, 79 insertions, 233 deletions
diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index b27b053a4..237c13491 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -82,6 +82,7 @@ use-build-blocker: true blocking-jobs: - '{installer}-os-.*?-{pod}-daily-.*' + - 'armband-verify-.*' block-level: 'NODE' wrappers: @@ -95,14 +96,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO default: '{scenario}' - - armband-ci-parameter: - gs-pathname: '{gs-pathname}' builders: - trigger-builds: @@ -180,14 +180,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO default: 'os-odl_l3-nofeature-ha' - - armband-ci-parameter: - gs-pathname: '{gs-pathname}' scm: - git-scm @@ -206,21 +205,6 @@ - email-jenkins-admins-on-failure ######################## -# parameter macros -######################## -- parameter: - name: armband-ci-parameter - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." - - string: - name: SSH_KEY - default: "/tmp/mcp.rsa" - description: "Path to private SSH key to access environment nodes. For MCP deployments only." - -######################## # trigger macros ######################## # CI PODs @@ -283,4 +267,4 @@ - trigger: name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-euphrates-trigger' triggers: - - timed: ''
\ No newline at end of file + - timed: '' diff --git a/jjb/armband/armband-verify-jobs.yml b/jjb/armband/armband-verify-jobs.yml index 56f70d68b..b18d9f71e 100644 --- a/jjb/armband/armband-verify-jobs.yml +++ b/jjb/armband/armband-verify-jobs.yml @@ -21,11 +21,11 @@ ##################################### phase: - 'basic': - slave-label: 'opnfv-build-enea' + slave-label: 'armband-virtual' - 'deploy-virtual': - slave-label: 'opnfv-build-enea' + slave-label: 'armband-virtual' - 'smoke-test': - slave-label: 'opnfv-build-enea' + slave-label: 'armband-virtual' ##################################### # jobs ##################################### @@ -50,6 +50,11 @@ enabled: true max-total: 4 option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'fuel-os-.*?-virtual-daily-.*' + block-level: 'NODE' scm: - git-scm-gerrit @@ -94,8 +99,9 @@ - project-parameter: project: '{project}' branch: '{branch}' - - 'opnfv-build-enea-defaults' - - 'armband-verify-defaults': + - 'armband-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': gs-pathname: '{gs-pathname}' builders: @@ -155,7 +161,8 @@ - logrotate-default - throttle: enabled: true - max-total: 6 + max-total: 2 + max-per-node: 1 option: 'project' - build-blocker: use-build-blocker: true @@ -177,8 +184,9 @@ project: '{project}' branch: '{branch}' - '{slave-label}-defaults' - - '{installer}-defaults' - - 'armband-verify-defaults': + - 'armband-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': gs-pathname: '{gs-pathname}' builders: @@ -199,10 +207,8 @@ - builder: name: 'armband-verify-deploy-virtual-macro' builders: - - shell: | - #!/bin/bash - - echo "Not activated!" + - shell: + !include-raw-escape: ../fuel/fuel-deploy.sh - builder: name: 'armband-verify-smoke-test-macro' @@ -211,13 +217,3 @@ #!/bin/bash echo "Not activated!" -##################################### -# parameter macros -##################################### -- parameter: - name: 'armband-verify-defaults' - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml index 488505edf..17997e6da 100644 --- a/jjb/fuel/fuel-daily-jobs.yml +++ b/jjb/fuel/fuel-daily-jobs.yml @@ -140,6 +140,7 @@ blocking-jobs: - 'fuel-os-.*?-{pod}-daily-.*' - 'fuel-os-.*?-{pod}-weekly-.*' + - 'fuel-verify-.*' block-level: 'NODE' wrappers: @@ -153,14 +154,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO default: '{scenario}' - - fuel-ci-parameter: - gs-pathname: '{gs-pathname}' builders: - description-setter: @@ -250,14 +250,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO default: 'os-odl_l2-nofeature-ha' - - fuel-ci-parameter: - gs-pathname: '{gs-pathname}' - string: name: DEPLOY_TIMEOUT default: '150' @@ -284,20 +283,6 @@ - email-jenkins-admins-on-failure ######################## -# parameter macros -######################## -- parameter: - name: fuel-ci-parameter - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." - - string: - name: SSH_KEY - default: "/tmp/mcp.rsa" - description: "Path to private SSH key to access environment nodes. For MCP deployments only." -######################## # trigger macros ######################## #----------------------------------------------- diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh index ddaebc94a..18b2fd730 100755 --- a/jjb/fuel/fuel-deploy.sh +++ b/jjb/fuel/fuel-deploy.sh @@ -12,7 +12,7 @@ set -o pipefail export TERM="vt220" -if [[ "$BRANCH" != 'master' ]]; then +if [[ "$BRANCH" =~ 'danube' ]]; then # source the file so we get OPNFV vars source latest.properties @@ -21,11 +21,11 @@ if [[ "$BRANCH" != 'master' ]]; then fi # shellcheck disable=SC2153 -if [[ "${JOB_NAME}" =~ "merge" ]]; then - # set simplest scenario for virtual deploys to run for merges +if [[ "${JOB_NAME}" =~ 'verify' ]]; then + # set simplest scenario for virtual deploys to run for verify DEPLOY_SCENARIO="os-nosdn-nofeature-ha" -elif [[ "${BRANCH}" != 'master' ]]; then - # for none-merge deployments +elif [[ "${BRANCH}" =~ 'danube' ]]; then + # for Danube deployments (no artifact for current master or newer branches) # checkout the commit that was used for building the downloaded artifact # to make sure the ISO and deployment mechanism uses same versions echo "Checking out ${OPNFV_GIT_SHA1}" diff --git a/jjb/fuel/fuel-download-artifact.sh b/jjb/fuel/fuel-download-artifact.sh index fa0c88b5d..02ca10305 100755 --- a/jjb/fuel/fuel-download-artifact.sh +++ b/jjb/fuel/fuel-download-artifact.sh @@ -16,15 +16,9 @@ set -o pipefail # use proxy url to replace the normal URL, or googleusercontent.com will be blocked randomly [[ "$NODE_NAME" =~ (zte) ]] && GS_URL=${GS_BASE_PROXY%%/*}/$GS_URL -if [[ "$JOB_NAME" =~ "merge" ]]; then - echo "Downloading http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties" - # get the properties file for the Fuel ISO built for a merged change - curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties -else - # get the latest.properties file in order to get info regarding latest artifact - echo "Downloading http://$GS_URL/latest.properties" - curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties -fi +# get the latest.properties file in order to get info regarding latest artifact +echo "Downloading http://$GS_URL/latest.properties" +curl -L -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties # check if we got the file [[ -f $WORKSPACE/latest.properties ]] || exit 1 @@ -36,21 +30,18 @@ source $WORKSPACE/latest.properties OPNFV_ARTIFACT=${OPNFV_ARTIFACT_URL/*\/} echo "Using $OPNFV_ARTIFACT for deployment" -# using ISOs for verify & merge jobs from local storage will be enabled later -if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then - # check if we already have the ISO to avoid redownload - ISOSTORE="/iso_mount/opnfv_ci/${BRANCH##*/}" - if [[ -f "$ISOSTORE/$OPNFV_ARTIFACT" ]]; then - echo "ISO exists locally. Skipping the download and using the file from ISO store" - ln -s $ISOSTORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso - echo "--------------------------------------------------------" - echo - ls -al $WORKSPACE/opnfv.iso - echo - echo "--------------------------------------------------------" - echo "Done!" - exit 0 - fi +# check if we already have the ISO to avoid redownload +ISOSTORE="/iso_mount/opnfv_ci/${BRANCH##*/}" +if [[ -f "$ISOSTORE/$OPNFV_ARTIFACT" ]]; then + echo "ISO exists locally. Skipping the download and using the file from ISO store" + ln -s $ISOSTORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso + echo "--------------------------------------------------------" + echo + ls -al $WORKSPACE/opnfv.iso + echo + echo "--------------------------------------------------------" + echo "Done!" + exit 0 fi [[ "$NODE_NAME" =~ (zte) ]] && OPNFV_ARTIFACT_URL=${GS_BASE_PROXY%%/*}/$OPNFV_ARTIFACT_URL diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml index e850a0acb..8b1210cb5 100644 --- a/jjb/fuel/fuel-project-jobs.yml +++ b/jjb/fuel/fuel-project-jobs.yml @@ -19,84 +19,12 @@ disabled: true jobs: - - 'fuel-merge-deploy-virtual-{stream}' - 'fuel-deploy-generic-daily-{stream}' ######################## # job templates ######################## - job-template: - name: 'fuel-merge-deploy-virtual-{stream}' - - disabled: true - - 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-os-.*?-virtual-daily-.*' - - 'fuel-merge-deploy-virtual-.*' - block-level: 'NODE' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'fuel-virtual-defaults': - installer: '{installer}' - - '{installer}-defaults' - - fuel-project-parameter: - gs-pathname: '{gs-pathname}' - scm: - - git-scm - - wrappers: - - ssh-agent-wrapper - - 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: 'mcp/**' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' - dependency-jobs: 'fuel-merge-build-{stream}' - - builders: - - shell: - !include-raw-escape: ./fuel-deploy.sh - - shell: - !include-raw-escape: ./fuel-workspace-cleanup.sh - - publishers: - - email: - recipients: fzhadaev@mirantis.com - - email-jenkins-admins-on-failure - -- job-template: name: 'fuel-deploy-generic-daily-{stream}' concurrent: true @@ -120,7 +48,8 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -137,8 +66,6 @@ - ericsson-pod1 default-slaves: - ericsson-pod2 - - fuel-project-parameter: - gs-pathname: '{gs-pathname}' scm: - git-scm @@ -150,14 +77,3 @@ builders: - shell: !include-raw-escape: ./fuel-deploy.sh - -######################## -# parameter macros -######################## -- parameter: - name: fuel-project-parameter - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." diff --git a/jjb/fuel/fuel-verify-jobs.yml b/jjb/fuel/fuel-verify-jobs.yml index 899be9a4a..f5840bcab 100644 --- a/jjb/fuel/fuel-verify-jobs.yml +++ b/jjb/fuel/fuel-verify-jobs.yml @@ -21,11 +21,11 @@ ##################################### phase: - 'basic': - slave-label: 'opnfv-build-ubuntu' + slave-label: 'fuel-virtual' - 'deploy-virtual': - slave-label: 'opnfv-build-ubuntu' + slave-label: 'fuel-virtual' - 'smoke-test': - slave-label: 'opnfv-build-ubuntu' + slave-label: 'fuel-virtual' ##################################### # jobs ##################################### @@ -50,6 +50,11 @@ enabled: true max-total: 4 option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'fuel-os-.*?-virtual-daily-.*' + block-level: 'NODE' scm: - git-scm-gerrit @@ -94,8 +99,9 @@ - project-parameter: project: '{project}' branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - 'fuel-verify-defaults': + - 'fuel-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': gs-pathname: '{gs-pathname}' builders: @@ -155,7 +161,8 @@ - logrotate-default - throttle: enabled: true - max-total: 6 + max-total: 2 + max-per-node: 1 option: 'project' - build-blocker: use-build-blocker: true @@ -177,8 +184,9 @@ project: '{project}' branch: '{branch}' - '{slave-label}-defaults' - - '{installer}-defaults' - - 'fuel-verify-defaults': + - 'fuel-virtual-defaults': + installer: '{installer}' + - '{installer}-defaults': gs-pathname: '{gs-pathname}' builders: @@ -199,10 +207,8 @@ - builder: name: 'fuel-verify-deploy-virtual-macro' builders: - - shell: | - #!/bin/bash - - echo "Not activated!" + - shell: + !include-raw-escape: ./fuel-deploy.sh - builder: name: 'fuel-verify-smoke-test-macro' @@ -211,13 +217,3 @@ #!/bin/bash echo "Not activated!" -##################################### -# parameter macros -##################################### -- parameter: - name: 'fuel-verify-defaults' - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." diff --git a/jjb/fuel/fuel-weekly-jobs.yml b/jjb/fuel/fuel-weekly-jobs.yml index c681c6252..522c1d138 100644 --- a/jjb/fuel/fuel-weekly-jobs.yml +++ b/jjb/fuel/fuel-weekly-jobs.yml @@ -72,6 +72,7 @@ blocking-jobs: - 'fuel-os-.*?-{pod}-daily-.*' - 'fuel-os-.*?-{pod}-weekly-.*' + - 'fuel-verify-.*' block-level: 'NODE' wrappers: @@ -85,14 +86,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO default: '{scenario}' - - fuel-weekly-parameter: - gs-pathname: '{gs-pathname}' builders: - description-setter: @@ -148,14 +148,13 @@ - project-parameter: project: '{project}' branch: '{branch}' - - '{installer}-defaults' + - '{installer}-defaults': + gs-pathname: '{gs-pathname}' - '{slave-label}-defaults': installer: '{installer}' - string: name: DEPLOY_SCENARIO default: 'os-odl_l2-nofeature-ha' - - fuel-weekly-parameter: - gs-pathname: '{gs-pathname}' - string: name: DEPLOY_TIMEOUT default: '150' @@ -180,16 +179,6 @@ - email-jenkins-admins-on-failure ######################## -# parameter macros -######################## -- parameter: - name: fuel-weekly-parameter - parameters: - - string: - name: GS_URL - default: artifacts.opnfv.org/$PROJECT{gs-pathname} - description: "URL to Google Storage." -######################## # trigger macros ######################## #----------------------------------------------- diff --git a/jjb/global/installer-params.yml b/jjb/global/installer-params.yml index 10afd6f8c..ecef6d3b7 100644 --- a/jjb/global/installer-params.yml +++ b/jjb/global/installer-params.yml @@ -44,7 +44,7 @@ description: 'IP of the salt master (for mcp deployments)' - string: name: SSH_KEY - default: '/tmp/mcp.rsa' + default: "$HOME/opnfv/mcp.rsa" description: 'Path to private SSH key to access environment nodes' - string: name: INSTALLER_TYPE @@ -58,6 +58,10 @@ name: BRIDGE default: 'pxebr' description: 'Bridge(s) to be used by salt master' + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "URL to Google Storage." - parameter: name: 'joid-defaults' diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml index 75c4323e6..a4ee4d9f1 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yml @@ -364,21 +364,6 @@ # Parameters for build slaves ##################################################### - parameter: - name: 'opnfv-build-enea-defaults' - parameters: - - label: - name: SLAVE_LABEL - default: 'opnfv-build-enea' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: 'Git URL to use on this Jenkins Slave' - - string: - name: BUILD_DIRECTORY - default: $WORKSPACE/build_output - description: "Directory where the build artifact will be located upon the completion of the build." - -- parameter: name: 'opnfv-build-centos-defaults' parameters: - label: |