X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fbottlenecks%2Fbottlenecks-ci-jobs.yml;h=2779e316b3d81b48cb1e417fdd4e366d1d490e82;hb=3a76d9e0aff0902c67cc6c22bed79f4a0a02211f;hp=991497a318db10b0afd13835f7b0d8c2e3e42ba5;hpb=f72f2dae8c63ae74cdd4c05eed448362409ffd81;p=releng.git diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml index 991497a31..072117ae3 100644 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml @@ -1,3 +1,4 @@ +--- #################################### # job configuration for bottlenecks #################################### @@ -6,79 +7,81 @@ project: 'bottlenecks' -#-------------------------------- -# BRANCH ANCHORS -#-------------------------------- + # ------------------------------- + # BRANCH ANCHORS + # ------------------------------- 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-packagepath: '/{stream}/{suite}' - docker-tag: 'stable' -#-------------------------------- -# POD, INSTALLER, AND BRANCH MAPPING -#-------------------------------- -# brahmaputra -#-------------------------------- + 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' + euphrates: &euphrates + stream: euphrates + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + gs-packagepath: '/{stream}/{suite}' + docker-tag: 'stable' + # ------------------------------- + # POD, INSTALLER, AND BRANCH MAPPING + # ------------------------------- + # 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 - disabled: true - <<: *brahmaputra - - intel-pod5: - installer: joid - disabled: true - <<: *brahmaputra - - huawei-us-deploy-bare-1: - installer: compass - disabled: true - <<: *brahmaputra -#-------------------------------- -# master -#-------------------------------- - - opnfv-jump-2: - 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-pod1: - installer: fuel - disabled: true - <<: *master - - orange-pod2: - installer: joid - disabled: false - <<: *master -#-------------------------------- + # compass CI PODs + - baremetal: + slave-label: compass-baremetal-master + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + - virtual: + slave-label: compass-virtual-master + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *master + - baremetal: + slave-label: compass-baremetal-branch + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *euphrates + - virtual: + slave-label: compass-virtual-branch + installer: compass + auto-trigger-name: 'daily-trigger-disabled' + <<: *euphrates + + # ------------------------------- + # None-CI PODs + # ------------------------------- + # - orange-pod2: + # slave-label: '{pod}' + # installer: joid + # auto-trigger-name: 'daily-trigger-disabled' + # <<: *euphrates + # - orange-pod2: + # slave-label: '{pod}' + # installer: joid + # auto-trigger-name: 'daily-trigger-disabled' + # <<: *master + # ------------------------------------------- suite: - - 'rubbos' - - 'vstf' + - 'posca_stress_traffic' + - 'posca_stress_ping' + - 'posca_factor_multistack_storage' + - 'posca_factor_multistack_storage_parallel' + - 'posca_feature_moon_resources' + - 'posca_feature_moon_tenants' + - 'posca_feature_vnf_scale_out' + - 'posca_factor_soak_throughputs' jobs: - - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' + - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' ################################ # job templates @@ -86,51 +89,56 @@ - job-template: name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' - disabled: '{disabled}' - wrappers: - - build-name: - name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - build-name: + name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 180 + abort: true + - fix-workspace-permissions + + triggers: + - '{auto-trigger-name}' parameters: - - project-parameter: - project: '{project}' - - '{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: '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" + - project-parameter: + project: '{project}' + branch: '{branch}' + - '{slave-label}-defaults' + - '{installer}-defaults' + - '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: 'true' + 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-env-cleanup' - - 'bottlenecks-run-suite' + - 'bottlenecks-env-cleanup' + - 'bottlenecks-run-suite' + - 'bottlenecks-workspace-cleanup' publishers: - - email: - recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com sunshine.wang@huawei.com + - email: + recipients: gabriel.yuyang@huawei.com, liyin11@huawei.com + - email-jenkins-admins-on-failure ######################## # builder macros @@ -138,138 +146,59 @@ - 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 + - shell: + !include-raw: ./bottlenecks-cleanup.sh - 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} + - shell: + !include-raw: ./bottlenecks-run-suite.sh - 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} +- builder: + name: bottlenecks-workspace-cleanup + builders: + - shell: | + #!/bin/bash + set -o errexit + set -o nounset + set -o pipefail - 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} + # delete everything that is in $WORKSPACE + sudo rm -rf $WORKSPACE #################### # 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-master' parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' - description: 'Arguments to use in order to choose the backend DB' + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + 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-master' parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' - description: 'Arguments to use in order to choose the backend DB' + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'bottlenecks-params-zte-pod1' + name: 'bottlenecks-params-compass-baremetal-branch' parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' - description: 'Arguments to use in order to choose the backend DB' + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + description: 'Arguments to use in order to choose the backend DB' - parameter: - name: 'bottlenecks-params-orange-pod2' + name: 'bottlenecks-params-compass-virtual-branch' parameters: - - string: - name: BOTTLENECKS_DB_TARGET - default: '213.77.62.197' - description: 'Arguments to use in order to choose the backend DB' + - string: + name: BOTTLENECKS_DB_TARGET + default: 'http://testresults.opnfv.org/test/api/v1/results' + description: 'Arguments to use in order to choose the backend DB'