diff options
Diffstat (limited to 'jjb/dovetail/dovetail-run.sh')
-rwxr-xr-x | jjb/dovetail/dovetail-run.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh new file mode 100755 index 000000000..6453425ce --- /dev/null +++ b/jjb/dovetail/dovetail-run.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +#the noun INSTALLER is used in community, here is just the example to run. +#multi-platforms are supported. + +set -e +[[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" + +# labconfig is used only for joid +labconfig="" +sshkey="" +if [[ ${INSTALLER_TYPE} == 'apex' ]]; then + instack_mac=$(sudo virsh domiflist undercloud | grep default | \ + grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+") + INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk {'print $1'}) + sshkey="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa" + if [[ -n $(sudo iptables -L FORWARD |grep "REJECT"|grep "reject-with icmp-port-unreachable") ]]; then + #note: this happens only in opnfv-lf-pod1 + sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable + sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable + fi +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" + # 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 + +# Set iptables rule to allow forwarding return traffic for container +if ! sudo iptables -C FORWARD -j RETURN 2> ${redirect} || ! sudo iptables -L FORWARD | awk 'NR==3' | grep RETURN 2> ${redirect}; then + sudo iptables -I FORWARD -j RETURN +fi + +opts="--privileged=true --rm" +envs="-e CI_DEBUG=${CI_DEBUG} \ + -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/scripts/run.py" + +echo "Dovetail: store results..." +sudo cp -r /home/opnfv/dovetail/results ./ + +echo "Dovetail: done!" |