summaryrefslogtreecommitdiffstats
path: root/jjb/dovetail
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/dovetail')
-rw-r--r--jjb/dovetail/dovetail-ci-jobs.yml17
-rwxr-xr-xjjb/dovetail/dovetail-cleanup.sh7
-rw-r--r--jjb/dovetail/dovetail-project-jobs.yml2
-rwxr-xr-xjjb/dovetail/dovetail-run.sh41
4 files changed, 50 insertions, 17 deletions
diff --git a/jjb/dovetail/dovetail-ci-jobs.yml b/jjb/dovetail/dovetail-ci-jobs.yml
index 29212005d..f32fba9cf 100644
--- a/jjb/dovetail/dovetail-ci-jobs.yml
+++ b/jjb/dovetail/dovetail-ci-jobs.yml
@@ -112,7 +112,9 @@
<<: *master
#--------------------------------
testsuite:
- - 'basic'
+ - 'debug'
+ - 'proposed_tests'
+ - 'compliace_set'
jobs:
- 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
@@ -159,6 +161,14 @@
name: CI_DEBUG
default: 'true'
description: "Show debug output information"
+ - string:
+ name: TESTSUITE
+ default: '{testsuite}'
+ description: "dovetail testsuite to run"
+ - string:
+ name: DOVETAIL_REPO_DIR
+ default: "/home/opnfv/dovetail"
+ description: "Directory where the dovetail repository is cloned"
scm:
- git-scm:
@@ -170,7 +180,7 @@
- description-setter:
description: "POD: $NODE_NAME"
- 'dovetail-cleanup'
- - 'dovetail-{testsuite}'
+ - 'dovetail-run'
publishers:
- archive:
@@ -182,11 +192,12 @@
# builder macros
########################
- builder:
- name: dovetail-basic
+ name: dovetail-run
builders:
- shell:
!include-raw: ./dovetail-run.sh
+
- builder:
name: dovetail-fetch-os-creds
builders:
diff --git a/jjb/dovetail/dovetail-cleanup.sh b/jjb/dovetail/dovetail-cleanup.sh
index 297222bb3..f215278db 100755
--- a/jjb/dovetail/dovetail-cleanup.sh
+++ b/jjb/dovetail/dovetail-cleanup.sh
@@ -1,20 +1,21 @@
#!/bin/bash
+
[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
echo "Cleaning up docker containers/images..."
# Remove previous running containers if exist
if [[ ! -z $(docker ps -a | grep opnfv/dovetail) ]]; then
echo "Removing existing opnfv/dovetail containers..."
- docker ps -a | grep opnfv/dovetail | awk '{print $1}' | xargs docker rm -f >$redirect
+ docker ps -a | grep opnfv/dovetail | awk '{print $1}' | xargs docker rm -f >${redirect}
fi
# Remove existing images if exist
if [[ ! -z $(docker images | grep opnfv/dovetail) ]]; then
echo "Docker images to remove:"
- docker images | head -1 && docker images | grep opnfv/dovetail
+ docker images | head -1 && docker images | grep opnfv/dovetail >${redirect}
image_tags=($(docker images | grep opnfv/dovetail | awk '{print $2}'))
for tag in "${image_tags[@]}"; do
echo "Removing docker image opnfv/dovetail:$tag..."
- docker rmi opnfv/dovetail:$tag >$redirect
+ docker rmi opnfv/dovetail:$tag >${redirect}
done
fi
diff --git a/jjb/dovetail/dovetail-project-jobs.yml b/jjb/dovetail/dovetail-project-jobs.yml
index 41fd8cdcb..07106f609 100644
--- a/jjb/dovetail/dovetail-project-jobs.yml
+++ b/jjb/dovetail/dovetail-project-jobs.yml
@@ -40,6 +40,7 @@
triggers:
- gerrit:
+ server-name: 'gerrit.opnfv.org'
trigger-on:
- patchset-created-event:
exclude-drafts: 'false'
@@ -79,6 +80,7 @@
triggers:
- gerrit:
+ server-name: 'gerrit.opnfv.org'
trigger-on:
- change-merged-event
- comment-added-contains-event:
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
index 098b7db0c..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,26 +32,45 @@ 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} \
-"/home/opnfv/dovetail/dovetail/run.py"
+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 /home/opnfv/dovetail/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
sudo chown -R jenkins:jenkins ${WORKSPACE}/results