summaryrefslogtreecommitdiffstats
path: root/tools/keystone/run.sh
diff options
context:
space:
mode:
authorDimitri Mazmanov <dimitri.mazmanov@ericsson.com>2017-01-30 12:40:55 +0100
committerDimitri Mazmanov <dimitri.mazmanov@ericsson.com>2017-01-30 13:32:13 +0100
commit324e79bac3985fc3e2599c5d0567fec59a217418 (patch)
tree430d33a8f4f2c71ed67b20ad7b4b3432469588a0 /tools/keystone/run.sh
parent9f9356251d1e5d1812ac16859f8b6b6f20eeb8dd (diff)
Fix script execution on wrong target
All scripts are now triggered via run.sh which is a proxy to controllers and computes. Change-Id: Ifd35d5405d30b9aed002515e55a3b9047098a0d4 Signed-off-by: Dimitri Mazmanov <dimitri.mazmanov@ericsson.com> JIRA: MULTISITE-34
Diffstat (limited to 'tools/keystone/run.sh')
-rwxr-xr-xtools/keystone/run.sh20
1 files changed, 17 insertions, 3 deletions
diff --git a/tools/keystone/run.sh b/tools/keystone/run.sh
index 6fc02ca..d0a2b06 100755
--- a/tools/keystone/run.sh
+++ b/tools/keystone/run.sh
@@ -18,9 +18,12 @@ set -o pipefail
# Usage: run.sh (controller|compute) <runnable_script.sh>
INSTALLER_IP=10.20.0.2
+# Runs on the jumphost
+# if running as part of Jenkins job, read and create the files from/in WORKSPACE
+WORKSPACE=${WORKSPACE:-/root}
usage() {
- echo "usage: $0 -a <installer_ip> -t (controller|compute) -r <runnable_script.sh> -d <data_file>" >&2
+ echo "usage: $0 -a <installer_ip> -t (controller|compute) -r <runnable_script.sh> -d <data_file> -o <output_file>" >&2
}
error () {
@@ -51,6 +54,10 @@ case $1 in
data="$2"
shift # past argument
;;
+ -o|--output)
+ output="$2"
+ shift # past argument
+ ;;
*)
echo "Non-option argument: '-${OPTARG}'" >&2
usage
@@ -61,6 +68,7 @@ shift # past argument or value
installer_ip=${installer_ip:-$INSTALLER_IP}
data=${data:-""}
+output=${output:-""}
ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
@@ -77,10 +85,16 @@ function run_on_target() {
sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \
"ssh $ssh_options $1 \"cd /root/ && chmod +x ${runnable}\"" &> /dev/null
sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \
- "ssh $ssh_options $1 \"cd /root/ && nohup /root/${runnable} > install.log 2> /dev/null\"" &> /dev/null
+ "ssh $ssh_options $1 \"cd /root/ && nohup /root/${runnable} > ${runnable}.log 2> /dev/null\"" &> /dev/null
# Output here
sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \
- "ssh $ssh_options $1 \"cd /root/ && cat install.log\""
+ "ssh $ssh_options $1 \"cd /root/ && cat ${runnable}.log\""
+
+ if [ -n "${output}" ]; then
+ #Fetch output file
+ sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \
+ "ssh $ssh_options $1 \"cd /root/ && cat ${output}\"" > "${WORKSPACE}/${output}"
+ fi
}
target_info=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \