summaryrefslogtreecommitdiffstats
path: root/jjb/bottlenecks
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/bottlenecks')
-rw-r--r--jjb/bottlenecks/bottlenecks-ci-jobs.yaml205
-rw-r--r--jjb/bottlenecks/bottlenecks-cleanup.sh17
-rw-r--r--jjb/bottlenecks/bottlenecks-project-jobs.yaml224
-rw-r--r--jjb/bottlenecks/bottlenecks-rtd-jobs.yaml13
-rw-r--r--jjb/bottlenecks/bottlenecks-run-suite.sh156
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