summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyota MIBU <r-mibu@cq.jp.nec.com>2016-08-18 02:20:46 +0900
committerRyota MIBU <r-mibu@cq.jp.nec.com>2016-08-18 02:20:46 +0900
commita6795a5dec13bccd3113975a206a5e1c44fc3efc (patch)
treef75464e4026dfc99ef715277ca10e79cf84428e5
parentc78f73d96eba5c4dc46232c224a570044f5c22bd (diff)
workaround for issue controller cannot talk to consumer
The doctor test kick by functest fails in some deployment due to no connectivity from controller to the doctor consumer. To avoid this issue, this patch add ssh tunnel from installer node to the functest contatiner. JIRA: DOCTOR-63 Change-Id: Ide85137767382a53ebd15b875fd216aeed632705 Signed-off-by: Ryota MIBU <r-mibu@cq.jp.nec.com>
-rwxr-xr-xtests/run.sh10
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/run.sh b/tests/run.sh
index 5f2a56e6..731d2ac6 100755
--- a/tests/run.sh
+++ b/tests/run.sh
@@ -114,7 +114,8 @@ prepare_compute_ssh() {
}
get_consumer_ip() {
- CONSUMER_IP=$(ip route get $COMPUTE_IP | awk '/ src /{print $NF}')
+ CONSUMER_IP=$(sudo ssh $ssh_opts root@$INSTALLER_IP \
+ "ip route get $COMPUTE_IP | awk '/ src /{print \$NF}'")
echo "CONSUMER_IP=$CONSUMER_IP"
if [[ -z "$CONSUMER_IP" ]]; then
@@ -206,12 +207,19 @@ stop_inspector() {
start_consumer() {
pgrep -f "python consumer.py" && return 0
python consumer.py "$CONSUMER_PORT" > consumer.log 2>&1 &
+ # NOTE(r-mibu): create tunnel to the installer node, so that we can
+ # avoid some network problems dpends on infra and installers.
+ # This tunnel will be terminated by stop_consumer() or after 10 mins passed.
+ TUNNEL_COMMAND="sudo ssh $ssh_opts $INSTALLER_IP -R $CONSUMER_PORT:localhost:$CONSUMER_PORT 'sleep 600'"
+ $TUNNEL_COMMAND > ssh_tunnel.log 2>&1 < /dev/null &
}
stop_consumer() {
pgrep -f "python consumer.py" || return 0
kill $(pgrep -f "python consumer.py")
print_log consumer.log
+ kill $(pgrep -f "$TUNNEL_COMMAND")
+ print_log ssh_tunnel.log
}
wait_for_vm_launch() {