summaryrefslogtreecommitdiffstats
path: root/tests/ci
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ci')
-rw-r--r--tests/ci/docker/yardstick-ci/Dockerfile3
-rwxr-xr-xtests/ci/prepare_env.sh30
-rw-r--r--tests/ci/scp_storperf_admin-rc.sh5
-rwxr-xr-xtests/ci/yardstick-verify88
4 files changed, 121 insertions, 5 deletions
diff --git a/tests/ci/docker/yardstick-ci/Dockerfile b/tests/ci/docker/yardstick-ci/Dockerfile
index cc23073d2..da755d11d 100644
--- a/tests/ci/docker/yardstick-ci/Dockerfile
+++ b/tests/ci/docker/yardstick-ci/Dockerfile
@@ -20,6 +20,8 @@ ENV RELENG_REPO_DIR ${REPOS_DIR}/releng
RUN apt-get update && apt-get install -y \
wget \
+ expect \
+ curl \
git \
sshpass \
qemu-utils \
@@ -48,5 +50,6 @@ RUN cd ${YARDSTICK_REPO_DIR} && pip install -r tests/ci/requirements.txt
RUN cd ${YARDSTICK_REPO_DIR} && pip install .
ADD http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img /home/opnfv/images/
+ADD http://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img /home/opnfv/images/
COPY ./exec_tests.sh /usr/local/bin/
diff --git a/tests/ci/prepare_env.sh b/tests/ci/prepare_env.sh
index 723a04aa1..d9f8257ae 100755
--- a/tests/ci/prepare_env.sh
+++ b/tests/ci/prepare_env.sh
@@ -55,3 +55,33 @@ export EXTERNAL_NETWORK INSTALLER_TYPE DEPLOY_TYPE NODE_NAME
# Prepare a admin-rc file for StorPerf integration
$YARDSTICK_REPO_DIR/tests/ci/prepare_storperf_admin-rc.sh
+
+# copy a admin-rc file for StorPerf integration to the deployment location
+if [ "$NODE_NAME" == "huawei-pod1" ]; then
+ bash $YARDSTICK_REPO_DIR/tests/ci/scp_storperf_admin-rc.sh
+fi
+
+# Fetching id_rsa file from jump_server..."
+verify_connectivity() {
+ local ip=$1
+ echo "Verifying connectivity to $ip..."
+ for i in $(seq 0 10); do
+ if ping -c 1 -W 1 $ip > /dev/null; then
+ echo "$ip is reachable!"
+ return 0
+ fi
+ sleep 1
+ done
+ error "Can not talk to $ip."
+}
+
+ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+
+if [ "$INSTALLER_TYPE" == "fuel" ]; then
+ #ip_fuel="10.20.0.2"
+ verify_connectivity $INSTALLER_IP
+ echo "Fetching id_rsa file from jump_server $INSTALLER_IP..."
+ sshpass -p r00tme scp 2>/dev/null $ssh_options \
+ root@${INSTALLER_IP}:~/.ssh/id_rsa /root/.ssh/id_rsa &> /dev/null
+fi
+
diff --git a/tests/ci/scp_storperf_admin-rc.sh b/tests/ci/scp_storperf_admin-rc.sh
new file mode 100644
index 000000000..af2885b01
--- /dev/null
+++ b/tests/ci/scp_storperf_admin-rc.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+sshpass -p root scp 2>/dev/null $ssh_options ~/storperf_admin-rc \
+ root@192.168.200.1:/root/ &> /dev/null
diff --git a/tests/ci/yardstick-verify b/tests/ci/yardstick-verify
index c83193574..eafadf987 100755
--- a/tests/ci/yardstick-verify
+++ b/tests/ci/yardstick-verify
@@ -42,7 +42,7 @@ EOF
DISPATCHER_TYPE=file
DISPATCHER_FILE_NAME="/tmp/yardstick.out"
-DISPATCHER_HTTP_TARGET=
+DISPATCHER_HTTP_TARGET="http://testresults.opnfv.org/test/api/v1/results"
DISPATCHER_INFLUXDB_TARGET=
while getopts "r:i:h" OPTION; do
@@ -80,7 +80,7 @@ cleanup()
return
fi
- for image in $(glance image-list | grep -e cirros-0.3.3 -e yardstick-trusty-server | awk '{print $2}'); do
+ for image in $(glance image-list | grep -e cirros-0.3.3 -e yardstick-trusty-server -e Ubuntu-14.04 | awk '{print $2}'); do
echo "Deleting image $image..."
glance image-delete $image || true
done
@@ -121,6 +121,36 @@ install_yardstick()
pip install .
}
+install_storperf()
+{
+ # Install Storper on huawei-pod1
+ if [ "$NODE_NAME" == "huawei-pod1" ]; then
+ echo
+ echo "========== Installing storperf =========="
+
+ if ! yardstick -d plugin install plugin/CI/storperf.yaml; then
+ echo "Install storperf plugin FAILED";
+ exit 1
+ fi
+
+ fi
+}
+
+remove_storperf()
+{
+ # remove Storper from huawei-pod1
+ if [ "$NODE_NAME" == "huawei-pod1" ]; then
+ echo
+ echo "========== Removing storperf =========="
+
+ if ! yardstick -d plugin remove plugin/CI/storperf.yaml; then
+ echo "Remove storperf plugin FAILED";
+ exit 1
+ fi
+
+ fi
+}
+
build_yardstick_image()
{
echo
@@ -174,6 +204,30 @@ load_cirros_image()
echo "Cirros image id: $CIRROS_IMAGE_ID"
}
+load_ubuntu_image()
+{
+ echo
+ echo "========== Loading ubuntu cloud image =========="
+
+ local ubuntu_image_file=/home/opnfv/images/trusty-server-cloudimg-amd64-disk1.img
+
+ output=$(glance image-create \
+ --name Ubuntu-14.04 \
+ --disk-format qcow2 \
+ --container-format bare \
+ --file $ubuntu_image_file)
+ echo "$output"
+
+ UBUNTU_IMAGE_ID=$(echo "$output" | grep " id " | awk '{print $(NF-1)}')
+
+ if [ -z "$UBUNTU_IMAGE_ID" ]; then
+ echo 'Failed uploading UBUNTU image to cloud'.
+ exit 1
+ fi
+
+ echo "Ubuntu image id: $UBUNTU_IMAGE_ID"
+}
+
load_yardstick_image()
{
echo
@@ -226,15 +280,17 @@ password = 0pnfv2015
EOF
local failed=0
+ local start_date
+ local stop_date
if [ ${#SUITE_FILES[@]} -gt 0 ]; then
+ start_date=$(date '+%Y-%m-%d %H:%M:%S')
for suite in ${SUITE_FILES[*]}; do
echo "---------------------------"
echo "Running test suite: $suite"
echo "---------------------------"
-
if ! yardstick task start --suite $suite; then
echo "test suite $suite FAILED";
@@ -252,16 +308,35 @@ EOF
echo "Test result file ${DISPATCHER_FILE_NAME} is not exist"
fi
fi
-
done
+ stop_date=$(date '+%Y-%m-%d %H:%M:%S')
+
+
+
+ local sceanrio_status="SUCCESS"
if [ $failed -gt 0 ]; then
+ scenario_status="FAILED"
+ fi
+ curl -i -H 'content-type: application/json' -X POST -d \
+ "{\"project_name\": \"yardstick\",
+ \"case_name\": \"scenario_status\",
+ \"pod_name\":\"${NODE_NAME}\",
+ \"installer\":\"${INSTALLER_TYPE}\",
+ \"version\":\"${YARDSTICK_BRANCH}\",
+ \"scenario\":\"${DEPLOY_SCENARIO}\",
+ \"description\": \"yardstick ci scenario status\",
+ \"start_date\":\"${start_date}\",
+ \"stop_date\":\"${stop_date}\",
+ \"details\":\"${sceanrio_status}\"}" \
+ ${DISPATCHER_HTTP_TARGET}
+ if [ $failed -gt 0 ]; then
echo "---------------------------"
echo "$failed out of ${SUITE_FILES[*]} test suites FAILED"
echo "---------------------------"
exit 1
- fi
+ fi
else
@@ -361,9 +436,12 @@ main()
build_yardstick_image
load_yardstick_image
load_cirros_image
+ load_ubuntu_image
create_nova_flavor
+ install_storperf
run_test
+ remove_storperf
}
main