diff options
author | Ryota MIBU <r-mibu@cq.jp.nec.com> | 2016-08-18 02:20:46 +0900 |
---|---|---|
committer | Ryota MIBU <r-mibu@cq.jp.nec.com> | 2016-08-18 02:20:46 +0900 |
commit | a6795a5dec13bccd3113975a206a5e1c44fc3efc (patch) | |
tree | f75464e4026dfc99ef715277ca10e79cf84428e5 | |
parent | c78f73d96eba5c4dc46232c224a570044f5c22bd (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-x | tests/run.sh | 10 |
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() { |