diff options
Diffstat (limited to 'jjb')
35 files changed, 482 insertions, 756 deletions
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index 26eddb5b2..07181fcad 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -132,6 +132,10 @@ <<: *master - 'os-odl-sfc-ha': <<: *master + - 'os-odl-fdio-dvr-noha': + <<: *master + - 'os-odl-fdio-dvr-ha': + <<: *master platform: - 'baremetal' @@ -669,7 +673,7 @@ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" - multijob: name: 'Baremetal Deploy' - condition: ALWAYS + condition: SUCCESSFUL projects: - name: 'apex-deploy-baremetal-{scenario_stream}' node-parameters: true @@ -684,7 +688,6 @@ git-revision: false - multijob: name: 'OPNFV Test Suite' - condition: SUCCESSFUL projects: - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' node-parameters: true @@ -1332,6 +1335,24 @@ abort-all-job: true git-revision: false + - name: 'apex-os-odl-fdio-dvr-noha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + + - name: 'apex-os-odl-fdio-dvr-ha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false + # snapshot create diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2 index 5d7f150cd..2d760f854 100644 --- a/jjb/apex/apex.yml.j2 +++ b/jjb/apex/apex.yml.j2 @@ -585,7 +585,7 @@ description: "Deployed on $NODE_NAME - Scenario: $DEPLOY_SCENARIO" - multijob: name: 'Baremetal Deploy' - condition: ALWAYS + condition: SUCCESSFUL projects: - name: 'apex-deploy-baremetal-{scenario_stream}' node-parameters: true @@ -600,7 +600,6 @@ git-revision: false - multijob: name: 'OPNFV Test Suite' - condition: SUCCESSFUL projects: - name: 'apex-testsuite-{scenario}-baremetal-{scenario_stream}' node-parameters: true diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden index f49fa83c7..def4e796a 100644 --- a/jjb/apex/scenarios.yaml.hidden +++ b/jjb/apex/scenarios.yaml.hidden @@ -18,6 +18,8 @@ master: - 'os-nosdn-kvm_ovs_dpdk-ha' - 'os-odl-sfc-noha' - 'os-odl-sfc-ha' + - 'os-odl-fdio-dvr-noha' + - 'os-odl-fdio-dvr-ha' danube: - 'os-nosdn-nofeature-noha' - 'os-nosdn-nofeature-ha' diff --git a/jjb/armband/armband-deploy.sh b/jjb/armband/armband-deploy.sh index 08d323325..fc5912008 100755 --- a/jjb/armband/armband-deploy.sh +++ b/jjb/armband/armband-deploy.sh @@ -91,7 +91,7 @@ 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} \ - -B ${DEFAULT_BRIDGE:-,,,} -S $TMPDIR -L $WORKSPACE/$FUEL_LOG_FILENAME \ + -B ${DEFAULT_BRIDGE:-pxebr} -S $TMPDIR -L $WORKSPACE/$FUEL_LOG_FILENAME \ ${DEPLOY_CACHE}" # log info to console diff --git a/jjb/multisite/multisite-verify-jobs.yml b/jjb/calipso/calipso.yml index 9431e0bac..b8d10eb89 100644 --- a/jjb/multisite/multisite-verify-jobs.yml +++ b/jjb/calipso/calipso.yml @@ -1,39 +1,25 @@ -################################################### -# All the jobs except verify have been removed! -# They will only be enabled on request by projects! -################################################### - project: - name: multisite + name: calipso project: '{name}' jobs: - - 'multisite-verify-{stream}' + - 'calipso-verify-{stream}' stream: - master: branch: '{stream}' - gs-pathname: '' disabled: false - timed: '@midnight' - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - timed: '' - job-template: - name: 'multisite-verify-{stream}' + name: 'calipso-verify-{stream}' disabled: '{obj:disabled}' - concurrent: true - parameters: - project-parameter: project: '{project}' branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' scm: - git-scm-gerrit @@ -57,13 +43,17 @@ branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' - disable-strict-forbidden-file-verification: 'true' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' builders: + - verify-unit-tests + +- builder: + name: verify-unit-tests + builders: - shell: | #!/bin/bash - - echo "Hello World" + set -o errexit + set -o nounset + set -o pipefail + cd $WORKSPACE + PYTHONPATH=$PWD/app python3 -m unittest discover -s app/test/fetch diff --git a/jjb/daisy4nfv/daisy-daily-jobs.yml b/jjb/daisy4nfv/daisy-daily-jobs.yml index 6524d2051..d7c1acbe0 100644 --- a/jjb/daisy4nfv/daisy-daily-jobs.yml +++ b/jjb/daisy4nfv/daisy-daily-jobs.yml @@ -46,10 +46,7 @@ - 'os-nosdn-nofeature-noha': auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' # ODL_L3 scenarios - - 'os-odl_l3-nofeature-ha': - auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' - # ODL_L2 scenarios - - 'os-odl_l2-nofeature-ha': + - 'os-odl-nofeature-ha': auto-trigger-name: 'daisy-{scenario}-{pod}-daily-{stream}-trigger' jobs: @@ -180,46 +177,36 @@ #----------------------------------------------- # Triggers for job running on daisy-baremetal against master branch #----------------------------------------------- -# HA Scenarios +# Basic HA Scenarios - trigger: name: 'daisy-os-nosdn-nofeature-ha-baremetal-daily-master-trigger' triggers: - timed: '0 12 * * *' -# NOHA Scenarios +# Basic NOHA Scenarios - trigger: name: 'daisy-os-nosdn-nofeature-noha-baremetal-daily-master-trigger' triggers: - timed: '' -# ODL_L3 Scenarios +# ODL Scenarios - trigger: - name: 'daisy-os-odl_l3-nofeature-ha-baremetal-daily-master-trigger' + name: 'daisy-os-odl-nofeature-ha-baremetal-daily-master-trigger' triggers: - timed: '0 16 * * *' -# ODL_L2 Scenarios -- trigger: - name: 'daisy-os-odl_l2-nofeature-ha-baremetal-daily-master-trigger' - triggers: - - timed: '' #----------------------------------------------- # Triggers for job running on daisy-virtual against master branch #----------------------------------------------- +# Basic HA Scenarios - trigger: name: 'daisy-os-nosdn-nofeature-ha-virtual-daily-master-trigger' triggers: - timed: '0 12 * * *' -# NOHA Scenarios +# Basic NOHA Scenarios - trigger: name: 'daisy-os-nosdn-nofeature-noha-virtual-daily-master-trigger' triggers: - timed: '' -# ODL_L3 Scenarios +# ODL Scenarios - trigger: - name: 'daisy-os-odl_l3-nofeature-ha-virtual-daily-master-trigger' + name: 'daisy-os-odl-nofeature-ha-virtual-daily-master-trigger' triggers: - timed: '0 16 * * *' -# ODL_L3 Scenarios -- trigger: - name: 'daisy-os-odl_l2-nofeature-ha-virtual-daily-master-trigger' - triggers: - - timed: '' - diff --git a/jjb/daisy4nfv/daisy-deploy.sh b/jjb/daisy4nfv/daisy-deploy.sh index 785f3a571..0bcac4b02 100755 --- a/jjb/daisy4nfv/daisy-deploy.sh +++ b/jjb/daisy4nfv/daisy-deploy.sh @@ -28,7 +28,7 @@ git clone ssh://jenkins-zte@gerrit.opnfv.org:29418/securedlab --quiet \ # daisy ci/deploy/deploy.sh use $BASE_DIR/labs dir cp -r securedlab/labs . -DEPLOY_COMMAND="sudo ./ci/deploy/deploy.sh -b $BASE_DIR \ +DEPLOY_COMMAND="sudo -E ./ci/deploy/deploy.sh -b $BASE_DIR \ -l $LAB_NAME -p $POD_NAME -B $BRIDGE -s $DEPLOY_SCENARIO" # log info to console diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml index afde9efe8..23d12def4 100644 --- a/jjb/doctor/doctor.yml +++ b/jjb/doctor/doctor.yml @@ -30,15 +30,9 @@ task: - verify: - profiler: 'none' auto-trigger-name: 'doctor-verify' is-python: false - - profiling: - profiler: 'poc' - auto-trigger-name: 'experimental' - is-python: false - python-verify: - profiler: 'none' auto-trigger-name: 'doctor-verify' is-python: true @@ -153,7 +147,7 @@ default: 'doctor-notification' - string: name: TESTCASE_OPTIONS - default: '-e INSPECTOR_TYPE={inspector} -e PROFILER_TYPE={profiler} -e PYTHON_ENABLE={is-python} -v $WORKSPACE:/home/opnfv/repos/doctor' + default: '-e INSPECTOR_TYPE={inspector} -e PYTHON_ENABLE={is-python} -v $WORKSPACE:/home/opnfv/repos/doctor' description: 'Addtional parameters specific to test case(s)' # functest-parameter - string: diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml index 3f130c9e7..42e1ad585 100644 --- a/jjb/dovetail/dovetail-ci-jobs.yml +++ b/jjb/dovetail/dovetail-ci-jobs.yml @@ -25,7 +25,7 @@ branch: 'stable/{stream}' dovetail-branch: master gs-pathname: '/{stream}' - docker-tag: 'cvp.0.4.0' + docker-tag: 'cvp.0.5.0' #----------------------------------- # POD, PLATFORM, AND BRANCH MAPPING diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh index a078c8f59..d05b309cd 100755 --- a/jjb/dovetail/dovetail-run.sh +++ b/jjb/dovetail/dovetail-run.sh @@ -126,6 +126,10 @@ fi echo "Download image ubuntu-16.04-server-cloudimg-amd64-disk1.img ..." wget -q -nc http://artifacts.opnfv.org/sdnvpn/ubuntu-16.04-server-cloudimg-amd64-disk1.img -P ${DOVETAIL_CONFIG} +# functest needs to download this image first before running +echo "Download image cirros-0.3.5-x86_64-disk.img ..." +wget -q -nc http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img -P ${DOVETAIL_CONFIG} + opts="--privileged=true -id" docker_volume="-v /var/run/docker.sock:/var/run/docker.sock" @@ -156,6 +160,37 @@ if [ $(docker ps | grep "opnfv/dovetail:${DOCKER_TAG}" | wc -l) == 0 ]; then exit 1 fi +# Modify tempest_conf.yaml file +tempest_conf_file=${DOVETAIL_CONFIG}/tempest_conf.yaml +if [ ${INSTALLER_TYPE} == 'compass' ]; then + volume_device='vdb' +else + volume_device='vdc' +fi + +cat << EOF >$tempest_conf_file + +compute: + min_compute_nodes: 2 + volume_device_name: ${volume_device} + min_microversion: 2.0 + max_microversion: latest + +compute-feature-enabled: + live_migration: True + block_migration_for_live_migration: True + block_migrate_cinder_iscsi: True + attach_encrypted_volume: True + +EOF + +echo "${tempest_conf_file}..." +cat ${tempest_conf_file} + +cp_tempest_cmd="docker cp ${DOVETAIL_CONFIG}/tempest_conf.yaml $container_id:/home/opnfv/dovetail/dovetail/userconfig" +echo "exec command: ${cp_tempest_cmd}" +$cp_tempest_cmd + list_cmd="dovetail list ${TESTSUITE}" run_cmd="dovetail run --testsuite ${TESTSUITE} -d" echo "Container exec command: ${list_cmd}" diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh index 29b173ae5..eebd8bc71 100755 --- a/jjb/fuel/fuel-deploy.sh +++ b/jjb/fuel/fuel-deploy.sh @@ -33,7 +33,7 @@ fi # set deployment parameters export TMPDIR=$HOME/tmpdir -BRIDGE=${BRIDGE:-,,,} +BRIDGE=${BRIDGE:-pxebr} LAB_NAME=${NODE_NAME/-*} POD_NAME=${NODE_NAME/*-} @@ -63,13 +63,20 @@ echo "Cloning securedlab repo $BRANCH" git clone ssh://jenkins-ericsson@gerrit.opnfv.org:29418/securedlab --quiet \ --branch $BRANCH +# Source local_env if present, which contains POD-specific config +local_env="${WORKSPACE}/securedlab/labs/$LAB_NAME/$POD_NAME/fuel/config/local_env" +if [ -e "${local_env}" ]; then + echo "-- Sourcing local environment file" + source "${local_env}" +fi + # log file name FUEL_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}.log.tar.gz" # construct the command DEPLOY_COMMAND="sudo $WORKSPACE/ci/deploy.sh -b file://$WORKSPACE/securedlab \ -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i file://$WORKSPACE/opnfv.iso \ - -B $BRIDGE -S $TMPDIR -L $WORKSPACE/$FUEL_LOG_FILENAME" + -B ${DEFAULT_BRIDGE:-${BRIDGE}} -S $TMPDIR -L $WORKSPACE/$FUEL_LOG_FILENAME" # log info to console echo "Deployment parameters" diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yml index 1966e52de..07d5df46e 100644 --- a/jjb/functest/functest-project-jobs.yml +++ b/jjb/functest/functest-project-jobs.yml @@ -132,4 +132,4 @@ builders: - shell: | cd $WORKSPACE && tox -edocs - wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "functest/api/_build" "docs" + wget -O - https://git.opnfv.org/releng/plain/utils/upload-artifact.sh | bash -s "api/_build" "docs" diff --git a/jjb/global/installer-params.yml b/jjb/global/installer-params.yml index 17101ed76..a81dce3fe 100644 --- a/jjb/global/installer-params.yml +++ b/jjb/global/installer-params.yml @@ -55,7 +55,7 @@ description: 'external network for test' - string: name: BRIDGE - default: ',,,' + default: 'pxebr' description: 'Bridge(s) to be used by salt master' - parameter: @@ -112,7 +112,7 @@ - string: name: BRIDGE default: 'br7' - description: 'pxe bridge for booting of Fuel master' + description: 'pxe bridge for booting of Daisy master' - parameter: name: 'infra-defaults' diff --git a/jjb/global/releng-macros.yml b/jjb/global/releng-macros.yml index 89a38029e..75fe8b3c3 100644 --- a/jjb/global/releng-macros.yml +++ b/jjb/global/releng-macros.yml @@ -165,6 +165,14 @@ - 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e' - wrapper: + name: build-timeout + wrappers: + - timeout: + timeout: '{timeout}' + timeout-var: 'BUILD_TIMEOUT' + fail: true + +- wrapper: name: fix-workspace-permissions wrappers: - pre-scm-buildstep: diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml index 375468f83..0e23380a9 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yml @@ -334,7 +334,7 @@ - string: name: BRIDGE default: 'daisy1' - description: 'pxe bridge for booting of Fuel master' + description: 'pxe bridge for booting of Daisy master' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT diff --git a/jjb/joid/joid-deploy.sh b/jjb/joid/joid-deploy.sh index e197dbd8c..9740d38bf 100644 --- a/jjb/joid/joid-deploy.sh +++ b/jjb/joid/joid-deploy.sh @@ -94,9 +94,6 @@ EXTRA=${DEPLOY_OPTIONS[4]} if [ "$SDN_CONTROLLER" == 'odl_l2' ] || [ "$SDN_CONTROLLER" == 'odl_l3' ]; then SDN_CONTROLLER='odl' fi -if [ "$HA_MODE" == 'noha' ]; then - HA_MODE='nonha' -fi # Add extra to features if [ "$EXTRA" != "" ];then diff --git a/jjb/multisite/fuel-deploy-for-multisite.sh b/jjb/multisite/fuel-deploy-for-multisite.sh deleted file mode 100755 index 827e5c28d..000000000 --- a/jjb/multisite/fuel-deploy-for-multisite.sh +++ /dev/null @@ -1,124 +0,0 @@ -#!/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 nounset -set -o pipefail - -# do not continue with the deployment if FRESH_INSTALL is not requested -if [[ "$FRESH_INSTALL" == "true" ]]; then - echo "Fresh install requested. Proceeding with the installation." -else - echo "Fresh install is not requested. Skipping the installation." - exit 0 -fi - -export TERM="vt220" -export BRANCH=$(echo $BRANCH | sed 's/stable\///g') -# get the latest successful job console log and extract the properties filename -FUEL_DEPLOY_BUILD_URL="https://build.opnfv.org/ci/job/fuel-deploy-virtual-daily-$BRANCH/lastSuccessfulBuild/consoleText" -FUEL_PROPERTIES_FILE=$(curl -s -L ${FUEL_DEPLOY_BUILD_URL} | grep 'ISO:' | awk '{print $2}' | sed 's/iso/properties/g') -if [[ -z "FUEL_PROPERTIES_FILE" ]]; then - echo "Unable to extract the url to Fuel ISO properties from ${FUEL_DEPLOY_URL}" - exit 1 -fi - -# use known/working version of fuel -#FUEL_PROPERTIES_FILE="opnfv-2017-03-06_16-00-15.properties" -curl -L -s -o $WORKSPACE/latest.properties $GS_PATH/$FUEL_PROPERTIES_FILE - -# source the file so we get OPNFV vars -source latest.properties - -# echo the info about artifact that is used during the deployment -echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment" - -# download the iso -echo "Downloading the ISO using the link http://$OPNFV_ARTIFACT_URL" -curl -L -s -o $WORKSPACE/opnfv.iso http://$OPNFV_ARTIFACT_URL > gsutil.iso.log 2>&1 - - -# set deployment parameters -DEPLOY_SCENARIO="os-nosdn-nofeature-noha" -export TMPDIR=$HOME/tmpdir -BRIDGE=${BRIDGE:-,,,} -LAB_NAME=${NODE_NAME/-*} -POD_NAME=${NODE_NAME/*-} - -if [[ "$NODE_NAME" =~ "virtual" ]]; then - POD_NAME="virtual_kvm" -fi - -# we currently support ericsson, intel, lf and zte labs -if [[ ! "$LAB_NAME" =~ (ericsson|intel|lf|zte) ]]; then - echo "Unsupported/unidentified lab $LAB_NAME. Cannot continue!" - exit 1 -else - echo "Using configuration for $LAB_NAME" -fi - -# create TMPDIR if it doesn't exist -export TMPDIR=$HOME/tmpdir -mkdir -p $TMPDIR - -# change permissions down to TMPDIR -chmod a+x $HOME -chmod a+x $TMPDIR - -# clone fuel repo and checkout the sha1 that corresponds to the ISO -echo "Cloning fuel repo" -git clone https://gerrit.opnfv.org/gerrit/p/fuel.git fuel -cd $WORKSPACE/fuel -echo "Checking out $OPNFV_GIT_SHA1" -git checkout $OPNFV_GIT_SHA1 --quiet - -# clone the securedlab repo -cd $WORKSPACE -echo "Cloning securedlab repo ${GIT_BRANCH##origin/}" -git clone ssh://jenkins-ericsson@gerrit.opnfv.org:29418/securedlab --quiet \ - --branch ${GIT_BRANCH##origin/} - -# log file name -FUEL_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}.log.tar.gz" - -# construct the command -DEPLOY_COMMAND="sudo $WORKSPACE/fuel/ci/deploy.sh -b file://$WORKSPACE/securedlab \ - -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i file://$WORKSPACE/opnfv.iso \ - -B $BRIDGE -S $TMPDIR -L $WORKSPACE/$FUEL_LOG_FILENAME" - -# log info to console -echo "Deployment parameters" -echo "--------------------------------------------------------" -echo "Scenario: $DEPLOY_SCENARIO" -echo "Lab: $LAB_NAME" -echo "POD: $POD_NAME" -echo "ISO: ${OPNFV_ARTIFACT_URL/*\/}" -echo -echo "Starting the deployment using $INSTALLER_TYPE. This could take some time..." -echo "--------------------------------------------------------" -echo - -# start the deployment -echo "Issuing command" -echo "$DEPLOY_COMMAND" -echo - -$DEPLOY_COMMAND -exit_code=$? - -echo -echo "--------------------------------------------------------" -echo "Deployment is done!" - -if [[ $exit_code -ne 0 ]]; then - echo "Deployment failed!" - exit $exit_code -else - echo "Deployment is successful!" - exit 0 -fi diff --git a/jjb/multisite/multisite-daily-jobs.yml b/jjb/multisite/multisite-daily-jobs.yml deleted file mode 100644 index c5e1866e3..000000000 --- a/jjb/multisite/multisite-daily-jobs.yml +++ /dev/null @@ -1,306 +0,0 @@ -- project: - name: kingbird - - project: 'multisite' - - jobs: - - 'multisite-kingbird-virtual-daily-{stream}' - - 'multisite-{phase}-{stream}' - - phase: - - 'fuel-deploy-regionone-virtual': - slave-label: ericsson-virtual12 - - 'fuel-deploy-regiontwo-virtual': - slave-label: ericsson-virtual13 - - 'register-endpoints': - slave-label: ericsson-virtual12 - - 'update-auth': - slave-label: ericsson-virtual13 - - 'kingbird-deploy-virtual': - slave-label: ericsson-virtual12 - - stream: - - master: - branch: '{stream}' - gs-pathname: '' - disabled: false - timed: '0 12 * * *' - - danube: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - disabled: false - timed: '0 0 * * *' - -- job-template: - name: 'multisite-kingbird-virtual-daily-{stream}' - - project-type: multijob - - disabled: '{obj:disabled}' - - concurrent: false - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - choice: - name: FRESH_INSTALL - choices: - - 'true' - - 'false' - - string: - name: KINGBIRD_LOG_FILE - default: $WORKSPACE/kingbird.log - - 'opnfv-build-defaults' - - triggers: - - timed: '{timed}' - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - multijob: - name: fuel-deploy-virtual - condition: SUCCESSFUL - projects: - - name: 'multisite-fuel-deploy-regionone-virtual-{stream}' - current-parameters: false - predefined-parameters: | - FUEL_VERSION=latest - DEPLOY_SCENARIO=os-nosdn-nofeature-noha - OS_REGION=RegionOne - REGIONONE_IP=100.64.209.10 - REGIONTWO_IP=100.64.209.11 - FRESH_INSTALL=$FRESH_INSTALL - node-parameters: false - node-label-name: SLAVE_LABEL - node-label: ericsson-virtual12 - kill-phase-on: FAILURE - abort-all-job: true - - name: 'multisite-fuel-deploy-regiontwo-virtual-{stream}' - current-parameters: false - predefined-parameters: | - FUEL_VERSION=latest - DEPLOY_SCENARIO=os-nosdn-nofeature-noha - OS_REGION=RegionTwo - REGIONONE_IP=100.64.209.10 - REGIONTWO_IP=100.64.209.11 - FRESH_INSTALL=$FRESH_INSTALL - node-parameters: false - node-label-name: SLAVE_LABEL - node-label: ericsson-virtual13 - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: centralize-keystone - condition: SUCCESSFUL - projects: - - name: 'multisite-register-endpoints-{stream}' - current-parameters: false - predefined-parameters: | - OS_REGION=RegionOne - REGIONONE_IP=100.64.209.10 - REGIONTWO_IP=100.64.209.11 - FRESH_INSTALL=$FRESH_INSTALL - node-parameters: false - node-label-name: SLAVE_LABEL - node-label: ericsson-virtual12 - kill-phase-on: FAILURE - abort-all-job: true - - name: 'multisite-update-auth-{stream}' - current-parameters: false - predefined-parameters: | - OS_REGION=RegionTwo - REGIONONE_IP=100.64.209.10 - REGIONTWO_IP=100.64.209.11 - FRESH_INSTALL=$FRESH_INSTALL - node-parameters: false - node-label-name: SLAVE_LABEL - node-label: ericsson-virtual13 - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: kingbird-deploy-virtual - condition: SUCCESSFUL - projects: - - name: 'multisite-kingbird-deploy-virtual-{stream}' - current-parameters: false - predefined-parameters: | - OS_REGION=RegionOne - REGIONONE_IP=100.64.209.10 - REGIONTWO_IP=100.64.209.11 - FRESH_INSTALL=$FRESH_INSTALL - node-parameters: false - node-label-name: SLAVE_LABEL - node-label: ericsson-virtual12 - kill-phase-on: FAILURE - abort-all-job: true - - multijob: - name: kingbird-functest - condition: SUCCESSFUL - projects: - - name: 'functest-fuel-virtual-suite-{stream}' - current-parameters: false - predefined-parameters: | - DEPLOY_SCENARIO=os-nosdn-multisite-noha - FUNCTEST_SUITE_NAME=multisite - OS_REGION=RegionOne - REGIONONE_IP=100.64.209.10 - REGIONTWO_IP=100.64.209.11 - FRESH_INSTALL=$FRESH_INSTALL - node-parameters: false - node-label-name: SLAVE_LABEL - node-label: ericsson-virtual12 - kill-phase-on: NEVER - abort-all-job: false - -- job-template: - name: 'multisite-{phase}-{stream}' - - concurrent: false - - disabled: '{obj:disabled}' - - concurrent: false - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - string: - name: KINGBIRD_LOG_FILE - default: $WORKSPACE/kingbird.log - - string: - name: GS_PATH - default: 'http://artifacts.opnfv.org/fuel{gs-pathname}' - - 'fuel-defaults' - - '{slave-label}-defaults' - - choice: - name: FRESH_INSTALL - choices: - - 'true' - - 'false' - - scm: - - git-scm - - builders: - - description-setter: - description: "Built on $NODE_NAME" - - 'multisite-{phase}-builder': - stream: '{stream}' - - publishers: - - 'multisite-{phase}-publisher' - - email-jenkins-admins-on-failure - -######################## -# builder macros -######################## -- builder: - name: 'multisite-fuel-deploy-regionone-virtual-builder' - builders: - - shell: - !include-raw-escape: ./fuel-deploy-for-multisite.sh - - shell: | - #!/bin/bash - - echo "This is where we deploy fuel, extract passwords and save into file" - - cd $WORKSPACE/tools/keystone/ - ./run.sh -t controller -r fetchpass.sh -o servicepass.ini - -- builder: - name: 'multisite-fuel-deploy-regiontwo-virtual-builder' - builders: - - shell: - !include-raw-escape: ./fuel-deploy-for-multisite.sh - - shell: | - #!/bin/bash - - echo "This is where we deploy fuel, extract publicUrl, privateUrl, and adminUrl and save into file" - - cd $WORKSPACE/tools/keystone/ - ./run.sh -t controller -r endpoint.sh -o endpoints.ini -- builder: - name: 'multisite-register-endpoints-builder' - builders: - - copyartifact: - project: 'multisite-fuel-deploy-regiontwo-virtual-{stream}' - which-build: multijob-build - filter: "endpoints.ini" - - shell: | - #!/bin/bash - - echo "This is where we register RegionTwo in RegionOne keystone using endpoints.ini" - - cd $WORKSPACE/tools/keystone/ - ./run.sh -t controller -r region.sh -d $WORKSPACE/endpoints.ini -- builder: - name: 'multisite-update-auth-builder' - builders: - - copyartifact: - project: 'multisite-fuel-deploy-regionone-virtual-{stream}' - which-build: multijob-build - filter: "servicepass.ini" - - shell: | - #!/bin/bash - - echo "This is where we read passwords from servicepass.ini and replace passwords in RegionTwo" - - cd $WORKSPACE/tools/keystone/ - ./run.sh -t controller -r writepass.sh -d $WORKSPACE/servicepass.ini - ./run.sh -t compute -r writepass.sh -d $WORKSPACE/servicepass.ini -- builder: - name: 'multisite-kingbird-deploy-virtual-builder' - builders: - - shell: | - #!/bin/bash - - echo "This is where we install kingbird" - cd $WORKSPACE/tools/kingbird - ./deploy.sh -######################## -# publisher macros -######################## -- publisher: - name: 'multisite-fuel-deploy-regionone-virtual-publisher' - publishers: - - archive: - artifacts: 'servicepass.ini' - allow-empty: false - only-if-success: true - fingerprint: true -- publisher: - name: 'multisite-fuel-deploy-regiontwo-virtual-publisher' - publishers: - - archive: - artifacts: 'endpoints.ini' - allow-empty: false - only-if-success: true - fingerprint: true -- publisher: - name: 'multisite-register-endpoints-publisher' - publishers: - - archive: - artifacts: 'dummy.txt' - allow-empty: true -- publisher: - name: 'multisite-update-auth-publisher' - publishers: - - archive: - artifacts: 'dummy.txt' - allow-empty: true -- publisher: - name: 'multisite-kingbird-deploy-virtual-publisher' - publishers: - - archive: - artifacts: 'dummy.txt' - allow-empty: true -- publisher: - name: 'multisite-kingbird-functest-publisher' - publishers: - - archive: - artifacts: 'dummy.txt' - allow-empty: true diff --git a/jjb/nfvbench/nfvbench.yml b/jjb/nfvbench/nfvbench.yml new file mode 100644 index 000000000..85486c8a8 --- /dev/null +++ b/jjb/nfvbench/nfvbench.yml @@ -0,0 +1,90 @@ +- project: + name: nfvbench + + project: '{name}' + + jobs: + - 'nfvbench-build-{stream}' + - 'nfvbench-verify-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + disabled: false + docker-tag: 'latest' + +- job-template: + name: 'nfvbench-build-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'buildvm' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + + builders: + - shell: | + cd $WORKSPACE/nfvbenchvm/dib + bash build-image.sh + +- job-template: + name: 'nfvbench-verify-{stream}' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." + - 'opnfv-build-ubuntu-defaults' + + scm: + - git-scm-gerrit + + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + + builders: + - shell: | + echo "pass" + + diff --git a/jjb/qtip/helpers/cleanup-deploy.sh b/jjb/qtip/helpers/cleanup-deploy.sh deleted file mode 100644 index 9cb19a583..000000000 --- a/jjb/qtip/helpers/cleanup-deploy.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -############################################################################## -# Copyright (c) 2016 ZTE 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 -############################################################################## -# Remove previous running containers if exist -if [[ ! -z $(docker ps -a | grep "opnfv/qtip:$DOCKER_TAG") ]]; then - echo "Removing existing opnfv/qtip containers..." - # workaround: sometimes it throws an error when stopping qtip container. - # To make sure ci job unblocked, remove qtip container by force without stopping it. - docker rm -f $(docker ps -a | grep "opnfv/qtip:$DOCKER_TAG" | awk '{print $1}') -fi - -# Remove existing images if exist -if [[ $(docker images opnfv/qtip:${DOCKER_TAG} | wc -l) -gt 1 ]]; then - echo "Removing docker image opnfv/qtip:$DOCKER_TAG..." - docker rmi opnfv/qtip:$DOCKER_TAG -fi diff --git a/jjb/qtip/helpers/validate-deploy.sh b/jjb/qtip/helpers/validate-deploy.sh deleted file mode 100644 index af8f8c200..000000000 --- a/jjb/qtip/helpers/validate-deploy.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -############################################################################## -# Copyright (c) 2017 ZTE 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 -e - -echo "--------------------------------------------------------" -echo "POD: $NODE_NAME" -echo "Scenario: $DEPLOY_SCENARIO" -echo "INSTALLER: $INSTALLER_TYPE" -echo "INSTALLER_IP: $INSTALLER_IP" -echo "--------------------------------------------------------" - -echo "Qtip: Pulling docker image: opnfv/qtip:${DOCKER_TAG}" -docker pull opnfv/qtip:$DOCKER_TAG >/dev/null - -envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} --e POD_NAME=${NODE_NAME} -e SCENARIO=${DEPLOY_SCENARIO}" - -cmd=" docker run -id -e $envs opnfv/qtip:${DOCKER_TAG} /bin/bash" -echo "Qtip: Running docker command: ${cmd}" -${cmd} - -container_id=$(docker ps | grep "opnfv/qtip:${DOCKER_TAG}" | awk '{print $1}' | head -1) -if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then - echo "The container opnfv/qtip with ID=${container_id} has not been properly started. Exiting..." - exit 1 -fi - -echo "The container ID is: ${container_id}" -QTIP_REPO=/home/opnfv/repos/qtip - -docker exec -t ${container_id} bash -c "bash ${QTIP_REPO}/tests/ci/run_ci.sh" - -echo "Qtip done!" -exit 0
\ No newline at end of file diff --git a/jjb/qtip/helpers/validate-setup.sh b/jjb/qtip/helpers/validate-setup.sh deleted file mode 100644 index 8d84e120c..000000000 --- a/jjb/qtip/helpers/validate-setup.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash -############################################################################## -# Copyright (c) 2017 ZTE 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 -e - -# setup virtualenv -sudo pip install -u virtualenv virtualenvwrapper -export WORKON_HOME=$HOME/.virtualenvs -source /usr/local/bin/virtualenvwrapper.sh -mkvirtualenv qtip -workon qtip - -# setup qtip -sudo pip install $HOME/repos/qtip - -# testing -qtip --version -qtip --help diff --git a/jjb/qtip/qtip-integration-jobs.yml b/jjb/qtip/qtip-experimental-jobs.yml index 46c101d7a..05445d898 100644 --- a/jjb/qtip/qtip-integration-jobs.yml +++ b/jjb/qtip/qtip-experimental-jobs.yml @@ -1,12 +1,12 @@ -###################### -# verify before MERGE -###################### +########################################### +# Experimental jobs for development purpose +########################################### - project: - name: qtip-integration-jobs + name: qtip-experimental-jobs project: qtip jobs: - - 'qtip-storage-{stream}' + - 'qtip-experimental-{stream}' stream: - master: branch: '{stream}' @@ -18,7 +18,7 @@ ################################# - job-template: - name: 'qtip-storage-{stream}' + name: 'qtip-experimental-{stream}' disabled: '{obj:disabled}' @@ -41,8 +41,4 @@ builders: - shell: | #!/bin/bash - set -o errexit - set -o pipefail - set -o xtrace - - source integration/storperf/storperf.sh + source tests/ci/experimental.sh diff --git a/jjb/qtip/qtip-validate-jobs.yml b/jjb/qtip/qtip-validate-jobs.yml index 73d7993c9..e64173ca7 100644 --- a/jjb/qtip/qtip-validate-jobs.yml +++ b/jjb/qtip/qtip-validate-jobs.yml @@ -17,27 +17,27 @@ #-------------------------------- # JOB VARIABLES #-------------------------------- - pod: - - zte-pod1: - installer: fuel - scenario: os-odl_l2-nofeature-ha + qpi: + - compute: + installer: apex + pod: zte-pod4 <<: *master - - zte-pod3: - installer: fuel - scenario: os-nosdn-kvm-ha + - storage: + installer: apex + pod: zte-pod4 <<: *master #-------------------------------- # JOB LIST #-------------------------------- jobs: - - 'qtip-{scenario}-{pod}-daily-{stream}' + - 'qtip-{qpi}-{installer}-{stream}' ################################ # job templates ################################ - job-template: - name: 'qtip-{scenario}-{pod}-daily-{stream}' + name: 'qtip-{qpi}-{installer}-{stream}' disabled: false parameters: - project-parameter: @@ -47,7 +47,7 @@ - '{pod}-defaults' - string: name: DEPLOY_SCENARIO - default: '{scenario}' + default: generic - string: name: DOCKER_TAG default: '{docker-tag}' @@ -56,14 +56,19 @@ name: CI_DEBUG default: 'false' description: "Show debug output information" + - string: + name: TEST_SUITE + default: '{qpi}' scm: - git-scm triggers: - - 'qtip-{scenario}-{pod}-daily-{stream}-trigger' + - 'qtip-daily' builders: - description-setter: description: "POD: $NODE_NAME" - - qtip-validate-deploy + - shell: | + #!/bin/bash + source tests/ci/periodic.sh publishers: - qtip-common-publishers - email-jenkins-admins-on-failure @@ -75,14 +80,6 @@ #--------- # builder #--------- -- builder: - name: qtip-validate-deploy - builders: - - shell: - !include-raw: ./helpers/cleanup-deploy.sh - - shell: - !include-raw: ./helpers/validate-deploy.sh - #----------- # parameter @@ -103,11 +100,6 @@ #--------- - trigger: - name: 'qtip-os-odl_l2-nofeature-ha-zte-pod1-daily-master-trigger' - triggers: - - timed: '0 15 * * *' - -- trigger: - name: 'qtip-os-nosdn-kvm-ha-zte-pod3-daily-master-trigger' + name: 'qtip-daily' triggers: - timed: '0 15 * * *' diff --git a/jjb/qtip/qtip-weekly-jobs.yml b/jjb/qtip/qtip-weekly-jobs.yml deleted file mode 100644 index 018248871..000000000 --- a/jjb/qtip/qtip-weekly-jobs.yml +++ /dev/null @@ -1,108 +0,0 @@ -################# -# QTIP weekly job -################# -- project: - name: qtip-weekly - project: qtip - -#-------------------------------- -# BRANCH ANCHORS -#-------------------------------- - danube: &danube - stream: danube - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - docker-tag: 'stable' - -#-------------------------------- -# JOB VARIABLES -#-------------------------------- - pod: - - zte-pod1: - installer: fuel - scenario: os-odl_l2-nofeature-ha - <<: *danube - - zte-pod3: - installer: fuel - scenario: os-nosdn-nofeature-ha - <<: *danube - - zte-pod3: - installer: fuel - scenario: os-nosdn-kvm-ha - <<: *danube - -#-------------------------------- -# JOB LIST -#-------------------------------- - jobs: - - 'qtip-{scenario}-{pod}-weekly-{stream}' - -################################ -# job templates -################################ -- job-template: - name: 'qtip-{scenario}-{pod}-weekly-{stream}' - disabled: false - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - '{installer}-defaults' - - '{pod}-defaults' - - string: - name: DEPLOY_SCENARIO - default: '{scenario}' - - string: - name: DOCKER_TAG - default: '{docker-tag}' - description: 'Tag to pull docker image' - - string: - name: CI_DEBUG - default: 'false' - description: "Show debug output information" - scm: - - git-scm - triggers: - - 'qtip-{scenario}-{pod}-weekly-{stream}-trigger' - builders: - - description-setter: - description: "POD: $NODE_NAME" - - qtip-validate-deploy-weekly - publishers: - - email: - recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn - - email-jenkins-admins-on-failure - -################ -# MARCOS -################ - -#--------- -# builder -#--------- -- builder: - name: qtip-validate-deploy-weekly - builders: - - shell: - !include-raw: ./helpers/cleanup-deploy.sh - - shell: - !include-raw: ./helpers/validate-deploy.sh - -#--------- -# trigger -#--------- - -- trigger: - name: 'qtip-os-odl_l2-nofeature-ha-zte-pod1-weekly-danube-trigger' - triggers: - - timed: '0 7 * * 0' - -- trigger: - name: 'qtip-os-nosdn-kvm-ha-zte-pod3-weekly-danube-trigger' - triggers: - - timed: '0 7 * * 0' - -- trigger: - name: 'qtip-os-nosdn-nofeature-ha-zte-pod3-weekly-danube-trigger' - triggers: - - timed: '30 0 * * 0' diff --git a/jjb/test-requirements.txt b/jjb/test-requirements.txt deleted file mode 100644 index 6b700dcfc..000000000 --- a/jjb/test-requirements.txt +++ /dev/null @@ -1 +0,0 @@ -jenkins-job-builder diff --git a/jjb/xci/bifrost-cleanup-job.yml b/jjb/xci/bifrost-cleanup-job.yml index 998464a5e..6f3f51a6d 100644 --- a/jjb/xci/bifrost-cleanup-job.yml +++ b/jjb/xci/bifrost-cleanup-job.yml @@ -15,8 +15,8 @@ project-repo: 'https://git.openstack.org/openstack/bifrost' clone-location: '/opt/bifrost' - 'opnfv': - project-repo: 'https://gerrit.opnfv.org/gerrit/releng' - clone-location: '/opt/releng' + project-repo: 'https://gerrit.opnfv.org/gerrit/releng-xci' + clone-location: '/opt/releng-xci' #-------------------------------- # jobs @@ -132,11 +132,11 @@ silent-start: true projects: - project-compare-type: 'ANT' - project-pattern: 'releng' + project-pattern: 'releng-xci' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: ANT - pattern: 'prototypes/bifrost/**' + pattern: 'bifrost/**' readable-message: true diff --git a/jjb/xci/bifrost-periodic-jobs.yml b/jjb/xci/bifrost-periodic-jobs.yml index 9773cfd9e..7ef11a4cf 100644 --- a/jjb/xci/bifrost-periodic-jobs.yml +++ b/jjb/xci/bifrost-periodic-jobs.yml @@ -1,5 +1,5 @@ - project: - project: 'releng' + project: 'releng-xci' name: 'bifrost-periodic' #-------------------------------- diff --git a/jjb/xci/bifrost-provision.sh b/jjb/xci/bifrost-provision.sh index b37da9059..4d646a676 100755 --- a/jjb/xci/bifrost-provision.sh +++ b/jjb/xci/bifrost-provision.sh @@ -38,7 +38,7 @@ if [[ ! "$DISTRO" =~ (xenial|centos7|suse) ]]; then fi # remove previously cloned repos -sudo /bin/rm -rf /opt/bifrost /opt/openstack-ansible /opt/releng /opt/functest +sudo /bin/rm -rf /opt/bifrost /opt/openstack-ansible /opt/releng-xci /opt/functest # Fix up permissions fix_ownership @@ -65,16 +65,16 @@ cd /opt/bifrost && sudo git checkout --quiet $OPENSTACK_BIFROST_VERSION echo "xci: using bifrost commit" git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>' -sudo git clone --quiet https://gerrit.opnfv.org/gerrit/releng /opt/releng -cd /opt/releng && sudo git checkout --quiet $OPNFV_RELENG_VERSION +sudo git clone --quiet https://gerrit.opnfv.org/gerrit/releng-xci /opt/releng-xci +cd /opt/releng-xci && sudo git checkout --quiet $OPNFV_RELENG_VERSION echo "xci: using releng commit" git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>' # source flavor vars -source "$WORKSPACE/prototypes/xci/config/${XCI_FLAVOR}-vars" +source "$WORKSPACE/xci/config/${XCI_FLAVOR}-vars" # combine opnfv and upstream scripts/playbooks -sudo /bin/cp -rf /opt/releng/prototypes/bifrost/* /opt/bifrost/ +sudo /bin/cp -rf /opt/releng-xci/bifrost/* /opt/bifrost/ # cleanup remnants of previous deployment cd /opt/bifrost diff --git a/jjb/xci/bifrost-verify-jobs.yml b/jjb/xci/bifrost-verify-jobs.yml index fbe7ecf41..ef604fcfc 100644 --- a/jjb/xci/bifrost-verify-jobs.yml +++ b/jjb/xci/bifrost-verify-jobs.yml @@ -14,8 +14,8 @@ project-repo: 'https://git.openstack.org/openstack/bifrost' clone-location: '$WORKSPACE/bifrost' - 'opnfv': - project-repo: 'https://gerrit.opnfv.org/gerrit/releng' - clone-location: '$WORKSPACE/releng' + project-repo: 'https://gerrit.opnfv.org/gerrit/releng-xci' + clone-location: '$WORKSPACE/releng-xci' #-------------------------------- # distros #-------------------------------- @@ -29,7 +29,7 @@ - 'centos7': disabled: false dib-os-release: '7' - dib-os-element: 'centos7' + dib-os-element: 'centos-minimal' dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl' extra-dib-elements: 'openssh-server' - 'suse': @@ -165,6 +165,8 @@ wrappers: - fix-workspace-permissions + - build-timeout: + timeout: 90 publishers: - email: @@ -220,13 +222,13 @@ custom-url: '* $JOB_NAME $BIFROST_LOG_URL/index.html' projects: - project-compare-type: 'ANT' - project-pattern: 'releng' + project-pattern: 'releng-xci' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' file-paths: - compare-type: ANT - pattern: 'prototypes/bifrost/**' + pattern: 'bifrost/**' readable-message: true #--------------------------- diff --git a/jjb/xci/bifrost-verify.sh b/jjb/xci/bifrost-verify.sh index b522b8969..03d9afccd 100755 --- a/jjb/xci/bifrost-verify.sh +++ b/jjb/xci/bifrost-verify.sh @@ -57,16 +57,17 @@ EOF </html> EOF + # Upload landing page + echo "Uploading the landing page" + gsutil -q cp ${WORKSPACE}/index.html ${BIFROST_GS_URL}/index.html + rm -f ${WORKSPACE}/index.html + # Finally, download and upload the entire build log so we can retain # as much build information as possible echo "Uploading the final console output" curl -s -L ${BIFROST_CONSOLE_LOG} > ${WORKSPACE}/build_log.txt gsutil -q cp -Z ${WORKSPACE}/build_log.txt ${BIFROST_GS_URL}/build_log.txt - rm ${WORKSPACE}/build_log.txt - - # Upload landing page - gsutil -q cp ${WORKSPACE}/index.html ${BIFROST_GS_URL}/index.html - rm ${WORKSPACE}/index.html + rm -f ${WORKSPACE}/build_log.txt } function fix_ownership() { @@ -83,6 +84,9 @@ function fix_ownership() { function cleanup_and_upload() { original_exit=$? + echo "Job exit code: $original_exit" + # Turn off errexit + set +o errexit fix_ownership upload_logs exit $original_exit @@ -95,21 +99,21 @@ if [[ ! "$DISTRO" =~ (xenial|centos7|suse) ]]; then fi # remove previously cloned repos -/bin/rm -rf $WORKSPACE/bifrost $WORKSPACE/releng +/bin/rm -rf $WORKSPACE/bifrost $WORKSPACE/releng-xci # Fix up permissions fix_ownership # clone all the repos first and checkout the patch afterwards git clone https://git.openstack.org/openstack/bifrost $WORKSPACE/bifrost -git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng +git clone https://gerrit.opnfv.org/gerrit/releng-xci $WORKSPACE/releng-xci # checkout the patch cd $CLONE_LOCATION git fetch $PROJECT_REPO $GERRIT_REFSPEC && sudo git checkout FETCH_HEAD # combine opnfv and upstream scripts/playbooks -/bin/cp -rf $WORKSPACE/releng/prototypes/bifrost/* $WORKSPACE/bifrost/ +/bin/cp -rf $WORKSPACE/releng-xci/bifrost/* $WORKSPACE/bifrost/ # cleanup remnants of previous deployment cd $WORKSPACE/bifrost diff --git a/jjb/xci/osa-periodic-jobs.yml b/jjb/xci/osa-periodic-jobs.yml index 722b077ac..350ee766b 100644 --- a/jjb/xci/osa-periodic-jobs.yml +++ b/jjb/xci/osa-periodic-jobs.yml @@ -1,5 +1,5 @@ - project: - project: 'releng' + project: 'releng-xci' name: 'os-periodic' #-------------------------------- diff --git a/jjb/xci/xci-daily-jobs.yml b/jjb/xci/xci-daily-jobs.yml index b582772c2..42079b2f5 100644 --- a/jjb/xci/xci-daily-jobs.yml +++ b/jjb/xci/xci-daily-jobs.yml @@ -6,7 +6,7 @@ # are checked out based on what is configured. #-------------------------------- - project: - project: 'releng' + project: 'releng-xci' name: 'xci-daily' #-------------------------------- diff --git a/jjb/xci/xci-deploy.sh b/jjb/xci/xci-deploy.sh index 8ad637805..211d282d3 100755 --- a/jjb/xci/xci-deploy.sh +++ b/jjb/xci/xci-deploy.sh @@ -11,7 +11,7 @@ set -o errexit set -o nounset set -o pipefail -cd $WORKSPACE/prototypes/xci +cd $WORKSPACE/xci # for daily jobs, we want to use working versions # for periodic jobs, we will use whatever is set in the job, probably master @@ -53,7 +53,7 @@ if [[ "$XCI_LOOP" == "periodic" && "$OPENSTACK_OSA_VERSION" == "master" ]]; then fi # proceed with the deployment -cd $WORKSPACE/prototypes/xci +cd $WORKSPACE/xci ./xci-deploy.sh if [[ "$JOB_NAME" =~ "periodic" && "$OPENSTACK_OSA_VERSION" == "master" ]]; then diff --git a/jjb/xci/xci-verify-jobs.yml b/jjb/xci/xci-verify-jobs.yml new file mode 100644 index 000000000..8d1ee55a4 --- /dev/null +++ b/jjb/xci/xci-verify-jobs.yml @@ -0,0 +1,226 @@ +- project: + name: 'opnfv-xci-verify' + + project: releng-xci +#-------------------------------- +# branches +#-------------------------------- + stream: + - master: + branch: '{stream}' +#-------------------------------- +# distros +#-------------------------------- + distro: + - 'xenial': + disabled: false + - 'centos7': + disabled: true + - 'suse': + disabled: true +#-------------------------------- +# type +#-------------------------------- + type: + - virtual +#-------------------------------- +# patch verification phases +#-------------------------------- + phase: + - 'deploy' + - 'healthcheck' +#-------------------------------- +# jobs +#-------------------------------- + jobs: + - 'xci-verify-{distro}-{type}-{stream}' + - 'xci-verify-{phase}-{type}-{stream}' +#-------------------------------- +# job templates +#-------------------------------- +- job-template: + name: 'xci-verify-{distro}-{type}-{stream}' + + project-type: multijob + + disabled: '{obj:disabled}' + + concurrent: true + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'xci-verify-.*' + - 'bifrost-verify-.*' + - 'bifrost-periodic-.*' + - 'osa-verify-.*' + - 'osa-periodic-.*' + block-level: 'NODE' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 240 + - fix-workspace-permissions + + scm: + - git-scm-gerrit + + triggers: + - gerrit: + server-name: 'gerrit.opnfv.org' + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: 'xci/**' + disable-strict-forbidden-file-verification: 'true' + forbidden-file-paths: + - compare-type: ANT + pattern: 'bifrost/**' + - compare-type: ANT + pattern: 'openstack-ansible/**' + - compare-type: ANT + pattern: 'puppet-infracloud/**' + - compare-type: ANT + pattern: 'README.rst' + readable-message: true + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: 'xci-virtual-{distro}' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'xci-verify-deploy-{type}-{stream}' + current-parameters: true + predefined-parameters: | + DISTRO={distro} + DEPLOY_SCENARIO=os-nosdn-nofeature-noha + node-parameters: true + kill-phase-on: FAILURE + abort-all-job: true + - multijob: + name: healthcheck + condition: SUCCESSFUL + projects: + - name: 'xci-verify-healthcheck-{type}-{stream}' + current-parameters: true + predefined-parameters: | + DISTRO={distro} + DEPLOY_SCENARIO=os-nosdn-nofeature-noha + FUNCTEST_SUITE_NAME=healthcheck + node-parameters: true + kill-phase-on: NEVER + abort-all-job: true + +- job-template: + name: 'xci-verify-{phase}-{type}-{stream}' + + disabled: false + + concurrent: true + + properties: + - logrotate-default + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'xci-verify-deploy-.*' + - 'xci-verify-healthcheck-.*' + - 'bifrost-verify-.*' + - 'bifrost-periodic-.*' + - 'osa-verify-.*' + - 'osa-periodic-.*' + block-level: 'NODE' + + parameters: + - string: + name: DISTRO + default: 'xenial' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-noha' + - string: + name: FUNCTEST_SUITE_NAME + default: 'healthcheck' + - string: + name: XCI_FLAVOR + default: 'mini' + - string: + name: OPNFV_RELENG_DEV_PATH + default: $WORKSPACE/ + - string: + name: ANSIBLE_VERBOSITY + default: '-vvvv' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + + wrappers: + - ssh-agent-wrapper + - build-timeout: + timeout: 240 + - fix-workspace-permissions + + scm: + - git-scm-gerrit + + builders: + - description-setter: + description: "Built on $NODE_NAME" + - 'xci-verify-{phase}-macro' + +#-------------------------------- +# builder macros +#-------------------------------- +- builder: + name: 'xci-verify-deploy-macro' + builders: + - shell: | + #!/bin/bash + + # for some reason, the PATH is not set correctly + # setting PATH for ansible stuff + export PATH=/home/jenkins/.local/bin:$PATH + + cd $WORKSPACE/xci + ./xci-deploy.sh + +- builder: + name: 'xci-verify-healthcheck-macro' + builders: + - shell: | + #!/bin/bash + + echo "Hello World!" |