summaryrefslogtreecommitdiffstats
path: root/jjb/container4nfv
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/container4nfv')
-rwxr-xr-xjjb/container4nfv/arm64/compass-build.sh14
-rwxr-xr-xjjb/container4nfv/arm64/compass-deploy.sh13
-rwxr-xr-xjjb/container4nfv/arm64/yardstick-arm64.sh93
-rw-r--r--jjb/container4nfv/container4nfv-arm64.yml52
-rw-r--r--jjb/container4nfv/container4nfv-project.yml44
-rw-r--r--jjb/container4nfv/yardstick-arm64.yml121
6 files changed, 335 insertions, 2 deletions
diff --git a/jjb/container4nfv/arm64/compass-build.sh b/jjb/container4nfv/arm64/compass-build.sh
new file mode 100755
index 000000000..696f7ff76
--- /dev/null
+++ b/jjb/container4nfv/arm64/compass-build.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+set -e
+
+cd compass4nfv
+
+COMPASS_WORK_DIR=$WORKSPACE/../compass-work
+mkdir -p $COMPASS_WORK_DIR
+ln -s $COMPASS_WORK_DIR work
+
+#TODO: remove workaround after all arm64 patches merged
+curl -s http://people.linaro.org/~yibo.cai/compass/compass4nfv-arm64-fixup.sh | bash -s {scenario}
+
+# build tarball
+COMPASS_ISO_REPO='http://people.linaro.org/~yibo.cai/compass' ./build.sh
diff --git a/jjb/container4nfv/arm64/compass-deploy.sh b/jjb/container4nfv/arm64/compass-deploy.sh
new file mode 100755
index 000000000..3c599279e
--- /dev/null
+++ b/jjb/container4nfv/arm64/compass-deploy.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+set -e
+
+cd compass4nfv
+
+export ADAPTER_OS_PATTERN='(?i)CentOS-7.*arm.*'
+export OS_VERSION="centos7"
+export KUBERNETES_VERSION="v1.7.3"
+export DHA="deploy/conf/vm_environment/k8-nosdn-nofeature-noha.yml"
+export NETWORK="deploy/conf/vm_environment/network.yml"
+export VIRT_NUMBER=2 VIRT_CPUS=2 VIRT_MEM=4096 VIRT_DISK=50G
+
+./deploy.sh
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/container4nfv-arm64.yml b/jjb/container4nfv/container4nfv-arm64.yml
new file mode 100644
index 000000000..16a10eac1
--- /dev/null
+++ b/jjb/container4nfv/container4nfv-arm64.yml
@@ -0,0 +1,52 @@
+---
+
+- project:
+ name: 'container4nfv-arm64'
+ project: 'container4nfv'
+ installer: 'compass'
+ scenario:
+ - 'k8-multus-nofeature-noha':
+ disabled: false
+ - 'k8-sriov-nofeature-noha':
+ disabled: false
+ jobs:
+ - 'container4nfv-{scenario}-virtual-daily-master'
+
+
+- job-template:
+ name: 'container4nfv-{scenario}-virtual-daily-master'
+ disabled: '{obj:disabled}'
+ concurrent: false
+ node: arm-packet01
+
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/compass4nfv
+ branches:
+ - origin/master
+ basedir: compass4nfv
+ wipe-workspace: true
+
+ triggers:
+ - 'trigger-{scenario}-virtual'
+
+ wrappers:
+ - timeout:
+ timeout: 120
+ fail: true
+
+ builders:
+ - shell:
+ !include-raw: arm64/compass-build.sh
+ - shell:
+ !include-raw: arm64/compass-deploy.sh
+
+
+- trigger:
+ name: 'trigger-k8-multus-nofeature-noha-virtual'
+ triggers:
+ - timed: '0 12 * * *'
+- trigger:
+ name: 'trigger-k8-sriov-nofeature-noha-virtual'
+ triggers:
+ - timed: '0 16 * * *'
diff --git a/jjb/container4nfv/container4nfv-project.yml b/jjb/container4nfv/container4nfv-project.yml
index 9e2d313c8..03bbb655e 100644
--- a/jjb/container4nfv/container4nfv-project.yml
+++ b/jjb/container4nfv/container4nfv-project.yml
@@ -10,7 +10,8 @@
jobs:
- 'container4nfv-verify-{stream}'
- - 'container4nfv-daily-{stream}'
+ - 'container4nfv-daily-upload-{stream}'
+ - 'container4nfv-daily-deploy-{stream}'
stream:
- master:
@@ -71,9 +72,34 @@
cd $WORKSPACE/ci
./build.sh
+- job-template:
+ name: 'container4nfv-daily-upload-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ scm:
+ - git-scm
+
+ wrappers:
+ - fix-workspace-permissions
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+ - 'container4nfv-defaults':
+ gs-pathname: '{gs-pathname}'
+
+ builders:
+ - shell: |
+ cd $WORKSPACE/ci
+ ./upload.sh
- job-template:
- name: 'container4nfv-daily-{stream}'
+ name: 'container4nfv-daily-deploy-{stream}'
project-type: freestyle
@@ -84,6 +110,9 @@
properties:
- logrotate-default
+ wrappers:
+ - fix-workspace-permissions
+
parameters:
- project-parameter:
project: '{project}'
@@ -112,3 +141,14 @@
- shell: |
cd $WORKSPACE/ci
./deploy.sh
+
+###################
+# parameter macros
+###################
+- parameter:
+ name: 'container4nfv-defaults'
+ parameters:
+ - string:
+ name: GS_URL
+ default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+ description: "URL to Google Storage."
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'