X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fbottlenecks%2Fbottlenecks-ci-jobs.yml;h=92ec2d8665c16bceff6a63805ba34abfa45def02;hb=refs%2Fchanges%2F21%2F26521%2F6;hp=b4b736faa12c7c9c6e3e1f3f4d09973b0ae9e562;hpb=f7d3bba855304ea3ebb32c9c72856cf93e3b83bb;p=releng.git diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml index b4b736faa..92ec2d866 100644 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml @@ -12,48 +12,63 @@ master: &master stream: master branch: '{stream}' + #This is used for common project file storage gs-pathname: '' - brahmaputra: &brahmaputra - stream: brahmaputra + #This is used for different test suite dependent packages storage + gs-packagepath: '/{suite}' + #docker tag used for version control + docker-tag: 'latest' + danube: &danube + stream: danube branch: 'stable/{stream}' - gs-pathname: '{stream}' + gs-pathname: '/{stream}' + gs-packagepath: '/{stream}/{suite}' + docker-tag: 'stable' #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- -# brahmaputra +# Installers using labels +# CI PODs +# This section should only contain the installers +# that have been switched using labels for slaves #-------------------------------- pod: - - opnfv-jump-2: - installer: fuel - <<: *brahmaputra - - intel-pod5: - installer: joid - <<: *brahmaputra - - huawei-us-deploy-bare-1: +#compass CI PODs + - baremetal: + slave-label: compass-baremetal installer: compass - <<: *brahmaputra -#-------------------------------- -# master -#-------------------------------- - - ericsson-pod1: - installer: fuel - <<: *master - - ericsson-pod2: - installer: fuel - <<: *master - - intel-pod6: - installer: joid + auto-trigger-name: 'daily-trigger-disabled' <<: *master - - intel-pod8: + - virtual: + slave-label: compass-virtual installer: compass + auto-trigger-name: 'daily-trigger-disabled' <<: *master - - zte-build-1: - installer: fuel - <<: *master - - orange-pod2: - installer: joid - <<: *master + - baremetal: + slave-label: compass-baremetal + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *danube + - virtual: + slave-label: compass-virtual + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *danube + +#-------------------------------- +# None-CI PODs #-------------------------------- + # - orange-pod2: + # slave-label: '{pod}' + # installer: joid + # auto-trigger-name: 'daily-trigger-disabled' + # <<: *danube + # - orange-pod2: + # slave-label: '{pod}' + # installer: joid + # auto-trigger-name: 'daily-trigger-disabled' + # <<: *master +#-------------------------------------------- suite: - 'rubbos' - 'vstf' @@ -67,133 +82,139 @@ - job-template: name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' - disabled: false - wrappers: - build-name: name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 180 + abort: true + + triggers: + - '{auto-trigger-name}' parameters: - project-parameter: project: '{project}' - - '{pod}-defaults' + - gerrit-parameter: + branch: '{branch}' + - '{slave-label}-defaults' - '{installer}-defaults' - - 'bottlenecks-params-{pod}' + - 'bottlenecks-params-{slave-label}' + - 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: - credentials-id: '{ssh-credentials}' - refspec: '' - branch: '{branch}' + - git-scm 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: - - string: - name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' - description: 'Arguments to use in order to choose the backend DB' - -- parameter: - name: 'bottlenecks-params-intel-pod6' - parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' - description: 'Arguments to use in order to choose the backend DB' - -- parameter: - name: 'bottlenecks-params-intel-pod8' - parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' - description: 'Arguments to use in order to choose the backend DB' - -- parameter: - name: 'bottlenecks-params-ericsson-pod1' - parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' - description: 'Arguments to use in order to choose the backend DB' - -- parameter: - name: 'bottlenecks-params-ericsson-pod2' - parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' - description: 'Arguments to use in order to choose the backend DB' +#################### - parameter: - name: 'bottlenecks-params-opnfv-jump-2' + name: 'bottlenecks-params-compass-baremetal' parameters: - string: name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' + default: '104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'bottlenecks-params-huawei-us-deploy-bare-1' + name: 'bottlenecks-params-compass-virtual' parameters: - string: name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' - description: 'Arguments to use in order to choose the backend DB' - -- parameter: - name: 'bottlenecks-params-zte-build-1' - parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' + default: '' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -201,5 +222,5 @@ parameters: - string: name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' + default: '104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB'