summaryrefslogtreecommitdiffstats
path: root/jjb/container4nfv
diff options
context:
space:
mode:
authortrevortao <trevor.tao@arm.com>2018-02-11 14:50:47 +0800
committertrevortao <trevor.tao@arm.com>2018-02-12 10:27:03 +0800
commit16ce52903b8079e72aad34d575c5f66e4ebe522e (patch)
tree905bf4ddc0e7037f95688656e0b18307bd8f8130 /jjb/container4nfv
parent1d30039496ef46a42c8d993260338c062c547a1a (diff)
Add K8s Yardstick daily job for arm64
Add k8s Yardstick daily job for arm64 based on compass4nfv for arm64, which would be triggered after the k8s deployment on arm64. Change-Id: Ic928ce4bf0c32060a74a434b6bb3e9d9848f3e32 Signed-off-by: trevortao <trevor.tao@arm.com>
Diffstat (limited to 'jjb/container4nfv')
-rwxr-xr-xjjb/container4nfv/arm64/yardstick-arm64.sh93
-rw-r--r--jjb/container4nfv/yardstick-arm64.yml121
2 files changed, 214 insertions, 0 deletions
diff --git a/jjb/container4nfv/arm64/yardstick-arm64.sh b/jjb/container4nfv/arm64/yardstick-arm64.sh
new file mode 100755
index 000000000..26c6fdcfe
--- /dev/null
+++ b/jjb/container4nfv/arm64/yardstick-arm64.sh
@@ -0,0 +1,93 @@
+#!/bin/bash
+set -e
+
+sshpass -p root ssh root@10.1.0.50 \
+ "mkdir -p /etc/yardstick; rm -rf /etc/yardstick/admin.conf"
+
+
+sshpass -p root ssh root@10.1.0.50 \
+ kubectl config set-cluster yardstick --server=127.0.0.1:8080 --insecure-skip-tls-verify=true --kubeconfig=/etc/yardstick/admin.conf
+sshpass -p root ssh root@10.1.0.50 \
+ kubectl config set-context yardstick --cluster=yardstick --kubeconfig=/etc/yardstick/admin.conf
+sshpass -p root ssh root@10.1.0.50 \
+ kubectl config use-context yardstick --kubeconfig=/etc/yardstick/admin.conf
+
+
+
+if [ ! -n "$redirect" ]; then
+ redirect="/dev/stdout"
+fi
+
+if [ ! -n "$DOCKER_TAG" ]; then
+ DOCKER_TAG='latest'
+fi
+
+if [ ! -n "$NODE_NAME" ]; then
+ NODE_NAME='arm-virutal03'
+fi
+
+if [ ! -n "$DEPLOY_SCENARIO" ]; then
+ DEPLOY_SCENARIO='k8-nosdn-lb-noha_daily'
+fi
+
+if [ ! -n "$YARDSTICK_DB_BACKEND" ]; then
+ YARDSTICK_DB_BACKEND='-i 104.197.68.199:8086'
+fi
+
+# Pull the image with correct tag
+DOCKER_REPO='opnfv/yardstick'
+if [ "$(uname -m)" = 'aarch64' ]; then
+ DOCKER_REPO="${DOCKER_REPO}_$(uname -m)"
+fi
+echo "Yardstick: Pulling image ${DOCKER_REPO}:${DOCKER_TAG}"
+sshpass -p root ssh root@10.1.0.50 \
+ docker pull ${DOCKER_REPO}:$DOCKER_TAG >$redirect
+
+if [ ! -n "$BRANCH" ]; then
+ BRANCH=master
+fi
+
+opts="--name=yardstick --privileged=true --net=host -d -it "
+envs="-e YARDSTICK_BRANCH=${BRANCH} -e BRANCH=${BRANCH} \
+ -e NODE_NAME=${NODE_NAME} \
+ -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}"
+rc_file_vol="-v /etc/yardstick/admin.conf:/etc/yardstick/admin.conf"
+cacert_file_vol=""
+map_log_dir=""
+sshkey=""
+YARDSTICK_SCENARIO_SUITE_NAME="opnfv_k8-nosdn-lb-noha_daily.yaml"
+
+# map log directory
+branch=${BRANCH##*/}
+#branch="master"
+dir_result="${HOME}/opnfv/yardstick/results/${branch}"
+mkdir -p ${dir_result}
+sudo rm -rf ${dir_result}/*
+map_log_dir="-v ${dir_result}:/tmp/yardstick"
+
+# Run docker
+cmd="docker rm -f yardstick || true"
+sshpass -p root ssh root@10.1.0.50 \
+ ${cmd}
+
+cmd="sudo docker run ${opts} ${envs} ${rc_file_vol} ${cacert_file_vol} ${map_log_dir} ${sshkey} ${DOCKER_REPO}:${DOCKER_TAG} /bin/bash"
+echo "Yardstick: Running docker cmd: ${cmd}"
+sshpass -p root ssh root@10.1.0.50 \
+ ${cmd}
+
+
+cmd='sudo docker exec yardstick sed -i.bak "/# execute tests/i\sed -i.bak \"s/openretriever\\\/yardstick/openretriever\\\/yardstick_aarch64/g\" \
+ $\{YARDSTICK_REPO_DIR\}/tests/opnfv/test_cases/opnfv_yardstick_tc080.yaml" /usr/local/bin/exec_tests.sh'
+sshpass -p root ssh root@10.1.0.50 \
+ ${cmd}
+
+echo "Yardstick: run tests: ${YARDSTICK_SCENARIO_SUITE_NAME}"
+cmd="sudo docker exec yardstick exec_tests.sh ${YARDSTICK_DB_BACKEND} ${YARDSTICK_SCENARIO_SUITE_NAME}"
+sshpass -p root ssh root@10.1.0.50 \
+ ${cmd}
+
+cmd="docker rm -f yardstick"
+sshpass -p root ssh root@10.1.0.50 \
+ ${cmd}
+
+echo "Yardstick: done!"
diff --git a/jjb/container4nfv/yardstick-arm64.yml b/jjb/container4nfv/yardstick-arm64.yml
new file mode 100644
index 000000000..bd1d8aa85
--- /dev/null
+++ b/jjb/container4nfv/yardstick-arm64.yml
@@ -0,0 +1,121 @@
+---
+###################################
+# job configuration for yardstick
+###################################
+- project:
+ name: yardstick-arm64
+
+ project: '{name}'
+
+ # -------------------------------
+ # BRANCH ANCHORS
+ # -------------------------------
+ master: &master
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
+ # -------------------------------
+ # 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:
+ # apex CI PODs
+ - arm-virtual03:
+ slave-label: arm-packet01
+ installer: compass
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
+ # -------------------------------
+ testsuite:
+ - 'daily'
+
+ jobs:
+ - 'yardstick-arm64-{installer}-{pod}-{testsuite}-{stream}'
+
+################################
+# job templates
+################################
+- job-template:
+ name: 'yardstick-arm64-{installer}-{pod}-{testsuite}-{stream}'
+ disabled: false
+
+ concurrent: true
+
+ properties:
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 60
+ abort: true
+
+ triggers:
+ - '{auto-trigger-name}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - '{installer}-defaults'
+ - 'yardstick-params-{slave-label}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'k8-nosdn-lb-noha_daily'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull docker image'
+ - string:
+ name: YARDSTICK_SCENARIO_SUITE_NAME
+ default: opnfv_${{DEPLOY_SCENARIO}}_{testsuite}.yaml
+ description: 'Path to test scenario suite'
+ - string:
+ name: CI_DEBUG
+ default: 'false'
+ description: "Show debut output information"
+
+ scm:
+ - git-scm
+
+ builders:
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - 'yardstick-arm64'
+
+ publishers:
+ - email:
+ recipients: trevor.tao@arm.com yibo.cai@arm.com
+ - email-jenkins-admins-on-failure
+
+########################
+# builder macros
+########################
+- builder:
+ name: yardstick-arm64
+ builders:
+ - shell:
+ !include-raw: arm64/yardstick-arm64.sh
+
+########################
+# parameter macros
+########################
+
+
+- parameter:
+ name: 'yardstick-params-arm-packet01'
+ parameters:
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: '-i 104.197.68.199:8086'
+ description: 'Arguments to use in order to choose the backend DB'