X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fbottlenecks%2Fbottlenecks-ci-jobs.yml;h=c3edce1513cd6ac6179b2ed3996975897efbeedd;hb=4f84bf5c43fa1ffd333a79075af60ba836a803ab;hp=b4b736faa12c7c9c6e3e1f3f4d09973b0ae9e562;hpb=7a54be8a7b0889681e79b1363e498928b0e0d212;p=releng.git diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml index b4b736faa..c3edce151 100644 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml @@ -12,46 +12,65 @@ master: &master stream: master branch: '{stream}' + #This is used for common project file storage gs-pathname: '' + #This is used for different test suite dependent packages storage + gs-packagepath: '/{suite}' + #docker tag used for version control + docker-tag: 'latest' brahmaputra: &brahmaputra stream: brahmaputra branch: 'stable/{stream}' - gs-pathname: '{stream}' + gs-pathname: '/{stream}' + gs-packagepath: '/{stream}/{suite}' + docker-tag: 'stable' #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- # brahmaputra #-------------------------------- pod: - - opnfv-jump-2: + - lf-pod2: installer: fuel + disabled: true <<: *brahmaputra - intel-pod5: installer: joid + disabled: true <<: *brahmaputra - - huawei-us-deploy-bare-1: + - huawei-pod1: installer: compass + disabled: true <<: *brahmaputra #-------------------------------- # master #-------------------------------- + - lf-pod2: + installer: fuel + <<: *master - ericsson-pod1: installer: fuel + disabled: true <<: *master - ericsson-pod2: installer: fuel + disabled: true <<: *master - intel-pod6: installer: joid + disabled: true <<: *master - intel-pod8: installer: compass + disabled: true <<: *master - - zte-build-1: + - zte-pod1: installer: fuel + disabled: true <<: *master - orange-pod2: installer: joid + disabled: false <<: *master #-------------------------------- suite: @@ -67,7 +86,7 @@ - job-template: name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' - disabled: false + disabled: '{disabled}' wrappers: - build-name: @@ -79,10 +98,25 @@ - '{pod}-defaults' - '{installer}-defaults' - 'bottlenecks-params-{pod}' + - string: + name: REPO_DIR + default: "/home/opnfv/bottlenecks" + description: "Directory where the repository is cloned" + - string: + name: DEPLOY_SCENARIO + default: 'os-odl_l2-nofeature-ha' - string: name: GERRIT_REFSPEC_DEBUG - default: '' + default: 'false' description: "Gerrit refspec for debug." + - string: + name: SUITE_NAME + default: '{suite}' + description: "test suite name." + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: "docker image tag used for version control" scm: - git-scm: @@ -91,47 +125,83 @@ branch: '{branch}' builders: - - 'bottlenecks-fetch-os-creds' - - 'bottlenecks-run-{suite}' + - 'bottlenecks-env-cleanup' + - 'bottlenecks-run-suite' publishers: - email: - recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com liyiting@huawei.com + recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com sunshine.wang@huawei.com ######################## # builder macros ######################## -#- builder: -# name: bottlenecks-fetch-os-creds -# builders: -# - shell: -# !include-raw ../../utils/fetch_os_creds.sh - -#- builder: -# name: bottlenecks-run-rubbos -# builders: -# - shell: | -# #!/bin/bash -# set -o errexit -# -# echo "Bottlenecks: rubbos running now..." -# cd $WORKSPACE -# ./ci/run.sh $GERRIT_REFSPEC_DEBUG - -#- builder: -# name: bottlenecks-run-vstf -# builders: -# - shell: | -# #!/bin/bash -# set -o errexit - -# echo "Bottlenecks: vstf running now..." -# cd $WORKSPACE -# ./ci/vstf_run.sh $GERRIT_REFSPEC_DEBUG +- builder: + name: bottlenecks-env-cleanup + builders: + - shell: | + #!/bin/bash + set -e + [[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" -######################## + echo "Bottlenecks: docker containers/images cleaning up" + if [[ ! -z $(docker ps -a | grep opnfv/bottlenecks) ]]; then + echo "removing existing opnfv/bottlenecks containers" + docker ps -a | grep opnfv/bottlenecks | awk '{print $1}' | xargs docker rm -f >$redirect + fi + + if [[ ! -z $(docker images | grep opnfv/bottlenecks) ]]; then + echo "Bottlenecks: docker images to remove:" + docker images | head -1 && docker images | grep opnfv/bottlenecks + image_tags=($(docker images | grep opnfv/bottlenecks | awk '{print $2}')) + for tag in "${image_tags[@]}"; do + echo "Removing docker image opnfv/bottlenecks:$tag..." + docker rmi opnfv/bottlenecks:$tag >$redirect + done + fi + +- builder: + name: bottlenecks-run-suite + builders: + - shell: | + #!/bin/bash + set -e + [[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" + + echo "Bottlenecks: to pull image opnfv/bottlenecks:${DOCKER_TAG}" + docker pull opnfv/bottlenecks:$DOCKER_TAG >${redirect} + + echo "Bottlenecks: docker start running" + opts="--privileged=true -id" + envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ + -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NET=${EXTERNAL_NETWORK} \ + -e BOTTLENECKS_BRANCH=${BOTTLENECKS_BRANCH} -e GERRIT_REFSPEC_DEBUG=${GERRIT_REFSPEC_DEBUG} \ + -e BOTTLENECKS_DB_TARGET=${BOTTLENECKS_DB_TARGET} -e PACKAGE_URL=${PACKAGE_URL}" + cmd="sudo docker run ${opts} ${envs} opnfv/bottlenecks:${DOCKER_TAG} /bin/bash" + echo "Bottlenecks: docker cmd running ${cmd}" + ${cmd} >${redirect} + + echo "Bottlenecks: obtain docker id" + container_id=$(docker ps | grep "opnfv/bottlenecks:${DOCKER_TAG}" | awk '{print $1}' | head -1) + if [ -z ${container_id} ]; then + echo "Cannot find opnfv/bottlenecks container ID ${container_id}. Please check if it exists." + docker ps -a + exit 1 + fi + + echo "Bottlenecks: to prepare openstack environment" + prepare_env="${REPO_DIR}/ci/prepare_env.sh" + echo "Bottlenecks: docker cmd running: ${prepare_env}" + sudo docker exec ${container_id} ${prepare_env} + + echo "Bottlenecks: to run testsuite ${SUITE_NAME}" + run_testsuite="${REPO_DIR}/run_tests.sh -s ${SUITE_NAME}" + echo "Bottlenecks: docker cmd running: ${run_testsuite}" + sudo docker exec ${container_id} ${run_testsuite} + +#################### # parameter macros -######################## +#################### + - parameter: name: 'bottlenecks-params-intel-pod5' parameters: @@ -173,7 +243,7 @@ description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'bottlenecks-params-opnfv-jump-2' + name: 'bottlenecks-params-lf-pod2' parameters: - string: name: BOTTLENECKS_DB_TARGET @@ -181,7 +251,7 @@ description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'bottlenecks-params-huawei-us-deploy-bare-1' + name: 'bottlenecks-params-huawei-pod1' parameters: - string: name: BOTTLENECKS_DB_TARGET @@ -189,7 +259,7 @@ description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'bottlenecks-params-zte-build-1' + name: 'bottlenecks-params-zte-pod1' parameters: - string: name: BOTTLENECKS_DB_TARGET