diff options
Diffstat (limited to 'jjb')
31 files changed, 1214 insertions, 272 deletions
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index 89965d77b..643972bd2 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -220,13 +220,13 @@ git-revision: false block: true same-node: true - - trigger-builds: - - project: 'functest-apex-{verify-slave}-suite-{stream}' - predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l2-nofeature-ha - FUNCTEST_SUITE_NAME=healthcheck - block: true - same-node: true +# - trigger-builds: +# - project: 'functest-apex-{verify-slave}-suite-{stream}' +# predefined-parameters: | +# DEPLOY_SCENARIO=os-odl_l2-nofeature-ha +# FUNCTEST_SUITE_NAME=healthcheck +# block: true +# same-node: true - 'apex-workspace-cleanup' - job-template: diff --git a/jjb/armband/armband-project-jobs.yml b/jjb/armband/armband-project-jobs.yml index 10f8d6531..4b2a7b50e 100644 --- a/jjb/armband/armband-project-jobs.yml +++ b/jjb/armband/armband-project-jobs.yml @@ -10,7 +10,6 @@ installer: 'fuel' jobs: - - 'armband-verify-{stream}' - 'armband-{installer}-build-daily-{stream}' stream: @@ -22,48 +21,6 @@ gs-pathname: '/{stream}' - job-template: - name: 'armband-verify-{stream}' - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - gerrit-trigger-scm: - credentials-id: '{ssh-credentials}' - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' - - triggers: - - gerrit: - 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}' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - - builders: - - shell: | - echo "Nothing to verify!" - -- job-template: name: 'armband-{installer}-build-daily-{stream}' concurrent: false diff --git a/jjb/armband/armband-verify-jobs.yml b/jjb/armband/armband-verify-jobs.yml new file mode 100644 index 000000000..90fdd7eeb --- /dev/null +++ b/jjb/armband/armband-verify-jobs.yml @@ -0,0 +1,263 @@ +- project: + name: 'armband-verify-jobs' + + project: 'armband' + + installer: 'fuel' +##################################### +# branch definitions +##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - colorado: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: false +##################################### +# patch verification phases +##################################### + phase: + - 'basic': + slave-label: 'opnfv-build-arm' + - 'build': + slave-label: 'opnfv-build-arm' + - 'deploy-virtual': + slave-label: 'opnfv-build-arm' + - 'smoke-test': + slave-label: 'opnfv-build-arm' +##################################### +# jobs +##################################### + jobs: + - 'armband-verify-{stream}' + - 'armband-verify-{phase}-{stream}' +##################################### +# job templates +##################################### +- job-template: + name: 'armband-verify-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - throttle: + enabled: true + max-total: 4 + option: 'project' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + - timeout: + timeout: 360 + fail: true + + triggers: + - gerrit: + 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: 'patches/**' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' + readable-message: true + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - 'opnfv-build-arm-defaults' + - 'armband-verify-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'armband-verify-basic-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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: 'armband-verify-build-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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: 'armband-verify-deploy-virtual-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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: smoke-test + condition: SUCCESSFUL + projects: + - name: 'armband-verify-smoke-test-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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: 'armband-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - throttle: + enabled: true + max-total: 6 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'armband-verify-deploy-.*' + - 'armband-verify-test-.*' + block-level: 'NODE' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + - timeout: + timeout: 360 + fail: true + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - '{slave-label}-defaults' + - '{installer}-defaults' + - 'armband-verify-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' +##################################### +# builder macros +##################################### +- builder: + name: 'armband-verify-basic-macro' + builders: + - shell: | + #!/bin/bash + + echo "Not activated!" + +- builder: + name: 'armband-verify-build-macro' + builders: + - shell: + !include-raw: ./build.sh + - shell: + !include-raw: ./armband-workspace-cleanup.sh + +- builder: + name: 'armband-verify-deploy-virtual-macro' + builders: + - shell: | + #!/bin/bash + + echo "Not activated!" + +- builder: + name: 'armband-verify-smoke-test-macro' + builders: + - shell: | + #!/bin/bash + + echo "Not activated!" +##################################### +# parameter macros +##################################### +- parameter: + name: 'armband-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." diff --git a/jjb/armband/armband-workspace-cleanup.sh b/jjb/armband/armband-workspace-cleanup.sh new file mode 100755 index 000000000..d8948c7a0 --- /dev/null +++ b/jjb/armband/armband-workspace-cleanup.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2016 Ericsson AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -o errexit +set -o nounset +set -o pipefail + +# delete the $WORKSPACE to open some space +/bin/rm -rf $WORKSPACE diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml index da882cdfe..eb9113114 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yml @@ -100,7 +100,7 @@ blocking-jobs: - 'compass-os-.*?-{pod}-daily-.*?' - 'compass-os-.*?-baremetal-daily-.*?' - - 'compass-verify-[^-]*' + - 'compass-verify-[^-]*-[^-]*' block-level: 'NODE' wrappers: diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yml index 4d799af8e..3a52e91c9 100644 --- a/jjb/compass4nfv/compass-project-jobs.yml +++ b/jjb/compass4nfv/compass-project-jobs.yml @@ -16,145 +16,14 @@ branch: 'stable/{stream}' gs-pathname: '/{stream}' - distro: - - 'trusty': - disabled: false - os-version: 'trusty' - openstack-os-version: '' - - 'centos7': - disabled: false - os-version: 'centos7' - openstack-os-version: '' - jobs: - - 'compass-verify-{distro}-{stream}' - 'compass-build-iso-{stream}' - 'compass-build-ppa-{stream}' - - 'compass-verify-deploy-{distro}-{stream}' - ######################## # job templates ######################## - job-template: - name: 'compass-verify-{distro}-{stream}' - - disabled: false - - concurrent: true - - wrappers: - - timeout: - timeout: 120 - fail: true - - properties: - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'compass-verify-[^-]*' - - 'compass-os-.*?-virtual-daily-.*?' - block-level: 'NODE' - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - compass-project-parameter: - installer: '{installer}' - gs-pathname: '{gs-pathname}' - - '{installer}-defaults' - - '{slave-label}-defaults' - - string: - name: DEPLOY_SCENARIO - default: 'os-nosdn-nofeature-ha' - - triggers: - - gerrit: - 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: '**/*' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' - - builders: - - trigger-builds: - - project: 'compass-verify-deploy-{distro}-{stream}' - current-parameters: true - predefined-parameters: | - COMPASS_OS_VERSION={os-version} - COMPASS_OS_VERSION_OPTION={openstack-os-version} - same-node: true - block: true - - trigger-builds: - - project: 'functest-{slave-label}-suite-{stream}' - current-parameters: true - predefined-parameters: - FUNCTEST_SUITE_NAME=healthcheck - same-node: true - block: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' - -- job-template: - name: 'compass-verify-deploy-{distro}-{stream}' - - concurrent: true - - properties: - - throttle: - enabled: true - max-per-node: 1 - option: 'project' - - build-blocker: - use-build-blocker: true - blocking-jobs: - - 'compass-deploy-virtual-daily-.*?' - block-level: 'NODE' - - scm: - - gerrit-trigger-scm: - credentials-id: '{ssh-credentials}' - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' - - builders: - - shell: - !include-raw-escape: ./compass-build.sh - - shell: - !include-raw-escape: ./compass-deploy.sh - - publishers: - - archive: - artifacts: 'ansible.log' - allow-empty: 'true' - fingerprint: true - -- job-template: name: 'compass-build-iso-{stream}' concurrent: true diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yml new file mode 100644 index 000000000..82e3dfdf2 --- /dev/null +++ b/jjb/compass4nfv/compass-verify-jobs.yml @@ -0,0 +1,251 @@ +- project: + name: 'compass-verify-jobs' + + project: 'compass4nfv' + + installer: 'compass' +##################################### +# branch definitions +##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + - colorado: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + disabled: true + + distro: + - 'trusty': + disabled: false + os-version: 'trusty' + openstack-os-version: '' + - 'centos7': + disabled: false + os-version: 'centos7' + openstack-os-version: '' +##################################### +# patch verification phases +##################################### + phase: + - 'basic' + - 'deploy-virtual' +##################################### +# jobs +##################################### + jobs: + - 'compass-verify-{distro}-{stream}' + - 'compass-verify-{phase}-{distro}-{stream}' +##################################### +# job templates +##################################### +- job-template: + name: 'compass-verify-{distro}-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - throttle: + enabled: true + max-total: 4 + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'compass-verify-[^-]*-[^-]*' + - 'compass-os-.*?-virtual-daily-.*?' + block-level: 'NODE' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + - timeout: + timeout: 120 + fail: true + + triggers: + - gerrit: + 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: '**/*' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**' + readable-message: true + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - 'compass-virtual-defaults' + - '{installer}-defaults' + - 'compass-verify-defaults': + installer: '{installer}' + gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'compass-verify-basic-{stream}' + current-parameters: true + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: deploy-virtual + condition: SUCCESSFUL + projects: + - name: 'compass-verify-deploy-virtual-{distro}-{stream}' + current-parameters: true + predefined-parameters: | + COMPASS_OS_VERSION={os-version} + COMPASS_OS_VERSION_OPTION={openstack-os-version} + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: smoke-test + condition: SUCCESSFUL + projects: + - name: 'functest-compass-virtual-suite-{stream}' + current-parameters: true + predefined-parameters: + FUNCTEST_SUITE_NAME=healthcheck + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + +- job-template: + name: 'compass-verify-{phase}-{distro}-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - throttle: + enabled: true + max-per-node: 1 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'compass-os-.*?-virtual-daily-.*?' + - 'compass-verify-deploy-.*' + - 'functest-compass-virtual.*' + block-level: 'NODE' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + - timeout: + timeout: 120 + fail: true + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' + + publishers: + - archive: + artifacts: 'ansible.log' + allow-empty: 'true' + fingerprint: true +##################################### +# builder macros +##################################### +- builder: + name: 'compass4nfv-verify-basic-macro' + builders: + - shell: | + #!/bin/bash + + echo "Not activated!" + +- builder: + name: 'compass4nfv-verify-deploy-virtual-macro' + builders: + - shell: + !include-raw: ./compass-build.sh + - shell: + !include-raw: ./compass-deploy.sh +##################################### +# parameter macros +##################################### +- parameter: + name: 'compass-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/$PROJECT{gs-pathname}" + description: "Directory where the cache to be used during the build is located." + - string: + name: GS_URL + default: '$GS_BASE{gs-pathname}' + description: "URL to Google Storage." + - string: + name: PPA_REPO + default: "http://205.177.226.237:9999{gs-pathname}" + - string: + name: PPA_CACHE + default: "$WORKSPACE/work/repo/" + - choice: + name: COMPASS_OPENSTACK_VERSION + choices: + - 'mitaka' + - 'liberty' + - choice: + name: COMPASS_OS_VERSION + choices: + - 'trusty' + - 'centos7' diff --git a/jjb/daisy4nfv/daisy4nfv-basic.sh b/jjb/daisy4nfv/daisy4nfv-basic.sh index 87f5482e0..04b9b7bfa 100755 --- a/jjb/daisy4nfv/daisy4nfv-basic.sh +++ b/jjb/daisy4nfv/daisy4nfv-basic.sh @@ -4,3 +4,4 @@ echo "--------------------------------------------------------" echo "This is diasy4nfv basic job!" echo "--------------------------------------------------------" +sudo rm -rf /home/jenkins-ci/opnfv/slave_root/workspace/daisy4nfv-verify-build-master/* diff --git a/jjb/daisy4nfv/daisy4nfv-build.sh b/jjb/daisy4nfv/daisy4nfv-build.sh index ec11db587..eb29fed72 100755 --- a/jjb/daisy4nfv/daisy4nfv-build.sh +++ b/jjb/daisy4nfv/daisy4nfv-build.sh @@ -4,11 +4,31 @@ echo "--------------------------------------------------------" echo "This is diasy4nfv build job!" echo "--------------------------------------------------------" +# set OPNFV_ARTIFACT_VERSION +if [[ "$JOB_NAME" =~ "merge" ]]; then + echo "Building Daisy4nfv ISO for a merged change" + export OPNFV_ARTIFACT_VERSION="gerrit-$GERRIT_CHANGE_NUMBER" +else + export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") +fi + # build output directory OUTPUT_DIR=$WORKSPACE/build_output mkdir -p $OUTPUT_DIR # start the build cd $WORKSPACE -./ci/build.sh $OUTPUT_DIR +./ci/build.sh $OUTPUT_DIR $OPNFV_ARTIFACT_VERSION + +# save information regarding artifact into file +( + echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION" + echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)" + echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)" + echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin" + echo "OPNFV_BUILD_URL=$BUILD_URL" +) > $WORKSPACE/opnfv.properties +echo +echo "--------------------------------------------------------" +echo "Done!" diff --git a/jjb/daisy4nfv/daisy4nfv-download-artifact.sh b/jjb/daisy4nfv/daisy4nfv-download-artifact.sh new file mode 100755 index 000000000..7ac76a5eb --- /dev/null +++ b/jjb/daisy4nfv/daisy4nfv-download-artifact.sh @@ -0,0 +1,48 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2016 ZTE Coreporation and others. +# hu.zhijiang@zte.com.cn +# sun.jing22@zte.com.cn +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -o errexit +set -o pipefail + +if [[ "$JOB_NAME" =~ "merge" ]]; then + echo "Downloading http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties" + # get the properties file for the Daisy4nfv BIN built for a merged change + curl -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 -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties +fi + +# check if we got the file +[[ -f latest.properties ]] || exit 1 + +# source the file so we get artifact metadata +source latest.properties + +# echo the info about artifact that is used during the deployment +OPNFV_ARTIFACT=${OPNFV_ARTIFACT_URL/*\/} +echo "Using $OPNFV_ARTIFACT for deployment" + +# log info to console +echo "Downloading the $INSTALLER_TYPE artifact using URL http://$OPNFV_ARTIFACT_URL" +echo "This could take some time..." +echo "--------------------------------------------------------" +echo + +# download the file +curl -s -o $WORKSPACE/opnfv.bin http://$OPNFV_ARTIFACT_URL > gsutil.bin.log 2>&1 + +# list the file +ls -al $WORKSPACE/opnfv.bin + +echo +echo "--------------------------------------------------------" +echo "Done!" diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml new file mode 100644 index 000000000..f8c0258a6 --- /dev/null +++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml @@ -0,0 +1,270 @@ +- project: + name: 'daisy4nfv-merge-jobs' + + project: 'daisy' +##################################### +# branch definitions +##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false +##################################### +# patch merge phases +##################################### + phase: + - 'basic': + slave-label: 'opnfv-build-centos' + - 'build': + slave-label: 'opnfv-build-centos' + - 'deploy-virtual': + slave-label: 'opnfv-build-centos' + - 'smoke-test': + slave-label: 'opnfv-build-centos' + - 'promote': + slave-label: 'opnfv-build-centos' +##################################### +# jobs +##################################### + jobs: + - 'daisy4nfv-merge-{stream}' + - 'daisy4nfv-merge-{phase}-{stream}' +##################################### +# job templates +##################################### +- job-template: + name: 'daisy4nfv-merge-{stream}' + + project-type: multijob + + disabled: false + + concurrent: true + + properties: + - throttle: + enabled: true + max-total: 4 + option: 'project' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + - timeout: + timeout: 360 + fail: true + + triggers: + - gerrit: + 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}' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + readable-message: true + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - 'opnfv-build-defaults' + - 'daisy4nfv-merge-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'daisy4nfv-merge-basic-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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: 'daisy4nfv-merge-build-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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: 'daisy4nfv-merge-deploy-virtual-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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: smoke-test + condition: SUCCESSFUL + projects: + - name: 'daisy4nfv-merge-smoke-test-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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: promote + condition: SUCCESSFUL + projects: + - name: 'daisy4nfv-merge-promote-{stream}' + current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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: 'daisy4nfv-merge-{phase}-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - throttle: + enabled: true + max-total: 6 + option: 'project' + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'daisy4nfv-merge-deploy-.*' + - 'daisy4nfv-merge-test-.*' + block-level: 'NODE' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - ssh-agent-credentials: + users: + - '{ssh-credentials}' + - timeout: + timeout: 360 + fail: true + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - '{slave-label}-defaults' + - 'daisy4nfv-merge-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-merge-{phase}-macro' +##################################### +# builder macros +##################################### +- builder: + name: 'daisy-merge-basic-macro' + builders: + - shell: + !include-raw: ./daisy4nfv-basic.sh + +- builder: + name: 'daisy-merge-build-macro' + builders: + - shell: + !include-raw: + - ./daisy4nfv-build.sh + - ./daisy4nfv-upload-artifact.sh + - ./daisy4nfv-workspace-cleanup.sh + +- builder: + name: 'daisy-merge-deploy-virtual-macro' + builders: + - shell: + !include-raw: + - ./daisy4nfv-download-artifact.sh + - ./daisy4nfv-virtual-deploy.sh + - ./daisy4nfv-workspace-cleanup.sh + +- builder: + name: 'daisy-merge-smoke-test-macro' + builders: + - shell: | + #!/bin/bash + + echo "Not activated!" + +- builder: + name: 'daisy-merge-promote-macro' + builders: + - shell: | + #!/bin/bash + + echo "Not activated!" +##################################### +# parameter macros +##################################### +- 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." diff --git a/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh b/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh new file mode 100755 index 000000000..6b0aec54f --- /dev/null +++ b/jjb/daisy4nfv/daisy4nfv-upload-artifact.sh @@ -0,0 +1,94 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2016 ZTE Coreporation and others. +# hu.zhijiang@zte.com.cn +# sun.jing22@zte.com.cn +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -o pipefail + +# check if we built something +if [ -f $WORKSPACE/.noupload ]; then + echo "Nothing new to upload. Exiting." + /bin/rm -f $WORKSPACE/.noupload + exit 0 +fi + +# source the opnfv.properties to get ARTIFACT_VERSION +source $WORKSPACE/opnfv.properties + +importkey () { +# clone releng repository +echo "Cloning releng repository..." +[ -d releng ] && rm -rf releng +git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng/ &> /dev/null +#this is where we import the siging key +if [ -f $WORKSPACE/releng/utils/gpg_import_key.sh ]; then + source $WORKSPACE/releng/utils/gpg_import_key.sh +fi +} + +signbin () { +gpg2 -vvv --batch --yes --no-tty \ + --default-key opnfv-helpdesk@rt.linuxfoundation.org \ + --passphrase besteffort \ + --detach-sig $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.bin + +gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.bin.sig gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin.sig +echo "BIN signature Upload Complete!" +} + +uploadbin () { +# log info to console +echo "Uploading $INSTALLER_TYPE artifact. This could take some time..." +echo + +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 $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" +fi + +gsutil -m setmeta \ + -h "Content-Type:text/html" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://$GS_URL/latest.properties \ + gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > /dev/null 2>&1 + +gsutil -m setmeta \ + -h "Cache-Control:private, max-age=0, no-transform" \ + gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin > /dev/null 2>&1 + +# disabled errexit due to gsutil setmeta complaints +# BadRequestException: 400 Invalid argument +# check if we uploaded the file successfully to see if things are fine +gsutil ls gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin > /dev/null 2>&1 +if [[ $? -ne 0 ]]; then + echo "Problem while uploading artifact!" + echo "Check log $WORKSPACE/gsutil.bin.log on the machine where this build is done." + exit 1 +fi + +echo "Done!" +echo +echo "--------------------------------------------------------" +echo +echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.bin" +echo +echo "--------------------------------------------------------" +echo +} + +importkey +signbin +uploadbin diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml index 7c47d9f69..d893b1485 100644 --- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml @@ -15,7 +15,7 @@ ##################################### phase: - 'basic': - slave-label: 'opnfv-build' + slave-label: 'opnfv-build-centos' - 'build': slave-label: 'opnfv-build-centos' - 'deploy-virtual': @@ -101,6 +101,11 @@ projects: - name: 'daisy4nfv-verify-basic-{stream}' current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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 @@ -110,6 +115,11 @@ projects: - name: 'daisy4nfv-verify-build-{stream}' current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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 @@ -119,6 +129,11 @@ projects: - name: 'daisy4nfv-verify-deploy-virtual-{stream}' current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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 @@ -128,6 +143,11 @@ projects: - name: 'daisy4nfv-verify-smoke-test-{stream}' current-parameters: false + predefined-parameters: | + GERRIT_BRANCH=$GERRIT_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 diff --git a/jjb/daisy4nfv/daisy4nfv-workspace-cleanup.sh b/jjb/daisy4nfv/daisy4nfv-workspace-cleanup.sh new file mode 100755 index 000000000..26f7e9a01 --- /dev/null +++ b/jjb/daisy4nfv/daisy4nfv-workspace-cleanup.sh @@ -0,0 +1,16 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2016 ZTE Coreporation and others. +# hu.zhijiang@zte.com.cn +# sun.jing22@zte.com.cn +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +set -o errexit +set -o nounset +set -o pipefail + +# delete the $WORKSPACE to open some space +/bin/rm -rf $WORKSPACE diff --git a/jjb/fuel/fuel-upload-artifact.sh b/jjb/fuel/fuel-upload-artifact.sh index 1ccd3282c..ca4ba00b0 100755 --- a/jjb/fuel/fuel-upload-artifact.sh +++ b/jjb/fuel/fuel-upload-artifact.sh @@ -108,13 +108,11 @@ echo nfsstore -if [[ ! "$JOB_NAME" =~ merge ]]; then +if [[ "$JOB_NAME" =~ merge ]]; then + uploadiso +elif [[ "$JOB_NAME" =~ build ]]; then importkey signiso uploadiso fi -if [[ ! "$JOB_NAME" =~ verify ]]; then - uploadiso -fi - diff --git a/jjb/functest/functest-loop.sh b/jjb/functest/functest-loop.sh index 73856235f..4528c00d1 100755 --- a/jjb/functest/functest-loop.sh +++ b/jjb/functest/functest-loop.sh @@ -5,8 +5,10 @@ branch=${GIT_BRANCH##*/} [[ "$PUSH_RESULTS_TO_DB" == "true" ]] && flags+="-r" if [[ ${branch} == *"brahmaputra"* ]]; then cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh -s ${flags}" -else +elif [[ ${branch} == *"colorado"* ]]; then cmd="python ${FUNCTEST_REPO_DIR}/ci/run_tests.py -t all ${flags}" +else + cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/run_tests.py -t all ${flags}" fi container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1) docker exec $container_id $cmd @@ -15,4 +17,4 @@ ret_value=$? ret_val_file="${HOME}/opnfv/functest/results/${branch}/return_value" echo ${ret_value}>${ret_val_file} -exit 0
\ No newline at end of file +exit 0 diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yml index a9845459f..236b95d92 100644 --- a/jjb/functest/functest-project-jobs.yml +++ b/jjb/functest/functest-project-jobs.yml @@ -18,7 +18,7 @@ - colorado: branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true - job-template: name: 'functest-verify-{stream}' @@ -61,5 +61,33 @@ pattern: 'docs/**|.gitignore' builders: + - functest-unit-tests-and-docs-build + + publishers: + - junit: + results: nosetests.xml + - cobertura: + report-file: "coverage.xml" + only-stable: "true" + health-auto-update: "true" + stability-auto-update: "true" + zoom-coverage-chart: "true" + targets: + - files: + healthy: 10 + unhealthy: 20 + failing: 30 + - method: + healthy: 50 + unhealthy: 40 + failing: 30 + +################################ +# job builders +################################ + +- builder: + name: functest-unit-tests-and-docs-build + builders: - shell: | - echo "Nothing to verify!" + $WORKSPACE/run_unit_tests.sh diff --git a/jjb/functest/functest-suite.sh b/jjb/functest/functest-suite.sh index 7e9fa09db..df286569f 100755 --- a/jjb/functest/functest-suite.sh +++ b/jjb/functest/functest-suite.sh @@ -5,8 +5,10 @@ branch=${GIT_BRANCH##*/} echo "Functest: run $FUNCTEST_SUITE_NAME on branch ${branch}" if [[ ${branch} == *"brahmaputra"* ]]; then cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test $FUNCTEST_SUITE_NAME" -else +elif [[ ${branch} == *"colorado"* ]]; then cmd="python ${FUNCTEST_REPO_DIR}/ci/run_tests.py -t $FUNCTEST_SUITE_NAME" +else + cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/run_tests.py -t $FUNCTEST_SUITE_NAME" fi container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1) docker exec $container_id $cmd diff --git a/jjb/functest/set-functest-env.sh b/jjb/functest/set-functest-env.sh index 1c77702eb..bc30ffaf3 100755 --- a/jjb/functest/set-functest-env.sh +++ b/jjb/functest/set-functest-env.sh @@ -82,8 +82,10 @@ if [ $(docker ps | grep "opnfv/functest:${DOCKER_TAG}" | wc -l) == 0 ]; then fi if [[ ${branch} == *"brahmaputra"* ]]; then cmd="${FUNCTEST_REPO_DIR}/docker/prepare_env.sh" -else +elif [[ ${branch} == *"colorado"* ]]; then cmd="python ${FUNCTEST_REPO_DIR}/ci/prepare_env.py start" +else + cmd="python ${FUNCTEST_REPO_DIR}/functest/ci/prepare_env.py start" fi echo "Executing command inside the docker: ${cmd}" docker exec ${container_id} ${cmd} diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml index d15bf7426..751aa0c4a 100644 --- a/jjb/infra/bifrost-verify-jobs.yml +++ b/jjb/infra/bifrost-verify-jobs.yml @@ -28,7 +28,7 @@ - 'centos7': disabled: false dib-os-release: '7' - dib-os-element: 'centos-minimal' + dib-os-element: 'centos7' dib-os-packages: 'openssh-server,vim,less,bridge-utils,iputils,rsyslog,curl' - 'suse': disabled: true diff --git a/jjb/infra/bifrost-verify.sh b/jjb/infra/bifrost-verify.sh index f7920a36f..ded4ed463 100755 --- a/jjb/infra/bifrost-verify.sh +++ b/jjb/infra/bifrost-verify.sh @@ -46,6 +46,13 @@ sudo git fetch $PROJECT_REPO $GERRIT_REFSPEC && sudo git checkout FETCH_HEAD # combine opnfv and upstream scripts/playbooks sudo /bin/cp -rf /opt/releng/prototypes/bifrost/* /opt/bifrost/ +# place bridge creation file on the right path +sudo mkdir -p /opt/puppet-infracloud/files/elements/infra-cloud-bridge/static/opt +sudo cp /opt/puppet-infracloud/templates/bifrost/create_bridge.py.erb /opt/puppet-infracloud/files/elements/infra-cloud-bridge/static/opt/create_bridge.py + +# replace bridge name +sudo sed -i s/"<%= @bridge_name -%>"/br_opnfv/g /opt/puppet-infracloud/files/elements/infra-cloud-bridge/static/opt/create_bridge.py + # cleanup remnants of previous deployment cd /opt/bifrost sudo -E ./scripts/destroy-env.sh diff --git a/jjb/kvmfornfv/kvmfornfv-test.sh b/jjb/kvmfornfv/kvmfornfv-test.sh index 06377ac4f..f677f470d 100755 --- a/jjb/kvmfornfv/kvmfornfv-test.sh +++ b/jjb/kvmfornfv/kvmfornfv-test.sh @@ -18,7 +18,7 @@ case "$JOB_TYPE" in verify|daily) #start the test cd $WORKSPACE - ./ci/test_kvmfornfv.sh $JOB_TYPE + ./ci/test_kvmfornfv.sh $JOB_TYPE $TEST_NAME ;; *) echo "Test is not enabled for $JOB_TYPE jobs" diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml index b6a55fe6a..2c8446e07 100644 --- a/jjb/kvmfornfv/kvmfornfv.yml +++ b/jjb/kvmfornfv/kvmfornfv.yml @@ -23,12 +23,22 @@ ##################################### # patch verification phases ##################################### + testname: + - 'Idle_Idle': + trigger_time: '@midnight' + - 'Stress_Idle': + trigger_time: '@midnight+3hours' + - 'Packet_Forwarding': + trigger_time: '@midnight+6hours' +##################################### +# patch verification phases +##################################### jobs: - 'kvmfornfv-verify-{stream}' - 'kvmfornfv-verify-{phase}-{stream}' - 'kvmfornfv-merge-{stream}' - - 'kvmfornfv-daily-{stream}' - - 'kvmfornfv-daily-{phase}-{stream}' + - 'kvmfornfv-{testname}-daily-{stream}' + - 'kvmfornfv-{testname}-daily-{phase}-{stream}' ##################################### # job templates ##################################### @@ -103,6 +113,7 @@ kill-phase-on: FAILURE abort-all-job: true + - job-template: name: 'kvmfornfv-verify-{phase}-{stream}' @@ -175,7 +186,7 @@ !include-raw: ./kvmfornfv-build.sh - job-template: - name: 'kvmfornfv-daily-{stream}' + name: 'kvmfornfv-{testname}-daily-{stream}' project-type: multijob @@ -199,7 +210,7 @@ choosing-strategy: 'default' triggers: - - timed: '@midnight' + - timed: '{trigger_time}' builders: - description-setter: @@ -208,17 +219,59 @@ name: build condition: SUCCESSFUL projects: - - name: 'kvmfornfv-daily-build-{stream}' + - name: 'kvmfornfv-Idle_Idle-daily-build-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-Stress_Idle-daily-build-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-Packet_Forwarding-daily-build-{stream}' current-parameters: false node-parameters: false git-revision: true kill-phase-on: FAILURE abort-all-job: true + + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-Idle_Idle-daily-test-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: name: test condition: SUCCESSFUL projects: - - name: 'kvmfornfv-daily-test-{stream}' + - name: 'kvmfornfv-Stress_Idle-daily-test-{stream}' + current-parameters: false + node-parameters: false + git-revision: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: 'kvmfornfv-Packet_Forwarding-daily-build-{stream}' current-parameters: false node-parameters: false git-revision: true @@ -227,7 +280,7 @@ - job-template: - name: 'kvmfornfv-daily-{phase}-{stream}' + name: 'kvmfornfv-{testname}-daily-{phase}-{stream}' disabled: '{obj:disabled}' @@ -258,7 +311,31 @@ builders: - description-setter: description: "Built on $NODE_NAME" - - '{project}-daily-{phase}-macro' + - '{project}-{testname}-daily-{phase}-macro' +######################## +# parameter macros +######################## +- parameter: + name: 'kvmfornfv-Idle_Idle-daily-parameter' + parameters: + - string: + name: TEST_NAME + default: 'idle_idle' + description: "Daily job to run cyclictest without applying any stress" +- parameter: + name: 'kvmfornfv-Stress_Idle-daily-parameter' + parameters: + - string: + name: TEST_NAME + default: 'stress_idle' + description: "Daily job to run cyclictest with stress applied" +- parameter: + name: 'kvmfornfv-Packet_Forwarding-daily-parameter' + parameters: + - string: + name: TEST_NAME + default: 'packet_forward' + description: "Daily job to run packet forwarding test cases" ##################################### # builder macros ##################################### @@ -277,14 +354,42 @@ - shell: !include-raw: ./kvmfornfv-test.sh - builder: - name: 'kvmfornfv-daily-build-macro' + name: 'kvmfornfv-Idle_Idle-daily-build-macro' + builders: + - shell: + !include-raw: ./kvmfornfv-build.sh + - shell: + !include-raw: ./kvmfornfv-upload-artifact.sh +- builder: + name: 'kvmfornfv-Stress_Idle-daily-build-macro' + builders: + - shell: + !include-raw: ./kvmfornfv-build.sh + - shell: + !include-raw: ./kvmfornfv-upload-artifact.sh +- builder: + name: 'kvmfornfv-Packet_Forwarding-daily-build-macro' builders: - shell: !include-raw: ./kvmfornfv-build.sh - shell: !include-raw: ./kvmfornfv-upload-artifact.sh - builder: - name: 'kvmfornfv-daily-test-macro' + name: 'kvmfornfv-Idle_Idle-daily-test-macro' + builders: + - shell: + !include-raw: ./kvmfornfv-download-artifact.sh + - shell: + !include-raw: ./kvmfornfv-test.sh +- builder: + name: 'kvmfornfv-Stress_Idle-daily-test-macro' + builders: + - shell: + !include-raw: ./kvmfornfv-download-artifact.sh + - shell: + !include-raw: ./kvmfornfv-test.sh +- builder: + name: 'kvmfornfv-Packet_Forwarding-daily-test-macro' builders: - shell: !include-raw: ./kvmfornfv-download-artifact.sh diff --git a/jjb/opnfv/artifact-cleanup.yml b/jjb/opnfv/artifact-cleanup.yml index b0f819145..1c609a4b2 100644 --- a/jjb/opnfv/artifact-cleanup.yml +++ b/jjb/opnfv/artifact-cleanup.yml @@ -1,10 +1,10 @@ - project: - name: artifact-cleanup + name: releng-artifact-cleanup project: 'releng' jobs: - - 'artifact-cleanup-daily-{stream}' + - 'releng-artifact-cleanup-daily-{stream}' stream: - master: @@ -13,7 +13,7 @@ - job-template: - name: 'artifact-cleanup-daily-{stream}' + name: 'releng-artifact-cleanup-daily-{stream}' # Job template for daily builders # diff --git a/jjb/opnfv/opnfv-lint.yml b/jjb/opnfv/opnfv-lint.yml index f90f95dc2..6860dd037 100644 --- a/jjb/opnfv/opnfv-lint.yml +++ b/jjb/opnfv/opnfv-lint.yml @@ -55,7 +55,7 @@ comment-contains-value: 'reverify' projects: - project-compare-type: 'REG_EXP' - project-pattern: 'functest|sdnvpn|qtip|daisy' + project-pattern: 'functest|sdnvpn|qtip|daisy|sfc' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' diff --git a/jjb/opnfv/test-sign.yml b/jjb/opnfv/test-sign.yml deleted file mode 100644 index b27d75777..000000000 --- a/jjb/opnfv/test-sign.yml +++ /dev/null @@ -1,42 +0,0 @@ -- project: - name: test-sign - - project: 'releng' - - jobs: - - 'test-sign-daily-{stream}' - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - - -- job-template: - name: 'test-sign-daily-{stream}' - - # Job template for daily builders - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - node: master - - disabled: false - - parameters: - - project-parameter: - project: '{project}' - - scm: - - git-scm: - credentials-id: '{ssh-credentials}' - refspec: '' - branch: '{branch}' - - triggers: - - timed: 'H H * * *' - - builders: - - shell: | - $WORKSPACE/utils/test-sign-artifact.sh diff --git a/jjb/qtip/qtip-ci-jobs.yml b/jjb/qtip/qtip-ci-jobs.yml index d0d6b47a3..cca8cee4c 100644 --- a/jjb/qtip/qtip-ci-jobs.yml +++ b/jjb/qtip/qtip-ci-jobs.yml @@ -40,6 +40,10 @@ installer: fuel auto-trigger-name: 'qtip-daily-zte-pod2-trigger' <<: *master + - zte-pod3: + installer: fuel + auto-trigger-name: 'qtip-daily-zte-pod3-trigger' + <<: *master #-------------------------------- jobs: @@ -120,5 +124,9 @@ - trigger: name: 'qtip-daily-zte-pod2-trigger' triggers: - - timed: '0 5 * * *' + - timed: '0 7 * * *' +- trigger: + name: 'qtip-daily-zte-pod3-trigger' + triggers: + - timed: '0 1 * * *' diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml index d2dc1d1ec..3afd355e6 100644 --- a/jjb/releng-macros.yaml +++ b/jjb/releng-macros.yaml @@ -171,12 +171,18 @@ echo "########################" echo + echo "gs_path="$GS_URL/docs"" + echo "local_path="upload/docs"" + gs_path="$GS_URL/docs" local_path="upload/docs" mkdir -p upload mv docs_output "$local_path" - gsutil -m cp -r "$local_path" "gs://$GS_URL" + ls "$local_path" + + echo "gsutil -m cp -r "$local_path"/* "gs://$gs_path"" + gsutil -m cp -r "$local_path"/* "gs://$gs_path" gsutil -m setmeta \ -h "Content-Type:text/html" \ diff --git a/jjb/releng/releng-ci-jobs.yml b/jjb/releng/releng-ci-jobs.yml index 2d88449e8..ccfe11e9a 100644 --- a/jjb/releng/releng-ci-jobs.yml +++ b/jjb/releng/releng-ci-jobs.yml @@ -1,14 +1,14 @@ - project: - name: builder-jobs + name: releng-builder-jobs jobs: - - 'builder-verify-jjb' - - 'builder-merge' - - 'artifacts-api' + - 'releng-verify-jjb' + - 'releng-merge-jjb' + - 'releng-generate-artifacts-api' project: 'releng' - job-template: - name: builder-verify-jjb + name: releng-verify-jjb parameters: - project-parameter: @@ -57,7 +57,7 @@ artifacts: 'job_output/*' - job-template: - name: 'builder-merge' + name: 'releng-merge-jjb' # builder-merge job to run JJB update # @@ -101,7 +101,7 @@ jenkins-jobs update -r --delete-old jjb/ - job-template: - name: 'artifacts-api' + name: 'releng-generate-artifacts-api' # Generate and upload the JSON file to used for artifacts site diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yml index 233cf08bc..3f7f6bf2d 100644 --- a/jjb/vswitchperf/vswitchperf.yml +++ b/jjb/vswitchperf/vswitchperf.yml @@ -14,10 +14,12 @@ branch: '{stream}' gs-pathname: '' disabled: false + slave-label: 'opnfv-build-ubuntu' - colorado: branch: 'stable/{stream}' gs-pathname: '/{stream}' disabled: false + slave-label: 'intel-pod3' - job-template: @@ -72,7 +74,7 @@ project: '{project}' - gerrit-parameter: branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - '{slave-label}-defaults' scm: - gerrit-trigger-scm: @@ -134,7 +136,7 @@ project: '{project}' - gerrit-parameter: branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' + - '{slave-label}-defaults' scm: - gerrit-trigger-scm: diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml index c10daabe0..9d80e42ae 100644 --- a/jjb/yardstick/yardstick-ci-jobs.yml +++ b/jjb/yardstick/yardstick-ci-jobs.yml @@ -315,7 +315,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: name: 'yardstick-params-armband-baremetal' @@ -329,7 +329,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: name: 'yardstick-params-joid-baremetal' @@ -343,14 +343,14 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: name: 'yardstick-params-intel-pod8' parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: name: 'yardstick-params-lf-pod1' @@ -445,7 +445,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -453,7 +453,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -461,7 +461,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -469,7 +469,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' ####################### |