diff options
Diffstat (limited to 'jjb')
62 files changed, 774 insertions, 288 deletions
diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh index e21387ac6..bbceb4b88 100755 --- a/jjb/apex/apex-deploy.sh +++ b/jjb/apex/apex-deploy.sh @@ -176,6 +176,8 @@ else # settings for bare metal deployment if [ "$IPV6_FLAG" == "True" ]; then NETWORK_FILE="/root/network/network_settings_v6.yaml" + elif [[ "$JOB_NAME" == *master* ]]; then + NETWORK_FILE="/root/network/network_settings-master.yaml" else NETWORK_FILE="/root/network/network_settings.yaml" fi diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index 8bfc53d59..6011fe790 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -59,6 +59,7 @@ - 'os-odl_l2-nofeature-ha' - 'os-odl_l2-bgpvpn-ha' - 'os-odl_l2-fdio-noha' + - 'os-odl_l2-fdio-ha' - 'os-odl_l2-sfc-noha' - 'os-odl_l3-nofeature-ha' - 'os-onos-nofeature-ha' @@ -97,6 +98,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -153,6 +155,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -744,7 +747,7 @@ failure-threshold: 'never' unstable-threshold: 'FAILURE' - trigger-builds: - - project: 'apex-deploy-baremetal-os-odl_l2-fdio-noha-{stream}' + - project: 'apex-deploy-baremetal-os-odl_l2-fdio-ha-{stream}' predefined-parameters: | BUILD_DIRECTORY=apex-build-{stream}/build OPNFV_CLEAN=yes @@ -756,7 +759,7 @@ - trigger-builds: - project: 'functest-apex-{daily-slave}-daily-{stream}' predefined-parameters: - DEPLOY_SCENARIO=os-odl_l2-fdio-noha + DEPLOY_SCENARIO=os-odl_l2-fdio-ha block: true same-node: true block-thresholds: @@ -766,7 +769,7 @@ - trigger-builds: - project: 'yardstick-apex-{slave}-daily-{stream}' predefined-parameters: - DEPLOY_SCENARIO=os-odl_l2-fdio-noha + DEPLOY_SCENARIO=os-odl_l2-fdio-ha block: true same-node: true block-thresholds: diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index 2122959a9..b1cd9bf75 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -303,31 +303,31 @@ - trigger: name: 'fuel-os-odl_l2-nofeature-ha-armband-virtual-master-trigger' triggers: - - timed: '' + - timed: '0 2 * * 1' - trigger: name: 'fuel-os-nosdn-nofeature-ha-armband-virtual-master-trigger' triggers: - - timed: '' + - timed: '0 2 * * 2' - trigger: name: 'fuel-os-odl_l3-nofeature-ha-armband-virtual-master-trigger' triggers: - - timed: '' + - timed: '0 2 * * 3' - trigger: name: 'fuel-os-odl_l2-bgpvpn-ha-armband-virtual-master-trigger' triggers: - - timed: '' + - timed: '0 2 * * 4' - trigger: name: 'fuel-os-odl_l2-nofeature-noha-armband-virtual-master-trigger' triggers: - - timed: '' + - timed: '0 2 * * 5' - trigger: name: 'fuel-os-odl_l2-sfc-ha-armband-virtual-master-trigger' triggers: - - timed: '' + - timed: '0 2 * * 6' - trigger: name: 'fuel-os-odl_l2-sfc-noha-armband-virtual-master-trigger' triggers: - - timed: '' + - timed: '0 2 * * 7' #-------------------------------------------------------------------- # Enea Armband CI Virtual Triggers running against colorado branch #-------------------------------------------------------------------- diff --git a/jjb/armband/armband-deploy.sh b/jjb/armband/armband-deploy.sh index c8e58afa8..4df9acfd8 100755 --- a/jjb/armband/armband-deploy.sh +++ b/jjb/armband/armband-deploy.sh @@ -61,16 +61,33 @@ if [[ $LAB_CONFIG_URL =~ ^(git|ssh):// ]]; then fi fi +if [[ "$NODE_NAME" =~ "virtual" ]]; then + POD_NAME="virtual_kvm" +fi + # releng wants us to use nothing else but opnfv.iso for now. We comply. ISO_FILE=$WORKSPACE/opnfv.iso # log file name FUEL_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}.log.tar.gz" +# Deploy Cache (to enable just create the deploy-cache subdir) +# NOTE: Only available when ISO files are cached using ISOSTORE mechanism +DEPLOY_CACHE=${ISOSTORE:-/iso_mount/opnfv_ci}/${GIT_BRANCH##*/}/deploy-cache +if [[ -d "${DEPLOY_CACHE}" ]]; then + echo "Deploy cache dir present." + echo "--------------------------------------------------------" + echo "Fuel@OPNFV deploy cache: ${DEPLOY_CACHE}" + DEPLOY_CACHE="-C ${DEPLOY_CACHE}" +else + DEPLOY_CACHE="" +fi + # construct the command DEPLOY_COMMAND="$WORKSPACE/ci/deploy.sh -b ${LAB_CONFIG_URL} \ -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i file://${ISO_FILE} \ - -H -B ${DEFAULT_BRIDGE:-pxebr} -S $TMPDIR -L $WORKSPACE/$FUEL_LOG_FILENAME" + -H -B ${DEFAULT_BRIDGE:-pxebr} -S $TMPDIR -L $WORKSPACE/$FUEL_LOG_FILENAME \ + ${DEPLOY_CACHE}" # log info to console echo "Deployment parameters" diff --git a/jjb/armband/armband-verify-jobs.yml b/jjb/armband/armband-verify-jobs.yml index 90fdd7eeb..f99ed572c 100644 --- a/jjb/armband/armband-verify-jobs.yml +++ b/jjb/armband/armband-verify-jobs.yml @@ -68,6 +68,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/availability/availability.yml b/jjb/availability/availability.yml index c42efff11..485010def 100644 --- a/jjb/availability/availability.yml +++ b/jjb/availability/availability.yml @@ -40,6 +40,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml index 523d363f7..27eb01afa 100644 --- a/jjb/bottlenecks/bottlenecks-project-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml @@ -54,6 +54,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -94,6 +95,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yml index 87c19a9c5..938214485 100644 --- a/jjb/compass4nfv/compass-verify-jobs.yml +++ b/jjb/compass4nfv/compass-verify-jobs.yml @@ -79,6 +79,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -124,7 +125,7 @@ name: basic condition: SUCCESSFUL projects: - - name: 'compass-verify-basic-{stream}' + - name: 'opnfv-lint-verify-{stream}' current-parameters: true node-parameters: true kill-phase-on: FAILURE diff --git a/jjb/conductor/conductor.yml b/jjb/conductor/conductor.yml index a5f556ad8..15a3b59e1 100644 --- a/jjb/conductor/conductor.yml +++ b/jjb/conductor/conductor.yml @@ -40,6 +40,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/copper/copper.yml b/jjb/copper/copper.yml index b5045785c..80ad9294e 100644 --- a/jjb/copper/copper.yml +++ b/jjb/copper/copper.yml @@ -40,6 +40,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml index f8c0258a6..5964adb32 100644 --- a/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-merge-jobs.yml @@ -64,6 +64,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml index d893b1485..bd9f1b51e 100644 --- a/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml +++ b/jjb/daisy4nfv/daisy4nfv-verify-jobs.yml @@ -62,6 +62,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/daisy4nfv/daisy4nfv-virtual-deploy.sh b/jjb/daisy4nfv/daisy4nfv-virtual-deploy.sh index 9de494fc2..4aa7b0bd5 100755 --- a/jjb/daisy4nfv/daisy4nfv-virtual-deploy.sh +++ b/jjb/daisy4nfv/daisy4nfv-virtual-deploy.sh @@ -10,7 +10,9 @@ if [[ "$NODE_NAME" =~ "-virtual" ]]; then export NETWORK_CONF=./deploy/config/vm_environment/$NODE_NAME/network.yml export DHA_CONF=./deploy/config/vm_environment/$NODE_NAME/deploy.yml else - exit 1 + # TODO: For the time being, we need to pass this script to let contributors merge their work. + echo "No support for non-virtual node" + exit 0 fi ./ci/deploy/deploy.sh ${DHA_CONF} ${NETWORK_CONF} diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml index 4958ca2b5..7a5bd22f2 100644 --- a/jjb/doctor/doctor.yml +++ b/jjb/doctor/doctor.yml @@ -7,12 +7,12 @@ - master: branch: '{stream}' gs-pathname: '' - docker_tag: 'master' + docker-tag: 'master' disabled: false - colorado: branch: 'stable/{stream}' gs-pathname: '/{stream}' - docker_tag: 'stable' + docker-tag: 'stable' disabled: false installer: @@ -20,9 +20,13 @@ slave-label: 'ool-virtual1' pod: 'ool-virtual1' + inspector: + - 'sample' + - 'congress' + jobs: - 'doctor-verify-{stream}' - - 'doctor-verify-{installer}-{stream}' + - 'doctor-verify-{installer}-{inspector}-{stream}' - job-template: name: 'doctor-verify-{stream}' @@ -44,6 +48,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -68,7 +73,7 @@ - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh" - job-template: - name: 'doctor-verify-{installer}-{stream}' + name: 'doctor-verify-{installer}-{inspector}-{stream}' node: '{slave-label}' @@ -82,6 +87,43 @@ default: /home/jenkins/openstack.creds description: 'OpenStack credentials' - '{slave-label}-defaults' + - string: + name: INSTALLER_TYPE + default: '{installer}' + description: 'Installer used for deploying OPNFV on this POD' + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' + description: 'Scenario to deploy and test' + # functest-suite-parameter + - string: + name: FUNCTEST_SUITE_NAME + default: '{project}' + - string: + name: TESTCASE_OPTIONS + default: '-e INSPECTOR_TYPE={inspector} -v $WORKSPACE:/home/opnfv/repos/doctor' + description: 'Addtional parameters specific to test case(s)' + # functest-parameter + - string: + name: GS_PATHNAME + default: '{gs-pathname}' + description: "Version directory where the opnfv documents will be stored in gs repository" + - string: + name: FUNCTEST_REPO_DIR + default: "/home/opnfv/repos/functest" + description: "Directory where the Functest repository is cloned" + - string: + name: PUSH_RESULTS_TO_DB + default: "true" + description: "Push the results of all the tests to the resultDB" + - string: + name: CI_DEBUG + default: 'true' + description: "Show debug output information" scm: - gerrit-trigger-scm: @@ -91,6 +133,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -117,36 +160,10 @@ notbuilt: true builders: - - trigger-builds: - - project: 'functest-{installer}-{pod}-suite-{stream}' - current-parameters: true - predefined-parameters: | - CI_DEBUG=true - FUNCTEST_SUITE_NAME=doctor - DEPLOY_SCENARIO=os-nosdn-nofeature-ha - TESTCASE_OPTIONS=-e INSPECTOR_TYPE=sample -v $WORKSPACE:$HOME/opnfv/repos/doctor - block: true - same-node: true - - project: 'functest-{installer}-{pod}-suite-{stream}' - current-parameters: true - predefined-parameters: | - CI_DEBUG=true - FUNCTEST_SUITE_NAME=doctor - DEPLOY_SCENARIO=os-nosdn-nofeature-ha - TESTCASE_OPTIONS=-e INSPECTOR_TYPE=congress -v $WORKSPACE:$HOME/opnfv/repos/doctor - block: true - same-node: true + - 'functest-suite-builder' + - shell: | + cp $HOME/opnfv/functest/results/{stream}/{project}.log $WORKSPACE/tests/ publishers: - - postbuildscript: - builders: - - functest-copy-suite-log: - suite: '{project}' - archive: - artifacts: '{project}.log' - -- builder: - name: functest-copy-suite-log - builders: - - shell: | - cp $HOME/opnfv/functest/results/${{GIT_BRANCH##*/}}/{suite}.log $WORKSPACE/ + artifacts: 'tests/*.log' diff --git a/jjb/domino/domino.yml b/jjb/domino/domino.yml index 7cee98448..d34f8fadf 100644 --- a/jjb/domino/domino.yml +++ b/jjb/domino/domino.yml @@ -36,6 +36,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/dovetail/dovetail-project-jobs.yml b/jjb/dovetail/dovetail-project-jobs.yml index 41fd8cdcb..07106f609 100644 --- a/jjb/dovetail/dovetail-project-jobs.yml +++ b/jjb/dovetail/dovetail-project-jobs.yml @@ -40,6 +40,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -79,6 +80,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/dpacc/dpacc.yml b/jjb/dpacc/dpacc.yml index c660af57d..bcad2a329 100644 --- a/jjb/dpacc/dpacc.yml +++ b/jjb/dpacc/dpacc.yml @@ -40,6 +40,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/escalator/escalator-basic.sh b/jjb/escalator/escalator-basic.sh new file mode 100755 index 000000000..9c739c422 --- /dev/null +++ b/jjb/escalator/escalator-basic.sh @@ -0,0 +1,5 @@ +#!/bin/bash +echo "--------------------------------------------------------" +echo "This is escalator basic job!" +echo "--------------------------------------------------------" + diff --git a/jjb/escalator/escalator-build.sh b/jjb/escalator/escalator-build.sh new file mode 100755 index 000000000..0e35c27d9 --- /dev/null +++ b/jjb/escalator/escalator-build.sh @@ -0,0 +1,33 @@ +#!/bin/bash +echo "--------------------------------------------------------" +echo "This is escalator build job!" +echo "--------------------------------------------------------" + +# set OPNFV_ARTIFACT_VERSION +if [[ "$JOB_NAME" =~ "merge" ]]; then + echo "Building Escalator TAR 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 $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/escalator/escalator-upload-artifact.sh b/jjb/escalator/escalator-upload-artifact.sh new file mode 100755 index 000000000..781fb3e3e --- /dev/null +++ b/jjb/escalator/escalator-upload-artifact.sh @@ -0,0 +1,89 @@ +#!/bin/bash +echo "--------------------------------------------------------" +echo "This is escalator upload job!" +echo "--------------------------------------------------------" + +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 +} + +signtar () { +gpg2 -vvv --batch --yes --no-tty \ + --default-key opnfv-helpdesk@rt.linuxfoundation.org \ + --passphrase besteffort \ + --detach-sig $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.tar.gz + +gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.tar.gz.sig gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.tar.gz.sig +echo "TAR signature Upload Complete!" +} + +uploadtar () { +# 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.tar.gz \ + gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.tar.gz > gsutil.tar.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 Escalator TAR 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.tar.gz > /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.tar.gz > /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.tar.gz" +echo +echo "--------------------------------------------------------" +echo +} + +importkey +signtar +uploadtar diff --git a/jjb/escalator/escalator.yml b/jjb/escalator/escalator.yml new file mode 100644 index 000000000..11da789f0 --- /dev/null +++ b/jjb/escalator/escalator.yml @@ -0,0 +1,328 @@ +- project: + name: 'escalator' + + project: 'escalator' +##################################### +# branch definitions +##################################### + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false +##################################### +# phases +##################################### + phase: + - 'basic': + slave-label: 'opnfv-build-centos' + - 'build': + slave-label: 'opnfv-build-centos' +##################################### +# jobs +##################################### + jobs: + - 'escalator-verify-{stream}' + - 'escalator-verify-{phase}-{stream}' + - 'escalator-merge-{stream}' + - 'escalator-merge-{phase}-{stream}' +##################################### +# job templates +##################################### +- job-template: + name: 'escalator-verify-{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: + 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}' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + readable-message: true + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - 'opnfv-build-defaults' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'escalator-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: 'escalator-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 + +- job-template: + name: 'escalator-verify-{phase}-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + 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' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-verify-{phase}-macro' + +- job-template: + name: 'escalator-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: + 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}' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + readable-message: true + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - 'opnfv-build-defaults' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: basic + condition: SUCCESSFUL + projects: + - name: 'escalator-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: 'escalator-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 + +- job-template: + name: 'escalator-merge-{phase}-{stream}' + + disabled: '{obj:disabled}' + + concurrent: true + + 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' + - 'escalator-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - '{project}-merge-{phase}-macro' +##################################### +# builder macros +##################################### +- builder: + name: 'escalator-verify-basic-macro' + builders: + - shell: + !include-raw: ./escalator-basic.sh + +- builder: + name: 'escalator-verify-build-macro' + builders: + - shell: + !include-raw: ./escalator-build.sh + +- builder: + name: 'escalator-merge-basic-macro' + builders: + - shell: + !include-raw: ./escalator-basic.sh + +- builder: + name: 'escalator-merge-build-macro' + builders: + - shell: + !include-raw: + - ./escalator-build.sh + - ./escalator-upload-artifact.sh +##################################### +# parameter macros +##################################### +- parameter: + name: 'escalator-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/fastpathmetrics/fastpathmetrics.yml b/jjb/fastpathmetrics/fastpathmetrics.yml index 40df385d8..6be6a52c3 100644 --- a/jjb/fastpathmetrics/fastpathmetrics.yml +++ b/jjb/fastpathmetrics/fastpathmetrics.yml @@ -42,6 +42,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -100,6 +101,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml index 588ab0cd5..2aa17abd5 100644 --- a/jjb/fuel/fuel-project-jobs.yml +++ b/jjb/fuel/fuel-project-jobs.yml @@ -114,6 +114,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: @@ -186,6 +187,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/fuel/fuel-verify-jobs-experimental.yml b/jjb/fuel/fuel-verify-jobs-experimental.yml index ae83b08cf..cc16133f6 100644 --- a/jjb/fuel/fuel-verify-jobs-experimental.yml +++ b/jjb/fuel/fuel-verify-jobs-experimental.yml @@ -73,6 +73,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/fuel/fuel-verify-jobs.yml b/jjb/fuel/fuel-verify-jobs.yml index f4bdbdd45..7b8656800 100644 --- a/jjb/fuel/fuel-verify-jobs.yml +++ b/jjb/fuel/fuel-verify-jobs.yml @@ -68,6 +68,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml index afeb1f92e..1cded61fc 100644 --- a/jjb/functest/functest-ci-jobs.yml +++ b/jjb/functest/functest-ci-jobs.yml @@ -280,7 +280,7 @@ - string: name: TESTCASE_OPTIONS default: '' - description: 'Addtional parameters specific to test case(s)' + description: 'Additional parameters specific to test case(s)' - parameter: name: functest-parameter parameters: @@ -300,6 +300,10 @@ name: CI_DEBUG default: 'false' description: "Show debug output information" + - string: + name: RC_FILE_PATH + default: '' + description: "Path to the OS credentials file if given" ######################## # trigger macros ######################## diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yml index 236b95d92..888f0ed79 100644 --- a/jjb/functest/functest-project-jobs.yml +++ b/jjb/functest/functest-project-jobs.yml @@ -40,6 +40,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/functest/set-functest-env.sh b/jjb/functest/set-functest-env.sh index bc30ffaf3..583ce8041 100755 --- a/jjb/functest/set-functest-env.sh +++ b/jjb/functest/set-functest-env.sh @@ -2,8 +2,23 @@ set -e [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" -# labconfig is used only for joid -labconfig="" +# LAB_CONFIG is used only for joid + + +if [[ ${INSTALLER_TYPE} == 'joid' ]]; then + # If production lab then creds may be retrieved dynamically + # creds are on the jumphost, always in the same folder + rc_file_vol="-v $LAB_CONFIG/admin-openrc:/home/opnfv/functest/conf/openstack.creds" + # If dev lab, credentials may not be the default ones, just provide a path to put them into docker + # replace the default one by the customized one provided by jenkins config +fi + +if [[ ${RC_FILE_PATH} != '' ]] && [[ -f ${RC_FILE_PATH} ]] ; then + # volume if credentials file path is given to Functest + rc_file_vol="-v $RC_FILE_PATH:/home/opnfv/functest/conf/openstack.creds" +fi + + if [[ ${INSTALLER_TYPE} == 'apex' ]]; then ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" if sudo virsh list | grep instack; then @@ -17,9 +32,9 @@ if [[ ${INSTALLER_TYPE} == 'apex' ]]; then exit 1 fi INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk {'print $1'}) - sshkey="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa" + sshkey_vol="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa" sudo scp $ssh_options root@${INSTALLER_IP}:/home/stack/stackrc ${HOME}/stackrc - stackrc="-v ${HOME}/stackrc:/home/opnfv/functest/conf/stackrc" + stackrc_vol="-v ${HOME}/stackrc:/home/opnfv/functest/conf/stackrc" if sudo iptables -C FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable @@ -27,15 +42,10 @@ if [[ ${INSTALLER_TYPE} == 'apex' ]]; then if sudo iptables -C FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable fi - -elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then - # If production lab then creds may be retrieved dynamically - # creds are on the jumphost, always in the same folder - labconfig="-v $LAB_CONFIG/admin-openrc:/home/opnfv/functest/conf/openstack.creds" - # If dev lab, credentials may not be the default ones, just provide a path to put them into docker - # replace the default one by the customized one provided by jenkins config fi + + # Set iptables rule to allow forwarding return traffic for container if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FORWARD | awk 'NR==3' | grep RETURN 2> ${redirect}; then sudo iptables -I FORWARD -j RETURN @@ -45,22 +55,28 @@ DEPLOY_TYPE=baremetal [[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt echo "Functest: Start Docker and prepare environment" -envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ - -e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \ - -e BUILD_TAG=${BUILD_TAG} -e CI_DEBUG=${CI_DEBUG} -e DEPLOY_TYPE=${DEPLOY_TYPE}" + branch=${GIT_BRANCH##*/} dir_result="${HOME}/opnfv/functest/results/${branch}" mkdir -p ${dir_result} sudo rm -rf ${dir_result}/* -res_volume="-v ${dir_result}:/home/opnfv/functest/results" +results_vol="-v ${dir_result}:/home/opnfv/functest/results" custom_params= test -f ${HOME}/opnfv/functest/custom/params_${DOCKER_TAG} && custom_params=$(cat ${HOME}/opnfv/functest/custom/params_${DOCKER_TAG}) +envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ + -e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \ + -e BUILD_TAG=${BUILD_TAG} -e CI_DEBUG=${CI_DEBUG} -e DEPLOY_TYPE=${DEPLOY_TYPE}" + + +volumes="${results_vol} ${sshkey_vol} ${stackrc_vol} ${rc_file_vol}" + + echo "Functest: Pulling image opnfv/functest:${DOCKER_TAG}" docker pull opnfv/functest:$DOCKER_TAG >/dev/null -cmd="sudo docker run --privileged=true -id ${envs} ${labconfig} ${sshkey} \ - ${res_volume} ${custom_params} ${stackrc} ${TESTCASE_OPTIONS} \ +cmd="sudo docker run --privileged=true -id ${envs} ${volumes} \ + ${custom_params} ${TESTCASE_OPTIONS} \ opnfv/functest:${DOCKER_TAG} /bin/bash" echo "Functest: Running docker run command: ${cmd}" ${cmd} >${redirect} diff --git a/jjb/opnfv/installer-params.yml b/jjb/global/installer-params.yml index 55f4769b7..55f4769b7 100644 --- a/jjb/opnfv/installer-params.yml +++ b/jjb/global/installer-params.yml diff --git a/jjb/releng-defaults.yaml b/jjb/global/releng-defaults.yml index bf3330657..bf3330657 100644 --- a/jjb/releng-defaults.yaml +++ b/jjb/global/releng-defaults.yml diff --git a/jjb/releng-macros.yaml b/jjb/global/releng-macros.yml index 3afd355e6..3afd355e6 100644 --- a/jjb/releng-macros.yaml +++ b/jjb/global/releng-macros.yml diff --git a/jjb/opnfv/slave-params.yml b/jjb/global/slave-params.yml index dd0c97996..dd0c97996 100644 --- a/jjb/opnfv/slave-params.yml +++ b/jjb/global/slave-params.yml diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml index 751aa0c4a..be3cf9a0e 100644 --- a/jjb/infra/bifrost-verify-jobs.yml +++ b/jjb/infra/bifrost-verify-jobs.yml @@ -24,17 +24,24 @@ disabled: false dib-os-release: 'trusty' dib-os-element: 'ubuntu-minimal' - dib-os-packages: 'openssh-server,vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl' + dib-os-packages: 'vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl' + extra-dib-elements: 'openssh-server' - 'centos7': disabled: false dib-os-release: '7' dib-os-element: 'centos7' - dib-os-packages: 'openssh-server,vim,less,bridge-utils,iputils,rsyslog,curl' + dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl' + extra-dib-elements: 'openssh-server' - 'suse': - disabled: true - dib-os-release: 'suse' - dib-os-element: 'suse' - dib-os-packages: '' + disabled: false + dib-os-release: '42.2' + dib-os-element: 'opensuse-minimal' + # python-xml is needed until https://review.openstack.org/#/c/400150/ is merged + dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl,python-xml' + extra-dib-elements: 'openssh-server' + vm-disk: '30' + vm-memory: '4096' + vm-cpu: '2' #-------------------------------- # type #-------------------------------- @@ -45,6 +52,16 @@ #-------------------------------- jobs: - '{project}-bifrost-verify-{distro}-{type}-{stream}' + +#-------------------------------- +# VM defaults +#-------------------------------- +- defaults: + name: vm_defaults + vm-disk: '100' + vm-memory: '8192' + vm-cpu: '4' + #-------------------------------- # job templates #-------------------------------- @@ -53,6 +70,8 @@ disabled: '{obj:disabled}' + defaults: vm_defaults + concurrent: false properties: @@ -82,9 +101,21 @@ name: DIB_OS_ELEMENT default: '{dib-os-element}' - string: + name: EXTRA_DIB_ELEMENTS + default: '{extra-dib-elements}' + - string: name: DIB_OS_PACKAGES default: '{dib-os-packages}' - string: + name: VM_DISK + default: '{vm-disk}' + - string: + name: VM_MEMORY + default: '{vm-memory}' + - string: + name: VM_CPU + default: '{vm-cpu}' + - string: name: CLEAN_DIB_IMAGES default: 'true' - label: diff --git a/jjb/ipv6/ipv6.yml b/jjb/ipv6/ipv6.yml index d9dafdf69..069599e82 100644 --- a/jjb/ipv6/ipv6.yml +++ b/jjb/ipv6/ipv6.yml @@ -40,6 +40,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/joid/joid-verify-jobs.yml b/jjb/joid/joid-verify-jobs.yml index 9d362d800..649c31bea 100644 --- a/jjb/joid/joid-verify-jobs.yml +++ b/jjb/joid/joid-verify-jobs.yml @@ -73,6 +73,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml index 04fce221c..4cba6d1d3 100644 --- a/jjb/kvmfornfv/kvmfornfv.yml +++ b/jjb/kvmfornfv/kvmfornfv.yml @@ -66,6 +66,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -168,6 +169,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/moon/moon.yml b/jjb/moon/moon.yml index 55d593f85..a52cf2cd1 100644 --- a/jjb/moon/moon.yml +++ b/jjb/moon/moon.yml @@ -29,6 +29,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -53,4 +54,4 @@ - shell: #!/bin/bash echo "launch Moon unit tests" - nosetest $WORKSPACE/keystone-moon/keystone/tests/moon/unit
\ No newline at end of file + nosetest $WORKSPACE/keystone-moon/keystone/tests/moon/unit diff --git a/jjb/multisite/multisite-daily-jobs.yml b/jjb/multisite/multisite-daily-jobs.yml index 50fa7c99e..cfb40a1fa 100644 --- a/jjb/multisite/multisite-daily-jobs.yml +++ b/jjb/multisite/multisite-daily-jobs.yml @@ -209,7 +209,7 @@ name: 'multisite-fuel-deploy-regionone-virtual-publisher' publishers: - archive: - artifacts: 'RegionOne-Passwords.txt' + artifacts: '/root/servicepass.ini' allow-empty: false only-if-success: true fingerprint: true @@ -217,7 +217,7 @@ name: 'multisite-fuel-deploy-regiontwo-virtual-publisher' publishers: - archive: - artifacts: 'RegionTwo-Endpoints.txt' + artifacts: '/root/endpoints.ini' allow-empty: false only-if-success: true fingerprint: true diff --git a/jjb/multisite/multisite.yml b/jjb/multisite/multisite.yml index 24c03fd4a..8e542995e 100644 --- a/jjb/multisite/multisite.yml +++ b/jjb/multisite/multisite.yml @@ -46,6 +46,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/netready/netready.yml b/jjb/netready/netready.yml index 3e2f95a76..cc6769e92 100644 --- a/jjb/netready/netready.yml +++ b/jjb/netready/netready.yml @@ -34,6 +34,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/octopus/octopus.yml b/jjb/octopus/octopus.yml index c4e34ca7d..741aa0905 100644 --- a/jjb/octopus/octopus.yml +++ b/jjb/octopus/octopus.yml @@ -39,6 +39,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/onosfw/onosfw.yml b/jjb/onosfw/onosfw.yml index 0c90c577a..33ede475f 100644 --- a/jjb/onosfw/onosfw.yml +++ b/jjb/onosfw/onosfw.yml @@ -43,6 +43,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/opnfv/opnfv-docker.yml b/jjb/opnfv/opnfv-docker.yml deleted file mode 100644 index f313b3b92..000000000 --- a/jjb/opnfv/opnfv-docker.yml +++ /dev/null @@ -1,169 +0,0 @@ -############################################## -# job configuration for docker build and push -############################################## - -- project: - - name: opnfv-docker - - project: - - 'bottlenecks' - - 'cperf' - - 'functest' - - 'storperf' - - 'qtip' - - jobs: - - '{project}-docker-build-push-{stream}' - - 'yardstick-docker-build-push-{stream}' - #dovetail not sync with release, an independent job - #only master by now, will adjust accordingly in future - - 'dovetail-docker-build-push-{dovetailstream}' - - stream: - - master: - branch: '{stream}' - disabled: false - - colorado: - branch: 'stable/{stream}' - disabled: false - dovetailstream: - - master: - branch: '{dovetailstream}' - disabled: false - -######################## -# job templates -######################## -- job-template: - name: '{project}-docker-build-push-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - - 'opnfv-build-ubuntu-defaults' - - string: - name: PUSH_IMAGE - default: "true" - description: "To enable/disable pushing the image to Dockerhub." - - string: - name: BASE_VERSION - default: "colorado.0" - description: "Base version to be used." - - string: - name: DOCKER_REPO_NAME - default: "opnfv/{project}" - description: "Dockerhub repo to be pushed to." - - string: - name: UPDATE_LATEST_STABLE - default: "false" - description: "This will update the latest_stable image only." - - string: - name: STABLE_TAG - description: "If above option is true, this is the tag to be pulled." - - scm: - - git-scm: - credentials-id: '{ssh-credentials}' - refspec: '' - branch: '{branch}' - - builders: - - shell: - !include-raw-escape: ./opnfv-docker.sh - - triggers: - - pollscm: - cron: "*/30 * * * *" - -- job-template: - name: 'yardstick-docker-build-push-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: 'yardstick' - - 'opnfv-build-ubuntu-defaults' - - string: - name: PUSH_IMAGE - default: "true" - description: "To enable/disable pushing the image to Dockerhub." - - string: - name: BASE_VERSION - default: "colorado.0" - description: "Base version to be used." - - string: - name: DOCKER_REPO_NAME - default: "opnfv/yardstick" - description: "Dockerhub repo to be pushed to." - - string: - name: UPDATE_LATEST_STABLE - default: "false" - description: "This will update the latest_stable image only." - - string: - name: STABLE_TAG - description: "If above option is true, this is the tag to be pulled." - - scm: - - git-scm: - credentials-id: '{ssh-credentials}' - refspec: '' - branch: '{branch}' - - builders: - - shell: - !include-raw-escape: ./opnfv-docker.sh - - triggers: - - pollscm: - cron: "*/30 * * * *" - -- job-template: - name: 'dovetail-docker-build-push-{dovetailstream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: 'dovetail' - - 'opnfv-build-ubuntu-defaults' - - string: - name: PUSH_IMAGE - default: "true" - description: "To enable/disable pushing the image to Dockerhub." - #BASE_VERSION parameter is used for version control - #by now, only master branch is used, this parameter takes no effect - #once branch control settled, should be adjusted togather with - #opnfv-docker.sh and caculate_version.sh - - string: - name: BASE_VERSION - default: "1.0" - description: "Base version to be used." - - string: - name: DOCKER_REPO_NAME - default: "opnfv/dovetail" - description: "Dockerhub repo to be pushed to." - - string: - name: UPDATE_LATEST_STABLE - default: "false" - description: "This will update the latest_stable image only." - - string: - name: STABLE_TAG - description: "If above option is true, this is the tag to be pulled." - - scm: - - git-scm: - credentials-id: '{ssh-credentials}' - refspec: '' - branch: '{branch}' - - builders: - - shell: - !include-raw-escape: ./opnfv-docker.sh - - triggers: - - pollscm: - cron: "*/30 * * * *" diff --git a/jjb/opnfvdocs/opnfvdocs.yml b/jjb/opnfvdocs/opnfvdocs.yml index 2bf87c2f4..724ef6aab 100644 --- a/jjb/opnfvdocs/opnfvdocs.yml +++ b/jjb/opnfvdocs/opnfvdocs.yml @@ -49,6 +49,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -96,6 +97,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/ovsnfv/ovsnfv.yml b/jjb/ovsnfv/ovsnfv.yml index c6f3e4a51..28d268379 100644 --- a/jjb/ovsnfv/ovsnfv.yml +++ b/jjb/ovsnfv/ovsnfv.yml @@ -42,6 +42,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -96,6 +97,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/parser/parser.yml b/jjb/parser/parser.yml index 7f73a1380..cd6c6e093 100644 --- a/jjb/parser/parser.yml +++ b/jjb/parser/parser.yml @@ -40,6 +40,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/pharos/pharos.yml b/jjb/pharos/pharos.yml index f7ea622e1..92216ee35 100644 --- a/jjb/pharos/pharos.yml +++ b/jjb/pharos/pharos.yml @@ -40,6 +40,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/prediction/prediction.yml b/jjb/prediction/prediction.yml index a95cd98da..951188ce2 100644 --- a/jjb/prediction/prediction.yml +++ b/jjb/prediction/prediction.yml @@ -40,6 +40,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/promise/promise.yml b/jjb/promise/promise.yml index 1a4d628fd..f620f6f9e 100644 --- a/jjb/promise/promise.yml +++ b/jjb/promise/promise.yml @@ -40,6 +40,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/qtip/qtip-project-jobs.yml b/jjb/qtip/qtip-project-jobs.yml index f192e8679..8b406fea5 100644 --- a/jjb/qtip/qtip-project-jobs.yml +++ b/jjb/qtip/qtip-project-jobs.yml @@ -37,6 +37,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/opnfv/artifact-cleanup.yml b/jjb/releng/artifact-cleanup.yml index 1c609a4b2..1c609a4b2 100644 --- a/jjb/opnfv/artifact-cleanup.yml +++ b/jjb/releng/artifact-cleanup.yml diff --git a/jjb/opnfv/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh index e637f7b32..6f8d81a91 100644 --- a/jjb/opnfv/opnfv-docker.sh +++ b/jjb/releng/opnfv-docker.sh @@ -20,7 +20,7 @@ echo if [[ -n $(ps -ef|grep 'docker build'|grep -v grep) ]]; then echo "There is already another build process in progress:" echo $(ps -ef|grep 'docker build'|grep -v grep) - # Abort this job since it will colide and might mess up the current one. + # Abort this job since it will collide and might mess up the current one. echo "Aborting..." exit 1 fi @@ -51,20 +51,6 @@ if [[ -n "$(docker images | grep $DOCKER_REPO_NAME)" ]]; then done fi -# If we just want to update the latest_stable image -if [[ "$UPDATE_LATEST_STABLE" == "true" ]]; then - echo "Pulling $DOCKER_REPO_NAME:$STABLE_TAG ..." - docker pull $DOCKER_REPO_NAME:$STABLE_TAG - if [[ $? -ne 0 ]]; then - echo "ERROR: The image $DOCKER_REPO_NAME with tag $STABLE_TAG does not exist." - exit 1 - fi - docker tag $DOCKER_REPO_NAME:$STABLE_TAG $DOCKER_REPO_NAME:latest_stable - echo "Pushing $DOCKER_REPO_NAME:latest_stable ..." - docker push $DOCKER_REPO_NAME:latest_stable - exit 0 -fi - # cd to directory where Dockerfile is located cd $WORKSPACE/docker @@ -78,35 +64,26 @@ branch="${GIT_BRANCH##origin/}" echo "Current branch: $branch" if [[ "$branch" == "master" ]]; then - DOCKER_TAG="master" - DOCKER_BRANCH_TAG="latest" + DOCKER_TAG="latest" else - git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng - - DOCKER_TAG=$($WORKSPACE/releng/utils/calculate_version.sh -t docker \ - -n $DOCKER_REPO_NAME) - DOCKER_BRANCH_TAG="stable" - - ret_val=$? - if [[ $ret_val -ne 0 ]]; then - echo "Error retrieving the version tag." - exit 1 + if [[ "$RELEASE_VERSION" != "" ]]; then + release=$(echo $branch|sed 's/.*\///') + DOCKER_TAG=${release}.${RELEASE_VERSION} + # e.g. colorado.1.0, colorado.2.0, colorado.3.0 + else: + DOCKER_TAG="stable" fi fi -echo "Tag version to be build and pushed: $DOCKER_TAG" - # Start the build -echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG" +echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_TAG" +echo "--------------------------------------------------------" +echo +cmd="docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG --build-arg BRANCH=$branch ." -if [[ $DOCKER_REPO_NAME == *"functest"* ]]; then - docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG --build-arg BRANCH=$branch . -else - docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG . -fi +echo ${cmd} +${cmd} -echo "Creating tag '$DOCKER_TAG'..." -docker tag $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG $DOCKER_REPO_NAME:$DOCKER_TAG # list the images echo "Available images are:" @@ -117,10 +94,5 @@ if [[ "$PUSH_IMAGE" == "true" ]]; then echo "Pushing $DOCKER_REPO_NAME:$DOCKER_TAG to the docker registry..." echo "--------------------------------------------------------" echo - # Push to the Dockerhub repository - echo "Pushing $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG ..." - docker push $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG - - echo "Pushing $DOCKER_REPO_NAME:$DOCKER_TAG ..." docker push $DOCKER_REPO_NAME:$DOCKER_TAG fi diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml new file mode 100644 index 000000000..7a4c9af51 --- /dev/null +++ b/jjb/releng/opnfv-docker.yml @@ -0,0 +1,86 @@ +############################################## +# job configuration for docker build and push +############################################## + +- project: + + name: opnfv-docker + + master: &master + stream: master + branch: '{stream}' + disabled: false + colorado: &colorado + stream: colorado + branch: 'stable/{stream}' + disabled: false + + project: + # projects with jobs for master + - 'bottlenecks': + <<: *master + - 'cperf': + <<: *master + - 'dovetail': + <<: *master + - 'functest': + <<: *master + - 'qtip': + <<: *master + - 'storperf': + <<: *master + - 'yardstick': + <<: *master + # projects with jobs for stable + - 'bottlenecks': + <<: *colorado + - 'functest': + <<: *colorado + - 'storperf': + <<: *colorado + - 'yardstick': + <<: *colorado + + jobs: + - '{project}-docker-build-push-{stream}' + + +######################## +# job templates +######################## +- job-template: + name: '{project}-docker-build-push-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + - 'opnfv-build-ubuntu-defaults' + - string: + name: PUSH_IMAGE + default: "true" + description: "To enable/disable pushing the image to Dockerhub." + - string: + name: DOCKER_REPO_NAME + default: "opnfv/{project}" + description: "Dockerhub repo to be pushed to." + - string: + name: RELEASE_VERSION + default: "" + description: "Release version, e.g. 1.0, 2.0, 3.0" + + scm: + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' + + builders: + - shell: + !include-raw-escape: ./opnfv-docker.sh + + triggers: + - pollscm: + cron: "*/30 * * * *" + diff --git a/jjb/opnfv/opnfv-docs.yml b/jjb/releng/opnfv-docs.yml index 442e8ea71..a18374592 100644 --- a/jjb/opnfv/opnfv-docs.yml +++ b/jjb/releng/opnfv-docs.yml @@ -46,6 +46,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -98,6 +99,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/opnfv/opnfv-lint.yml b/jjb/releng/opnfv-lint.yml index 6860dd037..c2624debc 100644 --- a/jjb/opnfv/opnfv-lint.yml +++ b/jjb/releng/opnfv-lint.yml @@ -43,6 +43,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -55,7 +56,7 @@ comment-contains-value: 'reverify' projects: - project-compare-type: 'REG_EXP' - project-pattern: 'functest|sdnvpn|qtip|daisy|sfc' + project-pattern: 'functest|sdnvpn|qtip|daisy|sfc|escalator' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' diff --git a/jjb/opnfv/opnfv-utils.yml b/jjb/releng/opnfv-utils.yml index 717bb3cbc..717bb3cbc 100644 --- a/jjb/opnfv/opnfv-utils.yml +++ b/jjb/releng/opnfv-utils.yml diff --git a/jjb/releng/releng-ci-jobs.yml b/jjb/releng/releng-ci-jobs.yml index ccfe11e9a..fc77c2d48 100644 --- a/jjb/releng/releng-ci-jobs.yml +++ b/jjb/releng/releng-ci-jobs.yml @@ -23,6 +23,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -77,6 +78,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/releng/verify-releng.sh b/jjb/releng/verify-releng.sh index 5c2dbff7a..682a8beda 100755 --- a/jjb/releng/verify-releng.sh +++ b/jjb/releng/verify-releng.sh @@ -8,7 +8,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## #test for non-ascii characters, these can pass the test and end up breaking things in production -for x in $(find . -name *\.yml); do +for x in $(find . -name *\.yml -or -name *\.yaml); do if LC_ALL=C grep -q '[^[:print:][:space:]]' "$x"; then echo "file "$x" contains non-ascii characters" diff --git a/jjb/storperf/storperf.yml b/jjb/storperf/storperf.yml index 026b643d3..4e72af50b 100644 --- a/jjb/storperf/storperf.yml +++ b/jjb/storperf/storperf.yml @@ -43,6 +43,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -106,6 +107,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml index c988c0627..6dd3acf3a 100644 --- a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml +++ b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml @@ -34,6 +34,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yml index 5f952de00..cda5128e2 100644 --- a/jjb/vswitchperf/vswitchperf.yml +++ b/jjb/vswitchperf/vswitchperf.yml @@ -85,6 +85,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -148,6 +149,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: diff --git a/jjb/yardstick/yardstick-project-jobs.yml b/jjb/yardstick/yardstick-project-jobs.yml index 0cc6cd606..afa6b7844 100644 --- a/jjb/yardstick/yardstick-project-jobs.yml +++ b/jjb/yardstick/yardstick-project-jobs.yml @@ -45,6 +45,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -88,6 +89,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - change-merged-event - comment-added-contains-event: @@ -122,7 +124,7 @@ # install python packages easy_install -U setuptools easy_install -U pip - pip install -r requirements.txt + pip install -r requirements.txt || pip install -r tests/ci/requirements.txt pip install -e . # unit tests |