diff options
71 files changed, 859 insertions, 501 deletions
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-deploy.sh b/jjb/armband/armband-deploy.sh index e0631c424..4df9acfd8 100755 --- a/jjb/armband/armband-deploy.sh +++ b/jjb/armband/armband-deploy.sh @@ -71,10 +71,23 @@ 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-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml index b70bfc67b..330c6dd17 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yml @@ -48,35 +48,27 @@ - 'os-nosdn-nofeature-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - openstack-os-version: '' - 'os-odl_l2-nofeature-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - openstack-os-version: '' - 'os-odl_l3-nofeature-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - openstack-os-version: '' - 'os-onos-nofeature-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - openstack-os-version: '' - 'os-ocl-nofeature-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - openstack-os-version: '' - 'os-onos-sfc-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - openstack-os-version: '' - 'os-odl_l2-moon-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - openstack-os-version: 'xenial' - 'os-nosdn-kvm-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger' - openstack-os-version: '' jobs: - 'compass-{scenario}-{pod}-daily-{stream}' @@ -131,7 +123,6 @@ predefined-parameters: | DEPLOY_SCENARIO={scenario} COMPASS_OS_VERSION={os-version} - COMPASS_OS_VERSION_OPTION={openstack-os-version} same-node: true block: true - trigger-builds: @@ -159,7 +150,7 @@ #dovetail only master by now, not sync with A/B/C branches #here the stream means the SUT stream, dovetail stream is defined in its own job - trigger-builds: - - project: 'dovetail-compass-{pod}-basic-{stream}' + - project: 'dovetail-compass-{pod}-debug-{stream}' current-parameters: false predefined-parameters: DEPLOY_SCENARIO={scenario} @@ -250,11 +241,6 @@ - 'mitaka' - 'newton' - 'liberty' - - choice: - name: COMPASS_OS_VERSION_OPTION - choices: - - '' - - 'xenial' ######################## # trigger macros diff --git a/jjb/compass4nfv/compass-deploy.sh b/jjb/compass4nfv/compass-deploy.sh index 256717953..017741ae6 100644 --- a/jjb/compass4nfv/compass-deploy.sh +++ b/jjb/compass4nfv/compass-deploy.sh @@ -29,19 +29,9 @@ cd $WORKSPACE export OS_VERSION=${COMPASS_OS_VERSION} export OPENSTACK_VERSION=${COMPASS_OPENSTACK_VERSION} -if [[ "${COMPASS_OS_VERSION_OPTION}" = "xenial" ]] && [[ "${OPENSTACK_VERSION}" = "mitaka" ]]; then - export OPENSTACK_VERSION=${OPENSTACK_VERSION}_${COMPASS_OS_VERSION_OPTION} - export OS_VERSION=${COMPASS_OS_VERSION_OPTION} -fi -if [[ "${OPENSTACK_VERSION}" = "newton" ]]; then - export OS_VERSION="xenial" - export OPENSTACK_VERSION=${OPENSTACK_VERSION}_${OS_VERSION} -fi - if [[ "${DEPLOY_SCENARIO}" =~ "-ocl" ]]; then export NETWORK_CONF_FILE=network_ocl.yml - export OPENSTACK_VERSION=liberty elif [[ "${DEPLOY_SCENARIO}" =~ "-onos" ]]; then export NETWORK_CONF_FILE=network_onos.yml else @@ -57,7 +47,11 @@ else export DHA_CONF=$CONFDIR/hardware_environment/$NODE_NAME/${DEPLOY_SCENARIO}.yml fi -./deploy.sh --dha ${DHA_CONF} --network ${NETWORK_CONF} +export DHA=${DHA_CONF} +export NETWORK=${NETWORK_CONF} + +./ci/deploy_ci.sh + if [ $? -ne 0 ]; then echo "depolyment failed!" deploy_ret=1 diff --git a/jjb/compass4nfv/compass-verify-jobs.yml b/jjb/compass4nfv/compass-verify-jobs.yml index cc04ad3da..a883ad9a8 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' @@ -141,17 +142,17 @@ node-parameters: true kill-phase-on: FAILURE abort-all-job: true - - multijob: - name: smoke-test - condition: SUCCESSFUL - projects: - - name: 'functest-compass-virtual-suite-{stream}' - current-parameters: true - predefined-parameters: - FUNCTEST_SUITE_NAME=healthcheck - node-parameters: true - kill-phase-on: NEVER - abort-all-job: true +# - multijob: +# name: smoke-test +# condition: SUCCESSFUL +# projects: +# - name: 'functest-compass-virtual-suite-{stream}' +# current-parameters: true +# predefined-parameters: +# FUNCTEST_SUITE_NAME=healthcheck +# node-parameters: true +# kill-phase-on: NEVER +# abort-all-job: true - job-template: name: 'compass-verify-{phase}-{distro}-{stream}' 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-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml index 29212005d..f32fba9cf 100644 --- a/jjb/dovetail/dovetail-ci-jobs.yml +++ b/jjb/dovetail/dovetail-ci-jobs.yml @@ -112,7 +112,9 @@ <<: *master #-------------------------------- testsuite: - - 'basic' + - 'debug' + - 'proposed_tests' + - 'compliace_set' jobs: - 'dovetail-{SUT}-{pod}-{testsuite}-{stream}' @@ -159,6 +161,14 @@ name: CI_DEBUG default: 'true' description: "Show debug output information" + - string: + name: TESTSUITE + default: '{testsuite}' + description: "dovetail testsuite to run" + - string: + name: DOVETAIL_REPO_DIR + default: "/home/opnfv/dovetail" + description: "Directory where the dovetail repository is cloned" scm: - git-scm: @@ -170,7 +180,7 @@ - description-setter: description: "POD: $NODE_NAME" - 'dovetail-cleanup' - - 'dovetail-{testsuite}' + - 'dovetail-run' publishers: - archive: @@ -182,11 +192,12 @@ # builder macros ######################## - builder: - name: dovetail-basic + name: dovetail-run builders: - shell: !include-raw: ./dovetail-run.sh + - builder: name: dovetail-fetch-os-creds builders: diff --git a/jjb/dovetail/dovetail-cleanup.sh b/jjb/dovetail/dovetail-cleanup.sh index 297222bb3..f215278db 100755 --- a/jjb/dovetail/dovetail-cleanup.sh +++ b/jjb/dovetail/dovetail-cleanup.sh @@ -1,20 +1,21 @@ #!/bin/bash + [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" echo "Cleaning up docker containers/images..." # Remove previous running containers if exist if [[ ! -z $(docker ps -a | grep opnfv/dovetail) ]]; then echo "Removing existing opnfv/dovetail containers..." - docker ps -a | grep opnfv/dovetail | awk '{print $1}' | xargs docker rm -f >$redirect + docker ps -a | grep opnfv/dovetail | awk '{print $1}' | xargs docker rm -f >${redirect} fi # Remove existing images if exist if [[ ! -z $(docker images | grep opnfv/dovetail) ]]; then echo "Docker images to remove:" - docker images | head -1 && docker images | grep opnfv/dovetail + docker images | head -1 && docker images | grep opnfv/dovetail >${redirect} image_tags=($(docker images | grep opnfv/dovetail | awk '{print $2}')) for tag in "${image_tags[@]}"; do echo "Removing docker image opnfv/dovetail:$tag..." - docker rmi opnfv/dovetail:$tag >$redirect + docker rmi opnfv/dovetail:$tag >${redirect} done fi 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/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh index 098b7db0c..a41a989fb 100755 --- a/jjb/dovetail/dovetail-run.sh +++ b/jjb/dovetail/dovetail-run.sh @@ -22,7 +22,7 @@ if [[ ${INSTALLER_TYPE} == 'apex' ]]; then 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/openrc" + 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 @@ -32,26 +32,45 @@ if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FOR sudo iptables -I FORWARD -j RETURN fi -opts="--privileged=true --rm" +opts="--privileged=true -id" envs="-e CI_DEBUG=${CI_DEBUG} \ -e INSTALLER_TYPE=${INSTALLER_TYPE} \ -e INSTALLER_IP=${INSTALLER_IP} \ -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \ - -e DEPLOY_TYPE=${DEPLOY_TYPE} \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -v /home/opnfv/dovetail/results:/home/opnfv/dovetail/results" + -e DEPLOY_TYPE=${DEPLOY_TYPE}" +results_envs="-v /var/run/docker.sock:/var/run/docker.sock \ + -v /home/opnfv/dovetail/results:/home/opnfv/dovetail/results" # Pull the image with correct tag echo "Dovetail: Pulling image opnfv/dovetail:${DOCKER_TAG}" docker pull opnfv/dovetail:$DOCKER_TAG >$redirect -# Run docker -echo "Dovetail: docker running..." -sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/dovetail:${DOCKER_TAG} \ -"/home/opnfv/dovetail/dovetail/run.py" +cmd="sudo docker run ${opts} ${envs} ${results_envs} ${labconfig} ${sshkey} \ + opnfv/dovetail:${DOCKER_TAG} /bin/bash" +echo "Dovetail: running docker run command: ${cmd}" +${cmd} >${redirect} +sleep 5 +container_id=$(docker ps | grep "opnfv/dovetail:${DOCKER_TAG}" | awk '{print $1}' | head -1) +echo "Container ID=${container_id}" +if [ -z ${container_id} ]; then + echo "Cannot find opnfv/dovetail container ID ${container_id}. Please check if it is existing." + docker ps -a + exit 1 +fi +echo "COntainer Start: docker start ${container_id}" +docker start ${container_id} +sleep 5 +docker ps >${redirect} +if [ $(docker ps | grep "opnfv/dovetail:${DOCKER_TAG}" | wc -l) == 0 ]; then + echo "The container opnfv/dovetail with ID=${container_id} has not been properly started. Exiting..." + exit 1 +fi + +exec_cmd="python ${DOVETAIL_REPO_DIR}/dovetail/run.py --testsuite ${TESTSUITE}" +echo "Container exec command: ${exec_cmd}" +docker exec ${container_id} ${exec_cmd} -echo "Dovetail: store results..." -sudo cp -r /home/opnfv/dovetail/results ./ +sudo cp -r ${DOVETAIL_REPO_DIR}/results ./ #To make sure the file owner is jenkins, for the copied results files in the above line #if not, there will be error when next time to wipe workspace sudo chown -R jenkins:jenkins ${WORKSPACE}/results 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 53f2e2221..1c2bf5053 100644 --- a/jjb/kvmfornfv/kvmfornfv.yml +++ b/jjb/kvmfornfv/kvmfornfv.yml @@ -62,6 +62,7 @@ triggers: - gerrit: + server-name: 'gerrit.opnfv.org' trigger-on: - patchset-created-event: exclude-drafts: 'false' @@ -164,6 +165,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.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-ci-jobs.yml b/jjb/qtip/qtip-ci-jobs.yml index cca8cee4c..1c62df634 100644 --- a/jjb/qtip/qtip-ci-jobs.yml +++ b/jjb/qtip/qtip-ci-jobs.yml @@ -85,7 +85,7 @@ publishers: - email: - recipients: nauman.ahad@xflowresearch.com, mofassir.arif@xflowresearch.com, vikram@nvirters.com, zhang.yujunz@zte.com.cn + recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn ########################### #biuilder macros 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 abc6eeb4b..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: diff --git a/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml b/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml index a0bc28506..541a1f7d4 100644 --- a/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml +++ b/prototypes/bifrost/playbooks/test-bifrost-infracloud.yaml @@ -53,7 +53,8 @@ dib_imagename: "{{deploy_image}}" dib_os_element: "{{ lookup('env','DIB_OS_ELEMENT') }}" dib_os_release: "{{ lookup('env', 'DIB_OS_RELEASE') }}" - dib_elements: "vm serial-console simple-init devuser infra-cloud-bridge puppet growroot {{ extra_dib_elements|default('') }}" + extra_dib_elements: "{{ lookup('env', 'EXTRA_DIB_ELEMENTS') | default('') }}" + dib_elements: "vm serial-console simple-init devuser infra-cloud-bridge puppet growroot {{ extra_dib_elements }}" dib_packages: "{{ lookup('env', 'DIB_OS_PACKAGES') }}" when: create_image_via_dib | bool == true and transform_boot_image | bool == false environment: diff --git a/prototypes/bifrost/scripts/test-bifrost-deployment.sh b/prototypes/bifrost/scripts/test-bifrost-deployment.sh index 32a066388..6e751fed6 100755 --- a/prototypes/bifrost/scripts/test-bifrost-deployment.sh +++ b/prototypes/bifrost/scripts/test-bifrost-deployment.sh @@ -18,7 +18,7 @@ ENABLE_VENV="false" USE_DHCP="false" USE_VENV="false" BUILD_IMAGE=true -PROVISION_WAIT_TIMEOUT=${PROVISION_WAIT_TIMEOUT:-2400} +PROVISION_WAIT_TIMEOUT=${PROVISION_WAIT_TIMEOUT:-3600} # Set defaults for ansible command-line options to drive the different # tests. @@ -65,6 +65,9 @@ export DIB_OS_ELEMENT=${DIB_OS_ELEMENT:-ubuntu-minimal} # for centos 7: "openssh-server,vim,less,bridge-utils,iputils,rsyslog,curl" export DIB_OS_PACKAGES=${DIB_OS_PACKAGES:-"openssh-server,vlan,vim,less,bridge-utils,language-pack-en,iputils-ping,rsyslog,curl"} +# Additional dib elements +export EXTRA_DIB_ELEMENTS=${EXTRA_DIB_ELEMENTS:-} + # Source Ansible # NOTE(TheJulia): Ansible stable-1.9 source method tosses an error deep # under the hood which -x will detect, so for this step, we need to suspend diff --git a/utils/calculate_version.sh b/utils/calculate_version.sh deleted file mode 100755 index cf929dd5e..000000000 --- a/utils/calculate_version.sh +++ /dev/null @@ -1,136 +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 -############################################################################## - -# Calculates and generates the version tag for the OPNFV objects: -# - Docker images -# - ISOs -# - Artifacts - -info () { - logger -s -t "Calculate_version.info" "$*" -} - - -error () { - logger -s -t "Calculate_version.error" "$*" - exit 1 -} - - -#Functions which calculate the version -function docker_version() { - docker_image=$1 - url_repo="https://registry.hub.docker.com/v2/repositories/${docker_image}/" - url_tag="https://registry.hub.docker.com/v2/repositories/${docker_image}/tags/" - status=$(curl -s --head -w %{http_code} ${url_repo} -o /dev/null) - if [ "${status}" != "200" ]; then - error "Cannot access ${url_repo}. Does the image ${docker_image} exist?" - fi - tag_json=$(curl $url_tag 2>/dev/null | python -mjson.tool | grep ${BASE_VERSION} | head -1) - #e.g. tag_json= "name": "brahmaputra.0.2", - #special case, for dovetail, not sync with release, tag_json name not headed with arno, etc - if [ "${tag_json}" == "" ]; then - echo ${BASE_VERSION}.0 - else - tag=$(echo $tag_json | awk '{print $2}' | sed 's/\,//' | sed 's/\"//g') - #e.g.: tag=brahmaputra.0.2 - #special case, for dovetail, not sync with release - tag_current_version=$(echo $tag | sed 's/.*\.//') - tag_new_version=$(($tag_current_version+1)) - #e.g.: tag=brahmaputra.0.3 - echo ${BASE_VERSION}.${tag_new_version} - fi -} - - -function artifact_version() { - # To be done - error "Not supported yet..." -} - - -STORAGE_TYPES=(docker artifactrepo) -TYPE="" -NAME="" - - -usage="Calculates the version text of one of the following objects. - -usage: - bash $(basename "$0") [-h|--help] -t|--type docker|artifactrepo -n|--name <object_name> - -where: - -h|--help show this help text - -t|--type specify the storage location - -n|--name name of the repository/object - -examples: - $(basename "$0") -t docker -n opnfv/functest - $(basename "$0") -t artifactrepo -n fuel" - - - - -# Parse parameters -while [[ $# > 0 ]] - do - key="$1" - case $key in - -h|--help) - echo "$usage" - exit 0 - shift - ;; - -t|--type) - TYPE="$2" - shift - ;; - -n|--name) - NAME="$2" - shift - ;; - *) - error "unknown option $1" - exit 1 - ;; - esac - shift # past argument or value -done - -if [ -z "$BASE_VERSION" ]; then - error "Base version must be specified as environment variable. Ex.: export BASE_VERSION='brahmaputra.0'" -fi - -if [ "${TYPE}" == "" ]; then - error "Please specify the type of object to get the version from. $usage" -fi - -if [ "${NAME}" == "" ]; then - error "Please specify the name for the given storage type. $usage" -fi - -not_in=1 -for i in "${STORAGE_TYPES[@]}"; do - if [[ "${TYPE}" == "$i" ]]; then - not_in=0 - fi -done -if [ ${not_in} == 1 ]; then - error "Unknown type: ${TYPE}. Available storage types are: [${STORAGE_TYPES[@]}]" -fi - - -#info "Calculating version for object '${TYPE}' with arguments '${INFO}'..." -if [ "${TYPE}" == "docker" ]; then - docker_version $NAME - -elif [ "${TYPE}" == "artifactrepo" ]; then - artifact_version $NAME -fi diff --git a/utils/jenkins-jnlp-connect.sh b/utils/jenkins-jnlp-connect.sh index 9ef4298ef..8337684ec 100755 --- a/utils/jenkins-jnlp-connect.sh +++ b/utils/jenkins-jnlp-connect.sh @@ -30,8 +30,6 @@ EOF } main () { - dir=$(cd $(dirname $0); pwd) - #tests if [[ -z $jenkinsuser || -z $jenkinshome ]]; then echo "jenkinsuser or home not defined, please edit this file to define it" @@ -60,17 +58,6 @@ main () { fi fi - - if [ -d /etc/monit/conf.d ]; then - monitconfdir="/etc/monit/conf.d/" - elif [ -d /etc/monit.d ]; then - monitconfdir="/etc/monit.d" - else - echo "Could not determine the location of the monit configuration file." - echo "Make sure monit is installed." - exit 1 - fi - #make pid dir pidfile="/var/run/$jenkinsuser/jenkins_jnlp_pid" if ! [ -d /var/run/$jenkinsuser/ ]; then @@ -94,29 +81,39 @@ main () { exit 1 fi fi - fi - makemonit () { - echo "Writing the following as monit config:" + if [ -d /etc/monit/conf.d ]; then + monitconfdir="/etc/monit/conf.d/" + elif [ -d /etc/monit.d ]; then + monitconfdir="/etc/monit.d" + else + echo "Could not determine the location of the monit configuration file." + echo "Make sure monit is installed." + exit 1 + fi + + makemonit () { + echo "Writing the following as monit config:" cat << EOF | tee $monitconfdir/jenkins check process jenkins with pidfile /var/run/$jenkinsuser/jenkins_jnlp_pid -start program = "/usr/bin/sudo -u $jenkinsuser /bin/bash -c 'cd $dir; export started_monit=true; $0 $@' with timeout 60 seconds" +start program = "/usr/bin/sudo -u $jenkinsuser /bin/bash -c 'cd $jenkinshome; export started_monit=true; $0 $@' with timeout 60 seconds" stop program = "/bin/bash -c '/bin/kill \$(/bin/cat /var/run/$jenkinsuser/jenkins_jnlp_pid)'" EOF - } + } - if [[ -f $monitconfdir/jenkins ]]; then - #test for diff - if [[ "$(diff $monitconfdir/jenkins <(echo "\ + if [[ -f $monitconfdir/jenkins ]]; then + #test for diff + if [[ "$(diff $monitconfdir/jenkins <(echo "\ check process jenkins with pidfile /var/run/$jenkinsuser/jenkins_jnlp_pid -start program = \"/usr/bin/sudo -u $jenkinsuser /bin/bash -c 'cd $dir; export started_monit=true; $0 $@' with timeout 60 seconds\" +start program = \"/usr/bin/sudo -u $jenkinsuser /bin/bash -c 'cd $jenkinshome; export started_monit=true; $0 $@' with timeout 60 seconds\" stop program = \"/bin/bash -c '/bin/kill \$(/bin/cat /var/run/$jenkinsuser/jenkins_jnlp_pid)'\"\ ") )" ]]; then - echo "Updating monit config..." + echo "Updating monit config..." + makemonit $@ + fi + else makemonit $@ fi - else - makemonit $@ fi if [[ $started_monit == "true" ]]; then @@ -167,7 +164,8 @@ usage: $0 [OPTIONS] -t test the connection string by connecting without monit -f test firewall -Example: $0 -j /home/jenkins/ -u jenkins -n lab1 -s 727fdefoofoofoofoofoofoofof800 +Example: $0 -j /home/jenkins -u jenkins -n lab1 -s 727fdefoofoofoofoofoofoofof800 +note: a trailing slash on -j /home/jenkins will break the script EOF exit 1 diff --git a/utils/test/reporting/functest/reporting-status.py b/utils/test/reporting/functest/reporting-status.py index cb13b099c..66bdd57c1 100755 --- a/utils/test/reporting/functest/reporting-status.py +++ b/utils/test/reporting/functest/reporting-status.py @@ -55,25 +55,25 @@ logger.info("*******************************************") # Retrieve test cases of Tier 1 (smoke) config_tiers = functest_yaml_config.get("tiers") -# we consider Tier 1 (smoke),2 (sdn suites) and 3 (features) +# we consider Tier 1 (smoke),2 (features) # to validate scenarios # Tier > 4 are not used to validate scenarios but we display the results anyway # tricky thing for the API as some tests are Functest tests # other tests are declared directly in the feature projects for tier in config_tiers: - if tier['order'] > 0 and tier['order'] < 3: + if tier['order'] > 0 and tier['order'] < 2: for case in tier['testcases']: if case['name'] not in blacklist: testValid.append(tc.TestCase(case['name'], "functest", case['dependencies'])) - elif tier['order'] == 3: + elif tier['order'] == 2: for case in tier['testcases']: if case['name'] not in blacklist: testValid.append(tc.TestCase(case['name'], case['name'], case['dependencies'])) - elif tier['order'] > 3: + elif tier['order'] > 2: for case in tier['testcases']: if case['name'] not in blacklist: otherTestCases.append(tc.TestCase(case['name'], diff --git a/utils/test/testapi/opnfv_testapi/resources/testcase_models.py b/utils/test/testapi/opnfv_testapi/resources/testcase_models.py index c9dce6088..e1f2fb650 100644 --- a/utils/test/testapi/opnfv_testapi/resources/testcase_models.py +++ b/utils/test/testapi/opnfv_testapi/resources/testcase_models.py @@ -41,7 +41,8 @@ class TestcaseUpdateRequest(object): @swagger.model() class Testcase(object): - def __init__(self): + def __init__(self, _id=None, name=None, project_name=None, + description=None, url=None, creation_date=None): self._id = None self.name = None self.project_name = None |