summaryrefslogtreecommitdiffstats
path: root/jjb/dovetail/dovetail-run.sh
diff options
context:
space:
mode:
authorJun Li <matthew.lijun@huawei.com>2016-12-07 09:26:47 +0000
committerGerrit Code Review <gerrit@opnfv.org>2016-12-07 09:26:47 +0000
commitbf19a67f7e0089282a86fd1459732f70de221430 (patch)
treef62ab6ba61cb16d4ade2af392780aa59e355666f /jjb/dovetail/dovetail-run.sh
parent307575df9434e6461420f1f95bb74d424e53d08b (diff)
parent77a2c6708a784ac6af460d454d97faf9fd95312b (diff)
Merge "dovetail: docker running method improvement"
Diffstat (limited to 'jjb/dovetail/dovetail-run.sh')
-rwxr-xr-xjjb/dovetail/dovetail-run.sh39
1 files changed, 29 insertions, 10 deletions
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
index 918634740..a41a989fb 100755
--- a/jjb/dovetail/dovetail-run.sh
+++ b/jjb/dovetail/dovetail-run.sh
@@ -22,7 +22,7 @@ if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then
# If production lab then creds may be retrieved dynamically
# creds are on the jumphost, always in the same folder
- labconfig="-v $LAB_CONFIG/admin-openrc:/home/opnfv/openrc"
+ labconfig="-v $LAB_CONFIG/admin-openrc:/home/opnfv/functest/conf/openstack.creds"
# If dev lab, credentials may not be the default ones, just provide a path to put them into docker
# replace the default one by the customized one provided by jenkins config
fi
@@ -32,25 +32,44 @@ if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FOR
sudo iptables -I FORWARD -j RETURN
fi
-opts="--privileged=true --rm"
+opts="--privileged=true -id"
envs="-e CI_DEBUG=${CI_DEBUG} \
-e INSTALLER_TYPE=${INSTALLER_TYPE} \
-e INSTALLER_IP=${INSTALLER_IP} \
-e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \
- -e DEPLOY_TYPE=${DEPLOY_TYPE} \
- -v /var/run/docker.sock:/var/run/docker.sock \
- -v /home/opnfv/dovetail/results:/home/opnfv/dovetail/results"
+ -e DEPLOY_TYPE=${DEPLOY_TYPE}"
+results_envs="-v /var/run/docker.sock:/var/run/docker.sock \
+ -v /home/opnfv/dovetail/results:/home/opnfv/dovetail/results"
# Pull the image with correct tag
echo "Dovetail: Pulling image opnfv/dovetail:${DOCKER_TAG}"
docker pull opnfv/dovetail:$DOCKER_TAG >$redirect
-# Run docker
-echo "Dovetail: docker running..."
-sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/dovetail:${DOCKER_TAG} \
-"python ${DOVETAIL_REPO_DIR}/dovetail/run.py --testsuite ${TESTSUITE}"
+cmd="sudo docker run ${opts} ${envs} ${results_envs} ${labconfig} ${sshkey} \
+ opnfv/dovetail:${DOCKER_TAG} /bin/bash"
+echo "Dovetail: running docker run command: ${cmd}"
+${cmd} >${redirect}
+sleep 5
+container_id=$(docker ps | grep "opnfv/dovetail:${DOCKER_TAG}" | awk '{print $1}' | head -1)
+echo "Container ID=${container_id}"
+if [ -z ${container_id} ]; then
+ echo "Cannot find opnfv/dovetail container ID ${container_id}. Please check if it is existing."
+ docker ps -a
+ exit 1
+fi
+echo "COntainer Start: docker start ${container_id}"
+docker start ${container_id}
+sleep 5
+docker ps >${redirect}
+if [ $(docker ps | grep "opnfv/dovetail:${DOCKER_TAG}" | wc -l) == 0 ]; then
+ echo "The container opnfv/dovetail with ID=${container_id} has not been properly started. Exiting..."
+ exit 1
+fi
+
+exec_cmd="python ${DOVETAIL_REPO_DIR}/dovetail/run.py --testsuite ${TESTSUITE}"
+echo "Container exec command: ${exec_cmd}"
+docker exec ${container_id} ${exec_cmd}
-echo "Dovetail: store results..."
sudo cp -r ${DOVETAIL_REPO_DIR}/results ./
#To make sure the file owner is jenkins, for the copied results files in the above line
#if not, there will be error when next time to wipe workspace