Index: remote_access.sh |
diff --git a/remote_access.sh b/remote_access.sh |
index 45531f15526aa4f08327e5732f08b3bb0e0b1155..7cbab7ec3347ef8d714ec752136bdbbff9577b55 100644 |
--- a/remote_access.sh |
+++ b/remote_access.sh |
@@ -16,7 +16,8 @@ DEFINE_integer ssh_port 22 \ |
# Copies $1 to $2 on remote host |
function remote_cp_to() { |
REMOTE_OUT=$(scp -P ${FLAGS_ssh_port} -o StrictHostKeyChecking=no -o \ |
- UserKnownHostsFile=$TMP_KNOWN_HOSTS $1 root@$FLAGS_remote:$2) |
+ ServerAliveInterval=60 -o UserKnownHostsFile=$TMP_KNOWN_HOSTS $1 \ |
+ root@$FLAGS_remote:$2) |
return ${PIPESTATUS[0]} |
} |
@@ -24,13 +25,14 @@ function remote_cp_to() { |
# $2. Directory paths in $1 are collapsed into $2. |
function remote_rsync_from() { |
rsync -e "ssh -p ${FLAGS_ssh_port} -o StrictHostKeyChecking=no -o \ |
- UserKnownHostsFile=$TMP_KNOWN_HOSTS" --no-R \ |
- --files-from=$1 root@${FLAGS_remote}:/ $2 |
+ ServerAliveInterval=60 -o UserKnownHostsFile=$TMP_KNOWN_HOSTS" \ |
+ --no-R --files-from=$1 root@${FLAGS_remote}:/ $2 |
} |
function remote_sh() { |
REMOTE_OUT=$(ssh -p ${FLAGS_ssh_port} -o StrictHostKeyChecking=no -o \ |
- UserKnownHostsFile=$TMP_KNOWN_HOSTS root@$FLAGS_remote "$@") |
+ ServerAliveInterval=60 -o UserKnownHostsFile=$TMP_KNOWN_HOSTS \ |
+ root@$FLAGS_remote "$@") |
return ${PIPESTATUS[0]} |
} |
@@ -68,29 +70,12 @@ function learn_board() { |
info "Target reports board is ${FLAGS_board}" |
} |
-# Checks to see if pid $1 is running. |
-function is_pid_running() { |
- ps -p ${1} 2>&1 > /dev/null |
-} |
- |
-# Wait function given an additional timeout argument. |
-# $1 - pid to wait on. |
-# $2 - timeout to wait for. |
-function wait_with_timeout() { |
- local pid=$1 |
- local timeout=$2 |
- local -r TIMEOUT_INC=1 |
- local current_timeout=0 |
- while is_pid_running ${pid} && [ ${current_timeout} -lt ${timeout} ]; do |
- sleep ${TIMEOUT_INC} |
- current_timeout=$((current_timeout + TIMEOUT_INC)) |
- done |
- ! is_pid_running ${pid} |
-} |
+function remote_reboot { |
+ info "Rebooting." |
+ remote_sh "touch /tmp/awaiting_reboot; reboot" |
+ local output_file |
+ output_file="${TMP}/output" |
-# Checks to see if a machine has rebooted using the presence of a tmp file. |
-function check_if_rebooted() { |
- local output_file="${TMP}/output" |
while true; do |
REMOTE_OUT="" |
# This may fail while the machine is down so generate output and a |
@@ -101,23 +86,12 @@ function check_if_rebooted() { |
if grep -q "0" "${output_file}"; then |
if grep -q "1" "${output_file}"; then |
info "Not yet rebooted" |
- sleep .5 |
else |
info "Rebooted and responding" |
break |
fi |
fi |
- done |
-} |
- |
-function remote_reboot() { |
- info "Rebooting." |
- remote_sh "touch /tmp/awaiting_reboot; reboot" |
- while true; do |
- check_if_rebooted & |
- local pid=$! |
- wait_with_timeout ${pid} 30 && break |
- ! kill -9 ${pid} 2> /dev/null |
+ sleep .5 |
petkov
2011/01/14 18:19:23
do you want to move this back into the "not yet re
|
done |
} |