compute-qpi CI scripts 19/39119/5
authorzhihui wu <wu.zhihui1@zte.com.cn>
Fri, 11 Aug 2017 09:23:49 +0000 (17:23 +0800)
committerzhihui wu <wu.zhihui1@zte.com.cn>
Wed, 16 Aug 2017 03:05:49 +0000 (11:05 +0800)
- Move compute-qpi ci scripts in releng repos to qtip repos.
- Support apex
- Introduce TEST_SUITE

JIRA: QTIP-65

Change-Id: I3633463e1bb5226ebcaffb4b53a3c56b433f6efb
Signed-off-by: zhihui wu <wu.zhihui1@zte.com.cn>
tests/ci/periodic.sh [new file with mode: 0755]
tests/ci/run_compute_qpi.sh [moved from tests/ci/run_ci.sh with 89% similarity]

diff --git a/tests/ci/periodic.sh b/tests/ci/periodic.sh
new file mode 100755 (executable)
index 0000000..4235cde
--- /dev/null
@@ -0,0 +1,77 @@
+#! /bin/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
+
+
+case $INSTALLER_TYPE in
+    apex)
+        INSTALLER_IP=`sudo virsh domifaddr undercloud | grep ipv4 | awk '{print $4}' | cut -d/ -f1`
+        ;;
+esac
+
+cat << EOF > $WORKSPACE/env_file
+INSTALLER_TYPE=$INSTALLER_TYPE
+INSTALLER_IP=$INSTALLER_IP
+POD_NAME=$NODE_NAME
+SCENARIO=$DEPLOY_SCENARIO
+TESTAPI_URL=$TESTAPI_URL
+EOF
+
+echo "--------------------------------------------------------"
+cat $WORKSPACE/env_file
+echo "--------------------------------------------------------"
+
+# 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 -f opnfv/qtip:$DOCKER_TAG
+fi
+
+echo "Qtip: Pulling docker image: opnfv/qtip:${DOCKER_TAG}"
+docker pull opnfv/qtip:$DOCKER_TAG >/dev/null
+
+envs="--env-file $WORKSPACE/env_file"
+docker_volume="-v /var/run/docker.sock:/var/run/docker.sock"
+
+cmd="docker run -id ${envs} ${docker_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
+fi
+
+echo "The container ID is: ${container_id}"
+QTIP_REPO=/home/opnfv/repos/qtip
+
+if [[ "$INSTALLER_TYPE" == "apex" ]];then
+    if [ -f /root/.ssh/id_rsa ]; then
+        sudo chmod 600 /root/.ssh/id_rsa
+        sudo docker cp /root/.ssh/id_rsa ${container_id}:/root/.ssh/
+    fi
+fi
+
+case $TEST_SUITE in
+    compute)
+        docker exec -t ${container_id} bash -c "bash ${QTIP_REPO}/tests/ci/run_compute_qpi.sh"
+        ;;
+esac
+
+echo "Qtip done!"
+exit 0
\ No newline at end of file
similarity index 89%
rename from tests/ci/run_ci.sh
rename to tests/ci/run_compute_qpi.sh
index 02dfca0..09762b1 100644 (file)
@@ -50,21 +50,21 @@ pod_name=${pod_name:-$POD_NAME}
 scenario=${scenario:-$SCENARIO}
 testapi_url=${testapi_url:-$TESTAPI_URL}
 
+# we currently support ericsson, intel, lf and zte labs
+if [[ ! "$installer_type" =~ (fuel|apex) ]]; then
+    echo "Unsupported/unidentified installer $installer_type. Cannot continue!"
+    exit 1
+fi
+
 sshoptions="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
 
 verify_connectivity ${installer_ip}
 
-ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa -q
-
-# ssh-copy-id publickey to installer
 case "$installer_type" in
     fuel)
+        ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa -q
         sshpass -p r00tme ssh-copy-id $sshoptions ${installer_ip}
         ;;
-       *)
-        echo "Unkown installer $installer_type specified"
-        exit 1
-        ;;
 esac
 
 cd /home/opnfv
@@ -89,11 +89,7 @@ case "$installer_type" in
         publickey=$(sed -r 's/\//\\\//g' /root/.ssh/id_rsa.pub)
         ssh $sshoptions root@${installer_ip} "sed -i '/$publickey/d' /root/.ssh/authorized_keys"
         ;;
-       *)
-        echo "Not support $installer_type."
-        exit 1
-        ;;
 esac
 
-echo "Qtip done!"
+echo "Compute QPI done!"
 exit 0
\ No newline at end of file