aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2017-04-30 09:00:37 +0800
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-04-30 09:01:32 +0800
commit4a01c0eeb1c31239b9194999997210e04b437ddd (patch)
treed4acf3a22cf00569cbf8604c4c0938c4801537dd /tests
parent5e8a66c2d8e6c7c5b04321379fd25a8c0604098a (diff)
Copy integration test scripts from releng/jjb/qtip
- it is better to manage these builder scripts in project instead of releng - releng shall keep only the job scheduler and publisher Change-Id: Idf8685427d8d24b1da83f31afdc7c640c0af2e5f Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
Diffstat (limited to 'tests')
-rw-r--r--tests/integration/cleanup-deploy.sh21
-rw-r--r--tests/integration/validate-deploy.sh62
-rw-r--r--tests/integration/validate-setup.sh24
3 files changed, 107 insertions, 0 deletions
diff --git a/tests/integration/cleanup-deploy.sh b/tests/integration/cleanup-deploy.sh
new file mode 100644
index 00000000..9cb19a58
--- /dev/null
+++ b/tests/integration/cleanup-deploy.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 ZTE 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
+##############################################################################
+# Remove previous running containers if exist
+if [[ ! -z $(docker ps -a | grep "opnfv/qtip:$DOCKER_TAG") ]]; then
+ echo "Removing existing opnfv/qtip containers..."
+ # workaround: sometimes it throws an error when stopping qtip container.
+ # To make sure ci job unblocked, remove qtip container by force without stopping it.
+ docker rm -f $(docker ps -a | grep "opnfv/qtip:$DOCKER_TAG" | awk '{print $1}')
+fi
+
+# Remove existing images if exist
+if [[ $(docker images opnfv/qtip:${DOCKER_TAG} | wc -l) -gt 1 ]]; then
+ echo "Removing docker image opnfv/qtip:$DOCKER_TAG..."
+ docker rmi opnfv/qtip:$DOCKER_TAG
+fi
diff --git a/tests/integration/validate-deploy.sh b/tests/integration/validate-deploy.sh
new file mode 100644
index 00000000..9f3dbe41
--- /dev/null
+++ b/tests/integration/validate-deploy.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 ZTE 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
+
+envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP}
+-e NODE_NAME=${NODE_NAME} -e CI_DEBUG=${CI_DEBUG}"
+ramfs=/tmp/qtip/ramfs
+cfg_dir=$(dirname $ramfs)
+dir_imgstore="${HOME}/imgstore"
+ramfs_volume="$ramfs:/mnt/ramfs"
+
+echo "--------------------------------------------------------"
+echo "POD: $NODE_NAME"
+echo "INSTALLER: $INSTALLER_TYPE"
+echo "Scenario: $DEPLOY_SCENARIO"
+echo "--------------------------------------------------------"
+
+echo "Qtip: Pulling docker image: opnfv/qtip:${DOCKER_TAG}"
+docker pull opnfv/qtip:$DOCKER_TAG
+
+# use ramfs to fix docker socket connection issue with overlay mode in centos
+if [ ! -d $ramfs ]; then
+ mkdir -p $ramfs
+fi
+
+if [ ! -z "$(df $ramfs | tail -n -1 | grep $ramfs)" ]; then
+ sudo mount -t tmpfs -o size=32M tmpfs $ramfs
+fi
+
+# enable contro path in docker
+cat <<EOF > ${cfg_dir}/ansible.cfg
+[defaults]
+callback_whitelist = profile_tasks
+[ssh_connection]
+control_path=/mnt/ramfs/ansible-ssh-%%h-%%p-%%r
+EOF
+
+cmd=" docker run -id -e $envs -v ${ramfs_volume} opnfv/qtip:${DOCKER_TAG} /bin/bash"
+echo "Qtip: Running docker command: ${cmd}"
+${cmd}
+
+container_id=$(docker ps | grep "opnfv/qtip:${DOCKER_TAG}" | awk '{print $1}' | head -1)
+if [ $(docker ps | grep 'opnfv/qtip' | wc -l) == 0 ]; then
+ echo "The container opnfv/qtip with ID=${container_id} has not been properly started. Exiting..."
+ exit 1
+else
+ echo "The container ID is: ${container_id}"
+ QTIP_REPO=/home/opnfv/repos/qtip
+ docker cp ${cfg_dir}/ansible.cfg ${container_id}:/home/opnfv/.ansible.cfg
+# TODO(zhihui_wu): use qtip cli to execute benchmark test in the future
+ docker exec -t ${container_id} bash -c "cd ${QTIP_REPO}/qtip/runner/ &&
+ python runner.py -d /home/opnfv/qtip/results/ -b all"
+
+fi
+
+echo "Qtip done!"
diff --git a/tests/integration/validate-setup.sh b/tests/integration/validate-setup.sh
new file mode 100644
index 00000000..8d84e120
--- /dev/null
+++ b/tests/integration/validate-setup.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+##############################################################################
+# Copyright (c) 2017 ZTE 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
+
+# setup virtualenv
+sudo pip install -u virtualenv virtualenvwrapper
+export WORKON_HOME=$HOME/.virtualenvs
+source /usr/local/bin/virtualenvwrapper.sh
+mkvirtualenv qtip
+workon qtip
+
+# setup qtip
+sudo pip install $HOME/repos/qtip
+
+# testing
+qtip --version
+qtip --help