diff options
Diffstat (limited to 'jjb/bottlenecks')
-rw-r--r-- | jjb/bottlenecks/bottlenecks-ci-jobs.yaml | 205 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-cleanup.sh | 17 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-project-jobs.yaml | 224 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-rtd-jobs.yaml | 13 | ||||
-rw-r--r-- | jjb/bottlenecks/bottlenecks-run-suite.sh | 156 |
5 files changed, 0 insertions, 615 deletions
diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yaml b/jjb/bottlenecks/bottlenecks-ci-jobs.yaml deleted file mode 100644 index 4c302dd52..000000000 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yaml +++ /dev/null @@ -1,205 +0,0 @@ ---- -#################################### -# job configuration for bottlenecks -#################################### -- project: - name: bottlenecks-ci-jobs - - project: 'bottlenecks' - - # ------------------------------- - # 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' - fraser: &fraser - stream: fraser - 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: - # 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' - <<: *fraser - - virtual: - slave-label: compass-virtual-branch - installer: compass - auto-trigger-name: 'daily-trigger-disabled' - <<: *fraser - - # ------------------------------- - # None-CI PODs - # ------------------------------- - # - orange-pod2: - # slave-label: '{pod}' - # installer: joid - # auto-trigger-name: 'daily-trigger-disabled' - # <<: *fraser - # - orange-pod2: - # slave-label: '{pod}' - # installer: joid - # auto-trigger-name: 'daily-trigger-disabled' - # <<: *master - # ------------------------------------------- - suite: - - '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' - - 'kubestone_deployment_capacity' - - jobs: - - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' - -################################ -# job templates -################################ -- job-template: - name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}' - - wrappers: - - 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}' - 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 - - builders: - - 'bottlenecks-env-cleanup' - - 'bottlenecks-run-suite' - - 'bottlenecks-workspace-cleanup' - - publishers: - - email: - recipients: gabriel.yuyang@huawei.com, liyin11@huawei.com - - email-jenkins-admins-on-failure - -######################## -# builder macros -######################## -- builder: - name: bottlenecks-env-cleanup - builders: - - shell: - !include-raw: ./bottlenecks-cleanup.sh - -- builder: - name: bottlenecks-run-suite - builders: - - shell: - !include-raw: ./bottlenecks-run-suite.sh - -- builder: - name: bottlenecks-workspace-cleanup - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o nounset - set -o pipefail - - # delete everything that is in $WORKSPACE - sudo rm -rf $WORKSPACE - -#################### -# parameter macros -#################### - -- parameter: - name: 'bottlenecks-params-compass-baremetal-master' - parameters: - - 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-compass-virtual-master' - parameters: - - 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-compass-baremetal-branch' - parameters: - - 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-compass-virtual-branch' - parameters: - - 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' diff --git a/jjb/bottlenecks/bottlenecks-cleanup.sh b/jjb/bottlenecks/bottlenecks-cleanup.sh deleted file mode 100644 index d0e2088c7..000000000 --- a/jjb/bottlenecks/bottlenecks-cleanup.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -############################################################################## -# Copyright (c) 2016 Huawei Technologies Co.,Ltd 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 -############################################################################## - -#clean up correlated dockers and their images -bash $WORKSPACE/docker/docker_cleanup.sh -d bottlenecks --debug -bash $WORKSPACE/docker/docker_cleanup.sh -d Bottlenecks --debug -bash $WORKSPACE/docker/docker_cleanup.sh -d yardstick --debug -bash $WORKSPACE/docker/docker_cleanup.sh -d kibana --debug -bash $WORKSPACE/docker/docker_cleanup.sh -d elasticsearch --debug -bash $WORKSPACE/docker/docker_cleanup.sh -d influxdb --debug diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yaml b/jjb/bottlenecks/bottlenecks-project-jobs.yaml deleted file mode 100644 index d4930d745..000000000 --- a/jjb/bottlenecks/bottlenecks-project-jobs.yaml +++ /dev/null @@ -1,224 +0,0 @@ ---- -################################################### -# Non-ci jobs for Bottlenecks project -# They will only be enabled on request by projects! -################################################### -- project: - name: bottlenecks-project-jobs - - project: 'bottlenecks' - - jobs: - - 'bottlenecks-verify-{stream}' - - 'bottlenecks-merge-{stream}' - - 'bottlenecks-{suite}-upload-artifacts-{stream}' - - 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}' - disabled: false - - fraser: &fraser - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - gs-packagepath: '/{stream}/{suite}' - disabled: false - - suite: - - 'posca_stress_traffic' - - 'posca_stress_ping' - -################################ -# job templates -################################ - -- job-template: - name: 'bottlenecks-verify-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm-gerrit - - triggers: - - gerrit: - server-name: 'gerrit.opnfv.org' - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - 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}' - - builders: - # - bottlenecks-hello - - bottlenecks-unit-tests - -- job-template: - name: 'bottlenecks-merge-{stream}' - - disabled: '{obj:disabled}' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - scm: - - git-scm - - 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}' - - builders: - - bottlenecks-hello - # - bottlenecks-unit-tests - -- job-template: - name: 'bottlenecks-{suite}-upload-artifacts-{stream}' - - - disabled: '{obj:disabled}' - - concurrent: true - - properties: - - logrotate-default - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - option: 'project' - - parameters: - - project-parameter: - project: '{project}' - branch: '{branch}' - - 'opnfv-build-ubuntu-defaults' - - bottlenecks-parameter: - gs-packagepath: '{gs-packagepath}' - - scm: - - git-scm - - builders: - - 'bottlenecks-builder-upload-artifact' - - 'bottlenecks-artifact-workspace-cleanup' - -#################### -# parameter macros -#################### -- parameter: - name: bottlenecks-parameter - parameters: - - string: - name: CACHE_DIR - default: $WORKSPACE/cache{gs-packagepath} - description: "the cache to store packages downloaded from public IP" - - string: - name: SUITE_URL - default: gs://artifacts.opnfv.org/bottlenecks{gs-packagepath} - description: "LF artifacts url for storage of bottlenecks packages" - - string: - name: PACKAGE_URL - default: http://205.177.226.237:9999/bottlenecks{gs-packagepath}/ - description: "the url where we store the packages used for bottlenecks\ - \ rubbos" - -#################################### -# builders for bottlenecks project -#################################### -- builder: - name: bottlenecks-builder-upload-artifact - builders: - - shell: | - #!/bin/bash - set -o errexit - - echo "Bottlenecks: upload to artifacts from the public IP" - - [[ -d $CACHE_DIR ]] || mkdir -p $CACHE_DIR - - for file in $(curl -s $PACKAGE_URL | - grep href | - sed 's/.*href="//' | - sed 's/".*//' | - grep '^[a-zA-Z].*'); do - curl --connect-timeout 10 -o $CACHE_DIR/$file $PACKAGE_URL$file -v - echo "bottlenecks: copy file $CACHE_DIR/$file to $SUITE_URL" - gsutil cp $CACHE_DIR/$file $SUITE_URL - done - -- builder: - name: bottlenecks-artifact-workspace-cleanup - builders: - - shell: | - #!/bin/bash - set -o errexit - - echo "Bottlenecks: cleanup cache used for storage downloaded packages" - - /bin/rm -rf $CACHE_DIR - -- builder: - name: bottlenecks-unit-tests - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - - echo "Running unit tests..." - cd $WORKSPACE - virtualenv $WORKSPACE/bottlenecks_venv - source $WORKSPACE/bottlenecks_venv/bin/activate - - # install python packages - easy_install -U setuptools - easy_install -U pip - pip install -r $WORKSPACE/requirements/verify.txt - - # unit tests - /bin/bash $WORKSPACE/verify.sh - - deactivate - -- builder: - name: bottlenecks-hello - builders: - - shell: | - #!/bin/bash - set -o errexit - - echo -e "Wellcome to Bottlenecks! \nMerge event is planning to support more functions! " diff --git a/jjb/bottlenecks/bottlenecks-rtd-jobs.yaml b/jjb/bottlenecks/bottlenecks-rtd-jobs.yaml deleted file mode 100644 index 27b883bd2..000000000 --- a/jjb/bottlenecks/bottlenecks-rtd-jobs.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- project: - name: bottlenecks-rtd - project: bottlenecks - project-name: bottlenecks - - gerrit-skip-vote: true - project-pattern: 'bottlenecks' - rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-bottlenecks/47355/' - rtd-token: '95dd0dbdde4a219b5196ffb86e15401b7b927885' - - jobs: - - '{project-name}-rtd-jobs' diff --git a/jjb/bottlenecks/bottlenecks-run-suite.sh b/jjb/bottlenecks/bottlenecks-run-suite.sh deleted file mode 100644 index 9b5e8eecf..000000000 --- a/jjb/bottlenecks/bottlenecks-run-suite.sh +++ /dev/null @@ -1,156 +0,0 @@ -#!/bin/bash -############################################################################## -# Copyright (c) 2017 Huawei Technologies Co.,Ltd and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################## - -#set -e -[[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" -BOTTLENECKS_IMAGE=opnfv/bottlenecks -REPORT="True" - -RELENG_REPO=${WORKSPACE}/releng -[ -d ${RELENG_REPO} ] && rm -rf ${RELENG_REPO} -git clone https://gerrit.opnfv.org/gerrit/releng ${RELENG_REPO} >${redirect} - -YARDSTICK_REPO=${WORKSPACE}/yardstick -[ -d ${YARDSTICK_REPO} ] && rm -rf ${YARDSTICK_REPO} -git clone https://gerrit.opnfv.org/gerrit/yardstick ${YARDSTICK_REPO} >${redirect} - -OPENRC=/tmp/admin_rc.sh -OS_CACERT=/tmp/os_cacert - -BOTTLENECKS_CONFIG=/tmp -KUBESTONE_TEST_DIR=/home/opnfv/bottlenecks/testsuites/kubestone/testcases - -# Pulling Bottlenecks docker and passing environment variables -echo "INFO: pulling Bottlenecks docker ${DOCKER_TAG}" -docker pull opnfv/bottlenecks:${DOCKER_TAG} >$redirect - -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 BRANCH=${BRANCH} -e GERRIT_REFSPEC_DEBUG=${GERRIT_REFSPEC_DEBUG} \ - -e BOTTLENECKS_DB_TARGET=${BOTTLENECKS_DB_TARGET} -e PACKAGE_URL=${PACKAGE_URL} \ - -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} -e BUILD_TAG=${BUILD_TAG}" -docker_volume="-v /var/run/docker.sock:/var/run/docker.sock -v /tmp:/tmp" - -cmd="docker run ${opts} ${envs} --name bottlenecks-load-master ${docker_volume} opnfv/bottlenecks:${DOCKER_TAG} /bin/bash" -echo "BOTTLENECKS INFO: running docker run commond: ${cmd}" -${cmd} >$redirect -sleep 5 - -# Run test suite -if [[ $SUITE_NAME == *posca* ]]; then - POSCA_SCRIPT=/home/opnfv/bottlenecks/testsuites/posca - sudo rm -f ${OPENRC} - - # Preparing OpenStack RC and Cacert files - echo "BOTTLENECKS INFO: fetching os credentials from $INSTALLER_TYPE" - if [[ $INSTALLER_TYPE == 'compass' ]]; then - ${RELENG_REPO}/utils/fetch_os_creds.sh -d ${OPENRC} -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} -o ${OS_CACERT} >${redirect} - if [[ -f ${OS_CACERT} ]]; then - echo "BOTTLENECKS INFO: successfully fetching os_cacert for openstack: ${OS_CACERT}" - else - echo "BOTTLENECKS ERROR: couldn't find os_cacert file: ${OS_CACERT}, please check if the it's been properly provided." - exit 1 - fi - fi - - if [[ -f ${OPENRC} ]]; then - echo "BOTTLENECKS INFO: openstack credentials path is ${OPENRC}" - if [[ $INSTALLER_TYPE == 'compass' ]]; then - echo "BOTTLENECKS INFO: writing ${OS_CACERT} to ${OPENRC}" - echo "export OS_CACERT=${OS_CACERT}" >> ${OPENRC} - fi - cat ${OPENRC} - else - echo "BOTTLENECKS ERROR: couldn't find openstack rc file: ${OPENRC}, please check if the it's been properly provided." - exit 1 - fi - - # Finding and crearting POD description files from different deployments - ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" - - if [ "$INSTALLER_TYPE" == "fuel" ]; then - echo "Fetching id_rsa file from jump_server $INSTALLER_IP..." - sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_rsa ${BOTTLENECKS_CONFIG}/id_rsa - fi - - if [ "$INSTALLER_TYPE" == "apex" ]; then - echo "Fetching id_rsa file from jump_server $INSTALLER_IP..." - sudo scp $ssh_options stack@${INSTALLER_IP}:~/.ssh/id_rsa ${BOTTLENECKS_CONFIG}/id_rsa - fi - - set +e - - sudo -H pip install virtualenv - - cd ${RELENG_REPO}/modules - sudo virtualenv venv - source venv/bin/activate - sudo -H pip install -e ./ >/dev/null - sudo -H pip install netaddr - - if [[ ${INSTALLER_TYPE} == compass ]]; then - options="-u root -p root" - elif [[ ${INSTALLER_TYPE} == fuel ]]; then - options="-u root -p r00tme" - elif [[ ${INSTALLER_TYPE} == apex ]]; then - options="-u stack -k /root/.ssh/id_rsa" - else - echo "Don't support to generate pod.yaml on ${INSTALLER_TYPE} currently." - fi - - if [[ ${INSTALLER_TYPE} != compass ]]; then - cmd="sudo python ${RELENG_REPO}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \ - -i ${INSTALLER_IP} ${options} -f ${BOTTLENECKS_CONFIG}/pod.yaml \ - -s ${BOTTLENECKS_CONFIG}/id_rsa" - echo ${cmd} - ${cmd} - else - cmd="sudo cp ${YARDSTICK_REPO}/etc/yardstick/nodes/compass_sclab_virtual/pod.yaml \ - ${BOTTLENECKS_CONFIG}" - echo ${cmd} - ${cmd} - fi - - deactivate - - sudo rm -rf ${RELENG_REPO}/modules/venv - sudo rm -rf ${RELENG_REPO}/modules/opnfv.egg-info - - set -e - - cd ${WORKSPACE} - - if [ -f ${BOTTLENECKS_CONFIG}/pod.yaml ]; then - echo "FILE: ${BOTTLENECKS_CONFIG}/pod.yaml:" - cat ${BOTTLENECKS_CONFIG}/pod.yaml - else - echo "ERROR: cannot find file ${BOTTLENECKS_CONFIG}/pod.yaml. Please check if it is existing." - sudo ls -al ${BOTTLENECKS_CONFIG} - fi - - # Running test cases through Bottlenecks docker - if [[ $SUITE_NAME == posca_stress_traffic ]]; then - TEST_CASE=posca_factor_system_bandwidth - elif [[ $SUITE_NAME == posca_stress_ping ]]; then - TEST_CASE=posca_factor_ping - else - TEST_CASE=$SUITE_NAME - fi - testcase_cmd="docker exec bottlenecks-load-master python ${POSCA_SCRIPT}/../run_testsuite.py testcase $TEST_CASE $REPORT" - echo "BOTTLENECKS INFO: running test case ${TEST_CASE} with report indicator: ${testcase_cmd}" - ${testcase_cmd} >$redirect -elif [[ $SUITE_NAME == *kubestone* ]]; then - if [[ $SUITE_NAME == kubestone_deployment_capacity ]]; then - TEST_CASE=${KUBESTONE_TEST_DIR}/deployment_capacity.yaml - fi - testcase_cmd="docker exec bottlenecks-load-master python ${KUBESTONE_TEST_DIR}/../stress_test.py -c $TEST_CASE" - echo "BOTTLENECKS INFO: running test case ${TEST_CASE} with report indicator: ${testcase_cmd}" - ${testcase_cmd} >$redirect -fi |